Программирование на Pascal / Delphi / Лабораторные работы1 / Лаба№5
.docУфимский государственный авиационный технический университет
Кафедра Информатики
Лабораторная работа №5
Turbo Pascal 7.0
“Процедуры и Функции”
Студент ИНЕК
Группа К-122
Карина
Проверила:
Филосова Е.И.
Уфа
2006г.
Вариант 3
3. Сформировать матрицы {aij}n,m , {bij}k,l , где i<=(n,k), j<=(m,l), по задан-ным правилам: (i+j)/2, (i*j)/27. Фактическое число строк (n,k) и столб-цов (m,l) каждой матрицы, а также признак выбора заданного правила вводить с клавиатуры. Создать процедуру, определяющую одномерный массив (вектор), состоящий из сумм каждой строки матрицы с четными номерами. Вывести на экран результирующий массив.
Решение:
Program Xenon;
uses crt;
type TArray=Array[1..10,1..10] of real;
marray=array[1..5] of real;
var A,B,C,D:Tarray;
n,m,k,l:Byte;
h:Char;
Procedure InMatr;
x:TArray; row,col:Byte;
var d,i,j:Byte;s,y:String;
begin
for i:=1 to row do
x[I,j]:=sin(i+j)/2
y:=’ ‘;
d:Were Y;
Goto XY(1,d);
for j:=1 to col do
y[i,j]:=(i*j)/sqrt27
begin
readln(x[I,j]);
str(x[I,j]:6:1,s);
y:=y+s;
GotoXY(Length(y),d);
end;
writeln;
end;
Procedure Mas;
var i,j:integer;
begin
for j:=1 to col do
begin
for i:=1 to row do
if I mod 2=0 then
S:=S+x[i];
writeln(s);
end;
Procedure Print(x:marray; row,col:Byte);
var I,j:Byte;
begin
for i:=1 to row do
begin
for j:=1 to col do
begin
write(x[I,j]:7:2,’ ‘);
end;
writeln;
end;
begin
write(‘vvedite chislo strok I stolbcov mat A’);
readln(m,n);
writeln(‘vibirite pravilo 1-> pravilo; 2-> pravilo’);
if h=’1’ then x[I,j] else y[I,j];
InMatr(A,n,m,c);
writeln(‘vivod masiva’);
Print(n,m,C);
readKey;
DoneWinCrt;
end.