Нужна помощь в добавлении примечаний к 2 маленьким кодам. Есть два правильных кода. К...

0 голосов
69 просмотров

Нужна помощь в добавлении примечаний к 2 маленьким кодам. Есть два правильных кода. К основному телу программы мне нужно сделать примечания, что это за строчка, что в ней происходит. Потому что не совсем понимаю в программировании и стараюсь понять "на пальцах", что происходит и как. Для примера в первом коде добавила банальные примечания, просто для примера и чтобы объяснить, что мне нужно. var a, i, b: integer; // описываем переменные begin // начало программы read(a); // считываем число b := 0; for i := 1 to a do if a mod i = 0 then b := b + 1; writeln(b); end. // конец программы var A: array[1..15, 1..15] of integer; i, j, m, n, max: integer; begin writeln('Вводим двумерный массив:'); writeln; randomize; n := 1 + random(15); m := 1 + random(15); for i := 1 to n do begin max := 0; for j := 1 to m do begin a[i, j] := random(200); write(a[i, j]:4); if max < a[i, j] then max := a[i, j] end; writeln('max = ':10, max) end end.


Информатика (272 баллов) | 69 просмотров
Дан 1 ответ
0 голосов

var //блок определения переменных

A: array[1..15, 1..15] of integer;//двумерный массив статической длины. 15 столбцов, 15 строк. Коротко - 15x15

i, j, m, n, max: integer;// 5 переменных целочисленного типа


begin//операторная скобка(начало программы)

writeln('Вводим двумерный массив:');//функция вывода на экран текста, который ей передали

writeln;//перевод каретки на новую строку

randomize;//рандомизация. Определяет, что при новом запуске программы значения функции random будут сгенерированы заного

n := 1 + random(15);//переменной н присваиваем значение от 1 до 15(random(15) генерирует от 0 до 14)

m := 1 + random(15);//аналогично н, только присваиваем теперь м

for i := 1 to n do//цикл с счетчиком. Стартовое значение: 1. Конечное: n

begin//операторная скобка(начало)

max := 0;//присваиваем переменной max значение 0

for j := 1 to m do//цикл с счетчиком. Стартовое значение: 1. Конечное: m

begin//операторная скобка

a[i, j] := random(200);//элементу массива a с индексами i, j(где i - строка, j - столбец) присваиваем значение от 0 до 199

write(a[i, j]:4);//выводим элемент массива a с индексами i, j(где i - строка, j - столбец) и устанавливаем ширину вывода в 4 знака. т.е вывод числа будет установлен в 4 символа

if max < a[i, j] then max := a[i, j]// если значение переменной max меньше значения элемента a[i,j], то присваиваем max значение a[i,j]

end;//операторная скобка(конец)

writeln('max = ':10, max)//выводим текст с шириной 10 символов и выводим значение переменной max

end//операторная скобка(конец)

end.//операторная скобка(конец)

(4.0k баллов)
0

По поводу цикла:Сначала тело цикла(операции внутри begin..end) будет выполняться со значение i = 1. Как только тело выполнится, i увеличивается. Если цикл расположен внутри цикла, тогда:Сначала выполняется тело цикла для i = 1, j = 1, потом для j = 2, i = 1 и так до того момента, когда j не достигнет максимального значение. Достигло - увеличивает i и начинаем заного

0

По поводу форматирования.Установка в 4 символа определяет, что если число однозначное, то оно выведется с 3 пробелами от начала( 1), если двузначное - с 2. Следующее за ним будет выводится по такому же принципу(в цикле)

0

Можете еще помочь с первой программой? Я почти все заполнила, но осталась строчка...var a, i, b: integer; //описываем переменнуюbegin // начало программыreadln(a); // считываем переменнуюb := 0;//количество делителей числаfor i := 1 to a doif a mod i = 0 then b := b + 1;//если делится нацело на i то +1 делительwriteln(b); // выводим количество делителейend. //конец программы

0

Огромное вам спасибо! Невероятно помогли!

0

for i := 1 to a do//цикл с счетчиком. Начинается с 1 и заканчивается на aСначала i = 1, выполняется if a mod i = 0 then b := b + 1; при i = 1,потом i = 2, выполняется if a mod i = 0 then b := b + 1; при i = 2 и так до a(включительно)

0

Понятно?)

0

Даааа, огромное вам спасибо!