Программирование циклических алгоритмов с заданным



Числом повторений

Первая форма счетного оператора цикла позволяет наращивать пара­метр цикла на единицу (+1):

FOR <параметр цикла>:= <min значение> TO <max значение> DO <оператор>;

(Для)                                                     (увеличивая к)          (выполнять)

где <параметр цикла> - это переменная целого либо любого порядкового типа; <min, max значения> - это начальное и конечное значения пара­метра цикла (выражения того же типа, что и параметр цикла).

Вторая форма позволяет уменьшать значение параметра цикла на еди­ницу (-1):

FOR <параметр цикла>:= <max знач.> DOWNTO <min знач.> DO <оператор>;    (Для)                                                         (уменьшая к)           (делать)

Пример 1. Вычислить сумму элементов s=1+1/4+1/9+1/16+... .

На основе анализа изменения параметра знаменателя определим алгоритм решения за­дачи  и напишем программу:

PROGRAM suma;

VAR s, r: REAL;

i, N: INTEGER;

BEGIN

s:=0;

WRITELN('введите N');

READ(N);                                        

FOR I:=1 TO N DO

  begin

r:=1/sqr(i);                      

s:=s+r;

end;              

WRITELN('Сумма=',s:6:2);      

END.

Пример 2. Вычислить значения  двух функций F1(x)=tg(x) и

F2(x)=sin(x) в n точках, рав­номерно распределенных на интервале a ≤ x ≤ b, где a=-π/4, b=π.

 

Для реализации данной задачи разработана следующая программа:

 

Program Lab3;

Const а = -pi/4; b = pi;

Var F1, F2, x, dx: real; {dx - шаг изменения х}

  i, n: integer;       {i - пеpеменная цикла}

Begin

writeln ('введите число точек N');

read(n);

dx: = abs(b-a)/(n-1);

x:=a;

writeln (' _____________________________');

writeln ('| I |      X |   F1 |   F2 |');

writeln ('|---|--------------|------------|------------|');

for i:=1 to n do         {опеpатоp цикла}

begin

F2:=sin(x);

F1:=F2/cos(x);  {вычисление: tg x}

      writeln('|', i:3,' |', x:8:3,'|', f1:8:4,' |', f2:8:4,' |');

x:=x+dx;

end;

writeln('|________________________|);

End.

                                                                           

Задание 2 (программа 3_2)

Вычислить значения двух функций в n равномерно распределенных в диапазо-

№ п/п  a  b  n F1(х) F2(х)
1 2 3 4 5 6 7 8 9 10 11 12   0 1 -1 -2 0 - -1 -4 1 1 0 -   2 2 5 5 3 4 3 4 2   10 12 15 14 16 12 10 12 15 10 15 18 sin x cos x 1+2x+5 4e-|x|-1 | x+10|5 2 sin 2x +1 2-cos x 2-x/100 x3e2x 1/(1+ ) 5-3 cos x |sinx|+|cosx|   sin x + cos x -1 (x-1)3 cos x e-(x+5) (x+5)3(1+sin2x)                          20/(1+x2) ex sin x x ln2 x 2x/(1-4x) |sin x| - |cos x|  

не а≤x≤b точках. Результаты оформить в виде таблицы.

 

 

Лабораторная работа 4

Программирование циклических алгоритмов с предусловием

Цель работы: научиться разрабатывать и отлаживать программы с неразветвленными и разветвленными циклами, управляемыми условиями.

Структура оператора цикла с предусловием (с предварительной про­веркой условия):

               WHILE <условие_выполнения> DO <оператор>;

                   пока                                           делать

где <условие> - это любое логическое выражение, <оператор> - это про­извольный оператор Турбо Паскаля, в том числе и составной.

Пример. Для трех значений а = 0.1, 0.2,0.3 протабулировать функцию y=a.tg(x/4) при изменении аргумента x на интервале [0.5,0.9] с шагом, равным a.   

Program a4_1;

var

 

a,x,y:real;

Begin

           writeln('-------------------------');

           writeln(' a |  x |     y |');

           writeln('-------------------------');

a:=0.1;

while a<=0.31 do

   begin

         writeln(a:5:2);

         x:=0.5;

         while x<=0.91 do                                                           

               begin

y:=a*sin(x/4)/cos(x/4);

writeln(x:12:2,' | ', y:10:2);                                   

x:=x+a;

           end;                                                                                     

writeln('-------------------------');

a:=a+0.1                                                        

   end;

End.

Задание 2 (программа 4_2)

Модифицировать (изменить) программу 3_2 для вычисления функций F1(x) и F2(x) с применением вместо счетного цикла оператора цикла с предусловием. Выполнить ее и сравнить результаты с полученными в пре­дыдущей работе.

 

 

Лабораторная работа 5


Дата добавления: 2018-05-13; просмотров: 451; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!