siszzz
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Прокомментируйте пожалуйста что выполняется в каждой строке программы. 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. |