ЛАБОРАТОРНАЯ РАБОТА № 2
Разработка программ разветвляющейся структуры
2.1 Цель работы: изучение основных типов данных и условного оператора языка Pascal, получение навыков в разработке и отладке программ разветвляющихся вычислительных процессов.
Теоретические сведения
На практике линейные программы встречаются крайне редко. Обычно, в зависимости от выполнения каких-либо условий, вычисление осуществляется либо поодним, либо по другим формулам. Алгоритмы такого типа называют алгоритмами разветвляющейся структуры. В общем случае число вариантов продолжения вычислений в алгоритме разветвляющейся структуры произвольно. Ветвление - это управляющая операция языка программирования, позволяющая изменить порядок выполнения алгоритма программы.
Условный оператор - это средство ветвления вычислительного процесса Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.
Условный оператор в языке Pascal имеет две разновидности:
IF <выражение> THEN <оператор1> ELSE <оператор2>;
или IF < выражение > THEN <оператор1>;
где IF, THEN,ELSE - зарезервированные слова,
<выражение>- произвольное выражение логического типа,
<оператор1>,<оператор2>- любые операторы языка Pascal.
Для условного оператора первого вида, если <выражение> принимает значение TRUE выполняется <оператор1>, если <выражение> принимает значение FALSE, то выполняется <оператор2>. Для условного оператора второго вида, если <выражение> принимает значение TRUE так же выполняется <оператор1>, но если же <выражение> принимает значение FALSE, то выполняется оператор непосредственно следующий за оператором IF.
|
Для формирования сложных условий используются логические операции not, and, or.
Пример разработки программы
Постановка задачи: разработать алгоритм и составить программу решения задачи вычисления значения переменной y:
Блок схема алгоритма приведена на рис. 3.1
Рис. 2.1. Блок-схема алгоритма
Текст программы (1вариант) – полный условный оператор
Program RazvetvlPr;
Var X, Y:real;
Begin
Writeln(‘X=’);
Readln(X);
If X <= -3 Then Y = Sqrt(2 + sqr(X))
Else If X < 3 Then Y = sqr(Sin(X))
Else Y = sqr(X) – 3;
Writeln(‘X=’,X)
End.
Текст программы (2 вариант) – неполный условный оператор
Program RazvetvlPr;
Var X, Y:real;
Begin
Writeln(‘X=’);
Readln(X);
If (X <= -3) Then Y = Sqrt(2 + sqr(X));
If (X > -3) and (X < 3) Then Y = sqr(Sin(X));
If (X > =3) Then Y = sqr(X) – 3;
Writeln(‘X=’,X)
End.
Последовательность выполнения работы
4.2.1 Разработать блок-схему решения задачи вычисления значения переменной y в соответствии с вариантом (таблица 2.1) и написать программу. Использовать один из вариантов (1 или 2).
2) Разработать тестовые примеры.
3) Отладить программу.
4) Проанализировать полученные результаты.
5) Оформить отчет.
Таблица 2.1. Варианты заданий
№ вар | Функция | № вар | Функция |
y = | y = | ||
y = | y = | ||
y = | y = | ||
y = | y = | ||
y = | y = | ||
y = | y = | ||
y = | y = |
2.4 Содержание отчета.
Цель работы, постановка задачи, краткие теоретические сведения, текст программы с пояснениями, анализ результатов, выводы
2.5.Контрольные вопросы
1. Назначение условного оператора.
|
2.Какова структура линейного условного оператора?
3.Чем отличается полный условный оператор от сокращенного?
4.В каком случае используют блочный условный оператор?
5. Какой тип имеет условие?
6. В каком случае используют конструкцию If…Then…ElseIf?