Інкрементний цикл з параметром
Загальний вигляд оператора for-to:
for i: = first to last do <оператор>;
Лічильник i (змінна), нижня межа first (змінна, константа або вираз) і верхня межа last (змінна, константа або вираз) повинні ставитися до еквівалентним порядковим типами даних. Якщо тип нижньої чи верхньої межі не еквівалентний типу лічильника, а лише сумісний з ним, то здійснюється неявне приведення: значення кордону перетвориться до типу лічильника, в результаті чого можливі помилки. p align="justify"> Цикл for-to працює наступним чином:
1. обчислюється значення верхньої межі last;
2. змінної i присвоюється значення нижньої межі first;
. проводиться перевірка того, що i <= last;
. якщо це так, то виконується <оператор>;
. значення змінної i збільшується на одиницю;
. пункти 3-5, складові одну ітерацію циклу, виконуються до тих пір, поки i не почне суворо більше, ніж last; як тільки це сталося, виконання циклу припиняється , а управління передається наступному за ним оператору.
З цієї послідовності дій можна зрозуміти, яка кількість разів відпрацює цикл for-to в кожному з трьох випадків:
В· first
В· first = last: цикл відпрацює рівно один раз;
В· first> last: цикл взагалі не буде працювати.
Після закінчення роботи циклу змінна-лічильник може втратити своє значення. Таким чином, не можна з упевненістю стверджувати, що після того, як цикл завершив роботу, обов'язково виявиться, що i = last +1. Тому спроби використовувати змінну-лічильник відразу після завершення циклу (без присвоювання їй якого-небудь нового значення) можуть призвести до непередбачуваного поведінки програми при налагодженні. p align="justify"> декрементного цикл з параметром
Існує аналогічний варіант циклу for, який дозволяє проводити обробку немає від меншого до більшого, а в протилежному напрямку:
for i: = first downto last do <оператор>;
Лічильник i (змінна), верхня межа first (змінна, константа або вираз) і нижня межа last (змінна, константа або вираз) повинні мати еквівалентні порядкові типи. Якщо тип нижньої чи верхньої межі не еквівалентний типу лічильника, а лише сумісний з ним, то здійснюється неявне приведення типів. p align="justify"> Цикл for-downto працює наступним чином:
1. змінної i присвоюється значення first;
2. проводиться перевірка того, що i> = last;
. якщо це так, то виконується <оператор>;
. значення змінної i зменшується на одиницю;
. пункти 2-4 виконуються доти, поки i не почне менше, ніж last; як тільки це сталося, виконання циклу припиняється, а управління передається наступному за ним оператору.
Якщо при цьому
В· first
В· first = last, то цикл відпрацює один раз;
В· first> last, то цикл буде працювати first-last +1 разів.
Зауваження про невизначеність значення лічильника після закінчення роботи циклу справедливо і в цьому випадку.
Список літератури
1. Каймин В.А. Інформатика: Підручник. - 2-е вид., Перераб. і доп. - М.: ИНФРА-М, 2001. -272 С. - (Серія В«Вища освітаВ»).
. Інформатика. Базовий курс. під. ред.Сімоновіч С.В., Підручник для вузів. 2-е вид. 2005. - 640с.
3. Основні поняття інформатики. Навчальний посібник. Амелін Р.В., Блінков Ю.А. ін, Саратов: Изд-во СГУ, 2003. - 82 c.
. Інформатика: Підручник/За ред. проф. Н.В. Макарової - М.: Фінанси і статистика, 1997. - 768 с.: Іл.
5. Комп'ютерні технології обробки інформації. Під редакцією Назарова С.В. - М: Фінанси і статистика, 1995р.