Задать вопрос
5 апреля, 12:42

При каком наибольшем введенном числе 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.

+5
Ответы (1)
  1. 5 апреля, 13:39
    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 ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике