|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Процедуры и функцииПроцедуры и функцииМинистерство образования Российской Федерации Волгоградский государственный технический университет Кафедра прикладной математики Семистровая работа по теме: ПРОЦЕДУРЫ И ФУНКЦИИ Выполнил: студент группы Проверил: Волгоград 2003 1. Задание 1.1. Ввести двумерный массив. Найти сумму элементов с нечетными индексами. 1.2. Ввести двумерный массив. Получить одномерный массив включающий все не нулевые элементы матрицы. Найти модуль полученного вектора. 2.1. Блок-схема 3.1. Текст программы 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 ----------------------- КОНЕЦ VVOD (a, Na,Ma, ‘A’) s:=summa(a,Na,Ma) VIVOD (a,Na,Ma, ‘A’) i не кр. 2 и j не кр.2 Вывод S j:=1 i:=1 to Nx VVOD (var x:matr; var Nx,Mx:integer; P:char) x [ i , j ] Nх,Mx НАЧАЛО j:=1 to Mx END END Modul:=M M:=ABS(M) M:=M+x[k] k:=k + 1 k:=1 Nc:=0 M:=Modul(c,Nc) END j:=j+1 i:=i+1 i>Nx j>Mx x [ i , j ] j:=1 i:=1 VIVOD (var x:matr; Nx,Mx:integer; P:char) Summa (var x:matr; Nx,Mx:integer):integer Summa:=S i:=1 S:=0 S:= S + x [i, j] i:=i+1 i>Nx j>Mx j:=j+1 END END x [ i , j ] j:=1 to Mx i:=1 to Nx КОНЕЦ НАЧАЛО Nх,Mx VVOD (var x:matr; var Nx,Mx:i?????????????????????????????ъ?ъ?ъ?ъ?ъ?ъ?ъ?ъ?ъnteger; P:char) END k:=k+1 M:=0 VIVOD (c, Nc,‘C’) VVOD (a,Na,Ma‘A’) Modul (var x:vector; var Nx:integer; P:char):integer k>Nx x [ i , j ] k:=1 to Nx k:=1 SOZD (a,Na,Ma) VIVOD (var x:vector; Nx:integer; P:char) i:=i+1 i>Nx j>Mx j:=j+1 Nc:=Nc + 1 END x[i, j]<>0 j:=1 i:=1 c[k]:=x[i, j] SOZD (var x:matr; Nx,Mx:integer) |
РЕКЛАМА
|
|||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |