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


Меню сайта


Статистика

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


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


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

Цикл з післяумовою

Оператори while і repeat використовуються в тому випадку, коли деяку послідовність дій треба виконати кілька разів, причому необхідне число повторень під час розробки програми невідомо і може бути визначено тільки під час роботи програми.

Оператор циклу із післяумовою  repeat ... until
Загальний вигляд оператора:
repeat

    <Тіло циклу>
until умова

                                де умова - вираз логічного типу, визначальна умова завершення циклу.
 

Оператори тіла циклу виконуються доти, поки умова не стане істинним (False).

Зверніть увагу на відмінності:

  • в операторі while ... do вихід з циклу відбувається тоді, коли умова стане хибним,
  • а в операторі repeat ... until - коли умова стане істинна.

Завдання 1. Просте число.

Алгоритм виконання.

Варіант інтерфейса проекту

  

Приклад виконання

  Варіант програмного коду

procedure TForm1.Button1Click(Sender: TObject);
 var  i,n, k : integer;
begin
  n:= StrToInt(edit1.Text);
   i:=1;

   repeat   //начало цикла
   i:=i+1;    //формирование следующего делителя
   k:= n mod i;    // запоминание очередного остатка  от деления
   listbox1.Items.Add('i = '+ inttostr(i) + '    ' + inttostr(n)+ ' mod '+ inttostr(i)+ ' =  '+ inttostr(k));
            
 //вывод текущих значений переменных : i, k
  until  n mod i = 0;            //условие выхода из цикла

   if  n = i  then label2.Caption:= ' введенное число простое'
   else label2.Caption:=' введенное число не простое';
end;    

Вправа 1. Вивести парні числа від  2 до 12.

Алгоритм проекта

Программный код проекта

procedure TForm1.Button1Click(Sender: TObject);
var n: Integer;
begin
                n := 0;
                Repeat
                n := n + 2;
                listbox1.Items.add(' n = ' + inttostr(n));
                Until  n => 12;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   listbox1.Clear;
end;   

Вправа 2.

Алгоритм проекта

Программный код проекта

procedure TForm1.Button1Click(Sender: TObject);
var n, s: Integer;
begin
n := 0; s := 0;
Repeat
        n := n + 1;   s := s + n;
        listbox1.Items.add('n =  ' + inttostr(n) + '     s =  ' + inttostr(s));
Until S > 1000;
end;           

Вправа 3. Знайти суму цифр натурального числа n, кількість цифр у якому невідома. 

Алгоритм проекта

Вариант программного кода

procedure TForm1.Button1Click(Sender: TObject);
 var n, d, s: integer;
 begin
  n := StrToint(inputbox('введите число','',''));
   label
1.caption :=  inttostr(n);
  s:= 0;
  d:= 0;
   Memo
1.Lines.Add('n ='+#9 +inttostr(n) +#9 +'d = ' + inttostr(d) +#9+'s = ' + inttostr(s));

  Repeat  // начало цикла
 d := n mod 10; // выделяется последняя цифра числа
 s := s+d; // значение выделенной цифры  добавляется к сумме цифр числа
 n := n div 10; // отбрасывается последняя цифра числа n
 Memo1.Lines.Add('n ='+#9 +inttostr(n) +#9 +'d = ' + inttostr(d) +#9+'s = ' + inttostr(s));
      Application.ProcessMessages;
// обработка сообщений
    Sleep(2000); // пауза на 2 с
    Until n=0;  // если  n = 0, выполняется  выход из цикла
end; 

#9 – табуляция

 

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

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