Помощь - Поиск - Пользователи - Календарь
Полная версия: Прокомментировать программу > Информатика / Программирование
Образовательный студенческий форум > Другие дисциплины > Информатика / Программирование
Sam-017
Прокомментируйте пожалуйста что выполняется в каждой строке программы.
1.

program ryad;


uses crt;
function Fac(n: integer): LongInt;
begin
if n > 1 then
fac := n * Fac(n-1)
else
fac:= 1;
end;
function power(c,st:real):real;
begin
power:=exp(st*ln©);
end;
var sl,x,s,e:real;
k:integer;
begin
writeln('vvedite x');
readln(x);
writeln('e summa k');
s:=0;
k:=1;
e:=0.001;
sl:=(1-power(x,4*k+3)/(fac(2*k+1)*(4*k+3))) ;

while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)

end;
writeln(e:6:6,' ',s,k);
s:=0;
k:=1;
e:=0.0001;
sl:=(1-power(x,4*k+3))/(fac(2*k+1)*(4*k+3));
while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)
end;
writeln(e:6:6,' ',s,k);

s:=0;
k:=1;
e:=0.00001;
sl:=(1-power(x,4*k+3))/(fac(2*k+1)*(4*k+3));

while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)

end;
writeln(e:6:6,' ',s,k);
s:=0;
k:=1;
e:=0.000001;
sl:=(1-power(x,4*k+3)/(fac(2*k+1)*(4*k+3)));

while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)
end;
writeln(e:6:6,' ',s:6:7,' ',k);
readln;
end.


2.
uses crt;
var s, temp, min:string;
i:integer;
begin
clrscr;
writeln('введите строку...');
readln(s);
s:=s+' ';
temp:='';
i:=1;
repeat
if s[i]<>' ' then temp:=temp+s[i];
if ((s[i]=' ') or (i=length(s))) and (temp<>'') then
begin
if length(temp)>2 then
delete(s,i-length(temp),1);
dec(i);
temp:='';
end;
inc(i);
until
i>length(s);
writeln(s);
readln;
end.

3.
program example;
uses
crt;
const
n = 5;
var bRow: array [1..n] of 0..1;
aMatrix: array [1..n, 1..2*n] of Real;
x: Real;
i,j: 1..2*n;
begin
write('введите вещественное число х: ');
readln(x);
writeln('Матрица ', n, 'x', 2*n, 'целых чисел сформирована автоматически:');
randomize;
for i := 1 to n do
begin
for j := 1 to 2*n do
begin
aMatrix[i, j] := -2*x + random(Round(4*x));
write(aMatrix[i, j]:6:2)
end;
writeln('')
end;
for i := 1 to n do
for j := 1 to 2*n do
if aMatrix[i, j] <= x then
bRow[i] := 1
else
begin
bRow[i] := 0;
break
end;
writeln('Матрица обработана. Последовательность b[1]..b[',n,'] сформулирована');
for i := 1 to n do
write(bRow[i]:2);
readln;
end.
Julia
program ryad; //Заголовок программы


uses crt; //Зачем-то подключается модуль crt
function Fac(n: integer): LongInt; // Описывается рекурсивная функция вычисления факториала числа
begin //открывается операторная скобка
if n > 1 then // проверяется условие
fac := n * Fac(n-1) // выполняется оператор присваивания имени функции выражения, в выражении рекурсивно вызывается функция
else // слово "иначе"
fac:= 1; // присваивание имени функции 1
end; // закрывается операторная скобка
function power(c,st:real):real; // описывается функция возведения в степень
begin // уже было
power:=exp(st*ln©); // собственно возведение в степень
end; //было
var sl,x,s,e:real; // описываются глобальные переменные
k:integer;
begin // было
writeln('vvedite x'); // выводится сообщение на экран
readln(x); // считывается значение в переменную
writeln('e summa k'); //было
s:=0; //без комментариев
k:=1;
e:=0.001;
sl:=(1-power(x,4*k+3)/(fac(2*k+1)*(4*k+3))) ;

while sl>e do begin // задается цикл с предусловием
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3)); //вычисляется слагаемое какого-то выражения
if k mod 2 = 0 then // к проверяется на четность
s:=s+sl // слагаемое добавляется в сумму
else
s:=s-sl; // слагаемое добавляется со знаком "-"
inc(k) // к увеличивается на 1

end;
writeln(e:6:6,' ',s,k);
s:=0; //здесь и далее зачем-то переписывается то же, что и в предыдущем фрагменте программы
k:=1;
e:=0.0001;
sl:=(1-power(x,4*k+3))/(fac(2*k+1)*(4*k+3));
while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)
end;
writeln(e:6:6,' ',s,k);

s:=0;
k:=1;
e:=0.00001;
sl:=(1-power(x,4*k+3))/(fac(2*k+1)*(4*k+3));

while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)

end;
writeln(e:6:6,' ',s,k);
s:=0;
k:=1;
e:=0.000001;
sl:=(1-power(x,4*k+3)/(fac(2*k+1)*(4*k+3)));

while sl>e do begin
sl:=power(x,4*k+3)/(fac(2*k+1)*(4*k+3));
if k mod 2 = 0 then
s:=s+sl
else
s:=s-sl;
inc(k)
end;
writeln(e:6:6,' ',s:6:7,' ',k);
readln;
end.



Дальше предлагаю самостоятельно
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.