Реферат: Процедуры и функции
Название: Процедуры и функции Раздел: Рефераты по информатике, программированию Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Министерство образования Российской Федерации Волгоградский государственный технический университет Кафедра прикладной математики Семистровая работа по теме: ПРОЦЕДУРЫ И ФУНКЦИИ Выполнил: студент группы Проверил: Волгоград 2003 1. Задание 1.1. Ввести двумерный массив. Найти сумму элементов с нечетными индексами. 1.2. Ввести двумерный массив. Получить одномерный массив включающий все не нулевые элементы матрицы. Найти модуль полученного вектора.
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. Тестовый пример и результат N=3 M=3 1 2 3 4 5 6 7 8 9 SUMMA=20 2.2. Блок-схема
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. Тестовый пример и результат N=2 M=3 -4 2 0 0 4 –6 Vector: -4 2 4 -6 Modul=4 |