Задать вопрос
20 января, 18:35

Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 3 раза? i:=5; while i< = ... do begin writeln ('Привет!') ; i:=i-1 end;

+2
Ответы (1)
  1. 20 января, 19:35
    0
    А код верный? Судя по тому, что в условии цикла стоит знак <=, цикл будет работать до тех пор, пока i меньше или равно некоторого числа. То есть цикл должен остановиться, когда i станет больше выбранного числа (которое нужно поставить вместо многоточия). Но в цикле стоит операция уменьшения параметра i. То есть i будет только уменьшаться! Цикл будет бесконечным!

    Пример 1:

    i:=5;

    while i<=4 do begin writeln ('Привет') ; i:=i-1; end;

    Цикл не сработает ни разу, т. к. условие с самого начала неверное!

    Пример 2:

    i:=5;

    while i<=5 do begin writeln ('Привет') ; i:=i-1; end;

    Условие верное, программа "заходит в цикл", выполняет вывод текста, а затем уменьшает значение i на 1, т. е. i=4. Далее идет автоматическая проверка условия цикла, и оно снова верное: 4<=5!

    Идет снова выполнение всех операторов цикла, и опять уменьшение i на 1, то есть i=3. И снова условие цикла верное: 3<=5!

    И так далее. Теперь каждое следующее значение параметра i меньше предыдущего, а значит, и условие цикла всегда верное! Цикл никогда не остановится!

    Пример 3:

    i:=5;

    while i<=6 do begin writeln ('Привет') ; i:=i-1; end;

    И даже если вместо многоточия поставить число более 5, получим аналогичный результат: условие верное, программа "заходит в цикл", выполняет вывод текста, а затем уменьшает значение i на 1, т. е. i=5. Далее идет автоматическая проверка условия цикла, и оно снова верное: 5<=5!

    Идет снова выполнение всех операторов цикла, и опять уменьшение i на 1, то есть i=4. И снова условие цикла верное: 4<=5!

    И так далее. Теперь каждое следующее значение параметра i меньше предыдущего, а значит, и условие цикла всегда верное! Цикл никогда не остановится!

    Возможно, ошибка в условии цикла? Если записать while i>=3 do ..., то цикл сработает 3 раза: при i, равном 5, 4, 3. Либо неверно указано действие в цикле: i:=i-1. Если записать i:=i+1, а вместо многоточия поставить i<=7, то цикл также сработает ровно 3 раза, т. к. i будет менять свое значение 5, 6, 7.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 3 раза? i:=5; while i< = ... do begin writeln ('Привет!') ; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы