Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1196.doc
Скачиваний:
21
Добавлен:
09.04.2015
Размер:
1.29 Mб
Скачать

2.2. Типовые алгоритмы вычислительных процессов

Все приводимые ниже алгоритмы сопровождаются блок-схемой и программой на алгоязыке Pascal.

2.2.1. Линейный вычислительный процесс

В этом процессе операции выполняются последовательно, одна за другой, как это представлено в блок-схеме. Рис.1.

Пример. Вычислить и напечатать значение

Алгоритм и программа имеют вид:

PROGRAM ROM;

const

pi = 3.14;

var

y, a, x: real;

begin

writeln (‘ввести a, x’);

readln (a, x);

y:=exp(cos(x))–sqrt(api)/sqr(sin(x));

writeln (‘y =’, y:2:1,‘ ’, ‘x =’, x:2:1, ‘ ’,

‘a =’, a:2:1);

end.

Рис.1. Линейный алгоритм

2.2.2. Разветвляющийся вычислительный процесс

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

Пример. Вычислить и напечатать значение y при x2,7 и x<2,7; a=2,1; b=0,5.

если

если

Блок-схема алгоритма

PROGRAM ZOG;

var

x, a, b,: real;

begin

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

readln (x, a, b);

if x>=2.7 then y:=sqr(ln(x))+b

else y:=(abx)+x;

writeln (‘y=’, y:3:2, ‘ ’, ‘x=’, x:2:1, ‘ ’,

‘a=’, a:1:1, ‘ ’, ‘b=’, b:1:1);

end.

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

Действия, которые должны быть выполнены машиной при реализации алгоритма, состоят в следующем:

Блок 2 – ввод исходных данных.

Блок 3 – проверка условия.

Блок 4, 5 – вычисление «у» при выполнении (да) или невыполнении условия (нет).

Блок 6 – вывод результата на дисплей.

Блок 7 – конец расчета.

2.2.3. Циклический вычислительный процесс

Циклический вычислительный процесс – это процесс многократного повторения одинаковых операций (расчета), с изменяющимися параметрами (одним параметром), входящими в формулу и завершаемый по достижении цели процесса.

Среди существующих разновидностей циклов следует выделить:

– цикл с заданным числом шагов;

– циклический разветвляющийся процесс (смешанный);

– итерационный цикл.

Цикл с заданным числом шагов

Пример. Вычислить и напечатать значения

, шаг изменения , .

Решение задачи состоит в вычислении и печати для каждого значенияна отрезке от 1 до 2.

Вычисление значения и печатьи, многократно выполняемые действия, происходящие циклически,Рис. 3.

Исходными данными будут: начальное значение (), конечное значение() и шаг измененияh.

Блок-схема алгоритма

Подготовка цикла

Задание начального значения

Проверка условия окончания цикла

Выполнение многократно

повторяющихся операций:

вычисление по формуле;

вывод результата на дисплей;

изменения значения х на величину

шага, h (подготовка к следующему

шагу цикла)

Рис. 3. Циклический алгоритм

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

Блок 2 – ввод исходных данных;

Блок 3 – задание начального значения ;

Блок 4 – проверка условия окончания цикла.

Блок 5 – вычисление значений , при изменяющемся аргументе.

Блок 6 – печать значений и.

Блок 7 – изменение значения аргумента на величину шага –h и проверка условия окончания цикла.

Блок 8 – окончание расчета.

При составлении программы можно перейти к символам, принятым в Pascal.

Программа на языке Pascal.

PROGRAM ALPA;

var

x, x, h, y: real;

begin

writeln (‘ввести x, x, h’);

readln (x, x, h);

x:= x;

while x<= xdo

begin

y:=sin(1/(cos(x)-(sin(x)/cos(x))));

writeln (‘y=’, y:3:1, ‘ ’, ‘x=’, x:2:1);

x:=x+h;

end

end.

В программе использованы операторы цикла «с предусловием»: while (x<= x) do и end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]