Лабораторная работа №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
Блок-схема: