Вложенный цикл повтора FOR.
for i:=1 to 6 do for j:=1 to 6 do - Для i, изменяющегося от1 до 6 делать
begin начало тела цикла
A[i,j]:=random(100)-50 функцией RANDOM формируется положительное число в диапазоне от -50 до 50.
write(a[i,j]); Процедурой вывода распечатывается полученный массив в виде таблицы.
end конец тела цикла
Во вложенном цикле FOR - выполняется обработка элементов массива.
В теле цикла оператор условия IF.. THEN. Проверяется условие, если значение a[ i,j ] больше max, то сохраняется значение max и выводится на экран после перебора всей строки.
if max<a[i,j] then max:=a[i,j]; writeln('B ',i,'-CTPOKE MAX=',max);
После завершения цикла FOR конец программы.
Текст программы.
program v_17zad1;
type mas=array[1..6,1..6]of integer;
var
a:mas; i,j:byte;
procedure maxstr(m:mas);
var i,j:byte; max:integer;
Begin
for i:=1 to 6 do
begin
max:=a[i,1];
for j:=1 to 6 do if max<a[i,j] then max:=a[i,j]; writeln('B ',i,'-CTPOKE MAX=',max);
end;
End;
BEGIN
randomize;
writeln('UCXODHUY MACCUB');
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
a[i,j]:=random(100)-50;
write(a[i,j]:5);
end;
writeln;
end;
maxstr(a);
END.
Результат работы программы
UCXODHUY MACCUB
37 -31 36 -50 1 15
27 -24 -49 8 -21 7
-44 17 -2 -31 -28 43
32 49 -23 -46 21 32
-22 -8 30 22 -15 1
1 -16 39 -38 -2 19
B 1-CTPOKE MAX=37
B 2-CTPOKE MAX=27
B 3-CTPOKE MAX=43
B 4-CTPOKE MAX=49
B 5-CTPOKE MAX=30
B 6-CTPOKE MAX=39
Тест № 2
UCXODHUY MACCUB
11 49 16 -31 -45 -2
37 20 38 10 -17 -6
0 6 36 -38 41 0
32 23 -46 -47 -12 -21
8 27 6 -36 -48 -8
46 27 -31 -29 6 -47
B 1-CTPOKE MAX=49
B 2-CTPOKE MAX=38
B 3-CTPOKE MAX=41
B 4-CTPOKE MAX=32
B 5-CTPOKE MAX=27
B 6-CTPOKE MAX=46
Дан двумерный массив размерностью M x N. Значения чисел M (количество строк) и N (количество столбцов) вводятся с клавиатуры. Найти произведение положительных чисел
Описание идентификаторов, используемых в программе, приведено в таблице 1.
ТАБЛИЦА СООТВЕТСТВИЯ ОБОЗНАЧЕНИЯ ЗАДАНИЯ 1
Идентификатор | Назначение |
А | исходный двумерный массив, из элементов целочисленного типа |
N, M | количество элементов в строке и столбце массива |
I, J | текущий индекс элемента в массиве |
P | произведение положительных элементов массива |
F | количество положительных элементов |
ПОСТРОЕНИЕ АЛГОРИТМА.
БЛОК-СХЕМА АЛГОРИТМА ПРОГРАММЫ.
Схема алгоритма главной программы приведена на рисунке 1. Схема начинается с блока НАЧАЛО. Затем осуществляется ввод количества строк в массиве, затем вводится количество столбцов в массиве А
Создание значения элементов массива производится автоматически с помощью счетчика случайных чисел. Числа должны быть положительные и отрицательные по условию задания, поэтому в формулу вводится математическое выражение a[i,j]:=random(20)-10(Что означает, что числа будут в диапазоне от –10 до 10).
Во вложенном цикле FOR по строкам и столбцам формируется и выводится в виде таблицы двумерный массив А.
Перед обработкой массива определяются начальные значение параметров цикла. Произведение Р=1, количество положительных элементов в массиве F =0.
Далее следует определения положительных элементов в массиве. Для этого запускается поэлементная обработка во вложенном цикле FOR. При условии A[I,J]>0 выполняется увеличение счетчика F и умножение положительного числа Р.
После окончания циклов проводим анализ полученного результата. Если значение Р=1 и F=0, тогда следует выдать сообщение: «'В массиве нет положительных чисел'», иначе выдается на экран результат обработки в виде произведения положительных чисел в массиве.
Оканчивается схема блоком КОНЕЦ.
Описание программы
Описание тела программы
Программа состоит из трех частей: заголовка, раздела описаний, раздела операторов.
Раздел описания переменных содержит совокупность данных, с которыми производятся действия.
program dom1; var a:array[1..100,1..100] of integer; i,j,n,m,f:integer; p:double; | Заголовок программы с именем dom1 Раздел описания переменных Двумерный массив, целочисленного типа целочисленные переменные переменная вещественного типа |