Комментарии к программе - Pascal ABC
Формулировка задачи:
Листинг программы
- Program tub;
- const t=20;
- var a:array[1..t,1..t]of integer;
- m,n,i,j,k,mx,imx:integer;
- begin
- randomize;
- repeat
- write('Количество строк от 2 до ',t,' m=');
- readln(m);
- until m in [2..t];
- repeat
- write('Количество столбцов от 2 до ',t,' n=');
- readln(n);
- until n in [2..t];
- for i:=1 to m do
- begin
- for j:=1 to n do
- begin
- a[i,j]:=random(50);
- write(a[i,j]:4);
- end;
- writeln;
- end;
- mx:=0;
- for i:=1 to m do
- begin
- k:=0;
- for j:=1 to n do
- if odd(a[i,j]) then inc(k);
- if k>mx then
- begin
- mx:=k;
- imx:=i;
- end;
- end;
- write('Максимальное количество нечетных=',mx,' в стороке ',imx)
- end.
Решение задачи: «Комментарии к программе»
textual
Листинг программы
- Program tub; // Заголовок программы
- const t=20; //Объявляем константу t=20
- var a:array[1..t,1..t] of integer; //Объявляем двумерный массив а[1..20,1..20] из целых чисел
- m,n,i,j,k,mx,imx : integer; // Объявляем переменные
- begin
- randomize; //Инициализируем генератор случайных чисел
- repeat //Оператор цикла для проверки условия ввода данных
- write('Количество строк от 2 до ',t,' m=');
- readln(m); //Вводим m
- until m in [2..t]; //если m входит в диапазон [2..t=20], то программа
- // переходит к следующей строке программы, иначе обратно
- // возвращается в начало цикла
- repeat // Аналогичная ситуация, что и предыдущем цикле
- write('Количество столбцов от 2 до ',t,' n=');
- readln(n);
- until n in [2..t];
- //заполняем массив а[m,n]
- for i:=1 to m do // строки
- begin
- for j:=1 to n do // столбцы
- begin
- a[i,j]:=random(50); //случайными целыми числами из интервал 0..(50-1)
- write(a[i,j]:4); // и тут же выводим на печать
- end;
- writeln; //напечатав строку массива, переходим на новую строку экрана для печати
- end;
- //Находим в какой строке находится максимальное количество нечетных элементов
- mx:=0;
- for i:=1 to m do
- begin
- k:=0;
- for j:=1 to n do
- if odd(a[i,j]) then inc(k); //если элемент в строке нечетный,
- //то k увеличиваем на 1
- if k>mx then //Если количество нечетных элементов в последней считанной
- begin //строке больше, чем в предыдущей, то
- mx:=k; // присваиваем последнее значение k переменной mx
- imx:=i; //а также номер строки
- end;
- end;
- write('Максимальное количество нечетных=',mx,' в стороке ',imx)
- end.
Объяснение кода листинга программы
- Объявляем программу tub и заголовок программы.
- Объявляем константу t=20.
- Объявляем двумерный массив а[1..20,1..20] из целых чисел.
- Объявляем переменные m,n,i,j,k,mx,imx.
- Используем оператор цикла repeat для проверки условия ввода данных.
- Вводим m и проверяем, входит ли m в диапазон [2..t].
- Повторяем шаг 6, пока m удовлетворяет условию.
- Используем оператор цикла repeat для повторения предыдущего шага.
- Вводим n и проверяем, входит ли n в диапазон [2..t].
- Повторяем шаг 9, пока n удовлетворяет условию.
- Заполняем массив а[m,n] случайными целыми числами из интервал 0..(50-1).
- Находим в какой строке находится максимальное количество нечетных элементов.
- Если количество нечетных элементов в последней считанной строке больше, чем в предыдущей, то присваиваем последнее значение k переменной mx.
- Выводим на печать максимальное количество нечетных элементов и номер строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д