Народна Освіта » Інформатика » Цикл з лічильником

НАРОДНА ОСВІТА

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

1.    Які процеси називають циклічними? Наведіть приклади.

2.    Що таке цикл в алгоритмі? Що таке тіло циклу?

3.    Який вигляд має команда циклу Повторити N разів? Як вона виконується?

КОМАНДА ЦИКЛУ З ЛІЧИЛЬНИКОМ В OBJECT PASCAL

 

У мові програмування Object Pascal є кілька команд, які можуть реалізувати цикл. Одна з них - команда циклу з лічильником. Її доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання команди циклу. Загальний вигляд цієї команди такий: for <ім’я змінної> := <вираз1> to <вираз2> do begin

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

Рядок for <ім’я змінної> := <вираз1> to <вираз2> do (англ. for - для, to - до, do - робити, виконувати) називають рядком заголовка команди циклу з лі-

чильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Блок-схему команди циклу з лічильником показано на малюнку 6.30. Лічильник циклу, виразі і вираз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 мають набувати тільки цілих значень.

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

1°. Що таке цикл в алгоритмі?

2°. Який вигляд має команда циклу з лічильником в Object Pascal?

3*. Як виконується команда циклу з лічильником в Object Pascal?

4*. Який вигляд має блок-схема циклу з лічильником? Поясніть виконання фрагмента алгоритму.

5*. Чи можуть команди тіла циклу з лічильником виконуватися тільки один раз? Поясніть свою відповідь. Наведіть приклад.

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

7*. Чи може виконання циклу з лічильником ніколи не закінчитися? Поясніть свою відповідь. Наведіть приклад.

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

1*. Складіть блок-схему фрагмента алгоритму і виконайте його. a) n := 1;    б) р := 0; a := 2;

for i := 1 to 4 do    for i := 1 to 5 do

n := n*i;    begin

a := 3*a + 1; р := р + a; end;

2*. Складіть блок-схему фрагмента алгоритму і виконайте його. а) n := 0;    б) р := 0; a := 4;

for i := 1 to 4 do    for i := 1 to 5 do

n := n + i*i*i;    begin

a := 2*a - 1; р := р + a; end;

3°. Складіть блок-схему алгоритму знаходження суми п’яти чисел, перше з яких дорівнює 7, а кожне із чотирьох наступних на 3 більше від попереднього. Виконайте алгоритм.

4°. Складіть блок-схему алгоритму знаходження суми шести чисел, перше з яких дорівнює 100, а кожне з п’яти наступних у 5 разів менше від попереднього. Виконайте алгоритм.

5*. Складіть блок-схему алгоритму розв’язання задачі: Визначити, на скільки квадратів можна розрізати прямокутну смужку паперу із заданими довжиною та шириною, якщо на кожному кроці від смужки відрізати квадрат, сторона якого дорівнює меншій зі сторін смужки, що залишилася після попереднього відрізу. Виконайте алгоритм для двох різних значень початкових даних. Підберіть ці значення так, щоб команди тіла циклу виконались кілька разів; один раз.

6*. Створіть проект для обчислення суми n чисел, перше з яких дорівнює х, а кожне наступне на 5 більше від попереднього. Збережіть проект у папці Завдання 6.6.6, створеній у вашій папці.

7*. Створіть проект для обчислення суми n чисел, перше з яких дорівнює х, а кожне наступне дорівнює квадрату попереднього. Збережіть проект у папці Завдання 6.6.7, створеній у вашій папці.

8*. Створіть проект для розв’язання задачі: Клієнт поклав у банк певну суму грошей. Щорічно банк додає до суми 20 % від суми, що зберігається на рахунку після попереднього року. Визначити суму, яка буде на рахунку через n років. Збережіть проект у папці Завдання 6.6.8, створеній у вашій папці.

9*. Створіть проект для розв’язання задачі: Клієнт поклав у банк певну суму грошей. Щорічно банк додає до суми заздалегідь визначений відсоток від суми, що зберігається на рахунку після попереднього року. Визначити, на скільки збільшиться сума на рахунку через n років. Збережіть проект у папці Завдання 6.6.9, створеній у вашій папці.

 

Це матеріал з підручника Інформатика 8 клас Ривкінд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 16:07, Переглядів: 21747