Программирование элементов разветвляющейся структуры

ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ


                              Кафедра МО и ПЭВМ



                           Лабораторная работа № 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