Переменные величины.
Но для написания программ этого, конечно, мало. Хочется, чтобы компьютер задавал вопросы и в зависимости от ответа на них выводил на экран различные варианты ответов.
Попробуем организовать диалог компьютера с человеком.
Для этого сначала нам предстоит разобраться с переменными величинами – то есть с теми, значение которых может изменяться в процессе выполнения программы.
Для того, чтобы компьютер заранее знал, что значение какой-то величины может измениться, эту величину необходимо заранее описать, то есть присвоить ей имя и тип.
На прошлом уроке мы одной букве (a или b) как бы присваивали целую фразу («Мое имя -»), а затем выводили на экран оператором writeln(a), указав в скобках только имя величины – букву a.
Имя переменной величины – один или несколько символов (латинских букв, цифр), первый из которых – буква.
Тип величины подсказывает компьютеру объем памяти, который необходимо выделить для хранения этой величины.
2. Типы величин:
INTEGER - целые числа от -32768 до 32767
REAL вещественные по модулю от 2.9Е-39 до 1.7Е+38
CHAR один символ
STRING - строка символов (до 255)
BOOLEAN - имеет 2 значения: FALSE(ложь) или TRUE(истина)
Буква Е обозначает умножить на 10 в степени.
Объявление величин в программе
Тип переменной указывается после слова VAR. Все переменные должны быть описаны! Несколько однотипных переменных можно объединять в список, разделяя их запятыми.
Например: var
del:real;
sum,pr:integer;
text1,t2,t3:string;
Примеры программ.
Пример 1:
program primer1;
var
name:string;
begin
write('Как тебя зовут? ');
readln(name);
writeln('Привет!',name);
end.
Новый оператор readln позволяет после запуска программы в ответ на вопрос 'Как тебя зовут? ' ввести любое имя, которое будет после нажатия Enter записано в переменной name. В результате будет выведена фраза 'Привет!<Введенное имя>'. Если пользователь ввел: «Сергей» - 'Привет!Сергей', если «Иван» - 'Привет!Иван' и т.д.
Оператор readln предназначен для записи данных, вводимых с клавиатуры в переменную, имя которой указано в скобках.
Пример2:
Вычислить сумму, произведение и частное двух любых целых чисел.
Заметим, что исходные числа – целые (n1,n2 – integer), их произведение – число также целое (pr – integer), а частное может быть любым (del – real).
program primer2;
var
n1,n2,pr:integer;
del:real;
begin
write('Введите целое N1=');
readln(n1);
write('Введите целое N2=');
readln(n2);
pr:=n1*n2;
del:=n1/n2;
writeln('N1*N2=',pr);
writeln('N1/N2=',del);
end.
Структура линейной программы.
Условно основную часть любой линейной программы можно разбить на три части:
1. Ввод исходных данных, каждое из которых задается двумя строками (write и readln). При этом очень важно корректно и правильно задать вопрос, чтобы пользователь понял, «чего от него хотят».
В нашем примере 2 исходных числа:
write('Введите целое N1=');
readln(n1);
write('Введите целое N2=');
readln(n2);
2. Выполнение вычислений с помощью оператора присваивания «:=». Заметим, что в Паскале практически всегда за исключением двух случаев, о которых будем говорить позже вместо знака равно ставится знак присваивания – двоеточие и равно.
3. Вывод результатов, каждый из которых выводится отдельным оператором writeln, в котором сначала – поясняющее сообщение, а затем имя переменной.
В нашем примере 2 результата:
writeln('N1*N2=',pr);
writeln('N1/N2=',del);
Задачи для самостоятельного решения.
1. Составить программу, которая запрашивает Вашу фамилию и после введенного ответа выдает сообщение:
Товарищ...., Вас приглашают к директору!
2. Составить программу, которая вычисляет произведение трех целых чисел, вводимых с клавиатуры.
3. Составить программу, которая преобразует температуру в градусах (по Цельсию) на температуру в Кельвинах:
t(Кельвинах) = t(гр.Цельсия) + 273
4. Составить программу, которая запрашивает Ваши фамилию, имя и отчество и выдает сообщение:
Уважаемый (имя,отчество), убедительно
просим Вас культурно вести себя на уроках!
(фамилия)! Будь человеком!
5. Составить программу, которая вычисляет сумму, разность и произведение любых двух чисел, вводимых с клавиатуры.