Наберите программу, добавьте описание типов переменных и добейтесь ее работо . Самостоятельно : Иван Иванович захотел получить распечатку : как будет меняться сумма вклада по кварталам?
{$APPTYPE CONSOLE} Const N = 13; Var A:array[1..N] of real; i,C:integer; Procedure ZAPOLNENIERND(); Var i,j:integer; Begin Randomize; For i:= 1 to N do A[i]:=random*21-10; End;
Procedure BbIBOD(); Var i,j:integer; Begin For i:= 1 to n do Write(A[i]:4:1,' '); WriteLn; End;
Procedure RE(); Begin Write('i = ');ReadLn(i); Write('A[',i,'] = ');ReadLn(A[i]); End;
Procedure SF(); Var i:integer; S:real; Begin S:=0; For i:= 1 to n do if A[i] > 0 then S:=S+Frac(A[i]); WriteLn('S = ',S); End;
Begin ZAPOLNENIERND(); BbIBOD(); Repeat WriteLn; WriteLn('1 - заполнить массив случайными числами'); WriteLn('2 - ввести новое значение заданного элемента'); WriteLn('3 - вычислить сумму дробных частей положительных элементов массива. '); WriteLn('4 - вывод массива'); WriteLn('9 - выход'); ReadLn(C); Case C of 1: Begin ZAPOLNENIERND; BbIBOD; End; 2:RE; 3: Begin SF(); End; 4:BbIBOD; End Until C = 9; End.
{$APPTYPE CONSOLE} Var A:array of array of real; n,m,i,j,C:integer; Procedure BBODGRANIC(); Begin Write('n = ');ReadLn(n); Write('m = ');ReadLn(m); SetLength(A,n,m); End;
Procedure ZAPOLNENIERND(); Var i,j:integer; Begin Randomize; For i:= 0 to n-1 do For j:= 0 to m-1 do A[i,j]:=random*21-10; End;
Procedure BbIBOD(); Var i,j:integer; Begin Write('':3); For i:= 0 to m-1 do Write(i:5,' '); WriteLn; For i:= 0 to n-1 do Begin Write(i:2,' '); For j:= 0 to m-1 do Write(A[i,j]:5:1,' '); WriteLn; End; End;
Procedure SUMDOk(); Var k,i,j:integer; S:real; Begin Repeat Write('k = ');ReadLn(k); Until k > 0; m:=m+1; SetLength(A,n+1,m+1); if k > m then k:=m; For i:= 0 to n-1 do Begin S:=0; For j:= 0 to k-1 do S:=S+A[i,j]; For j:= m downto k do A[i,j]:=A[i,j-1]; A[i,k-1]:=S; End; End;
Begin BBODGRANIC(); ZAPOLNENIERND(); BbIBOD(); Repeat WriteLn; WriteLn('1 - изменить размеры массива'); WriteLn('2 - заполнить массив случайными числами'); WriteLn('3 - ввести новое значение заданного элемента'); WriteLn('4 - вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.'); WriteLn('5 - вывод массива'); WriteLn('9 - выход'); ReadLn(C); Case C of 1:BBODGRANIC; 2: Begin ZAPOLNENIERND; BbIBOD; End; 3:RE; 4: Begin SUMDOk(); BbIBOD End; 5:BbIBOD; End Until C = 9; End.
Const
N = 13;
Var
A:array[1..N] of real;
i,C:integer;
Procedure ZAPOLNENIERND();
Var i,j:integer;
Begin
Randomize;
For i:= 1 to N do
A[i]:=random*21-10;
End;
Procedure BbIBOD();
Var i,j:integer;
Begin
For i:= 1 to n do
Write(A[i]:4:1,' ');
WriteLn;
End;
Procedure RE();
Begin
Write('i = ');ReadLn(i);
Write('A[',i,'] = ');ReadLn(A[i]);
End;
Procedure SF();
Var
i:integer;
S:real;
Begin
S:=0;
For i:= 1 to n do
if A[i] > 0 then S:=S+Frac(A[i]);
WriteLn('S = ',S);
End;
Begin
ZAPOLNENIERND();
BbIBOD();
Repeat
WriteLn;
WriteLn('1 - заполнить массив случайными числами');
WriteLn('2 - ввести новое значение заданного элемента');
WriteLn('3 - вычислить сумму дробных частей положительных элементов массива. ');
WriteLn('4 - вывод массива');
WriteLn('9 - выход');
ReadLn(C);
Case C of
1:
Begin
ZAPOLNENIERND;
BbIBOD;
End;
2:RE;
3:
Begin
SF();
End;
4:BbIBOD;
End
Until C = 9;
End.
Var
A:array of array of real;
n,m,i,j,C:integer;
Procedure BBODGRANIC();
Begin
Write('n = ');ReadLn(n);
Write('m = ');ReadLn(m);
SetLength(A,n,m);
End;
Procedure ZAPOLNENIERND();
Var i,j:integer;
Begin
Randomize;
For i:= 0 to n-1 do
For j:= 0 to m-1 do
A[i,j]:=random*21-10;
End;
Procedure BbIBOD();
Var i,j:integer;
Begin
Write('':3);
For i:= 0 to m-1 do
Write(i:5,' ');
WriteLn;
For i:= 0 to n-1 do
Begin
Write(i:2,' ');
For j:= 0 to m-1 do
Write(A[i,j]:5:1,' ');
WriteLn;
End;
End;
Procedure RE();
Begin
Write('i = ');ReadLn(i);
Write('j = ');ReadLn(j);
Write('A[',i,',',j,'] = ');ReadLn(A[i,j]);
End;
Procedure SUMDOk();
Var
k,i,j:integer;
S:real;
Begin
Repeat
Write('k = ');ReadLn(k);
Until k > 0;
m:=m+1;
SetLength(A,n+1,m+1);
if k > m then k:=m;
For i:= 0 to n-1 do
Begin
S:=0;
For j:= 0 to k-1 do
S:=S+A[i,j];
For j:= m downto k do
A[i,j]:=A[i,j-1];
A[i,k-1]:=S;
End;
End;
Begin
BBODGRANIC();
ZAPOLNENIERND();
BbIBOD();
Repeat
WriteLn;
WriteLn('1 - изменить размеры массива');
WriteLn('2 - заполнить массив случайными числами');
WriteLn('3 - ввести новое значение заданного элемента');
WriteLn('4 - вычислить суммы элементов в каждой строке до k-ого столбца и вставить их перед k-столбцом.');
WriteLn('5 - вывод массива');
WriteLn('9 - выход');
ReadLn(C);
Case C of
1:BBODGRANIC;
2:
Begin
ZAPOLNENIERND;
BbIBOD;
End;
3:RE;
4:
Begin
SUMDOk();
BbIBOD
End;
5:BbIBOD;
End
Until C = 9;
End.