Вторник, 03.12.2024, 21:37
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Тема.Операторы повторения

      Цикл - главное средство заставить компьютер много раз сделать одно и то же действие.

            Счетный оператор цикла  FOR  (для - цикл по параметру).

     Вид команды в виде блок-схемы следующий:

Общий вид конструкции следующий:

Первый вариант.

FOR <пар_цикла> := <нач_знач> TO <кон_знач> DO <оператор>;.

                        PS!!! ( <нач_знач> меньше <кон_знач>)

Выполнение оператора FOR в первом варианте происходит по следующей схеме:

1. Вычисляются значения <нач_знач> и <кон_знач>. Это делается только один раз при входе в цикл.

2. Параметру цикла (<пар_цикл>) присваивается значение <нач_знач>.

            3. Значение параметра цикла сравнивается со значение <кон_знач>. Если параметр цикла меньше или равен этому значению, то выполняется тело цикла, в противном случае выполнение цикла заканчивается.

4. Значение параметра изменяется на следующее значение в его типе (для целых - увеличивается на единицу); происходит возврат к пункту 3.


Второй вариант.

FOR <пар_цикла> := <нач_знач> DOWNTO <кон_знач> DO <оператор>;.

                   PS!!! ( <нач_знач> больше <кон_знач>)

Слово DOWNTO буквально можно перевести как "вниз до". В таком случае параметр цикла изменяется по убыванию.

      Пример 7. Составить программу вычисления факториала целого положительного числа.
 

program pr7_factorial_for;
         var i: word; n: integer; factorial: longint;
         begin
             writeln('введите число N');  
             readln(n);
             factorial:=1;
             for i:=1 to n do 
             
begin 
             writeln('i= ',i,'    ',factorial,' * ',i,' = ',factorial*i);
             factorial:=factorial*i;
           
 end;
            writeln('факториал числа N=',factorial );
          end.

Оператор цикла WHILE (с предпроверкой условия)

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

              Общий вид команды в блок-схеме следующий:

На языке Паскаль структура имеет следующий вид:

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

  <условие> - произвольное выражение логического типа,

 <оператор> - произвольный оператор языка Паскаль.

Пример 8. Задачу примера 7 решить с помощью оператора While...Do.

program pr8_factorial_while;
         var i: word; n: integer; factorial: longint;
         begin
             writeln('введите число N');  
             readln(n);
             factorial:=1; i:=0;
             
while i<n  do 
                     
 begin 
                        i := i + 1;
                       writeln('i= ',i,'    ',factorial,' * ',i,' = ',factorial*i);
                       factorial:=factorial*i;
                 
   end;
            writeln('факториал числа N=',factorial );
          end.

Оператор цикла REPEAT...UNTIL (с постпроверкой условия)

     В цикле с постпроверкой условия используется условие окончания цикла. Когда оно становится истинным, цикл заканчивает работу.

                 Общий вид команды в блок-схеме следующий:

На языке Паскаль структура имеет следующий вид:

REPEAT <оператор> UNTIL <условие> , где

  • <оператор> - произвольный оператор языка Паскаль
  • <условие> - произвольное выражение логического типа.

 

Пример 9. Составить программу. которая запрашивает пароль (например, четырехзначное число) до тех пор, пока пароль введен правильно, затем появляется текст: "Пароль введен верно".

program pr9_repeat;
     var p: string;
     const parol = '1234';
 begin
   
repeat
           
begin
             writeln('введите пароль');
             read(p);
             readln;
         
 end
    until p = parol;
    writeln('Пароль введен верно');
     readln;
 end.

 

Форма входа
Поиск
Календарь
«  Декабрь 2024  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz