Используются существенно реже, потому что основное отличие их от предыдущих инструкций заключается в том, что в них тело цикла в первый раз выполняется без проверки условия продолжения (прекращения) цикла. Единственный смысл применения такой конструкции, на наш взгляд, состоит в получении в теле цикла с помощью операций ввода-вывода информации из внешней среды, которая используется в условии. Заметим, что подобная манипуляция легко реализуется с помощью циклов с предусловием заданием условия, которое при первом проходе по циклу заведомо выполняется. Тем не менее рассмотрим инструкции, реализующие такие циклы.
C
Формат:
do <инструкция> while <условие>;
Эквивалентная схема:
label: <инструкция>;
if(<условие>)goto label;
Пример. Дано: {ai}, i=1...100. Найти Sai и Pai.
s=i=0;
p=1;
do { s += a[ i ];
p *= a[ i ];
i++;
} while(i<100);
Basic
Формат: