У мові програмування Object Pascal є кілька команд, які можуть реалізувати цикл. Одна з них - команда циклу з лічильником. Її доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання команди циклу. Загальний вигляд цієї команди такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin <команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do (англ. for - для, to - до, do - робити, виконувати) називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень. Якщо тіло циклу складається лише з однієї команди, операторні дужки begin і end можна не ставити.
Виконується команда циклу з лічильником так:
1) Надати лічильнику циклу і значення виразі.
2) Обчислити значення логічного виразу і J вираз2.
3) Якщо значення логічного виразу true, то виконати команди тіла циклу і перейти до виконання команди 4, якщо false - перейти до виконання команди, наступної за командою циклу.
4) Збільшити значення лічильника циклу на 1.
5) Перейти до виконання команди 2.
Для ілюстрації виконання команди циклу з лічильником розглянемо фрагмент проекту, в якому обчислюється сума 12 + 22 + 32 + 42.
var s, і: integer; begin s := 0;
for і := 1 to 4 do begin
s := s + i*i; end;
Labell.Caption := IntToStr (s); end;
Виконаємо цей фрагмент програми.
Команда Результат виконання
s := 0 s = 0
i := 1 i = 1
i <= 4 (1 <= 4) = true
s := s + i*i s = 0 + 1*1 = 1
i := i + 1 i = 2
i <= 4 (2 <= 4) = true
s := s + i*i s = 1 + 2*2 = 5
i := i + 1 i = 3
i <= 4 (3 <= 4) = true
s := s + i*i s = 5 + 3*3 = 14
i := i + 1 i = 4
i <= 4 (4 <= 4) = true
s := s + i*i s = 14 + 4*4 = 30
i := i + 1 i = 5
i <= 4 (5 <= 4) = false
Labell.Caption := IntToStr (s) Labell.Caption = 30
Звертаємо вашу увагу, що після закінчення виконання команди циклу з лічильником значення лічильника циклу (змінної і) на 1 більше, ніж значення вираз2, і це значення, за потреби, можна використовувати в наступних командах.
Існує різновид команди циклу з лічильником, у якому лічильник не збільшується на 1, а зменшується на 1:
For <ім’я змінної> := <вираз1> downto <вираз2> do begin
<команди тіла циклу> end; (англ. down to - униз до).
Цей цикл продовжує виконуватися, якщо значення лічильника циклу більше або дорівнює (не менше) значенню вираз2.
Загальний вигляд команди циклу з лічильником такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin
<команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень.
Составим программу:
for x in range(2):
for y in range(2):
for w in range(2):
for z in range(2):
if (((x<=y) and (y<=w))or(z==(x or y)))==False:
print(x,y,w,z)
Нам выдаются следующие значения:
х у w z
0 1 0 0 (a)
1 0 0 0 (b)
1 0 1 0 (c)
1 1 0 0 (d)
Мы видим,что одна из строчек не подходит под нашу таблицу. Это либо строчка (а), либо строчка (b),т.к. обе строчки с двумя единицами входят в таблицу.
Рассматривая таблицу видно,что в строчках с двумя единицами есть переменная(последний столбец) которая равна 1, и это х
В первом столбце у и тогда строчка (b) - лишняя
Делаем выводы,что второй столбец - w,а третий - z
ответ: y,w,z,x
У мові програмування Object Pascal є кілька команд, які можуть реалізувати цикл. Одна з них - команда циклу з лічильником. Її доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання команди циклу. Загальний вигляд цієї команди такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin <команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do (англ. for - для, to - до, do - робити, виконувати) називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень. Якщо тіло циклу складається лише з однієї команди, операторні дужки begin і end можна не ставити.
Виконується команда циклу з лічильником так:
1) Надати лічильнику циклу і значення виразі.
2) Обчислити значення логічного виразу і J вираз2.
3) Якщо значення логічного виразу true, то виконати команди тіла циклу і перейти до виконання команди 4, якщо false - перейти до виконання команди, наступної за командою циклу.
4) Збільшити значення лічильника циклу на 1.
5) Перейти до виконання команди 2.
Для ілюстрації виконання команди циклу з лічильником розглянемо фрагмент проекту, в якому обчислюється сума 12 + 22 + 32 + 42.
var s, і: integer; begin s := 0;
for і := 1 to 4 do begin
s := s + i*i; end;
Labell.Caption := IntToStr (s); end;
Виконаємо цей фрагмент програми.
Команда Результат виконання
s := 0 s = 0
i := 1 i = 1
i <= 4 (1 <= 4) = true
s := s + i*i s = 0 + 1*1 = 1
i := i + 1 i = 2
i <= 4 (2 <= 4) = true
s := s + i*i s = 1 + 2*2 = 5
i := i + 1 i = 3
i <= 4 (3 <= 4) = true
s := s + i*i s = 5 + 3*3 = 14
i := i + 1 i = 4
i <= 4 (4 <= 4) = true
s := s + i*i s = 14 + 4*4 = 30
i := i + 1 i = 5
i <= 4 (5 <= 4) = false
Labell.Caption := IntToStr (s) Labell.Caption = 30
Звертаємо вашу увагу, що після закінчення виконання команди циклу з лічильником значення лічильника циклу (змінної і) на 1 більше, ніж значення вираз2, і це значення, за потреби, можна використовувати в наступних командах.
Існує різновид команди циклу з лічильником, у якому лічильник не збільшується на 1, а зменшується на 1:
For <ім’я змінної> := <вираз1> downto <вираз2> do begin
<команди тіла циклу> end; (англ. down to - униз до).
Цей цикл продовжує виконуватися, якщо значення лічильника циклу більше або дорівнює (не менше) значенню вираз2.
Загальний вигляд команди циклу з лічильником такий:
for <ім’я змінної> := <вираз1> to <вираз2> do begin
<команди тіла циклу> end;
Рядок for <ім’я змінної> := <вираз1> to <вираз2> do називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень.