Лабораторная работа №2. Использование условных операторов в программах на Pascal

Цель работы

- получение навыков в построении алгоритмов разветвляющей структуры;

- получение навыков в отладке и тестировании программ разветвляющей структуры;

- ознакомление с типами синтаксических ошибок, определяемых компилятором Turbo-Pascal.

Краткие теоретические сведения

Условные операторы используются в тех случаях, когда необходимо один или несколько операторов выполнить лишь при соблюдении некоторого условия[1,2].

Формат

if <выражение > then <оператор>;

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

Действие оператора состоит в следующем: вычисляется значение <выражения >и, если оно истинно, то выполняется <оператор>, следующий за словом then, а в противном случае выполняется оператор, следующий за оператором if … then.

Формат

if <выражение > then <оператор 1>else<оператор 2>;

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

Действие оператора состоит в следующем: вычисляется значение <выражения >и, если оно истинно, то выполняется <оператор 1>, следующий за зарезервированным словом then, а в противном случае выполняется <оператор 2>,следующий за словом else. Далее выполняется оператор, следующий за оператором if … then … else.

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

Логический тип Boolean представляет собой тип данных, любой элемент которого может принимать лишь два значения True и False.

Операнды в булевском выражении могут быть только типа Boolean.

Выражение отношения определяет истинность или ложность результата. Операция отношения выполняет сравнение двух операндов и определяет истинно(True) или ложно(False) выражение. Знаками операций отношения являются: =, <>, >, >=, <,<=. Знаки операций отношения здесь указаны в порядке убывания приоритета.

Например, условие Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru на Pascal запишется в виде Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru . Если Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru , то Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru и результат будет логической константой True.

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

Булевское или логическое выражение - это константы, переменные типа Boolean или выражения отношения, соединенные знаками логических операций и скобками в случае необходимости.

В Pascal предусмотрены булевы операции: not(отрицание), and(логическое умножение) и or(логическое сложение). Знаки операций записаны в порядке убывания приоритета. Приоритет знаков операций отношения ниже, чем приоритет булевых операций.

Например, условие Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru и Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru на Pascal запишется в виде Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru . Операндами в данном логическом выражении являются выражения отношений Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru и Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru . Выражения отношений заключены в скобки и выполняются в первую очередь. Результат их выполнения будет иметь булевский тип.

Если после зарезервированных слов then и else необходимо выполнить несколько операторов, то их объединяют в составной оператор с помощью операторных скобок begin и end.

Условные операторы могут быть вложенными и степень их вложенности в Pascal не ограничена[1,2].

Пример программы на Pascal

Задача 2.

Написать программу для вычисления значения Лабораторная работа №2. Использование условных операторов в программах на Pascal - student2.ru .

Program st2;

Var

x,y:real;

Begin

read(x);

writeln(’ x=’,x);

if x>=1 then y:=sqrt(x-1) else y:=sqrt(abs(x-1));

writeln(‘y=’,y);

End.

2.3. Содержание задания

Задание 2

- разработать блок-схему алгоритма разветвляющей структуры для вычисления функции F(x)=f(x,y,z) в соответствии с вариантом задания (см. приложение Б, таб. Б.1);

- написать и отладить программу в соответствии с блок-схемой;

- поставить программу на выполнение, отладить и протестировать ее;

- сравнить результаты ручного и машинного счета;

- смоделировать в программе шесть-восемь различных синтаксических

ошибок и описать их;

- задачи для самостоятельного решения представлены в приложении Д.

Содержание отчета

- цель работы;

- задание;

- блок-схема алгоритма решения задачи;

- текст программы;

- результаты ручного и машинного счета;

- выводы.

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

1.Приведите пример алгоритма разветвляющей структуры.

2.Объясните работу условных операторовPascal if … then и if … then … else.

3.Что такое выражение отношения и булевское (логическое) выражение. Объясните правила их записи. Назовите знаки операций выражений отношения и булевских выражений.

4.Перечислите арифметические и логические операции в порядке убывания их приоритета.

5.Объясните назначение типов integer и real.

6.Объясните назначение типа Boolean. Что такое логические константы True и False.

7.Что такое составной оператор, и в каких случаях он используется в программе.

Наши рекомендации