Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Алгоритмы и программы с разветвлением




Цель работы:

1. Построение схемы разветвляющегося алгоритма;

2. Изучение структур разветвления (условных операторов) ТР.

 

 

Типовой пример

 

Составить схему алгоритма и программу для вычисления значений

функции F для заданных значений переменной x и постоянных a, b.

 

F = a tgx +Ö |x-2|, при x < 2; (1)

F = (a2 - b2) Cos p, при x = 2; (2)

F = (x-2)3 Sin px/2, при x > 2. (3)

 

Примечание: При составлении алгоритма и программы не забывайте

анализировать знаменатель (он не должен равняться нулю), учитывайте

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

В рассматриваемом примере значение подкоренного выражения всегда больше 0, арифметические функции Sinх и Cosх определены для любых значений х.

При вычислении значений функции tgx необходимо использовать выражение tgx = sinx /cosx. В связи с этим нужно анализировать значение, которое может принимать знаменатель: cosx не должен равняться 0. Все данные вещественного типа.

 

Схема алгоритма

 

 

       
   
 
 

 


да

 

       
 
   
 


Вычисле- ние F по форм. (1)  
нет

x>2 x<2

       
   
 
 

 


х=2

 
 

 


Текст программы с использованием структуры if... then...

 

{ Лабораторная работа 2}

{ Тема:…}

{ Выполнили: студенты гр.... Фамилии …}

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

{ Любые другие комментарии к программе }

{ Раздел описаний данных}

Const a=2.0; b=3.0;

Var x,F: real;

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

Begin

Writeln(' Введите x'); {Запрос на ввод x}

Readln(x); {Ввод значения x}

if x>2 then F:= (x-2)*(х-2)*(х-2)* Sin(Pi *х/2);

if x=2 then F:= (a*a-b*b)* Cos (Pi);

if x<2 then 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.

 

Текст программы

с использованием структуры if... then... else...;

{Лабораторная работа 2}

{Студенты гр...... Фамилии …}

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

{ Раздел описаний данных}

Const a=2.0; b=3.0;

Var x,F: real;

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

Begin

Writeln(' Введите x'); {Запрос на ввод x}

Readln(x); {Ввод значения x}

if 0 x>2 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-х направлениях, можно использовать оператор выбора:

Case <Выражение - ключ выбора> OF <Список выбора> End

Или

Case <Выражение - ключ выбора> OF <Список выбора>

Else <Операторы> End

Ключ выбора - выражение любого порядкового типа;

<Список выбора> - одна или более конструкций вида:

<Константа выбора>: <Оператор>;

<Константа выбора> - выражение того же типа, что и ключ выбора;

Оператор выбора работает следующим образом: вычисляется значение выражения <ключ выбора>, а затем в последовательности операторов <список выбора>отыскивается такой, которому предшествует константа, равная вычисленному значению. Найденный оператор выполняется, после чего оператор выбора завершает работу. Если в списке выбора нет такой константы, то управление передается оператору, стоящему за ключеваым словом Else. Часть Else может отсутствовать и в этом случае оператор выбора завершает свою работу.

 

Операторы циклов

В языке ТР имеются три различных оператора, с помощью которых организуются циклические (повторяющиеся) фрагменты программ.





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 524 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2358 - | 2221 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.