Учим Паскаль - Переменные

В общих чертах о переменных


Легче всего переменную представить как ячейку. У такой "ячейки" есть имя( адрес,
по которому мы будем ссылаться на неё в программе), и в этой ячейке что-то находится(значение переменной). Допустим, мы хотим создать переменную, в которой будет храниться наш возраст.
Назовём эту переменную age. В Паскале это будет выглядеть вот так:



begin
    age:=15;
end.



Запускаем программу в PascalABC.NET и... Вылезает ошибка!!!





"Но почему? Я же всё правильно переписал(а). Наверное, это из-за двоеточия перед '=', его там не должно быть", - подумаешь ты. Но нет, двоеточие как раз обязательно должно быть поставлено перед знаком равно, иначе компилятор обругает вас. Ошибка заключается в том, что мы забыли обьявить переменную.

Делается это в блоке var перед begin. Переменная обьявляется через такую запись: имя_переменной:тип_переменной. О типах переменных мы поговорим ниже в этом же уроке. А вот о том, как можно и как нельзя называть переменные надо рассказать сейчас:



В названии переменных можно использовать латинские буквы, цифры, но только не в начале(age1 - можно использовать, 1age - ошибка!!!), а также символ подчеркивания '_'.



Что ж, давайте перепишем программу, чтобы она работала



var
   age:integer;
begin
   age:=15;
   writeln(age);
end.



Как видите, всё работает!



Заметьте, что после обьявления переменных и присваивания им значений тоже ставится знак ';'!





Типы переменных


Обьясняю, почему я после 'age:' написал integer. Я "сказал" компилятору, что переменная age является целочисленной. Существуют разные типы переменных:



  • integer - целочислённые переменные(о них мы уже поговорили). Могут хранить числа от –32768 до 32767
  • longint - целочислённые переменные, используются когда integer не хватает, т.к. могут хранить числа от –2147483648 до 2147483647.
  • real - дробные переменные(хранят десятичные дроби, например 3.14, 5.2).
  • char - переменные, которые могут хранить только один символ(например, 'a', '/', '@').
  • string - переменные, которые могут хранить целую строку(например, 'hello, world!'). О том, как использовать строки вы узнаете в следующих уроках.



Работа с переменными


Целочисленные и дробные переменные можно складывать, делить, умножать, вычитать одну из другой:


var
   a,b:integer;
   c:real;
begin
   a:=1+7;
   b:=a*2;
   c:=(b+a)/1.25;
   b:=b-4;
   writeln('a= ',a,', b= ',b,', c= ',c);
end.


Также можно находить целое и остаток от деления при помощи div и mod:


var
   a,b:integer;
begin

a:=12;
   b:=a div 10;//целое от деления переменной a(12) на 10
   a:=b mod -1;//Остаток от деления b(1) на -1
   writeln(b);//выведет 1
   writeln(a);//выведет 0
end.


Кстати, пара символов // означает комментарий. Компилятор игнорирует текст, который написан после двух бэкслэшей. Незаменимая функция при написании длинного кода, чтобы не забыть за что отвечает тот или иной блок.


Узнав о переменных и о том, как работать с ними, давайте немного попрактикуемя и напишем несколько интерсеных программ




Тяжело в учении - легко в бою


Давайте напишем программу, которая будет принимать значения температуры в градусах по Фаренгейту, и переводить их в градусы по Цельсию. Формула такова: °C=(°F-32)/1.8. Т.к. температура может быть выражена дробным числом, тип переменных должен быть real. За вывод текста на экран отвечает функция writeln(), а за ввод значенияч переменной с клавиатуры - функция readln()(подробнее об этих функциях мы поговорим в следующем уроке).
Код программы:


var
   c,f:real;
begin
   writeln('Введите температуру в градусах по Фаренгейту: ');
   readln(f);
   c:=(f-32)/1.8;
   writeln(f,'°F = ',c,'°C');
end.


Давайте введём 33.8



Получается около 1°C.


Домашнее задание:

Попробуйте написать программу, которая бы получалча число и выводила на экран куб этого числа.



Ввод и вывод →