Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Условный оператор (выбор одного из двух направлений)






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

if < условие> then < оператор 1> [ else < оператор 2> ];

если тогда иначе

Условие – логическое выражение, которое может быть истинным или ложным.

оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.е. несколько операторов, объединенных операторными скобками begin end.

Часть конструкции, заключенная в квадратные скобки может отсутствовать.

Принцип работы оператора:

¨ проверяется условие

¨ если условие истинно (верно), то выполняется оператор 1

¨ если условие ложно (неверно), то выполняется оператор 2

¨ если else < оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.

 

Например, из двух чисел a и b вывести на экран значение большего числа. if a > b then writeln (‘большее число a - ’, a) else writeln (‘большее число b - ’, b);

Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else можно писать на следующей строке.

Возможная форма оператора: if < условие> then

< оператор 1>;

Пример использования оператора: Вычислите значение функции f(x) в зависимости от значения аргумента x. if x< 0 then y=x; if x=0 then y=0; if x< 0 then y=sqr(x);

 

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

Возможно использовать в качестве оператор1 или оператор2 других условных операторов:

if < условие1> then if < условие2> then < оператор1> else < оператор2>;

Вложенность операторов if неограниченна.

4. Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):

Позволяет выбрать из любого числа возможностей.

case < переменная или выражение> of

< список значений выбора1>: < оператор1>;

< список значений выбора2>: < оператор2>;

...................................

< список значений выбора N>: < оператор N>;

[else < оператор> ]

end;

Переменная может быть любого порядкового типа, кроме longint (word, boolean, integer, char… или перечисляемый тип). (см.приложение 1, СТРУКТУРА ТИПОВ ДАННЫХ)

Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " .. " (1..7 или 'а'..'м')

Оператор - любой оператор, в том числе составной.

Принцип работы оператора:

¨ Значение переменной или выражения сравнивается с предложенными списками значений

¨ Если найдено нужное значение, выполняется соответствующий оператор

¨ Если нужное значение не найдено в перечисленных списках, выполняется оператор после else

¨ Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.

 

Ветви здесь представлены элементами выбора, разграниченными точкой с запятой, а слово else с последующим оператором могут отсутствовать. Элемент выбора – это оператор, например составной, снабжённый одной или несколькими константами выбора:

 

Пример использования оператора: Написать программу, которая за­пра­шивает номер месяца и вы­во­дит название времени года   uses crt; var month: integer; begin writeln (‘введите номер месяца от 1 – 12’); readln (month); case month of 1, 2, 12: writeln(‘зима’); 3, 4, 5: writeln(‘весна’); 6, 7, 8: writeln(‘лето’); 9, 10, 11: writeln(‘осень’); else writeln (‘ошибка ввода! ’); end; repeat until keypressed; end.  

 

5. Операторы безусловного перехода goto и halt:

goto < метка>

перейти к

halt [< код> ]

выход из программы

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

Метка - это любое целое число от 0 до 9999 или идентификатор

Метки необходимо описывать в разделе описаний перед описанием переменных.

Например, LABEL 1, 2, lab3;

Метки ставятся в программе перед операторами в начале строки, после метки - двоеточие.

Например, 1: repeat until keypressed;

ЗАМЕЧАНИЕ:

- Нельзя входить и выходить из функций и процедур с помощью операторов goto и halt

- Нельзя входить в циклы с помощью операторов goto и halt, но можно досрочно их заканчивать

- Из программы можно выйти оператором halt

 

 

Пример использования оператора:

  Составить программу проверки знания таблицы умножения. program pt1; uses crt; label 1; var a, b: integer; x, y, z: integer; t: char; begin clrscr; writeln ('ПРОГРАММА ПРОВЕРКИ ТАБЛИЦЫ УМНОЖЕНИЯ.'); writeln ('Выход из программы - Q, продолжение - любая другая клавиша'); randomize; 1: x: = random(10); y: = random(10); write(' ', x, ' x ', y, ' =? '); read(z); if z=x*y then writeln ('правильно! ') else writeln ('неправильно! '); writeln ('продолжить? (y/n)')t: =readkey; if (t='N') or (t='n') then halt else goto 1; end.

Практические задания:


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал