Главная/Раздел 2

 

 

Главная

 

 Раздел 1

 

Раздел 2

 

Раздел 3

 

Раздел 4

 

Раздел 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Циклические конструкции.
Оператор цикла с предусловием

Вычислительный процесс называется циклическим, если он содержит многократное повторение одних и тех же действий. Многократно повторяемые участки вычислений называются ЦИКЛАМИ. Для програмной реализации таких вычислений в TP имеется несколько типов операторов цикла.

Оператор цикла с предусловием:

Оператор цикла с предусловием организует выполнение одного (возможно составного) оператора неизвестное число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется вначале, тело цикла может не выполнится ни разу.

Структура оператора.

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

В этой структуре:
<условие> - логическое выражение, истинность которого проверяется вначале выполнения циклического оператора;
<оператор> - любой выполняемый оператор языка (в том числе и составной, т. е. последовательность операторов, заключённая в операторные скобки BEGIN - END).

Порядок выполнения оператора. Пока условие истинно выполняется оператор, следующий за служебным словом DO. Как только условие становится ложно - выполнение оператора цикла прекращается.

    Примеры применения:
    

     { Вычислить сумму S = 1 + 1/2 + 1/3 + ... + 1/50,
     используя оператор цикла WHILE }

     PROGRAM ex_1;

     Var
       s: real;
       n: integer;

     BEGIN
         s:=0; n:=1;
         While n <= 50 do  { пока значение n не превзойдёт 50 }
           begin           { тело цикла }
             s:=s + 1/n;
             n:=n + 1
           end;
         Writeln('Сумма равна: ',s)
     END.

     { Разложение целого числа на простые множители. }

     PROGRAM Ex_2;

     VAR
       x,m: integer;

     BEGIN
      Write('Введите целое число');
      Readln(x);
      Writeln('Разложение числа ',x,' на простые множители.');
       m := 2;
      WHILE m <= x DO
       IF ( x mod m ) = 0 THEN
                          Begin
                           Write('*',m);
                           x := x div m;
                          End
                 ELSE m := m + 1;
     END.

Контрольные вопросы.

  1. Какой вычислительный процесс называют циклическим?
  2. Сколько раз выполняется оператор цикла с предусловием?
  3. Как осуществляется выход из оператора цикла с предусловием?
  4. Объясните структуру оператора цикла с предусловием.
  5. Объясните порядок выполнения оператора цикла с предусловием.
  6. Объясните блок-схему оператора цикла с предусловием.
  7. Приведите примеры применения оператора цикла с предусловием.
Задания для самостоятельного выполнения.
  1. Нарисовать горизонтальную "линию", состоящую из 15 разноцветных пересекающихся окружностей.
  2. Нарисовать "диагональ" экрана, состоящую из 50 разноцветных эллипсов.
  3. Нарисовать вертикальную последовательность из увеличивающихся разноцветных секторов одного радиуса. Последний сектор - окружность.
  4. Нарисуйте "пилу" из 40 линий разного цвета.
  5. Нарисовать "веер", состоящий из 50 разноцветных линий.
  6. Нарисовать "окружность", состоящую из 36 разноцветных квадратов.
  7. Нарисовать "квадрат", состоящий из 20 разноцветных окружностей.
  8. Нарисуйте фрагмент синусоиды, состоящий из 100 разноцветных окружностей одного радиуса.
  9. Вычислить значения n! для n введённого с клавиатуры.
  10. Дано натуральное число N. Вычислить сумму цифр этого числа.

назад                     ДАЛЕЕ

 

 

 

 

 

 

 

 :::

 

 :::

 

 

 

 

 

 

 

Сайт создан в системе uCoz