Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод_пособие.doc
Скачиваний:
24
Добавлен:
15.06.2014
Размер:
300.03 Кб
Скачать

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

Первая форма счетного оператора цикла позволяет наращивать пара­метр цикла на единицу (+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

Соседние файлы в предмете Информатика