Роман написал программу ** языке Pascal, фрагмент которой приведен ниже. for i:=0 to 99...

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

Роман написал программу на языке 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() логического тип данных,которая возвращает истинное значение в случае, если переданный в нее целочисленный аргумент является простым числом , и ложное значение - в противном случае. Какое число будет выведено в результате выполнения этой программы?


Информатика | 34 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Элементы массива - это числа 1, 2, 3, ..., 100
Простые числа - 2, 3, 5, 7, 11, 13, 17, 19, ...
Расчет по программе - в прилагаемом файле.

На экран выведется значение num[21-2] = num[19] = 19
Ответ: 19


image
(194k баллов)
0

У меня вопрос, почему у чисел 3, 11, 17 стоит false если они простые, а у 9, 15, 21 true если они не простые? Не понимаю немного(

0

В теле цикла значение переменной i вычисляется ПОСЛЕ обращения к функции easy(). Например, на первом шаге цикла сначала вычисляется easy(num[1]), а затем i=i+2=1+2=3). Это и показано в таблице (одна строка таблицы - один шаг цикла).

0

Ааа,я понял тоесть false показывает для предыдущего значения.