Язык программирования ABC PASCAL - [7]

Шрифт
Интервал

Например: if x<0 then x:=-x; Обратите внимание, что точка с запятой ставится после оператора x:=-x в отличие от полной формы.


Пример программы с оператором if


>Program OddEven;

> { Определение четного или нечетного числа }

>var n : integer;

>begin

> write('Введите число '); readln(n);

>if odd(n)

>then

> writeln('Число нечетное')

>else

> writeln('Число четное ');

>end.


Вложенные операторы if


Иногда возникает необходимость устроить развилку на более чем две ветви. В этом случае операторы if можно вкладывать один в другой. С точки зрения алгоритмической корректности лучше, если вложенный оператор находится в ветви else. Приведем сразу пример программы


>Program Sign;

> { Определение знака числа }

>var n : integer;

>begin

>write('Введите число '); readln(n);

>if n>0

>then

> writeln ('Число положительное')

>else

>if n=0

>then

> writeln('Число ноль')

>else

> writeln ('Число отрицательное')

>end.


Обратите внимание, что после вложенный оператор if можно не заключать в операторные скобки begin ... end, поскольку оператор if синтаксически рассматривается как один оператор.


Если имеются вложенные операторы if, один из которых неполный, например:


>if n>0

>then

>if n=0

>then

> writeln('У вас ноль')

>else

> writeln ('Число положительное')


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

- 18 -


Логические выражения. В операторе if используются логические выражения, имеющие тип boolean[9]. Про такие выражения можно сказать только являются ли они истинными (true) или ложными (false). Простейший случай логического выражения – логическая переменная.

Пример: var b : boolean; . . . . . .

b :=true; . . . . . .

if b then writeln ('Все в порядке');


Такие логические переменные называют флагами, иногда их использование оказывается очень эффективным решением.


Операции сравнения. Существует шесть бинарных[10] операций сравнения, у которых операнды могут быть самых разных типов (целые, вещественные, символьные строковые).

< меньше <= меньше или равно > больше >= больше или равно = равно <> не равно


Эти операции весьма часто используются для построения различных логических условий.

Например: if a>0 then a:=1 else a:=-1. С точки зрения языка Pascal a>0 представляет собой логическое выражение (можно написать даже так: b :=a>0, если b – переменная булевского типа).


Логические операции. Для составления сложных логических выражений могут использоваться две бинарные логические операции AND, OR и одна унарная[11] NOT .


and – результат операции истинен тогда и только тогда, когда истины оба операнда.

or – результат операции истинен тогда, когда истинен хотя бы один операнд.

not – имеет результат противоположный операнду.


Примеры операторов if со сложными условиями:


if (x>=0) and (x<=1) then writeln ('X находится в диапазоне от 0 до 1');


if not ((x>=0) and (x<=1)) then writeln('X вне диапазона 0-1');


if (x<0) or (x>1) then writeln('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-я окружность выводилась красным цветом, а остальные были синими.


Вложенные циклы

Довольно часто возникает ситуация, при которой в теле одного цикла встречается другой оператор цикла. Такие циклы называют вложенными циклами. Приведем простой пример.

Выведем на экран таблицу умножения целых чисел от 1 до 10.



Здесь внутри тела внешнего цикла по переменной i, находится вложенный цикл по переменной j, который выводит в операторе write (не writeln!) произведение i*j, выделяя 4 позиции для результата. Далее идет оператор writeln, который переводит курсор на новую строку. Внешний цикл повторяет 10 раз эту операцию, формируя, таким образом, 10 строк таблицы, которая приведена справа.

- 20 -

Тема №6. Оператор case


Оператор case


Оператор case используется для создания развилки на более чем 2 ветви. Понять его работу поможет следующий пример.


>Program YourMark;

> { ваша отметка }

>var n : integer;

>begin

> write ('Введите вашу отметку '); readln (n);

>case n of

> 2 : writeln('Плохо');

> 3 : writeln('Удовлетворительно ');

> 4 : writeln('Хорошо');

> 5 : writeln('Отлично');


Рекомендуем почитать
Спринт на шахматной доске. Как победить в блице

Легендарный питерский шахматист Генрих Чепукайтис, «заслуженный рецидивист блица», многократный чемпион Ленинграда-Петербурга и Москвы по молниеносной игре, вставал в турнирной таблице подчас выше М. Таля, В. Корчного и Т. Петросяна.Будучи одним из сильнейших блицоров мира, Генрих Михайлович свою главную идею в шахматах выразил одной фразой: «Хорошо играть совсем не обязательно, надо, чтобы партнер играл плохо!».Вы узнаете, что надо делать на висячих флажках, как сбить соперника с толку, загнать его в цейтнот и заставить ошибаться.Предваряет повествование замечательный очерк гроссмейстера и литератора Г. Сосонко «Чип», полная версия которого публикуется впервые.Новое издание книги существенно переработано и дополнено.Особенно эта книга будет интересна желающим усилить свою игру в «пятиминутках».


Уголовное право. Особенная часть

В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.


Уголовно-исполнительное право

В книге кратко изложены ответы на основные вопросы темы «Уголовно-исполнительное право». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.


Финансовое право

В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.


фгос  ответы

Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.


Теория литературы. Чтение как творчество

Цель предлагаемого пособия – систематизировать и обогатить представления о природе, структуре и особенностях художественной литературы как вида искусства, помочь совершенствованию читательского мастерства. Книга снабжена кратким словарем основных литературоведческих понятий и терминов (составлен при участии доцента О.В. Быстровой).Для студентов филологических факультетов, учителей, преподавателей литературы высших и средних учебных заведений.