Мой сайт
Главная | | Регистрация | Вход
Приветствую Вас Гость | RSS
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 6
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Июль 2013  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » 2013 » Июль » 28 » Оператор repeat
    00:22
     

    Оператор repeat

    Оператор repeat


    Иногда при решении задач возникает необходимость выполнить тело цикла хотя бы один раз, а потом исследовать условие повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat.


    repeat
    операторы
    until <условие>;
    Есть небольшое отличие в организации цикла repeat по сравнению с while: для выполнения в цикле repeat нескольких операторов не следует помещать эти операторы в операторные скобки begin ... end. Зарезервированные слова repeat и until действуют как операторные скобки.
    Алгоритм работы оператора:
    Конструкция repeat ... until работает аналогично циклу while. Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то время как repeat проверяет условие после выполнения действий. это гарантирует хотя бы одно выполнение действий до завершения цикла.
    Пример:

    a) repeat b) repeat
    read (Number); i := i+1;
    Sum := Sum+Number; writeln (Sqr(i))
    until Number=-1 until Number=-1
    Program Prostoe;
    Uses
    Crt;
    Var
    i, {возможный делитель}
    Number : integer; {исследуемое число}
    Begin
    ClrScr;
    writeln (‘Какое число должно быть проверено? ‘);
    read (Number);
    i := 1;
    repeat
    i := i+1;
    until Number mod i = 0;
    if Number=i then
    writeln (Number,’ является простым‘)
    else writeln (Number,’ делится на ‘,i);
    readln;
    End.

    Program P68;
    { Paritatea numerelor citite de la tastature }
    var i : integer;
    begin
    writeln('Dati numere оntregi:');
    repeat
    readln(i);
    if odd(i) then writeln(i:6, ' - numre impar')
    else writeln(i:6, ' - numre par');
    until i=0;
    readln;
    end.


    Program P69;
    var x, epsilon,
    y1, y2 : real;
    begin
    write('x='); readln(x);
    write('epsilon='); readln(epsilon);
    y2:=1;
    repeat
    y1:=y2;
    y2:=y1/2+x/(2*y1);
    writeln(y2);
    until abs(y1-y2)<=epsilon;
    readln;
    end.
    Просмотров: 175 | Добавил: fortanted | Рейтинг: 0.0/0
    Всего комментариев: 0