Главная Учебники - Разные Лекции (разные) - часть 32
|
Министерство образования
Российской Федерации Волгоградский государственный
технический университет Кафедра прикладной математики Семистровая работа по теме: ПРОЦЕДУРЫ И
ФУНКЦИИ Выполнил: студент группы Проверил: Волгоград 2003 1.
Задание 1.1. Ввести двумерный массив. Найти
сумму элементов с нечетными индексами. 1.2. Ввести двумерный массив.
Получить одномерный массив включающий все не нулевые элементы матрицы. Найти
модуль полученного вектора. s:=summa(a,Na,Ma) VIVOD (a,Na,Ma,
‘A’) VVOD (a, Na,Ma,
‘A’)
Summa:=S PROGRAM SEM1; uses
crt; const
Nmax=10;
Mmax=10; type
matr=array[1..Nmax,1..Mmax] of integer; var
A:matr; Na,i,j,Ma,S,max:integer; Procedure
Vvod(var x:matr; var Nx,Mx:integer; P:char); begin clrscr; write('Vvedite
N: '); read(Nx); writeln; write('Vvedite
M: '); read(Mx); writeln; for
i:=1 to Nx do
for j:=1 to Mx do begin
write(P,'[',i,',',j,']=');
read(x[i,j]);
end; end; Function
Summa(var x:matr; Nx,Mx:integer):integer; begin S:=0; i:=1; repeat j:=1; repeat if
(i mod 2<>0) and (j mod 2<>0) then S:=S+x[i,j]; j:=j+1; until
j>Mx; i:=i+1; until
i>Nx; Summa:=S; end; Procedure
Vivod(var x:matr; Nx,Mx:integer; P:char); begin writeln; writeln('Matrica
',P,':'); writeln; i:=1; repeat j:=1; repeat write(x[i,j],'
'); j:=j+1; until
j>Mx; writeln; i:=i+1 until
i>Nx; end; begin vvod(a,na,ma,'A'); S:=Summa(a,na,ma); vivod(a,na,ma,'A'); writeln; writeln('SUMMA=
',S); end. 4.1.
Тестовый пример и результат 1 2
3 4 5
6 7 8
9 SUMMA=20 2.2.
Блок-схема
j:=j+1 3.2.
Текст программы PROGRAM SEM2; uses
crt; const
Nmax=10;
Mmax=10;
Kmax=100; type
matr=array[1..Nmax,1..Mmax] of integer;
vector=array[1..Kmax] of integer; var
A:matr;
C:vector; Na,i,j,Ma,Nc,k,M:integer; Procedure
Vvod(var x:matr; var Nx,Mx:integer; P:char); begin clrscr; write('Vvedite
N: '); read(Nx); writeln; write('Vvedite
M: '); read(Mx); writeln; for
i:=1 to Nx do
for j:=1 to Mx do begin
write(P,'[',i,',',j,']=');
read(x[i,j]);
end; end; Procedure
Sozd(var x:matr; Nx,Mx:integer); begin Nc:=0; k:=1; i:=1; repeat j:=1; repeat if
(x[i,j]<>0) then begin
c[k]:=x[i,j];
Nc:=Nc+1;
k:=k+1;
end; j:=j+1; until
j>Mx; i:=i+1; until
i>Nx; end; Function
Modul(var x:vector; Nx:integer):integer; begin M:=0; for
k:=1 to Nx do M:=M+x[k]; M:=ABS(M); Modul:=M; end; Procedure
Vivod(var x:vector; Nx:integer; P:char); begin writeln; writeln('Vector
',P,':'); writeln; k:=1; repeat write(x[k],'
'); k:=k+1; until
k>Nx; writeln; end; begin vvod(a,na,ma,'A'); Sozd(a,na,ma); M:=Modul(c,nc); vivod(c,nc,'C'); writeln; writeln('MODUL=
',M); end. 4.2.
Тестовый пример и результат -4
2 0 0 4 –6 Vector: -4
2 4 -6 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||