Цель работы:
1. Построение схемы разветвляющегося алгоритма;
2. Изучение структур разветвления (условных операторов) ТР.
Типовой пример
Составить схему алгоритма и программу для вычисления значений
функции F для заданных значений переменной x и постоянных a, b.
F = a tgx +O |x-2| , при x2; (1)
F = (a2 — b2) Cos p , при x = 2; (2)
F = (x-2)3 Sin px/2 , при x2. (3)
Примечание: При составлении алгоритма и программы не забывайте
анализировать знаменатель (он не должен равняться нулю), учитывайте
область определения математических функций, значения подкоренных выражений и типы данных, участвующих в выражениях.
В рассматриваемом примере значение подкоренного выражения всегда больше 0, арифметические функции Sinх и Cosх определены для любых значений х.
При вычислении значений функции tgx необходимо использовать выражение tgx = sinx /cosx. В связи с этим нужно анализировать значение, которое может принимать знаменатель: cosx не должен равняться 0. Все данные вещественного типа.
Схема алгоритма
да
Вычисле-ние F по форм. (1) |
нет
x2 x
х=2
Текст программы с использованием структуры if … then …
{ Лабораторная работа 2}
{ Тема:…}
{ Выполнили: студенты гр. … Фамилии …}
{ Пример программы с разветвляющейся структурой}
{ Любые другие комментарии к программе }
{ Раздел описаний данных}
Const a=2.0; b=3.0;
Var x,F: real;
{ Раздел операторов}
Begin
Writeln(‘ Введите x’); {Запрос на ввод x}
Readln(x); {Ввод значения x}
if x2 then F:= (x-2)*(х-2)*(х-2)* Sin(Pi *х/2);
if x=2 then F:= (a*a-b*b)* Cos (Pi);
if x
F:= a*Sin(x)/Cos(x)+Sqrt (Abs(x-2))
else begin Writeln(‘ Знаменатель равен 0’);
exit { Выход из программы } end;
{Вывод результатов}
Writeln(‘ При x = ‘,x:6:2,’ F = ‘,F:8:3); readln;
End.
Текст программы
с использованием структуры if … then … else …;
{Лабораторная работа 2}
{Студенты гр. ….. Фамилии …}
{ Пример программы с разветвляющейся структурой}
{ Раздел описаний данных}
Const a=2.0; b=3.0;
Var x,F: real;
{ Раздел операторов}
Begin
Writeln(‘ Введите x’); {Запрос на ввод x}
Readln(x); {Ввод значения x}
if 0 x2 then F:= (x-2)*(х-2)*(х-2)* Sin(Pi/2*x)
else if x=2 then F:= (a*a-b*b)* Cos (Pi)
else if Cos(x)0 then
F:= a* Sin(x)/Cos(x)+ Sqrt(Abs(x-2))
else begin Writeln(‘ Знаменатель равен 0’);
exit { Выход из программы } end;
{Вывод результатов}
Writeln(‘ При x= ‘,x:6:2,’ F= ‘,F:8:3); readln;
End.
Варианты самостоятельных заданий
Оператор выбора
Для разветвления в программе более чем в 2-х направлениях, можно использовать оператор выбора:
CaseOFEnd
Или
CaseOF
ElseEnd
Ключ выбора — выражение любого порядкового типа;
-одна или более конструкций вида:
: ;
— выражение того же типа, что и ключ выбора;
Оператор выбора работает следующим образом: вычисляется значение выражения , а затем в последовательности операторов отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает работу. Если в списке выбора нет такой константы, то управление передается оператору, стоящему за ключеваым словом Else. Часть Else может отсутствовать и в этом случае оператор выбора завершает свою работу.
Операторы циклов
В языке ТР имеются три различных оператора, с помощью которых организуются циклические (повторяющиеся) фрагменты программ.
Статьи к прочтению:
Лабораторная работа по Pascal. Разветвленные алгоритмы
Похожие статьи:
-
Линейные алгоритмы и программы
Цель работы: 1. Построение схемы линейного алгоритма; 2. Изучение структуры программ на языке TurboPascal 3. Использование оператора присваивания. 4….
-
По разработанным алгоритмам составить программы.
Лабораторная работа №1 Тема: Исследование временных характеристик алгоритмов. Цель работы: Развитие умений и навыков теоретической и практической оценки…