Программирование циклов

advertisement
Тема: Циклические алгоритмы
Задание:
Прочитать материал и рассмотреть приведенные примеры.
Выполнить задания, отмеченные звездочкой.
Выполнить дополнительное задание и задания без звездочки на листочке и
принести на урок 14 ноября.
Содержание
-
Теоретическая часть с примерами
Задания для самостоятельного выполнения для закрепления темы. К заданиям со
звездочкой даны ответы в конце всего материала.
Дополнительное задание.
Рассмотрим два вида организации цикла в программе.
Цикл типа ДЛЯ (цикл с параметром)
- Предписывает выполнять тело цикла для всех значений некоторой переменной
(параметра цикла) в заданном диапазоне.
- Циклы типа для применяются, когда число повторений цикла известно к началу
его выполнения.
алгоритмический язык (Кумир)
Граф-схема
нц для i от i1 до i2
тело цикла (последовательность
действий)
кц
i = i1, i2
НЕТ
ДА
тело цикла
где i – число повторений цикла, по
умолчанию =1
Пример 1
алгоритмический язык (Кумир)
S := 0
нц для i от 1 до 5
S := S + i
кц
Граф-схема
i = 1, 5
НЕТ
ДА
S := S + i
Задание 1*: Определить значение переменной S после выполнения цикла (см. пример 1).
Задание 2: определить значение переменной P после выполнения фрагмента программы
a)
b)
P:=128
нц для i от 1 до 3
нц для i от 1 до 4
P:=0
P:=P/2
нц для k от 2 до 3
P:=P+i+k
кц
кц
кц
Написать программу на алгоритмическом языке Кумир используя тип ДЛЯ :
кц
Задание 3*: Вычислить сумму натурального ряда чисел от 1 до N
Задание 4: Вычислить сумму четных значений чисел натурального ряда от K до N
(подразумевается, что К - некоторое четное число, N – любое большее К)
Цикл типа ПОКА (цикл с предусловием)
Предписывает выполнять тело цикла до тех пор, пока выполняется условие,
записанное после слова пока.
С помощью этого типа можно запрограммировать любые повторяющиеся
фрагменты алгоритмов. Чаще всего цикл пока используют когда число повторений
неизвестно или число повторений заранее известно, но шаг параметра не равен 1.
алгоритмический язык (Кумир)
Граф-схема
нц пока условие
тело цикла (последовательность
действий)
кц
условие
НЕТ
ДА
тело цикла
Пример 2
алгоритмический язык (Кумир)
i := 1
S := 0
нц пока i < 5
S := S + i
i := i + 1
кц
Граф-схема
i<5
НЕТ
ДА
S := S + i
i := i + 1
Задание 5*: определить значение переменной S после выполнения цикла (см. пример 2).
Задание 6: определить значение переменной P после выполнения фрагмента программы
a)
b)
i := 5
i := 1
P := 0
P := 0
нц пока i >1
нц пока i < >25
P := P + i * i
P := P + i * 2
i := i - 1
i := i + 6
кц
кц
Написать программу на алгоритмическом языке Кумир используя тип ПОКА :
Задание 7*: Вычислить сумму натурального ряда чисел от 1 до N
Задание 8: Вычислить сумму четных значений чисел натурального ряда от K до N
(подразумевается, что К - некоторое четное число, N – любое большее К)
Дополнительно
Пример 3: Заданы два числа, разделить одно на другое N раз. Результат вывести.
Составить блок-схему
Написать программу на школьном алгоритмическом языке используя оба
типа цикла
Выполнение:
Вариант 1
алг Числа (арг вещ A, B, N)
нач цел I
I:= 1
нц пока I <= N
A:= A/B
I:= I+1
кц
вывод “Результат вычислений:”, A
кон
Вариант 2
алг Числа (арг вещ A, B, N)
нач цел I
I:= 1
нц для I от 1 до N (пока I <=N)
A:= A/B
кц
вывод “Результат вычислений:”, A
кон
Ввод: A,B,N
I:=1
I>N
НЕТ
A := A / B
I := I + 1
Вывод: A
Задание 9:
Вычислить сумму квадратов чисел натурального ряда от 1 до N
Задание 10:
Найти сумму положительных чисел числового ряда, где А < 0
S = А + А2 + А3 + . . . + Аn
PS:
-
Для каждого из заданий 9, 10 выберите наиболее подходящий тип цикла
возведение в степень - **
ДА
Ответы и решения задач:
Задание 1: S=15
Задание 2:
a) 8
b) 11
Задание 4:
алг Числа (арг вещ N)
нач цел i
нц для i от 1 до N
A:= A+i
кц
вывод “Результат вычислений:”, A
кон
Задание 5: S=10
Задание 6:
a) 54 b) 80
Задание 7:
алг Ряд (арг вещ N)
нач цел i
i:= 1
нц пока i <= N
A:= A+i
i:= i+1
кц
вывод “Результат вычислений:”, A
кон
Задание 8:
Вычислить сумму четных значений чисел натурального ряда от K до N (подразумевается,
что К - некоторое четное число, N – любое большее К)
алг Числа (арг вещ K,N)
нач цел i
i:= K
нц пока i <= N
A:= A+i
i:= i+2
кц
вывод “Результат вычислений:”, A
кон
Задание 9:
Вычислить сумму квадратов чисел натурального ряда от 1 до N
алг Числа (арг вещ K,N)
нач цел i
S:= 0
нц для i от 1 до N
S:= S+i**2
i:= i+1
кц
вывод “Результат вычислений:”, A
кон
Задание 10:
Найти сумму положительных чисел числового ряда, где А < 0
S = А + А2 + А3 + . . . + Аn
алг Ряд (арг вещ A,n)
нач цел i, вещ S
i:= 2
S:= 0
нц пока i <= N
S:= S+A**i
i:= i+2
кц
вывод “Результат вычислений:”, S
кон
Download