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

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

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

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

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

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

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

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

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

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

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=π.

Для реализации данной задачи разработа-

на СА (pис. 4) и следующая программа:

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.

Задание 1 ( программа 3_1)

Для заданных с клавиатуры значений переменных x и n вычислить

1. X = 1 + 1/2 + 1/3 +... + 1/10. 2. Z = 2. 4. 6. 8.... .20.

3. Y = -x + 4x - 9x +... - 81 x.. 4. Y = x + x/3 + x/5 +... + x/17.

5. Y = n! = 1. 2 . 3 .....n. 6. Y = 1 - 3 + 32 - 33 +... + 310.

7. Y= x2/(2i-1). 8. Z = (x+i)/i.

9. Y= x2/i. 10. Y = 1 + x/2 + x2/4 + x3/6 +... + xi/2i +... + x9 /18.

11. Y=1+x2/1!+x4/2!+x6/3!+…+x20/10!=I+ x2i/i!. 12. Y = 1 - x +x3/3! -x5/5!+...+(-1)n x2n-1/(2n-1)!+... +x11/11!.

13. е = 1 + 1/1! + 1/2! + ... + 1/n! +... (сравнить результат со значением функции EXP(1), определенной в Паскале).

14. π = 4(1-1/3+1/5-1/7+…+(-1)n/(2n+1)+…) (результаты сравнить с определенным в языке Паскаль числом Pi).

15. Y = arctg x = x-x3/3 +x5/5- ... +(-1)n x2n+1/(2n+1)+... (|х|<1).

16. Z = LN(1+x) = x - x2/2 + x3/3 - ... + (-1)n-1 xn/n +... (|x|<1).

17. S = x - x3/3! + x5/5! - ... +(-1)n x2n+1/(2n+1)! +....

18. Вычислить суммы положительных и отрицательных значений функции

z = cos(nx+a) sin(nx-a), где n=1,2,...,5, a и x - вещественные числа.

19. Вычислить сумму четных и сумму нечетных чисел натурального ряда от 1 до N.

20. Найти сумму факториала M= i!.

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

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

№ п/п a b n F1(х) F2(х)
  -1 -2 - -1 -4 -   2 2       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| e-x+cos2x e-x lg x cos x/2 2x lg x - 3x lg x 3-x/50 e2x - sin x 2x arctg x - 5 1.5 arctg x   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| e -2x x + sin x + e -x ctg x x e -x +ln x 10/(2+x2) e axx е2x lg x - 33x

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: