Pascal/Променливи и типове
From Wikiversity
| Урок 1 : | Въведение |
|---|---|
| Урок 2 : | Променливи и типове |
| Урок 3 : | Условия |
| Урок 4 : | Цикли |
| Урок 5 : | Масиви |
| Урок 6 : | Константи |
| Урок 7 : | Процедури и функции |
| Упражнение : | Упражнения І |
|---|
Този урок се занимава с декларирането на променливи и тяхната употреба в езика Pascal. Променливите дават възможност на потребителя да запазва стойности и да извършва операции с тях.
[edit] Деклариране на променливи
Променливите в Pascal се декларират, като първо се зададе запазената дума var (оказва на компилатора, че следва декларация на променлива), последвана от името на променливата (свободно избираемо, но е препоръчително да се различавава от запазените думи), двуеточие и типа на променливата. Типът определя какви стойности може да приема променливата, напр. цяло число, буква, вярно/невярно и др. Някой от най-често използваните типове са:
- Integer: цели числа между -32 768 и 32 767;
- Char: символи (например A, B, C);
- String: низ от символи;
- Boolean: вярно/невярно (true/false)
В следния пример се декларират променливата a от тип integer, b от тип char и c от тип boolean:
var a:integer; b:char; c:boolean;
[edit] Примерни програми, използващи декларации на променливи от различни типове
За да изясни употребата на променливи ще разгледаме програмата от предходния урок, която отпечатва стойността на израза 1+2, но използваъки променлива. На променливата и, която ще декларираме от тип integer (цяло число), ще присвоим стойност 1+2, като присвояването се извършва със знака :=
var i:integer; begin i:=1+2; write('1+2=', i); readln; end.
Някои от възможните операции със типа integer са:
- +: Събиране. Пример: a:=2+1, при което a=3;
- -: Изваждане. Пример: a:=2-1, при което a=1;
- *: Умножение. Пример: a:=2*1, при което a=2;
- div: Цяло частно от деленето. Пример: a:=2 div 1, при което a=2;
- mod: Целочислен остатък от деленето. Пример: a:=2 mod 1, при което a=0;
Променлива може да бъде не само отпечатана, но и прочетена, което се извършва с командата read(); или readln(); като съответната променлива се поставя в скобите без кавички.
Следната програма иска въвеждане на две числа и отпечатва техния сбор. Обърнете внимание, че ако се въведе буква, а не цифра програмата спира, отчитайки грешка.
var a, b, c:integer; begin write('Vyvedete 4isloto a:'); readln(a); write('Vyvedete 4isloto b:'); readln(b); c:=a+b; write('a+b=', c); readln; end.
Възможно е и двете числа да се въведат на един ред, разделени от интервал:
var a, b, c:integer; begin write('Vyvedete 4islata a i b:'); readln(a, b); c:=a+b; write('a+b=', c); readln; end.
В следната програма се въвеждат три символа, използвайки променливите bukva1, bukva2 и bukva3 от тип char. Програма А прочита трите символа, като след всеки е нужно натискането на клавиша enter, след което отпечата и трите символа един след друг на един ред без интервали. Програма Б прочита трите символа на един ред без интервали между тях и ги отпечатва на нов ред в обратен ред, разделени от интервали. Реда на прочитане и отпечатване на променливи зависи от ред на изписването им в командите read и write. Забележете, че ако се въведе интервал или цифра на мястото на някой от символите програмата не дава грешка, тъй като интервала, препинателните знаци и цифрите също се считат за символи според
ASCII кода.
Програма А
var bukva1, bukva2, bukva3:char; begin readln(bukva1); readln(bukva2); readln(bukva3); write(bukva1, bukva2, bukva3); readln; end.
Програма Б
var bukva1, bukva2, bukva3:char; begin readln(bukva1, bukva2, bukva3); write(bukva3, ' ', bukva2, ' ', bukva1); readln; end.
В следния пример е декларирана променливата b от тип boolean, на която се присвоява стойността на израза (a=c). a и c са променливи от тип integer въведени от потребителя. Ако двете променливи са равни, то стойността на израза a=c е вярна и програмата ще отпечата TRUE, а в противен случай FALSE.
var b:boolean; a, c:integer; begin readln(a, c); b:=(a=c); write(b); readln; end.
В следващия урок ще разгледаме, как командите изпълнявани от програмата могат да зависят от стойностите на променливите.