Здавалка
Главная | Обратная связь

Разветвляющийся алгоритм. Ветвления



Пример 4.

Если х>0, тогда вычислить:

y = lg(x) + (a-d) / (d+b);

иначе вычислить:

y=sin(x)/(a + b) - b/d.

Задание

Написать программу разветвляющегося алгоритма примера 4.

PROGRAM PR2;

VAR

a, b,d, x, y: real;

BEGIN

Writeln (‘ввести a, x, b, d’);

Read (a, x, b, d);

if x>0 then

y: = ln(x)/ln(10) + (a-d)/(d+b)

else

y:=sin (x)/(a + b)-b/d;

Writeln (’y=’, y: 7: 3);

END.

Задание

Составить в виде блок-схемы линейный алгоритм примера 4.

 

Рис. 2. Блок-схема разветвляющегося алгоритма

 

В блок-схеме видно, что в зависимости от условия x>0 выполняется одна из ветвей алгоритма. После вычисления выводится результат.

Разветвляющийся алгоритм предполагает проверку условий для выбора решения. Соответственно в алгоритме появятся две ветви для каждого условия.

Пример 5. Словесный разветвляющийся алгоритм.

Найти максимальное значение из трёх различных целых чисел, введенных с клавиатуры.

Решение.

Данный алгоритм предполагает проверку условия. Для этого выбирается любая из трёх переменных и сравнивается с другими двумя. Если она больше, то поиск максимального числа окончен. Если условие не выполняется, то сравниваются две оставшиеся переменные. Одна из них будет максимальной.

Блок-схемы. Циклы

Циклический алгоритм предусматривает повторение одной операции или нескольких операций в зависимости от условия задачи.

Циклический алгоритм со счётчиком циклов

Пример 6.

В цикле вычислить значение функции z=x*y при условии, что одна из переменных «x»меняется в каждом цикле на единицу, а другая переменная «у»не меняется и может быть любым целым числом. В результате выполнения цикла при начальном значении переменной х=1 можно получить таблицу умножения. Алгоритм этой задачи приводится на рис. 3.

Задание

Составить в виде блок-схемы циклический алгоритм примера 6.

 

Рис.3. Блок-схема циклического алгоритма со счётчиком циклов

 

В примере 6 дано количество циклов.

Пока не выполнится заданное количество циклов, повторение тела цикла продолжается.

Задание

Написать программу циклического алгоритма примера 6.

PROGRAM PR3;

Var

x, y, z, i, n :integer;

begin

writeln (‘ввести x,y, количество циклов-n’);

readln (x,y,n);

for i:=1 to n do

begin

z:=x*y;

writeln (‘x= ’, x, ‘ y= ’, y, ‘ z= ’, z);

x:=x+1;

End;

End.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.