Цикл - это многократно повторяющиеся действия с разными значениями исходных данных. Составляющими элементами любого цикла являются: Подготовка цикла - ПЦ, Тело цикла - ТЦ, Подготовка данных - ПД, Проверка условия - ПУ. Выполнение любого цикла начинается с ПЦ. Последовательность выполнения ТЦ, ПД, ПУ зависит от структуры цикла. В связи с этим различают следующие типовые структуры цикла: 1. Цикл с предусловием - ЦИКЛ ПОКА (WHILE … WEND). 2. Цикл с постусловием - ЦИКЛ ДО (DO … LOOP). 3. Цикл с параметром - ЦИКЛ со СЧЕТЧИКОМ (FOR … NEXT).Цикл с предусловием / ПОКА
Перед выполнением операторов тела цикла осуществляется проверка условия на продолжение цикла. Если условие справедливо (ветвь «Да»), то цикл повторяется, иначе происходит выход из цикла. Особенности данной структуры цикла: а) число повторений цикла заранее неизвестно; б) если при первой же проверке условия получается "Нет", то цикл не выполняется ни разу; <span> в) возможен «бесконечный цикл», когда проверка условия не дает выхода на ветвь «Нет». </span> Цикл с постусловием - ДО
<span>В блоке "Проверка условия" осуществляется проверка условия на прекращение цикла. Если условие справедливо (ветвь «Да»), то происходит выход из цикла, в противном случае цикл повторяется при новых значениях исходных данных. </span> Особенности данной структуры цикла: а) число повторений цикла заранее неизвестно; б) так как условие проверяется в конце цикла, то тело цикла выполняется как минимум один раз; <span> в) возможен «бесконечный цикл», когда проверка условия не дает выхода на ветвь «Да». </span> Цикл с параметром
Параметр цикла определяет число повторений цикла. Для параметра цикла указывается его начальное значение, конечное значение и шаг изменения. Тело цикла выполняется при каждом значении параметра цикла. Особенность данной структуры цикла заключается в том, что уже перед началом выполнения цикла известно количество его повторений. Пример.<span> Вычислить значения функции вида y = f(x) при изменении x от начального значения xn до конечного значения xk с постоянным шагом h.</span> Эта задача решается с помощью цикла с заданным количеством повторений. Число повторений определяется по формуле: n = (xk - xn) / h + 1.
На рисунках (см. ниже) представлены блок-схемы решения задачи: - с использованием цикла ПОКА; - с использованием цикла с ПАРАМЕТРОМ. ЦИКЛ - ПОКА ЦИКЛ С ПАРАМЕТРОМ
Блок 3 – подготовка цикла Блок 3 выполняет те же функции, Блок 4 – проверка условия что и блоки 3,4,7 в схеме слева. окончания цикла Блок 5,6 – тело цикла Блок 7 – подготовка информации для нового цикла Операторы цикла
Цикл с ПАРАМЕТРОМ реализуется в Бейсике с помощью оператора цикла FOR … NEXT. Формат записи оператора: FOR I = IN TO IK [STEP H] < операторы тела цикла > NEXT I Пояснения: - FOR (для), TO (до), STEP (шаг), NEXT (следующий) – служебные слова; - I – имя переменной, являющейся параметром цикла; - IN, IK, H – выражения, определяющие начальное значение IN параметра цикла, конечное значение IK параметра цикла и шаг изменения H параметра цикла. По умолчанию H=1. Значение выражений IN, IK, H должны удовлетворять следующим условиям: при H > 0 (шаг положительный) IN < IK; при H < 0 (шаг отрицательный) IN < IK.
Например: 1) FOR X=10 TO 100 STEP 2 LET Y=SQR (X) PRINT X,Y NEXT X 2) FOR X=10 TO 1 STEP – 1 LET Y=X - 2 PRINT X,Y NEXT X <span> <span>Важно запомнить следующее: </span>1.Вход в цикл минуя строку начала цикла FOR - запрещен. 2.Открыли цикл – не забудьте его закрыть. 3.Досрочный выход из цикла осуществляется с помощью оператора<span> EXIT FOR</span> 4.В структуре вложенных циклов цикл, открытый первым, закрывается последним. </span>
Program saidim; uses crt; var m:integer; begin writeln('******************************'); writeln('** Переводилка возраста **'); writeln('******************************'); writeln(); writeln('Введите возраст в месяцах'); readln(m); writeln('*** alphaues is thinking... ***'); writeln(); // writeln('Возраст равен ',m div 12,' лет ',m mod 12,' месяцев'); write('Возраст равен ',m div 12); case ((m div 12) mod 10) of 1: write(' год '); 2,3,4: write(' годa '); else write(' лет '); end; case (m mod 12) of 0: writeln(' ровно '); 1: writeln(m mod 12,' месяц '); 2,3,4: writeln(m mod 12,' месяцa '); else writeln(m mod 12,' месяцев '); end; end.
var a:array [1..6,1..6] of integer; i,j: integer; begin for i:=1 to 6 do begin a[i,i]:=i; a[7-i,i]:=i; end; for i:=1 to 6 do begin for j:=1 to 6 do write(a[i,j]:2); writeln; end; <span>end.</span>
Орган зрения ,<span>с </span>помощью<span> глаз люди различают цвета, </span>воспринимают<span> зрительную</span>информацию<span>, к которой </span>относятся<span> и текстовая, и числовая, и графическая; ... Практически около 90% </span>информации человек<span> получает при помощи органов зрения (</span>визуальный<span>)</span>