Закрепление изученного материала (самостоятельная работа)

Группа № 13 Информатика и ИКТ

Урок № 58

Тема: Цикл с заданным числом повторений. Итерационный цикл.

Лекция

Командой повторения или циклом называется такая форма организации действий, при которой одна и та же последовательность действий повторяется до тех пор, пока сохраняется значение некоторого логического выражения. При изменении значения логического выражения на противоположное повторения прекращаются (цикл завершается).

Для организации цикла необходимо выполнить следующие действия:

  • перед началом цикла задать начальные значения параметра;
  • внутри цикла изменять параметр цикла с помощью оператора присваивания;
  • проверить условие повторения или окончания цикла;
  • управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из цикла если он закончен.

Различают циклы с известным числом повторений (цикл с параметром или регулярный цикл) и итерационный (с предусловием).

В цикле с известным числом повторений параметр изменяется в заданно диапазоне.

Если в цикле изменяется простая переменная, то она является параметром цикла; если в цикле изменяется переменная с индексом, то индекс этой переменной является параметром цикла.

Для организации цикла с известным числом повторений в QBasic используется оператор FOR.

Структура цикла, организованного с помощью этого оператора, имеет вид:

For I=A to B step N

<операторы>

Next I

Здесь I – параметр, изменяющийся в цикле; A, B – выражения порядкового типа, обозначающие начальное и конечное значение параметра цикла. Шаг изменения параметра цикла равен N, если шаг изменения параметра N =1, то оператор step не пишется.

Порядок выполнения цикла с шагом N следующий: вычисляются значения начального и конечного значений параметра цикла; параметр I принимает начальное значение; если I меньше или равно конечному значению, исполняется тело цикла; значение параметра цикла увеличивается, т.е. I=I+N; проверяется условие A<=I<=B (для отрицательного шага, т.е. – N условие A>=I>=B) и при его выполнении цикл повторяется. Выход из цикла осуществляется, если I>B (I<B для отрицательного N) и выполняется оператор, следующий за оператором цикла. Если A>B (или A<B для отрицательного N), то цикл не исполняется ни разу.

Если в операторе цикла с параметром начальное или конечное значение параметра заданы переменными или выражениями, то значение этих переменных должны быть определены в программе до оператора цикла. Не следует внутри цикла изменять параметр цикла, его начальное и конечное значения с помощью операторов присваивания или ввода.

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

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

Эти операторы не задают закон изменения параметра цикла, поэтому необходимо перед циклом задавать начальное значение параметра с помощью оператора присваивания, а внутри цикла изменять текущее значение этого параметра.

Структура итерационного цикла имеет вид:

Здесь В – логическое выражение.

Для оператора цикла с предусловием проверяется значение логического выражения, если оно имеет значение “истено”, то операторы, входящие в цикл, выполняются, в противном случае осуществляется выполнение оператора, следующего за циклом.

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

Команды цикла применяются при решении задач на нахождения и накопления сумм, произведений. Используются при нахождении сумм числовых последовательностей (арифметических и геометрических прогрессий), которые вы изучали по алгебре в 9-м классе.

Задача 1. Дана последовательность натуральных чисел от 1 до 100. Вычислить сумму элементов последовательности.

Выполним математическую постановку задачи:

Дано: А – элемент последовательности натуральных чисел
Требуется: S – сумма элементов последовательности

Связь

S0=0
S1=0+1=S0+1
S2=0+1+2=S1+2
S3=0+1+2+3=S2+3

S100=0+1+2+3+…+99+100=S99+100

S=S+A - метод решения задачи

Разработаем алгоритм решения задачи:

алг сумма (нат А, цел S)
арг А
рез S
нач
S:=0
для А от 1 до 100 шаг 1
нц
S:=S+A
кц
вывод S
кон

Составим блок-схему:

Напишем программу:

REM ”Сумма”
CLS
S=0
FOR A=1 TO 100 STEP 1
S=S+A
NEXT A
PRINT “S=”; S
END

В результате выполнения данной программы сумма элементов последовательности будет равна 5050. Решим данную задачу с использованием итерационного цикла. Математическая постановка задачи является точно такой же. Разработаем алгоритм решения задачи:

алг сумма (нат А, S)
арг А
рез S
нач
S:=0
А:=1
пока А <=100
нц
S:=S+A
А:=А+1
кц
вывод S
кон

Составим блок-схему

Напишем программу:

REM ”Сумма”
CLS
S=0
А=1
WHILE A<= 100
S=S+A
A=A+1
WEND
PRINT “S=”; S
END













































Закрепление изученного материала (самостоятельная работа).

Задача 2. Даны два натуральных числа. Найти наибольший общий делитель.

Выполним математическую постановку задачи.

Дано: А, В – натуральные числа
Требуется: NOD – наибольший общий делитель

Связь

пока A<>B
если А>В
то А=А-В
иначе В=В-А

Разработаем алгоритм:

алг НОД (нат А, В, NOD)
арг А, В
рез NOD
нач
запрос А
запрос В
NOD:=A
пока NOD <>B
нц
если
NOD >B
то NOD:=NOD-B
иначе B:=B-NOD
все
кц
вывод NOD
кон

Составим блок-схему алгоритма:

 

Напишем программу:

REM ”NOD”
CLS
INPUT “Введите А”; A
INPUT “Введите B”; B
NOD=А
WHILE NOD<>B
IF NOD>B THEN NOD=NOD-B ELSE B=B-NOD
WEND
PRINT “NOD=”; NOD
END

Домашнее задание: Учить § 28.

Информатика. Базовый уровень: учебник для 10 класса / Семакин И. Г., Хеннер Е. К., Т.Ю. Шеина.- 5-е изд. — М.: БИНОМ. Лаборатория знаний, 2015. —264 с.

Решить задачу: Дана последовательность натуральных чисел от 1 до 15. найти произведение элементов последовательности.

 






























Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: