Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Алгоритмические языки.doc
Скачиваний:
84
Добавлен:
14.02.2015
Размер:
814.08 Кб
Скачать

Переменные и их имена

Под переменной в языке Паскаль, как и в других языках программирования, понимают программный объект (число, слово, часть слова, несколько слов, символы), имеющий имя и значение, которое может быть получено и изменено программой.

Если "заглянуть" в компьютер, то переменную можно определить так.

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

Само название "переменная" подразумевает, что содержимое этого участка может изменяться.

В качестве имен переменных в Паскале могут быть латинские буквы с индексами. Причем может быть не одна буква, а несколько.

В качестве числового индекса может быть любое целое число. Всего в обозначении переменных может быть произвольное число символов, но значащими считаются первые 63 символа. В некоторых версиях Паскаля допускаются имена переменных, содержащие до 8 символов.

Примеры обозначений переменных: a, b, e, vert, trenin, d, f1, g23, p564, red18 и т.п.

Имена переменных называются идентификаторами.

Замечания

Не имеет значение в обозначении переменных маленькими или большими (строчными или прописными) буквами они написаны!

Имя переменной должно удовлетворять следующим требованиям:

1) всегда начинаться с буквы, после которой при необходимости может следовать некоторое целое число (индекс);

2) в идентификаторе (имени) не должно быть пробелов, запятых или других непредусмотренных знаков, например недопустимы следующие имена переменных: jan.2 (есть точка); 3x (начинается с цифры); a 2 (имеется пробел); чн (русские буквы);

3) нельзя использовать в качестве имен переменных слова, которые являются служебными или операторами, например: program, begin, write, end и другие.

Команда присваивания

Впрограмме, которая была приведена выше, есть следующие записи:Что означает знак ":="?

Так на языке Паскаль обозначается команда присваивания. В чем ее сущность?

Команда присваивания "стирает" предыдущее значение переменной и "придает" ей новое значение. На языке Паскаль команда присваивания обозначается: := двоеточие и знак равно.

В нашей программе, переменной b присваивается значение a + 17, что равно 33, переменной c присваивается значение частного от деления переменной b на 3,

Операторы write и writeln. Процедуры вывода информации

Вы обратили внимание, что в программе были использованы операторы write и writeln. Английское слово write переводится - писать, а слово writeln происходит как сокращение от двух английских слов write - писать и line - строка.

Кроме операторов write и writeln мы говорим о процедурах вывода информации.

Что же такое процедура?

Понятие процедуры - одно из основных понятий Паскаля. Ему подобна подпрограмма на языке Бейсик.

Процедура - это некоторая последовательность операторов языка Паскаль, имеющая имя и к которой можно обратиться из любого места основной программы, указав ее имя.

Выше мы говорили об операторах вывода информации, хотя в Паскале, в отличие от Бейсика нет операторов вывода информации, а через служебные слова write и writeln происходит обращение к стандартной или встроенной процедуре вывода информации. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней. Вот почему обращение к write или writeln напоминает оператор PRINT - вывода информации на языке Бейсик.

Разница между оператором вывода и обращением к процедуре вывода состоит в том, что имя процедуры вывода, как и любой другой процедуры Паскаля не является зарезервированным словом, а, следовательно, пользователь может написать свою собственную процедуру с именем write или writeln. Но это очень редко используется на практике.

Таким образом, операторы write и writeln являются операторами обращения к встроенным процедурам вывода информации.

Обе эти процедуры выводят информацию на экран, если эта информация содержится в виде значений переменных, тогда достаточно в скобках в операторах write или writeln записать имена этих переменных, например: write(a), writeln(f). Если таких переменных несколько, то их записывают через запятую, например: write(a, b, c, d), writeln(e,f, g, h).

Если информацией являются слова, предложения, части слов или символы, тогда она заключается между знаками " ' " - апостроф, например:

write('Введите длину пути'),

writeln('Значение скорости равно')

Возможен одновременный вывод и символьной информации и значений переменных, тогда в операторе write или writeln они разделяются запятыми, например:

write('Значение температуры равно ', t),

writeln('Скорость равна ', v, ' при времени движения ', t).

Заметьте, в конце слов, перед апострофом оставлен пробел.

Для чего это сделано? Конечно, чтобы следующая числовая информация была разделена со словами пробелом.

В чем состоит отличие в работе процедур write и writeln?

Процедура write требует от следующих процедур ввода или вывода, информацию вводить или выводить ее на ту же строку (в одну строку).

Если в программе указан оператор write и за ним следуют еще операторы write или writeln, то выводимая ими информация будет присоединяться к строке информации первого оператора write.

Например: write('Сегодня и завтра будут ');

write('выходные дни ');

На экран выводится:

Сегодня и завтра будут выходные дни

Пробел между словом "будут" и "выходные" обеспечивается за счет пробела в конце первой строки. Если его не будет, то вывод произойдет слитно:

write('Сегодня и завтра будут');

write('выходные дни');

Сегодня и завтра будутвыходные дни

Еще некоторые примеры: t:=20;

write('Время движения равно ');

write(t);

write(' секунд');

Время движения равно 20 секунд

a := 18; b := 12;

write('Сумма чисел равна ');

write(a+b);

write(', а произведение ');

write(a*b);

Сумма чисел равна 30, а произведение 216

Процедура writeln обеспечивает для следующих процедур ввода или вывода информации вводить или выводить ее с начала каждой новой строки.

В программе:

a := 25;

b := 17;

writeln('Сумма и разность чисел равны:');

writeln(a + b);

writeln(a - b);

На экране:

Сумма и разность чисел равны:

42

8