#10.2 break Досрочный выход из цикла в Паскаль
Primary tabs
Для выхода из цикла используется оператор:
break;
Как только исполнение программы доходит до строки, содержащей этот оператор, выполнение кода прекращается.
Пример №1
Рассмотрим код:
var i:integer; begin for i:=1 to 10 do begin break; writeln(777); end; readln(); end.
- в данном случае тело цикла for выполнится только 1 раз, но не полностью (число 777
не будет выведено), так как оператор break встречается в начале первого же витка цикла -- перед вызовом writeln('777')
(запустите код, чтобы проверить).
Отметим, что та часть очередного витка цикла, что находится перед вызовом break выполняется как обычно, т.е. если написать:
var i:integer; begin for i:=1 to 10 do begin writeln(777); break; end; readln(); end.
-- то сначала на экран будет выведено число 777
, а после цикл завершится.
Пример №2 -- Угадываем число
Задача
Написать программу, где пользователь угадывает число (можно задать литералом) из диапазона от 1 до 10 за 3 попытки
Возможное решение:
var a, b, i:integer; begin a := 5; writeln('Угадайте число от 1 до 10 с трех попыток'); for i:=1 to 3 do begin writeln('Попытка №', i, ' выше число:' ); readln(b); if (b = a) then begin writeln('Победа!'); break end else writeln('Не угадали!'); end; writeln('Игра окончена!'); readln(); end.
-- для лучшего понимания см. видео-разбор данного решения
Видео-пояснения
Для этого урока есть следующие видео:
- Урок для детей: Примеры использования и работы break в Паскале
Самостоятельная работа
-
Модицифируйте код:
var i:integer; begin for i:=1 to 10 do begin writeln(777); break; end; readln(); end.
-- таким образом, чтобы на 4-ом витке на экран было выведено число
777
, а на 5-ом произошел выход из цикла (при этом строчкуfor i:=1 to 10
оставьте без изменений). - В примере №2 есть код, который описывает программу угадывания числа с трех попыток. Перепишите этот код так, чтобы:
- Можно было бы задать угадываемое число (пусть его вводит пользователь)
- Если пользователь все же угадал число - напишите в сообщении о победе с какой именно попытки ему это удалось.
-
В примере №2 есть код, перепишите его таким образом, чтобы сообщение "Игра окончена" выводилась, только если пользователь не угадал загаданное число.
Подсказка: используйте значение логического типа.
(страница посвящается участнику @JimATI, рекомендовавшему сделать её более подробной и добавить в список уроков, до раздела с циклом while)
- Log in to post comments
- 8473 reads
vedro-compota
Sat, 05/02/2020 - 22:28
Permalink
теперь это урок
теперь эта страница сделана отдельным, пока небольшим, но уроком в списке других)
_____________
матфак вгу и остальная классика =)