Задать вопрос
10 октября, 10:41

При каком наибольшем введенном числе d после выполнения программы будет напечатано 89?

var n, s, d: integer;

begin

readln (d) ;

n : = 5;

s : = 83;

while s < = 1200 do begin

s : = s + d;

n : = n + 6

end;

write (n)

end.

+4
Ответы (1)
  1. 10 октября, 14:27
    0
    Программа должна вывести 89, то есть N после цикла должна стать равной 89.

    Изначально N была равна 5, каждый повтор цикла к N прибавляется 6.

    Определим количество повторов цикла (сколько раз к N должна быть прибавлена 6 для получения числа 89) :

    5+6*x = 89

    6*x = 84

    x = 14

    То есть цикл должен совершить 14 повторов.

    Каждый раз к S прибавляется D (которую нужно найти), изначально S = 83. Нам удобнее прибавлять D к нулю, а не к 83, поэтому вычтем из 1200 83 и приравняем S к нулю.

    Условие в цикле теперь будет выглядеть как S < = 1117

    Нам нужно наибольшее S, при котором цикл совершает 14 повторов. Чем больше значение D, тем меньше повторов совершит цикл. Найдем наименьшее целое D, при котором цикл совершает 13 повторов, и возьмем предыдущее целое, это и будет наибольшее D, при котором цикл совершит 14 повторов.

    Цикл завершается после того, как условие перестанет выполняться, то есть при s > 1117. Составим неравенство:

    13*d > 1117

    d > 85,92

    То есть наименьшее D, при котором цикл совершит 13 повторов - 86, значит наибольшее D, при котором цикл совершит 14 повторов - 85.

    Ответ 85
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «При каком наибольшем введенном числе d после выполнения программы будет напечатано 89? var n, s, d: integer; begin readln (d) ; n : = 5; s ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы