Александр Цветков - Язык программирования PASCAL
- Название:Язык программирования PASCAL
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Цветков - Язык программирования PASCAL краткое содержание
Язык программирования PASCAL - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Их можно разделить на две группы: развилки и циклы.
Развилки Циклы if... then... else... while if... then repeat... until case for
Развилки
Оператор if
Синтаксис [7] Синтаксис оператора – правила его записи.
оператора:
ifлогическое условие thenоператор-1 elseоператор-2;
Пример: ifx>0 thenz:=1 elsez:=–1;
Выполнение оператора начинается с проверки логического условия, если оно истинно, то выполняется оператор-1, иначе оператор-2. В качестве оператора может выступать простой оператор или составной оператор. Составной оператор – это группа операторов, заключенная в операторные скобки begin... end.
Пример:
ifx>0 then
begin
z:=1;
x:=2*x;
end
else
begin
z:=-1;
x:=-x;
end;
Обратите внимание, что перед elseточка с запятой не ставится. Точка с запятой используется только для разделения операторов друг от друга. Можно было бы и не ставить запятую после операторов x:=2*x и x:=-x, поскольку beginи endне являются операторами, а являются скобками. Паскаль будет интерпретировать [8] Интерпретировать – толковать.
точку с запятой перед end, как наличие пустого оператора между ней и end.
Обратите внимание на запись “лесенкой”, она не обязательна, но весьма желательна, поскольку помогает наглядно увидеть алгоритмическую структуру программы. Правило такое: endпишем под begin.
- 17 -
Часто встречается ситуация, когда ветвь elseне нужна. В этом случае ее можно опустить.
Например: ifx<0 thenx:=-x; Обратите внимание, что точка с запятой ставится после оператора x:=-x в отличие от полной формы.
Пример программы с оператором if
ProgramOddEven;
{ Определение четного или нечетного числа }
varn : integer;
begin
write('Введите число '); readln(n);
ifodd(n)
then
writeln('Число нечетное')
else
writeln('Число четное ');
end.
Вложенные операторы if
Иногда возникает необходимость устроить развилку на более чем две ветви. В этом случае операторы ifможно вкладывать один в другой. С точки зрения алгоритмической корректности лучше, если вложенный оператор находится в ветви else. Приведем сразу пример программы
ProgramSign;
{ Определение знака числа }
varn : integer;
begin
write('Введите число '); readln(n);
ifn>0
then
writeln ('Число положительное')
else
ifn=0
then
writeln('Число ноль')
else
writeln ('Число отрицательное')
end.
Обратите внимание, что после вложенный оператор ifможно не заключать в операторные скобки begin... end, поскольку оператор ifсинтаксически рассматривается как один оператор.
Если имеются вложенные операторы if, один из которых неполный, например:
ifn>0
then
ifn=0
then
writeln('У вас ноль')
else
writeln ('Число положительное')
возникает неоднозначность: к какому ifотносится else. Принято, что elseотносится к ближайшему if, т.е. таки образом, как отражает запись данного примера. Если следовать правилу, помещая, по возможности, вложенные операторы в ветвь else, то таких ситуаций не будет.
- 18 -
Логические выражения. В операторе ifиспользуются логические выражения, имеющие тип boolean [9] Назван в честь Дж. Буля – основателя математической логики.
. Про такие выражения можно сказать только являются ли они истинными (true) или ложными (false). Простейший случай логического выражения – логическая переменная .
Пример: var b : boolean; . . . . . .
b :=true; . . . . . .
ifb thenwriteln ('Все в порядке');
Такие логические переменные называют флагами, иногда их использование оказывается очень эффективным решением.
Операции сравнения. Существует шесть бинарных [10] Бинарные операции – имеющие два операнда, на которые действует эта операция.
операций сравнения, у которых операнды могут быть самых разных типов (целые, вещественные, символьные строковые).
< меньше <= меньше или равно > больше >= больше или равно = равно <> не равно
Эти операции весьма часто используются для построения различных логических условий.
Например: ifa>0 thena:=1 elsea:=-1. С точки зрения языка Pascal a>0 представляет собой логическое выражение (можно написать даже так: b :=a>0, если b – переменная булевского типа).
Логические операции. Для составления сложных логических выражений могут использоваться две бинарные логические операции AND, OR и одна унарная [11] Унарная операция – имеющая только один операнд.
NOT .
and – результат операции истинен тогда и только тогда, когда истины оба операнда.
or – результат операции истинен тогда, когда истинен хотя бы один операнд.
not – имеет результат противоположный операнду.
Примеры операторов ifсо сложными условиями:
if(x>=0) and (x<=1) thenwriteln ('X находится в диапазоне от 0 до 1');
ifnot ((x>=0) and (x<=1)) thenwriteln('X вне диапазона 0-1');
if(x<0) or (x>1) thenwriteln('X вне диапазона 0-1');
Обратите внимание на скобки. Операции сравнения имеют самый низший приоритет, поэтому заключены в скобки. Приоритет операции and соответствует операции умножения, or – сложению, not – унарному минусу (т.е. самый высокий).
- 19 -
Задание №5
1. Вычислите логические выражения: not true and not false not true or not false not (true or false) Y not (true and false) a 2. Напишите условие нахождения точки a в первом квадранте системы координат, считая ее координаты заданными X переменными x, y .
3. Напишите программу, выводящую слова «зачет», если введено число 3, 4 или 5 и «незачет», если введено число 1 или 2.
4. Напишите программу, выводящую текст «плохо», «удовлетворительно», «хорошо» или «отлично», если введено число 2, 3, 4 или 5 соответственно.
5. Используя операцию определения остатка от деления (mod, стр. 5), модернизируйте программу Concentric (стр. 16), таким образом чтобы каждая 3-я окружность выводилась красным цветом, а остальные были синими.
Читать дальшеИнтервал:
Закладка: