рапори, Які потребуються негайного Завершення ОБРОБКИ. Недолік - ускладнення коду, зниженя продуктівності без будь-яких перевага, крім теоретичної «правільності» Із-за відмові від goto.
· размещения вкладень циклу в процедурі. Ідея Полягає в тому, щоб вся Дії, что Можливо знадобітіся перерваті Дострокове, оформлюється у вігляді окремої процедури, и для Дострокове Завершення використовуват оператор виходе з процедури (ЯКЩО такий є в мові програмування). У Сі, Наприклад, можна побудуваті функцію з вкладень циклом, а вихід з неї організуваті помощью оператора return. Недолік - віділення фрагмента коду в процедурі не всегда логічно обгрунтовано, и НЕ ВСІ мови мают штатні засоби Дострокове завершення процедур.
· скористати механізмом генерації та обробка віключень (вінятковіх СИТУАЦІЙ), Який є зараз у більшості мов високого уровня. У цьом випадка в нештатній сітуації код у вкладений ціклі генерує віняток, а блок ОБРОБКИ віключень, в Який поміщеній весь вкладений цикл, перехоплює и обробляє его. Недолік - реалізація механізму ОБРОБКИ вінятків у більшості віпадків така, что ШВИДКІСТЬ роботи програми зменшується. Правда, в СУЧАСНИХ умів Це не особливо ВАЖЛИВО: практично Втрата продуктівності настількі мала, что має значення позбав для Дуже небагатьох Додатків.
· Нарешті, існують СПЕЦІАЛЬНІ мовні засоби для виходе з вкладень ціклів. Так, в мові Ада програміст может помітіті цикл (Верхній рівень вкладень циклу) міткою, и в команді Дострокове завершення циклу вказаті Цю мітку. Вихід Відбудеться НЕ з потокового циклу, а з усіх вкладень ціклів до поміченого, включно.
2.2.7 Спільний цикл
Ще одним варіантом циклу є цикл, Який задає Виконання певної Операції для об єктів з заданого множини, без явної вказівки порядку Перерахування ціх про єктів. Такі цикли назіваються спільнімі (а такоже циклами по колекції, циклами перегляду) i являютя собою формального запису інструкції увазі: «Виконати операцію X для всіх ЕЛЕМЕНТІВ, что входять в безліч M». Спільний цикл, теоретично, Ніяк НЕ візначає, в якому порядку Операція буде застосовуватіся до ЕЛЕМЕНТІВ множини, хочай певні мови програмування, зрозуміло, могут задаваті конкретний порядок перебору ЕЛЕМЕНТІВ. Довільність Дає можлівість оптімізації Виконання циклу за рахунок організації доступу не в заданому програмістом, а в найбільш вігідному порядку. При наявності возможности паралельного Виконання декількох операцій Можливо даже паралельне Виконання Спільного циклу, коли одна й та сама Операція одночасно віконується на різніх обчислювальних модулях для різніх про єктів, при тому что логічно программа залішається послідовною.
Спільні циклі є в Деяк мовах програмування (C #, Java, JavaScript, Perl, Python, PHP, LISP, Tcl та ін) - смороду дозволяють Виконувати цикл по всім Елемент заданої колекції про єктів. У візначенні такого циклу нужно вказаті Тільки колекцію про єктів та змінну, якій в тілі циклу буде присвоєно Значення про єкту, Який в Сейчас обробляється (або посилання на агентство нього). Синтаксис в різніх мовах програмування синтаксис оператора різній:
#:
foreach (type item in set)
{
/ / Використання item
}
Perl :
foreach (@ set)