Лабораторная работа №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) выражение. Знаками операций отношения являются: =, <>, >, >=, <,<=. Знаки операций отношения здесь указаны в порядке убывания приоритета.
Например, условие на Pascal запишется в виде . Если , то и результат будет логической константой True.
При сравнении операнды могут быть любого типа, но результат операции отношения является булевским.
Булевское или логическое выражение - это константы, переменные типа Boolean или выражения отношения, соединенные знаками логических операций и скобками в случае необходимости.
В Pascal предусмотрены булевы операции: not(отрицание), and(логическое умножение) и or(логическое сложение). Знаки операций записаны в порядке убывания приоритета. Приоритет знаков операций отношения ниже, чем приоритет булевых операций.
Например, условие и на Pascal запишется в виде . Операндами в данном логическом выражении являются выражения отношений и . Выражения отношений заключены в скобки и выполняются в первую очередь. Результат их выполнения будет иметь булевский тип.
Если после зарезервированных слов then и else необходимо выполнить несколько операторов, то их объединяют в составной оператор с помощью операторных скобок begin и end.
Условные операторы могут быть вложенными и степень их вложенности в Pascal не ограничена[1,2].
Пример программы на Pascal
Задача 2.
Написать программу для вычисления значения .
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.Что такое составной оператор, и в каких случаях он используется в программе.