Оператор цикла while

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

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

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

0.1. Оператор цикла while
Иконка файла материала 35.docx

0.1. Оператор цикла while

Синтаксис оператора while:

WHILE условие DO оператор

Слово while читается "вайл", слово do - "ду", вся конструкция  переводится так - Пока условие истинно, делай оператор. Например,  while a>b do b:=b+1.

Работает оператор while так:

Сначала компьютер проверяет истинность условия, стоящего после слова while. Если условие истинно, то выполняется оператор, стоящий после do. Затем снова проверяется истинность условия и в случае истинности снова выполняется этот оператор. И т.д. Если условие ложно, то оператор while прекращает свою работу и компьютер переходит к выполнению следующего оператора.

Оператор, стоящий после while, вполне может быть составным, поэтому тело цикла у оператора while, так же как и у оператора repeat, может состоять из многих операторов.   

Решим при помощи while ту же задачу о печати чисел 3 5 7 9, что в предыдущем параграфе решили с помощью repeat. Для того, чтобы точно определить работу оператора while, приведем программу ее решения параллельно с третьим вариантом программы из 6.2:

3 ВАРИАНТ

ВАРИАНТ  С  WHILE

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.


VAR f : Integer;
BEGIN
            Write('
Начало счета   ');
            f:=3;
            while f<=9 do
                        begin 
                                    Write(f,'  ');
                                    f:=f+2;
                        end;
            Write('
Конец счета')
END.

Как видите, здесь после do стоит составной оператор begin Write(f,'  '); f:=f+2; end. Последовательность исполнения операторов и проверки условий в обеих программах совершенно аналогичны.

 

Типичная ошибка начинающих – небрежное обращение со знаками сравнения. Многие не видят большой разницы в том, как записать –   while f<=9  или  while f<9 , а затем, «недополучив» результат, удивляются, почему. И здесь лучшим средством для понимания является отладочный режим. Попробуйте ошибочный вариант последней программы (с while f<9) выполнить в пошаговом режиме с использованием окон пользователя и отладчика. Для этого введите в окно отладчика две вещи: переменную f и выражение f<9 (оно может иметь только два значения: true - истина и false - ложь, другими словами – «условие выполнено» и «условие не выполнено»).

 

Задание 41: Вычислять с использованием while квадратные корни из чисел 900, 893, 886, 879 и т.д. до тех пор, пока это можно делать. 


 

Скачано с www.znanio.ru