Интересно рассмотреть применение оператора goto внутри операторов if или case.
Задача: При помощи цикла напечатать на экране:
Начало счета 3 5 7 9 Конец счета
Вот три варианта программы. Первый – самый простой, а второй и третий нам понадобятся в дальнейшем.
1 ВАРИАНТ |
2 ВАРИАНТ |
LABEL m; |
LABEL m1,m2; |
|
|
Вот в каком порядке выполняются операторы программы первого варианта:
Write('Начало счета ') f:=3 Write(f,' ') {печатается 3} f:=f+2 {f становится равным 5} if f<=9 goto m Write(f,' ') {печ. 5} f:=f+2 {f = 7} if f<=9 goto m Write(f,' ') {печ. 7} f:=f+2 {f = 9} if f<=9 goto m Write(f,' ') {печ. 9} f:=f+2 {f = 11} if f<=9 Write(' Конец счета')
Здесь оператор goto выполняется три раза. На четвертый раз условие f<=9 оказывается ложным и поэтому выполняется не goto, а следующий за if оператор Write(' Конец счета'), то есть программа выходит из цикла и завершает свою работу.
3 ВАРИАНТ |
LABEL m1,m2,m3; else goto m2; |
Задания 34-36:
31) Напечатать 1 2 3 4 . . . 99 100 99 . . . 3 2 1.
32) "Таблицы Брадиса"- вычислить и напечатать с 6 десятичными знаками квадраты чисел 0.000 0.001 0.002 0.003 . . . 0.999 1.000.
33) Для х=2700, 900, 300, 100 . . . и т.д. вычислять и печатать y=x/4 + 20 и z=2y+0.23 до тех пор, пока yz не станет меньше 1/х.
Совет: Теперь, когда вы владеете отладочным режимом, смело применяйте его всякий раз, когда ваша программа не хочет делать то, что нужно. Зачем ломать голову над непослушной программой? – Берегите серое вещество, жмите F7!
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.