Оператор условного перехода if. Оператор выбора case

Для реализации ветвления на Pascal используются условный оператор if и оператор множественного выбора case.

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

Оператор if, как и остальные структурированные операторы, обычно включает в себя составные операторы.

Формат условного оператора (полная форма):

if<логическое выражение>then<оператор 1>else<оператор 2>;

где if означает если, thenто, elseиначе.

Принцип действия:

Вычисляется значение логического выражения (иначе говоря, проверяется условие). Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then (оператор 1). Если значением логического выражения является false (ложь), то выполняется оператор, следующий после слова else (оператор 2).

Можно использовать краткую форму условного оператора:

if<логическое выражение>then<оператор>;

Принцип действия:

Вычисляется значение логического выражения, т. е. проверяется условие. Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then. Если значением логического выражения является false (ложь), то управление передается на оператор, следующий после условного.

Примечания.

1 Если в зависимости от условия предполагается выполнить несколько действий, то соответствующие операторы берутся в операторные скобки begin…end (используется составной оператор).

2 Перед зарезервированными словами then и else знак «;» никогда не ставится, т. к. конструкция if … then … else …; является единым оператором.

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

Формат оператора выбора:

case <ключ_выбора> of

<список_выбора 1>:<оператор 1>;

<список_выбора 2>:<оператор 2>;

<список_выбора N>:<оператор N>;

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

end;

Здесь

case, of, else, end − зарезервированные слова (в переводе означающие соответственно выбор, из, иначе, конец),

<ключ_выбора> − имя переменной или выражение порядкового типа (кроме longint);

<список_выбора 1>, …, <список_выбора N> − константа или список констант того же типа, что и выражение <ключ_выбора>;

<оператор 1>, …, <оператор N> − произвольные операторы языка Pascal, в том числе составной и структурированные.

Принцип действия оператора case:

Вычисляется значение выражения <ключ_выбора>, затем в последовательности <список_выбора> отыскивается тот, которому принадлежит константа, равная вычисленному значению <ключа_выбора>. Оператор, соответствующий выбранному списку, выполняется, остальные − игнорируются. После этого оператор выбора case завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается оператору, стоящему за словом else. Часть else <операторы> можно не использовать.

Задания для практического занятия:

1 Создать с помощью TotalCommander на диске z:\ папку (клавиша F7) для сохранения там файлов программ (латинскими буквами, не более 8 символов, без пробелов и точек!).

2 Загрузить Free, Turbo Pascal или PascalABC. Дляэтоговыполнить Start / All Programs / Free (Turbo) Pascal или PascalABC (Пуск / Всепрограммы / Free [Turbo] Pascal или PascalABC) илищелкнутьдваждыпосоответствующемуярлыкунарабочемстоле.

3 Создать новый файл: File / New (Файл / Создать). Он получает имя noname01.pas (или Program01.pas), отображаемое в верхней части окна документа.

4 Сохранить в личной папке на диске z:\ новый файл с именем ФИО21.pas, лучше использовать латинские буквы. Для этого File / Saveas… (Файл / Сохранить как …), в строке Name ввести имя диска, вложенные каталоги, имя файла, например, z:\Ivanov\isp21.pas или

 

 

и нажать Ok. Периодически сохранять файл в процессе работы (клавиша F2).

5 Набрать текст линейной программы, вычисляющей расстояние между двумя точками (x 1; y 1) и (x 2; y 2) по формуле .

 

Programprim_1; {имя программы}

varx1, x2, y1, y2, d: real; {описание переменных

вещественного типа}

begin{начало раздела операторов}

write('Введите координаты первой точки x1 и y1');

readln(x1, y1); {ввод значений переменных x1, y1 через

клавишу Enter}

write('Введите координаты второй точки x2 и y2');

readln(x2, y2); {ввод значений переменных x2, y2 через

клавишу Enter}

d:=sqrt(sqr(x1-x2)+sqr(y1-y2)); {расчет расстояния}

writeln('расстояние между двумя точками равно',d:5:2);

{вывод значения расстояния}

end.

 

6 Произвести компиляцию программы (клавиша F9). Исправить ошибки.

7 Запустить программу на выполнение (Ctrl + F9).

8 Посмотреть результаты (Alt + F5)

9 Создать новый файл: File / New (Файл / Создать). Сохранить его в личной папке на диске z:\ под именем ФИО22.pas. Периодически сохранять файл в процессе работы (клавиша F2).

10 Набрать текст программы, позволяющей вычислить значение функции в зависимости от условия.

 

Programprim_2; {имя программы}

var{раздел описания переменных}

x: real; {описание переменной-аргумента}

f: real; {описание вычисляемой переменной, т. е. функции)}

begin{раздел операторов}

write('Введи значение x'); {вывод вспомогательной фразы}

readln(x); {ввод значения переменной x}

if (x>=-1) and (x<=3) {условие}

thenf:=sqr(x)*x-sin(x) {если условие истинно}

else{если условие ложно}

ifcos(x)>0 {расчет кубического корня из косинуса x}

then f:=exp(1/3*ln(cos(x))

else if cos(x)<0

then f:=-exp(1/3*ln(abs(cos(x)))

else f:=0;

writeln('x=',x:3:2,' f=',f:4:3) {выводрезультатов}

end.

 

11 Произвести компиляцию программы (клавиша F9). При наличии ошибок исправить их. Запустить программу на выполнение (Ctrl + F9) и просмотреть результаты (Alt + F5).

Контрольные вопросы:

1 Назначение языка программирования Pascal. Состав среды программирования.

2 Алфавит языка программирования Pascal.

3 Зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя. Правила создания имен и ограничения.

4 Структура простейшей программы. Из каких разделов состоит программа на языке Pascal? Какие из разделов необязательны? Для чего служит раздел описания переменных, раздел операторов?

5 Переменные и константы на Pascal. Имя и значение переменной. Данные в программах. Типы данных. Наиболее часто используемые типы данных.

6 Порядковые типы данных: целые, символьный, логический.

7 Вещественные типы данных.

8 Операции, процедуры и функции, применимые к порядковым типам данных.

9 Стандартные процедуры и функции языка Pascal. Основные математические функции. Как записать математические функции, которым нет соответствия на Pascal?

10 Операции языка Pascal. Приоритет операций.

11 Правила записи алгебраических выражений.

12 Операторы Pascal. Оператор присваивания, формат и принцип действия. Согласование типов. Составной и пустой операторы.

13 Операторы ввода-вывода. Формат и принцип действия. Отличие операторов с окончанием ln. Форматирование результатов.

14 Логические выражения. Логические операции. Приоритет и значения логических операций.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: