Выход из цикла с помощью if

  • docx
  • 03.05.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

0.1. Выход из цикла с помощью if
Иконка файла материала 33.docx

0.1. Выход из цикла с помощью if

Интересно рассмотреть применение оператора  goto  внутри операторов if или case.

Задача: При помощи цикла напечатать на экране:

Начало счета   3  5  7  9   Конец счета

 

Вот три варианта программы. Первый – самый простой, а второй и третий нам понадобятся в дальнейшем.

 

1 ВАРИАНТ

2 ВАРИАНТ

LABEL m;
VAR     f : Integer;
BEGIN
            Write('
Начало счета   ');
            f:=3;
   m:     Write(f,'  ');
            f:=f+2;
            if f<=9 then      goto m;

            Write('
Конец счета')
END.

LABEL m1,m2;
VAR     f : Integer;
BEGIN
            Write('
Начало счета   ');
            f:=3;
  m1:     Write(f,'  ');
            f:=f+2;
            if f>9    then     goto m2
                        else      goto m1;
  m2:     Write('
Конец счета')
END.

 

 

 

Вот в каком порядке выполняются операторы программы первого варианта:

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;
VAR     f : Integer;
BEGIN
            Write('
Начало счета   ');
            f:=3;
  m1:     if f<=9 then     goto m3

                        else      goto m2;
  m3:     Write(f,'  ');
            f:=f+2;
            goto m1;
  m2:     Write('
Конец счета')
END.

Задания 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