Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Информатике.docx
Скачиваний:
4
Добавлен:
21.07.2019
Размер:
945.09 Кб
Скачать

Лабораторная работа №8 «Программирование циклических алгоритмов»

Цель работы: ознакомиться с циклом FOR

Задание: разработать программу для нахождения суммы ряда n-членов по главному члену последовательности

Текст программы:

program Lab8;

var n,i,nf:integer;a,s:real;F:text;

begin

ASSIGN(F,'RES8.PAS');

REWRITE(F);

WRITE(F);

writeln(F,'Labaratornya rabota #8');

writeln(F,'Programirovanie ciklicheskih algoritmov');

writeln(F,'Vvod dannih');

write('n=');

readln(n);

writeln(F,'n=',n:3);

nf:=1;

s:=0;

writeln(F,'Vivod dannih');

For I:=1 to n do

begin

nf:=nf*i;

a:=exp(ln(n)*ln(nf))/exp(n*ln(ln(n)));

writeln('a=',a:6:3);

writeln(F,'a=',a:6:3);

s:=s+a;

end;

writeln('a:=exp(ln(n)*ln(nf))/exp(n*ln(ln(exp)*n))');

writeln(F,'a:=exp(ln(n)*ln(nf))/exp(n*ln(ln(exp)*n)');

writeln('s=',s:6:3);

writeln(F,'s=',s:6:3);

writeln(F,'Zadanie vipolnil Stupen Dennis');

writeln(F,'Student gryppi 101711');

end.

Результирующий файл:

Labaratornya rabota #8

Programirovanie ciklicheskih algoritmov

Vvod dannih

n= 6

Vivod dannih

a= 0.030

a= 0.105

a= 0.749

a= 8.981

a=160.588

a=3980.836

a:=exp(ln(n)*ln(nf))/exp(n*ln(ln(exp)*n)

s=4151.290

Zadanie vipolnil Stupen Dennis

Student 101711

Блок-схема:

Лабораторная работа №9 «Использование циклических алгоритмов с предусловием и постусловием.

Цель работы: изучить циклы с предусловием WHILE и постусловием REPEAT … UNTIL

Задание: разработать программу для расчета суммы членов ряда с общим членом

Текст программы:

program Lab9;

var n,i:integer;a,a1,E,s,d,nf,nf1:real;F:text;

begin

ASSIGN(F,'RES9.PAS');

REWRITE(F);

WRITE(F);

writeln(F,'Labaratornya rabota #9');

writeln(F,'Ciclicheskie algoritmi');

writeln(F, 'Predyslovie');

s:=0;

n:=1;

nf:=1;

E:=0.001;

d:=0.0001;

while d<=E do

begin

nf:=nf*n;

nf1:=(nf+1)*n;

a:=(2*n-1)/exp(nf*ln(2));

a1:=(2*n-1)/exp((nf1+1)*ln(2));

d:=(a/a1)*a1;

n:=n+1;

S:=s+a;

writeln('a=',a:10:8);

writeln(F,'a=',a:10:8);

writeln('d=',d:10:8);

end;

writeln('s=',s:10:8);

writeln(F,'s=',s:10:8);

writeln('n=',n-1:6);

writeln(F,'n=',n-1:6);

writeln(F,'Vipolnil student gr.101711');

writeln(F,'Stupen Dennis');

writeln(F, '------------------------------------------------------------------------------------');

writeln(F, 'Postyslovie');

s:=0;

n:=1;

nf:=1;

E:=0.0001;

Repeat

nf:=nf*n;

nf1:=(nf+1)*n;

a:=(2*n-1)/exp(nf*ln(2));

a1:=(2*n-1)/exp((nf1+1)*ln(2));

d:=(a/a1)*a1;

n:=n+1;

S:=s+a;

writeln('a=',a:10:8);

writeln(F,'a=',a:10:8);

writeln('d=',d:10:8);

Until d<=E;

writeln('s=',s:10:8);

writeln(F,'s=',s:10:8);

writeln('n=',n-1:6);

writeln(F,'n=',n-1:6);

writeln(F,'Vipolnil student gr.101711');

writeln(F,'Stupen Dennis');

readln;

CLOSE(F);

end.

Результирующий файл:

Labaratornya rabota #9

Ciclicheskie algoritmi

Vvod dannih

Predyslovie

a=0.50000000

a=0.75000000

a=0.07812500

a=0.00000042

s=1.32812542

n= 4

Vipolnil student gr.101711

Stupen Dennis

-----------------------------------------------------------------------------------------

Postyslovie

a=0.50000000

a=0.75000000

a=0.07812500

a=0.00000042

s=1.32812542

n= 4

Vipolnil student gr.101711

Stupen Dennis

Блок схема:

Лабораторная работа №11 « Построение таблиц значений функций»

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

Задание: Построить таблицу значений функции

Текст программы:

program Lab11PODPROGRAM;

var M,I:integer;a,b,x,H,y:real;F:text;

FUNCTION T(fx:real):real;

Begin

fx:=cos(x);

T:= fx;

end;

begin

ASSIGN(F,'RES11PODPROGRAM.PAS');

REWRITE(F);

WRITE(F);

writeln(F,'Labaratornya rabota #11');

writeln(F,'Postroenietablic znachenii funkcii');

x:=0;

y:=t(x);

M:=20;

a:=3.14/3;

b:=2*3.14/3;

H:=(B-A)/M;

writeln(F,'A=3.14/3');

writeln(F,'B=2*3.14/3');

writeln(F,'M=20');

writeln('____________________');

writeln(' x | f(x)=cos(x)');

writeln('_____|_____________');

writeln(F,'____________________');

writeln(F,' x | f(x)=cos(x)');

writeln(F,'_____|_____________');

FOR I:=1 TO M DO

begin

X:=A+i*H;

fx:=cos(x);

write(x:2:3);

write('|');

writeln(' ',y:5:2);

write(F,x:2:3);

write(F,'|');

writeln(F,' ',y:5:2);

end;

writeln(,'Cicl c Postysloviev');

x:=0;

i:=1;

M:=20;

a:=3.14/3;

b:=2*3.14/3;

H:=(B-A)/M;

Repeat

i:=i+1;

X:=A+i*H;

y:=cos(x);

write(x:2:3);

write('|');

writeln(' ',y:5:2);

write(,x:2:3);

write(,'|');

writeln(,' ',y:5:2);

Until X>=B;

FOR I:=1 TO M DO

begin

X:=A+i*H;

y:=cos(x);

write(x:2:3);

write('|');

writeln(' ',y:5:2);

write(,x:2:3);

write(,'|');

writeln(,' ',y:5:2);

end;

writeln(F,'Vipolnil student gr.101711');

writeln(F,'Stupen Dennis');

readln;

CLOSE(F);

end.

Результирующий файл:

Labaratornya rabota #11

Postroenietablic znachenii funkcii

A=3.14/3

B=2*3.14/3

M=20

____________________

x | f(x)=cos(x)

_____|_____________

1.099| 0.45

1.151| 0.41

1.204| 0.36

1.256| 0.31

1.308| 0.26

1.361| 0.21

1.413| 0.16

1.465| 0.11

1.518| 0.05

1.570| 0.00

1.622| -0.05

1.675| -0.10

1.727| -0.16

1.779| -0.21

1.832| -0.26

1.884| -0.31

1.936| -0.36

1.989| -0.41

2.041| -0.45

2.093| -0.50

Vipolnil student gr.101711

Stupen Dennis

Блок-схема: