1 of 18

Цикл з лічильником

За новою програмою

Урок 54

8

2 of 18

Команда циклу з лічильником�в Object Pascal

У мові програмування Lasurus цикл із лічильником описується оператором for...

For i := <in> to <ik> do

<команда>;

Параметр циклу

Початкове значення параметра циклу

Кінцеве значення параметра

Тіло циклу

Крок зміни параметра циклу = 1

For i := <in> downto <ik> do

<команда>;

Крок зміни параметра циклу = -1

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

3 of 18

Команда циклу з лічильником�в Object Pascal

Величина параметра циклу, його початкового та кінцевого значень можуть бути:

Крок зміни циклу завжди однаковий і дорівнює інтервалу між двома найближчими значеннями типу параметра (при цілочисельному значенні параметра крок дорівнює 1).

Цілими

числами

Належати до деякого списку

або

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

4 of 18

Команда циклу з лічильником�в Object Pascal

Можна скористатись величиною перелічуваного типу. Наприклад:

Списком непарних чисел першого десятка

Списком голосних літер українського алфавіту

1, 3, 5, 7, 9

‘а’, ‘о’, ‘у’, ‘е’, ‘и’, ‘і’, ‘ї’, ‘ю’

Список значень у мові програмування Lasurus обмежують круглими дужками

( )

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

5 of 18

Для тих, хто хоче знати більше

Розділ 6 § 6.6

Існує різновид команди циклу з лічильником, у якому лічильник не збільшується на 1, а зменшується на 1:

For <ім'я змінно» := <вираз1> downto <вираз2> do

begin

<команди тіла циклу>

end;

(англ. down to - униз до).

Цей цикл продовжує виконуватися, якщо значення лічильника циклу більше або дорівнює (не менше) значенню вираз2.

8

© Вивчаємо інформатику teach-inf.at.ua

6 of 18

Синтаксис і правила�застосування циклу For

Проаналізувати, чому цикл не виконується жодного разу.

For А := 10 То 0 Do S = S + А;

Якщо при використанні форми То кінцеве значення параметра циклу менше за початкове, то цикл не виконається жодного разу.

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

7 of 18

Синтаксис і правила�застосування циклу For

Обчислити факторіал числа n за формулою

n! = 1х2хЗх...хn.

var i, n, f: Integer;

begin

n := StrToInt (Edit1.text);

f:= 1;

For i := 2 to n Do f := f * i;

Edit2.text := IntToStr(f);

end;

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

8 of 18

Розділ 8 § 41

З клавіатури вводяться п'ять дійсних чисел, серед яких можуть бути як додатні, так і від'ємні числа. Знайти середнє арифметичне додатних чисел.

var і, k: Integer; a, Sr: Double;

Begin

Sr := 0;

к := 0; // лічильник додатних чисел

For і := 1 to 5 do begin

а := StrToFloat(lnputBox('Bвести 5 чисел', IntToStr(i), '0'));

If a > 0 Then begin

к := к + 1; Sr := Sr + a;

end;

end;

Sr := Sr / k;

Edit1.text := FloatToStr(Sr);

end;

8

© Вивчаємо інформатику teach-inf.at.ua

9 of 18

Компонент ListBox (Список)

Для виведення отримуваних у циклі значень змінних у кілька рядків зручно скористатися компонентом ListBox (Список).

Компонент Listbox (вкладка Standard на палітрі компонентів) призначений для зберігання й опрацювання текстових даних. Кожен рядок Listbox зберігає рядок даних у форматі String.

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

10 of 18

Компонент ListBox (Список)

Доступ до рядків надає властивість Items цього компонента.

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

11 of 18

Компонент ListBox (Список)

Для додавання рядка до списку програмним шляхом призначено метод Add. Синтаксис його виклику такий:

ListBox1.Items.Add(‘Новий_рядок');

Додати до списку ListBox значення виразу 2 * х:

ListBox1.ltems.Add (IntToStr (2 * х));

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

12 of 18

Компонент ListBox (Список)

Щоб очистити вміст списку, для елемента керування ListBox викликають метод Clear:

ListBox1.Clear;

Властивість Count зберігає кількість рядків, доданих до списку.

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

13 of 18

Компонент ListBox (Список)

Додати до списку ListBox літери із заданого діапазону:

var i, nv, kv: Char;

begin

nv := Edit1.Text[1];

kv := Edit2.Text[1];

For i := nv to kv Do ListBox1.Items.Add (i);

end;

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

14 of 18

Розгадайте ребус

«Ребуси українською» © rebus1.com

Цикл

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

15 of 18

Дайте відповіді на запитання

  1. Чи можуть команди тіла циклу з лічильником не виконуватись жодного разу? Поясніть свою відповідь. Наведіть приклад.
  1. Чи може виконання циклу з лічильником ніколи не закінчитися? Поясніть свою відповідь. Наведіть приклад.
  1. У чому полягають відмінності у виконанні основних алгоритмічних структур: слідування, розгалуження, цикл.

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

16 of 18

Домашнє завдання

Проаналізувати

§ 6.6, ст. 213-216

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

17 of 18

Працюємо за комп’ютером

Сторінка

216

Розділ 6 § 6.6

8

© Вивчаємо інформатику teach-inf.at.ua

18 of 18

Дякую за увагу!

За новою програмою

Урок 54

8