Заставка

Программирование на старых и современных языках, а так-же дизайн

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Циклы

Сообщений 1 страница 3 из 3

1

Цикл for loop
Нужно использовать:

Код:
for переменная от .. до loop
...
end loop;

Пример:

Код:
with Ada.Text_IO; use Ada.Text_IO;

procedure Main is
   -- Переменная для цикла for
   i:Integer;
begin
   -- Цикл
   for i in 0..10 loop
      -- Выдаёт от 0 до 10
      Ada.Text_IO.Put_Line(Integer'Image(i));
   end loop;
end Main;

Результат:

Код:
C:\gnat_demos\obj\main.exe
 0
 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
[2021-08-19 06:41:32] process terminated successfully, elapsed time: 01.42s

0

2

Чтобы сделать цикл от 10 до 0 то нужно использовать reverse:

Код:
for переменная reverse от .. до loop
...
end loop;

Пример кода:

Код:
with Ada.Text_IO; use Ada.Text_IO;

procedure Main is
   -- Переменная для цикла for
   i:Integer;
begin
   -- Цикл
   for i in reverse 0..10 loop
      -- Выдаёт от 10 до 0
      Ada.Text_IO.Put_Line(Integer'Image(i));
   end loop;
end Main;

Результат:

Код:
C:\gnat_demos\obj\main.exe
 10
 9
 8
 7
 6
 5
 4
 3
 2
 1
 0
[2021-08-19 06:55:52] process terminated successfully, elapsed time: 01.93s

0

3

Цикл loop ... end loop;
Пример:

Код:
with Ada.Text_IO; use Ada.Text_IO;

procedure Main is
   i:Integer;
begin
   loop
      -- Инкрементация i
      i := i + 1;
      -- Вывод на экран i
      Ada.Text_IO.Put_Line(Integer'Image(i));
      -- Выход, если i = 5 
      exit when i = 5;
   end loop;
end Main;

Результат:

Код:
C:\gnat_demos\obj\main.exe
 1
 2
 3
 4
 5
[2021-08-19 07:04:43] process terminated successfully, elapsed time: 01.76s

0