You are on page 1of 6

МІНІСТЕРСТВО ОСВІТИ ІНАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»

Кафедра САПР

Звіт
До лабораторної роботи №4
На тему:

«Програмування циклічних процесів»


З дисципліни «Алгоритмізація та програмування»

Виконав:
студент групи КН-14
Дикий Н.В.
Прийняв:
Доцент
Марікуца У.Б.

Львів - 2015
1. МЕТА РОБОТИ

Мета роботи – навчитися організовувати програми циклічної структури, які дозволяють


повторювати певну групу операторів задану кількість разів.

2. Короткий опис методів зображення циклічних


обчислювальних процесів та їх програмування
на алгоритмічній мові ПАСКАЛЬ

2.1. ОПЕРАТОР ЦИКЛУ З ПЕРЕДУМОВОЮ WHILE

Дозволяє організувати цикл, в якому наперед невідоме число повторень. Закінчення циклу
визначається досягненням певної умови. Структура оператора WHILE :
WHILE <умова виконання> DO <оператор>;

2.2. ОПЕРАТОР ЦИКЛУ З ПОСТУМОВОЮ REPEAT

Дозволяє організувати цикл з невідомим числом повторень. На відміну від оператора WHILE
перевірка умови виходу з циклу проводиться після виконання операторів тіла циклу. Структура
оператора REPEAT має такий вигляд:
REPEAT
<оператор 1>;
<оператор 2>;
………………
<оператор n>
UNTIL <умова виходу>;

2.3. ОПЕРАТОР ЦИКЛУ З ПАРАМЕТРОМ FOR

Оператор циклу з параметром служить для організації циклу з наперед відомим числом
повторень. Він передбачає повторне виконання оператора тіла циклу з одночасною зміною параметра
циклу.
Структура оператора циклу FOR:
FOR <параметр циклу> := <початкове значення> TO <кінцеве значення> DO <оператор>;
або
FOR <параметр циклу> := <початкове значення> DOWNTO <кінцеве значення> DO
<оператор>.
3.Блок-схема
4. Тексти програм (за трьома варіантами).
4.1. З циклом for
program tab_fun_1;
var x,y,l:real;
i:integer;
begin
writeln('Введіть крок');
readln(l);
writeln('x________y');

x:=-1;
for i:=1 to 1999 do
begin

x:=x+l;
y:=log10((1-x)/(1+x));
writeln(x,' ',y);
end;
end.
4.2. З циклом while
program fun_tab_2;
var x,y,krok:real;
begin
writeln('Введіть крок');
readln(krok);
writeln('x________y');
x:=-1;
while(x<1) do
begin

x:=x+krok;
y:=log10((1+x)/(1-x));
writeln(x:5:3,' ',y);
end;
end.
4.3. З циклом repeat
program fun_tab_3;
var x,y,krok:real;
begin
writeln('Введіть крок');
readln(krok);
writeln('x________y');
x:=-1;
repeat

x:=x+krok;
y:=log10((1+x)/(1-x));
writeln(x:6:3,' ',y);
until(x>1);
end.
5. Результати обчислень.
Результати для кроку 0.1
х y
-0.900 -1.27875360095283
-0.800 -0.954242509439325
-0.700 -0.753327666658612
-0.600 -0.602059991327963
-0.500 -0.477121254719663
-0.400 -0.367976785294595
-0.300 -0.26884531229258
-0.200 -0.176091259055681
-0.100 -0.0871501757189003
0.000 -1.44649119982993E-16
0.100 0.0871501757189
0.200 0.176091259055681
0.300 0.26884531229258
0.400 0.367976785294594
0.500 0.477121254719662
0.600 0.602059991327962
0.700 0.753327666658611
0.800 0.954242509439324
0.900 1.27875360095283
1.000 15.954589770191

6. Графік заданої функції

7. Аналіз результатів, висновки


На лабораторній роботі №4 я навчився організовувати програми циклічної
структури, які дозволяють повторювати певну групу операторів задану
кількість разів.
8. Результати обчислення суми елементів ряду Тейлора
program tailor_logarifm;
var x,y,s,k,eps:real;
m:integer;
begin
writeln('Введіть x, точність');
readln(x,eps);
y:=0;
m:=1;
s:=(x-1)/(1+x);
while ( s>eps) do
begin
s:=(exp(m*ln(x-1)))/(m*(exp(m*ln(1+x))));
y:=y+s;
m:=m+2;

end;
k:=ln(x);

writeln('Логарифм=',k:7:3,' Ряд Тейлора=',2*y);


end.

Результати виразів для натурального логарифма та його ряду Тейлора майже


співпадають.

You might also like