Роман написал программу на языке Pascal, фрагмент которой приведен ниже. for i:=0 to 99 do num[i+1] :=i+1; k:=0; i:=1; while k>7 do begin if easy(num[i])=true then k:=k+1; i:=i+2; end; write(num[i-2]); В программе он использовал две целочисленные переменные i и k , целочисленный массив num из ста элементов, с индексами от 1 до 100. Также Роман определил функцию easy() логического тип данных,которая возвращает истинное значение в случае, если переданный в нее целочисленный аргумент является простым числом , и ложное значение - в противном случае. Какое число будет выведено в результате выполнения этой программы?
Элементы массива - это числа 1, 2, 3, ..., 100 Простые числа - 2, 3, 5, 7, 11, 13, 17, 19, ... Расчет по программе - в прилагаемом файле. На экран выведется значение num[21-2] = num[19] = 19 Ответ: 19
У меня вопрос, почему у чисел 3, 11, 17 стоит false если они простые, а у 9, 15, 21 true если они не простые? Не понимаю немного(
В теле цикла значение переменной i вычисляется ПОСЛЕ обращения к функции easy(). Например, на первом шаге цикла сначала вычисляется easy(num[1]), а затем i=i+2=1+2=3). Это и показано в таблице (одна строка таблицы - один шаг цикла).
Ааа,я понял тоесть false показывает для предыдущего значения.