А   Б  В  Г  Д  Е  Є  Ж  З  І  Ї  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Ю  Я 


Циклічна програма

Циклічні програми будуються при реалізації циклічних обчислювальних процесів.

Циклічні програми можуть мати більш складну структуру, ніж наведені вище. У програмах можливі випадки, коли один цикл обчислювального процесу включає в себе в якості складової частини інший циклічний процес. Другий циклічний процес вважається внутрішнім по відношенню до першого, а перший - зовнішнім по відношенню до другого.
 Циклічні програми займають менший об'єм пам'яті, економлять працю програміста. Витрачений машинний час буде більшим, ніж в аналогічній програмі без циклу, так як виникає необхідність у додатковій групі команд, що забезпечують циклічний процес. Дії з адресами, рас смотрением вище, особливо широко використовуються в циклічних програмах.

Циклічні програми застосовуються не тільки в області вирішення економічних завдань, але і при обробці іншої інформації. алгоритм Евкліда також містить цикли обчислень, що припиняються в разі встановлення рівності двох порівнюваних чисел.

Циклічну програму в даному разі можна розглянути як окремий випадок розгалужується, вважаючи однією гілкою цикл, а інший - ділянку програми, розташованої за циклом.

Писати циклічні програми найзручніше, починаючи з робочої частини. Потім пишеться перевірка закінчення циклу.

Побудова циклічних програм за допомогою операцій 25 і 24 може здійснюватися як без переадресації, так і з переадресацією.

Побудова циклічної програми закінчується введенням в програму команд, що забезпечують передачу управління початкової команді і подальшим обчисленням (необхідне число раз) або передачу управління на команду зупинки.

Блок-схема програм. Перевага циклічних програм перед прямими полягає в тому, що циклічні програми займають менше осередків пам'яті, більш компактні. Однак машинний час для виконання циклічних програм больще, ніж для прямих програм, так як частина часу втрачається на виконання певної кількості команд, що беруть участь, в забезпеченні циклів.

Побудова циклічних програм за допомогою операцій 25 і 24 може здійснюватися як без переадресації, так і з переадресацією.

Запис циклічної програми показує широкі можливості використання команд переадресації (модифікації) і констант.

Алгоритм Горнера. Для складної циклічною програми обчислення, передбачені у внутрішньому циклі, повторюються p rl-rz Зі збільшенням k і г кількість дій, що пропонуються алгоритмом, і час виконання завдання швидко ростуть. У випадках, коли вдається в процесі складання складного циклічного алгоритму виділити незалежні цикли, за рахунок ускладнення алгоритму, скорочується час обчислень.

При циклічної програмі розрізняють кроковий (переміщення проводиться тільки при подачі керуючого сигналу), старт-стопи ( асинхронне перемикання, починаючи від сигналу, що запускає до кінця циклу) і безперервний (зазвичай у обертових ламельним комутаторів) режими роботи комутатора.

У циклічних програмах виділяється частина команд, багаторазово повторюваних в заданій послідовності. Іноді їх називають ітераційним командами.

Для побудови циклічної програми в кожному окремому випадку підбирається відповідним чином логічне умова, при виконанні якого може бути визначено закінчення циклічного процесу, і програма доповнюється командами, які здійснюють його перевірку і передачу управління початку нового циклу або наступним командам в залежності від результату цієї перевірки. Крім того, в програму циклу повинні бути включені команди, що готують для переходу від циклу до циклу належне заповнення ЗУ.

При побудові циклічних програм обчислювані значення змінних, які розробляються для виконання (k 1) - го циклу, потрібно поміщати в осередки, в яких перебували їхні k - e значення.

На прикладах циклічних програм, що залежать від параметрів, ми бачили, що економія в командах програми може бути досягнута за рахунок включення в набір елементарних операцій машини, операції переадресації та відповідного упорядкованого розміщення величин в ЗУ.

При реалізації циклічної програми арифметичні дії можуть проводитися не тільки з числами, а й з деякими командами. В результаті цих дій змінюється вид команд, а отже, і їх смисловий зміст.

Для організації циклічних програм використовуються індексні регістри.

Програмна функція циклічної програми може бути визначена деяким набором аналогічних функціональних рівності. Кожна fj визначає функцію всіх вузлів, наступних за вузлом i першого входження. Потім, заміщаючи кожен повторюється вузол злиття відповідною функцією, отримаємо циклічну Е - схему, подібну показаної вище Е - схемою для програми без циклу, але відрізняється тим, що в якості остаточної функції в кожній композиції може бути прийнята одна з отриманих функцій.

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

Для повторного використання циклічної програми необхідно все її змінні команди відновити в їх первинному вигляді. 
Структура циклічної програми з переадресацією і відновленням. Перелічимо основні частини циклічної програми з переадресацією і відновленням.

Для завершення побудови циклічної програми необхідно вибрати логічне умова, за яким можна визначити закінчення циклічного процесу.

Для повторного використання циклічної програми необхідно все її змінні команди відновити в їх первинному вигляді.

завдання верифікації трьох однопредікатних циклічних програм (типу whiledo, dountil, dowhiledo) можна звести до питання про їх закінчення і (шляхом перетворення ітераційних програм в рекурсивні) до верифікації програм без циклів.

Для повторного застосування змінюваної циклічної програми необхідно передбачати відновлення змінних команд. В такому випадку в програму вводяться (не входять в цикл) команди відновлення, які здійснюються: а) за допомогою операції переадресації, б) з допомогою засилання на адресу змінної команди відповідного коду. Втім, відновлення змінних команд може здійснюватися шляхом операції повторного введення всієї програми з зовнішнього у внутрішнє ЗУ.

Внутрішній цикл цієї складної циклічної програми забезпечує обчислення одного значення полінома, а зовнішній цикл - обчислення т значень полінома.

А тепер складемо циклічну програму рішення задачі 6.4. Для цього, як правило, опишемо процес вирішення завдань по етапах, враховуючи, що на кожному етапі вирішується одна і. З, змінюються лише значення вихідних величин.

Досить часто доводиться застосовувати циклічні програми, в яких кількість повторень циклів заздалегідь невідомо - воно визначається в ході обчислень.

Інший принцип організації мають циклічні програми підсумовування числових рядів не по заданій кількості членів, а в залежності від значення самих членів.

Однак для визначення функцій циклічних програм таких процедур не існує. Але дослідження типових циклів показує, що їх функції часто можуть бути визначені на підставі вивчення і простого аналізу ітеративних схем. Якщо початкове значення х позитивно, то х на кожній ітерації зменшується на 2 до тих пір, поки не стане рівним 1 або О в залежності від того, було початкове значення х непарних або парних. Якщо початкове значення х негативно, дорівнює 0 або 1 то воно програмою не змінюється.

Схема організації циклічного процесу. Дуже поширеним випадком виконання циклічної програми є варіант оператора DO з параметром циклу. Цей останній в кожному новому циклі має знову присвоюється значенням, і так продовжується до тих пір, поки не буде вичерпано весь список значень для параметра циклу.

У чому полягають особливості циклічних програм, складених на основі алгоритмічних базових структур ЦИКЛ-ПОКИ і ЦИКЛ-ДО, і як це слід враховувати в програмуванні.

Відомі різні способи побудови циклічних програм. Незалежно від способу, в структурі циклу можна виділити його підготовчу частину, робочу частину, зміна параметрів і перевірку на закінчення.

Для збільшення швидкості виконання циклічних програм в робочу частину циклу слід включати тільки обчислення, в яких використовуються параметри циклу.

Програмні функції для наведених вище циклічних програм виписувати кілька втомлює, їх можна уявити більш наочно у вигляді Е - дерев.

Формування адреси наступної команди з використанням лічильника циклів. При підготовці переходу до циклічної програмі в СТЦ записується початкове значення - п, де п - число - циклів. Після виконання чергового циклу до коду лічильника додається 1 і перевіряється знак суми, що дорівнює i - п, де i - кількість виконаних циклів. При негативному знаку суми здійснюється перехід до початку циклу, а при позитивному знаку - до команди, записаної після циклічного ділянки програми.

За допомогою яких команд пишуться циклічні програми.

У багатьох ЕЦОМ для виконання циклічних програм із заздалегідь заданою кількістю циклів використовують спеціальні лічильники циклів.

Оператор циклу служить для організації циклічних програм.

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

З цього прикладу видно, що циклічна програма має чотири основні складові. Вона повинна містити 1) послідовність команд, яка називається ітераційним командами - це ті команди, які повинні використовуватися багаторазово; 2) послідовність команд, які модифікують вихідну послідовність перед кожним її новим виконанням; 3) послідовність команд, керуючих числом повторень циклу, - це команди, які визначають, коли потрібно вийти з циклу або перервати його, і які відповідним чином інформують про це машину; 4) послідовність команд, які задають початкові умови і починають цикл. Крім того, така програма часто містить 5) послідовність команд, які відновлюють цикл таким чином, щоб він знову міг бути використаний машиною.

Дані операції також застосовуються для побудови циклічних програм, однак вони відрізняються від операцій 12 і 32 тем.

Неважко бачити, що при організації циклічної програми тіло циклу обростає додатковими командами для підготовки, закінчення циклу і переадресації; крім того, ряд осередків займається для зберігання констант і під робочі осередки. Тому організовувати цикл зазвичай раціонально при числі повторень циклу, більшому 3 - 4 або в разі щодо складної структури тіла циклу.

За допомогою операцій 25 і 24 будуються циклічні програми.

Розглянемо основні методи, використовувані при складанні циклічних програм.