Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по PASCAL lecture6.doc
Скачиваний:
5
Добавлен:
09.11.2018
Размер:
167.42 Кб
Скачать

Var I:byte;

function mult(c:array of real):real;

Var I:byte; p:real;

begin

p:=1;

for i:=low(c) to high(c) do p:=p*c[i];

mult:=p

end;

begin

clrscr;

if mult(a)<mult(b) then begin writeln('massiv A');

for i:=1 to 8 do begin

a[i]:=a[i]*2;

write(' ',a[i]:5:1)

end

end

else begin writeln('massiv B');

for i:=1 to 5 do begin

b[i]:=b[i]*2;

write(' ',b[i]:5:1)

end

end

end.

ответ

Размер массива не указан

Здесь стандартные функции LOW(C) и HIGH(C) возвращают нижнее и верхнее значение индекса входного массива соответственно.

uses crt;

const n=3;

type matr=array[1..n,1..n] of real;

const a:matr=((0.5,2.25,1.5),(0.8,1.5,-1),(3.3,4.1,0.5));

b:matr=((3.5,2.15,-1.5),(0.5,4.5,3),(0.3,-7.1,3.5));

c:matr=((-2.5,8.25,0.4),(-3.8,-2.5,1),(4.3,-1.1,-3.5));

d:matr=((3.3,4.1,0.5),(0.8,1.5,-1),(0.5,2.25,1.5));

Var a_b,c_d,p:matr; I,j,k:byte; s:real; sled:real;

procedure sum(x,y:matr; var z:matr);

Var I,j:byte;

begin

for i:=1 to n do

for j:=1 to n do z[i,j]:=x[i,j]+y[i,j]

end;

procedure print(x:matr;t:string);

Var I,j:byte;

begin

writeln;

writeln(t);

for i:=1 to n do begin

for j:=1 to n do write(' ',x[i,j]:4:1);

writeln

end

end;

begin

sum(a,b,a_b);

sum(c,d,c_d);

print(a_b,'A+B');

print(c_d,'C+D');

for i:=1 to n do

for j:=1 to n do begin s:=0;

for k:=1 to n do s:=a_b[i,k]*c_d[k,j];

p[i,j]:=s

end;

print(p,' P');

for i:=1 to n do sled:=sled+p[i,i];

writeln(' sled=',sled:4:1)

end.

Кафедра информатики

Иванов Борис Алексеевич. Файл