ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра МО и ПЭВМ
Лабораторная работа № 8
Тема: «Программирование элементов разветвляющейся структуры»
Выполнил: студент гр. 02ТП1
Пахомов В. Е.
Проверил: Ракова А. Н.
2003
Задание А.
Найти среднее арифметическое отрицательных элементов матрицы Z (n,m).
Значения параметров n и m задаются следующим условием n[pic]12, m[pic]12.
Программа:
uses crt; var z : array[1..12,1..12] of integer; m, n, b, sum, i, j : integer; begin n:=10; m:=12; clrscr; randomize; b := 0; sum := 0; writeln('Исходный массив : '); for i := 1 to n do for j := 1 to m do begin z[i, j] := random(60) - 30; if z[i, j] < 0 then begin sum := sum + z[i, j]; inc(b); end; write(' ', z[i, j]); end; writeln; writeln('Результат : ',(sum / b):2:6); readkey; end.
Блок-схема
Задание Б.
В матрице D (n,m) найти сумму элементов каждого столбца и результат
разместить в вектор Z. Определить номер столбца, где эта сумма минимальна.
Значения параметров n и m задаются и подчиняются следующему условию
n[pic]12, m[pic]12.
Программа:
uses crt; var n, m, b, i, j, sum, min : integer; d : array[1..12,1..12] of integer; z : array[1..12] of integer; begin clrscr; randomize; b := 0; min := 0; n:=12; m:=7; writeln('Исходный массив : '); for i := 1 to n do begin for j := 1 to m do begin d[i, j] := random(60) - 30; write(' ', d[i, j]); end; writeln; end; for j := 1 to m do begin sum := 0; for i := 1 to n do begin sum := sum + d[i, j]; end; z[j] := sum; end; min := 1; for i := 1 to m do if z[min] > z[i] then min := i; writeln('Массив Z : '); for i := 1 to m do writeln (' ',z[i]); writeln('Номер столбца : ',min); readkey; end.
Блок-схема
----------------------- sum :=0 b := 0
z[i,j] := random(60)-30
n,m
z[i,j] < 0
Randomize;
sum / b
sum := sum + z[i,j] b := b + 1
j=1;n;1
1
1
sum := sum + d[i,j]
j=1;m;1
I=1;n;1
d[i,j] := random(60)-30
n,m
Randomize;
z[i] := sum;
j=1;m;1
I=1;n;1
Начало
j=1;m;1
I=1;n;1
Конец
Начало
min
sum / b
Конец
j=1;n;1
z[min] > z[i]
Min =1
Min = i