|
|||
8 (базовый уровень, время – 3 мин)Стр 1 из 10Следующая ⇒ 8 (базовый уровень, время – 3 мин) Тема: Анализ программы. Что нужно знать: · основные конструкции языка программирования: o объявление переменных o оператор присваивания o оператор вывода o циклы · уметь выполнять ручную прокрутку программы · уметь выделять переменную цикла, от изменения которой зависит количество шагов цикла · уметь определять количество шагов цикла · уметь определять переменную, которая выводится на экран · формулу для вычисления -ого элемента арифметической прогрессии: · формулу для вычисления суммы первых членов арифметической прогрессии: где – -ый элемент последовательности, – шаг (разность) последовательности Пример задания: Р-02. При каком наибольшем введенном числе d после выполнения программы будет напечатано 55? var n, s, d: integer; begin readln(d); n: = 0; s: = 0; while s < = 365 do begin s: = s + d; n: = n + 5 end; write(n) end. Решение: 1) из программы видно, что начальные значения переменных s и n равны нулю 2) шаг изменения переменной n равен 5, а шаг изменения переменной s равен неизвестному значению d 3) для того, чтобы значение n стало равно 55, нужно увеличить его на 5 (с нуля) ровно 11 раз, поэтому цикл выполнится ровно 11 раз 4) следовательно, s увеличится на d тоже 11 раз и станет равно 0 + 11·d = 11·d 5) чтобы цикл остановился на 11-м шаге, нужно выполнить условие 11·d > 365, при этом он не должен остановиться на 10-м шаге, то есть, 10·d £ 365, поэтому получаем два неравенства: 6) в итоге значение d – целое число – ограничено отрезком [34; 36], наибольшее из подходящих чисел равно 36 7) Ответ: 36. Ещё пример задания: Р-02. Запишите число, которое будет напечатано в результате выполнения программы.
|
|||
|