Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
45
Добавлен:
02.05.2014
Размер:
42.5 Кб
Скачать

Уфимский государственный авиационный технический университет

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

Лабораторная работа №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.

Соседние файлы в папке Лабораторные работы1