Процедуры и функции
















































Министерство образования Российской Федерации

Волгоградский государственный технический университет


Кафедра прикладной математики












Семистровая работа по теме:

ПРОЦЕДУРЫ И ФУНКЦИИ














Выполнил:

студент группы


Проверил:






Волгоград 2003

1. Задание


1.1.

Ввести двумерный массив. Найти сумму элементов с нечетными индексами.


1.2.

Ввести двумерный массив. Получить одномерный массив включающий все не нулевые элементы матрицы. Найти модуль полученного вектора.

s:=summa(a,Na,Ma)


КОНЕЦ


Вывод S


,Mx


VIVOD (a,Na,Ma, ‘A’)


VVOD (a, Na,Ma, ‘A’)


END


x [ i , j ]


j:=1 to Mx


i:=1 to Nx


НАЧАЛО


VVOD (var x:matr; var Nx,Mx:integer; P:char)


2.1. Блок-схема







S:=0



i:=1



Summa (var x:matr; Nx,Mx:integer):integer



j:=1






i не кр. 2 и j не кр.2






S:= S + x [i, j]







j:=j+1




j>Mx








i:=i+1




i>Nx









Summa:=S





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)

END

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. Блок-схема


НАЧАЛО







VVOD (a,Na,Ma‘A’)


SOZD (a,Na,Ma)






M:=Modul(c,Nc)




VIVOD (c, Nc,‘C’)



КОНЕЦ



VVOD (var x:matr; var Nx,Mx:integer; P:char)









,Mx

END

i:=1 to Nx





x [ i , j ]

j:=1 to Mx
















SOZD (var x:matr; Nx,Mx:integer)





Nc:=0




k:=1




i:=1





j:=1




x[i, j]<>0






c[k]:=x[i, j]





Nc:=Nc + 1




k:=k + 1






j:=j+1





j>Mx







i:=i+1






i>Nx









END











Modul (var x:vector; var Nx:integer; P:char):integer




M:=0





k:=1 to Nx



M:=ABS(M)



Modul:=M

M:=M+x[k]




END











x [ i , j ]




k:=1




k>Nx




k:=k+1





END





VIVOD (var x:vector; Nx:integer; P:char)









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

  1. 4 –6


Vector:

-4 2 4 -6


Modul=4

Нравится материал? Поддержи автора!

Ещё документы из категории информатика:

X Код для использования на сайте:
Ширина блока px

Скопируйте этот код и вставьте себе на сайт

X

Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.

После чего кнопка «СКАЧАТЬ» станет доступной!

Кнопочки находятся чуть ниже. Спасибо!

Кнопки:

Скачать документ