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

 

Процессы, в которых ряд действий повторяются многократно по одним

и тем же математическим зависимостям, называются циклическими.

При организации циклов необходимо:

определить параметр цикла и его начальное значение;

изменять значение параметра цикла на каждом шаге итерации;

организовать проверку на выход из цикла.

На языке Паскаль существует три оператора цикла:

· оператор цикла с параметром;

· оператор цикла с предусловием;

· оператор цикла с постусловием.

Оператор цикла с параметром

 

for i:=N to K do P ;

(для) (до) (выполнять)

где i - параметр цикла;

N, K - его начальное и конечное значение;

P - простой или составной оператор;

i,N,K - переменные или константы целого типа.

Шаг изменения i - равен 1.

Если K<N, т.е. имеем дело с циклом с отрицательным шагом: (-1)

for i:=N down to K do P;

Оператор цикла с параметром автоматически устанавливает начальное значение параметра цикла, изменяет значение параметра на шаг

(+1 или -1), организовывает проверку на выход из цикла.

 

 

Задача.

Вычислить сумму ряда

S= 1+1/2+1/3+ … +1/50

Выделим переменную для накапливания суммы - sum. Значение этой переменной необходимо предварительно обнулить.

Program cikl;

Var

I: integer;

sum: real;

Begin

sum: =0;

for i: = 1 to 50 do

sum: = sum + 1/i;

Writeln (' сумма = ', sum:10:4);

End.

Оператор for применяют в тех случаях, когда значения параметра цикла целые и меняются с шагом +1, -1.

Оператор цикла с постусловием

 

Repeat

p1;p2 ;…pn ;

until <условие>;

где p1; p2 ; … pn ; - любые операторы, образующие тело цикла.

По этому оператору выполняется «тело цикла», а затем проверяется <условие>, если оно не выполнилось, цикл повторяется. И так до тех пор, пока <условие> не будет выполнено. Необходимо помнить: если <условие> выполнилось c первого раза, цикл будет пройден один раз.

 

Задача.

Вычислить значение функции:

y = a*sin (x ) ,

При x = от 0 до 1, с шагом =0.2

Program cikl_1;

Var

y,a,x:real;

Begin

writeln(‘Введите а’);

Read(a);

x:=0;

Repeat

y:=a*sin (x);

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

x:=x+0.2;

until x>1;

End.

 

Действия, которые подчеркнуты, необходимы для организации цикла.

Для организации цикла необходимо выполнить три действия:

· восстановить начальное значение параметра цикла;

· сформировать текущее значение параметра цикла;

· организовать проверку на выход из цикла.

 

В операторе for … to … do перечисленные действия выполняются автоматически. В остальных операторах цикла эти действия необходимо организовать составителю программы.








Дата добавления: 2017-06-02; просмотров: 456;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.