Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемГеннадий Бурков
1 АЛГОРИТМИЧЕСКАЯ СТРУКТУРА «ПОВТОРЕНИЕ» («ЦИКЛ») В ЯЗЫКЕ QBASIC Презентацию разработал Мащенко П.С., учитель МБОУ СОШ 2 муниципального образования Щербиновский район станицы Старощербиновской Краснодарского края
2 Если при решении задачи какое-либо действие или группу действий необходимо выполнять многократно, то в алгоритмах для таких задач применяется алгоритмическая конструкция «цикл». Цикл - это многократно повторяющиеся действия с разными значениями исходных данных. Такая конструкция обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Составляющими элементами любого цикла являются: Подготовка цикла - ПЦ, Тело цикла - ТЦ, Подготовка данных - ПД, Проверка условия - ПУ. Выполнение любого цикла начинается с ПЦ. Последовательность выполнения ТЦ, ПД, ПУ зависит от структуры цикла. В связи с этим различают следующие типовые структуры цикла: 1) Цикл с предусловием WHILE...WEND 2) Универсальный оператор цикла DO...LOOP 3) Цикл со счетчиком повторов ( с параметром) FOR...NEXT
3 Цикл с предусловием WHILE...WEND Этот цикл используется, если неизвестно число повторений, его называет также итерационным циклом или циклом "ПОКА". Он имеет следующий формат: Выполнение всей конструкции происходит следующим образом: Проверяется условие, указанное в заголовке цикла. Если условие выполняется, то один раз выполняется тело цикла и вновь проверяется условие. Таким образом тело цикла повторяется до тех пор, пока условие выполняется. Если условие не выполняется, то тело цикла не выполняется, осуществляется выход из цикла, управление передается оператору, следующему за оператором WEND. Из сказанного следует, что операторы тела цикла должны изменять выражение, указанное в заголовке. В противном случае будет иметь место бесконечный цикл. WHILE WEND Первая строка - оператор WHILE - заголовок цикла. Условие определяет количество повторений цикла. Телом цикла могут быть любые исполнимые операторы языка. Оператор WEND закрывает тело цикла.
4 Логика работы этого оператора полностью соответствует стандартной конструкции цикла с предусловием (цикла пока): Перед выполнением операторов тела цикла осуществляется проверка условия на продолжение цикла. Если условие справедливо (ветвь «Да»), то цикл повторяется, иначе происходит выход из цикла. Особенности данной структуры цикла: а) число повторений цикла заранее неизвестно; б) если при первой же проверке условия получается "Нет", то цикл не выполняется ни разу; в) возможен «бесконечный цикл», когда проверка условия не дает выхода на ветвь «Нет». WHILE WEND
5 нет i n f = f i i= i + 1 f конец да n начало f = 1i = 1f = 1i = 1 Пример. Составить алгоритм и программу для вычисления факториала натурального числа n. Факториалом числа называется произведение натуральных чисел от единицы до заданного числа: f=n!= 123 …n (Например, факториал числа 4 равен: 4!=1234=24) INPUT"ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО"; N LET F = 1 LET I = 1 WHILE I <= N LET F = F * I LET I = I + 1 WEND PRINT"ФАКТОРИАЛ ДАННОГО ЧИСЛА РАВЕН"; F END
6 Универсальный оператор цикла DO...LOOP Цикл DO...LOOP может записываться в двух вариантах: где: условие - выражение, которое оценивается как истинное или ложное. Оператор DO...LOOP повторяет тело цикла до тех пор, пока условие истинно, если указано ключевое слово WHILE или до тех пор, пока условие не станет истинным, если указано ключевое слово UNTIL. Из цикла DO можно выйти досрочно по команде EXIT DO, даже если условие выполнения продолжает оставаться истинным. Вариант 2. Условие в начале цикла - цикл с предусловием (цикл ПОКА): DO WHILE (UNTIL) LOOP Вариант 1. Условие в конце цикла – цикл с постусловием (цикл ДО): DO LOOP WHILE (UNTIL)
7 Цикл с постусловием (цикл «ДО) с ключевым словом WHILE : Оператор DO...LOOP повторяет тело цикла до тех пор, пока условие, указанное после ключевого слова WHILE, истинно DO LOOP WHILE
8 Оператор DO...LOOP повторяет тело цикла до тех пор, пока условие, указанное после ключевого слово UNTIL, не станет истинным Цикл с постусловием (цикл «ДО») с ключевым словом UNTIL : DO LOOP UNTIL
9 Цикл с предусловием (цикл «ПОКА») с ключевым словом WHILE : DO WHILE LOOP Оператор DO...LOOP повторяет тело цикла до тех пор, пока условие, указанное после ключевого слова WHILE, истинно
10 Цикл с предусловием (цикл «ПОКА») с ключевым словом UNTIL : DO UNTIL LOOP Оператор DO...LOOP повторяет тело цикла до тех пор, пока условие, указанное после ключевого слово UNTIL, не станет истинным
11
Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых n натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO LET s=s+k LET k=k+2 LET i=i+1 LOOP WHILE i
=n PRINT "СУММА РАВНА"; " title="Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых n натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO LET s=s+k LET k=k+2 LET i=i+1 LOOP UNTIL i>=n PRINT "СУММА РАВНА"; " class="link_thumb"> 12 Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых n натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO LET s=s+k LET k=k+2 LET i=i+1 LOOP UNTIL i>=n PRINT "СУММА РАВНА"; n END Теперь используем цикл с постусловием с ключевым словом UNTIL : начало n S = 0 k = 2 i = 0 S = S + k k = k + 2 i = I + 1 i n конец S да нет =n PRINT "СУММА РАВНА"; "> =n PRINT "СУММА РАВНА"; n END Теперь используем цикл с постусловием с ключевым словом UNTIL : начало n S = 0 k = 2 i = 0 S = S + k k = k + 2 i = I + 1 i n конец S да нет"> =n PRINT "СУММА РАВНА"; " title="Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых n натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO LET s=s+k LET k=k+2 LET i=i+1 LOOP UNTIL i>=n PRINT "СУММА РАВНА"; ">
13 Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых N натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO W HILE i < n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА"; s END Теперь используем цикл с предусловием с ключевым словом WHILE : начало n s = 0 k = 2 i = 0 s = s + k k = k + 2 i = i + 1 i < n конец s нет да
=n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА";" title="Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых N натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO U NTIL i>=n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА";" class="link_thumb"> 14 Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых N натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO U NTIL i>=n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА"; s END Теперь используем цикл с предусловием с ключевым словом UNTIL : начало n s=0 k=2 i=0 S=S+k k=k+2 i=i+1 in конец S да нет =n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА";"> =n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА"; s END Теперь используем цикл с предусловием с ключевым словом UNTIL : начало n s=0 k=2 i=0 S=S+k k=k+2 i=i+1 in конец S да нет"> =n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА";" title="Пример. Составить алгоритм и программу на языке BASIC для вычисления суммы первых N натуральных чётных чисел: S=2+4+6+… INPUT "ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s=0 LET k=2 LET i=0 DO U NTIL i>=n LET s=s+k LET k=k+2 LET i=i+1 LOOP PRINT "СУММА РАВНА";">
15 Цикл со счетчиком повторов (цикл с параметром) FOR...NEXT Предписывает выполнять тело цикла для всех значений некоторой переменной, называемой счётчиком(параметром) цикла в заданном диапазоне от начального значения до конечного значения. Внутри блока записывается счётчик цикла (i), для которого указываются его начальное значение (n), конечное значение(k) и шаг (h) изменения значения счётчика для каждого повторения. i = n; k; h Тело цикла
16 Общий формат: FOR = TO STEP NEXT где: счетчики или параметр числовая переменная, используемая как счетчик цикла; начало и конец начальное и конечное значение счетчика; приращение приращение счетчика при каждом шаге цикла. Оператор FOR называют заголовком цикла. Все остальное до оператора NEXT называется телом цикла. Этот цикл используется, если известно количество повторений, он повторяет блок операторов указанное число раз. Его называется также циклом с параметром или циклом «для». Для организации цикла «ДЛЯ» в языке BASIC применяются операторы: FOR (для)NEXT(следующий)STEP (шаг)
17 Счётчику цикла присваивается начальное значение и один раз выполняется тело цикла. Оператором NEXT значение счётчика изменяется на величину заданного приращения (шага). Проверяется выполнение условия: счётчик <= конечное значение счётчика. Если условие истинно, то осуществляется повторное выполнение цикла и вновь параметр (счётчик) изменяется на величину приращения. Если условие ложно, то происходит выход из цикла, т.е. переход к оператору, следующему за NEXT и дальнейшему выполнению программы. Выполнение конструкции цикл со счетчиком повторов происходит следующим образом:
18 Из этого цикла также можно выйти, не дожидаясь конца повторений с помощью оператора EXIT FOR. Часть заголовка цикла - STEP - может отсутствовать. В этом случае считается, что счётчик цикла увеличивается каждый раз на 1. Приращение (шаг) может быть положительным или отрицательным. Если приращение отрицательное, то начальное значение параметра должно быть больше, чем конечное значение Логика работы цикла со счётчиком повторов отображается на следующей схеме:
19 начало n f=1 i = 1; n f = f i n конец INPUT"ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";N LET F = 1 FOR I = 1 TO N LET F = F * I NEXT I PRINT"ФАКТОРИАЛ ДАННОГО ЧИСЛА РАВЕН"; F END Пример. Составить алгоритм для вычисления факториала натурального числа n. Факториалом числа называется произведение натуральных чисел от единицы до заданного числа: f=n!= 123 …n
20 INPUT"ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО";n LET s = 0 LET k = 2 * n FOR I = 2 TO k STEP 2 LET s = s + i NEXT i PRINT "СУММА РАВНА"; s END Составить алгоритм и программу на языке BASIC для вычисления суммы первых n натуральных чётных чисел: S=2+4+6+… начало n s = 0 k = 2n s = s + i конец s i=2; k; 2
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.