Similar presentations:
Программирование на алгоритмическом языке. Циклы
1. Программирование на алгоритмическом языке
1Программирование
на алгоритмическом
языке
Тема: Циклы
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
2. Циклы
Программирование на алгоритмическом языке2
Циклы
Цикл – это многократное выполнение одинаковых
действий.
• цикл с известным числом шагов
• цикл с неизвестным числом шагов (цикл с
условием)
Задача. Вывести на экран 5 раз слово «Привет».
Особенность: одинаковые действия выполняются 5 раз.
?
Можно ли решить известными методами?
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
3. Циклы
Программирование на алгоритмическом языке3
Циклы
алг Привет
нач
вывод "Привет",
вывод "Привет",
вывод "Привет",
вывод "Привет",
вывод "Привет",
кон
?
К. Поляков, 2010-2011
нс
нс
нс
нс
нс
Что плохо?
http://kpolyakov.narod.ru
4. Циклы
Программирование на алгоритмическом языке4
Циклы
начало цикла
конец цикла
?
К. Поляков, 2010-2011
алг Привет
тело цикла
нач
нц 5 раз
вывод "Привет!", нс
кц
кон
Как выглядит блок-схема?
http://kpolyakov.narod.ru
5. Циклы
Программирование на алгоритмическом языке5
Циклы
Блок-схема:
начало
сделали 5 раз?
да
конец
нет
вывод "Привет!"
тело цикла
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
6. Число шагов – переменная
Программирование на алгоритмическом языке6
Число шагов – переменная
Задача: ввести количество повторения с клавиатуры.
алг Привет
нач
цел N
вывод "Сколько раз?", нс
ввод N
нц N раз
вывод "Привет!", нс
кц
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
7. Задания
Программирование на алгоритмическом языке7
Задания
1: Ввести натуральное число и вывести в строчку все
числа от 1 до этого числа.
Пример:
Введите натуральное число:
4
Ответ: 1 2 3 4
2: Ввести два целых числа, найти их произведение, не
используя операцию умножения.
Пример:
Введите два числа:
4
15
4*15=60
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
8. Задания
Программирование на алгоритмическом языке8
Задания
3: Ввести натуральное число N и найти сумму всех
чисел от 1 до N (1+2+3+…+N).
Пример:
Введите число слагаемых:
100
Сумма чисел от 1 до 100 равна 5050
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
9. Циклы
Программирование на алгоритмическом языке9
Циклы
алг Привет
? Как отсчитать ровно 5 раз?
нач
нц 5 раз
вывод "Привет!", нс
кц
кон
?
Как запоминать, сколько раз
уже сделали?
N := N + 1
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
10. Блок-схема алгоритма
Программирование на алгоритмическом языке10
Блок-схема алгоритма
начало
еще не сделали ни
одного раза
N := 0
проверить, все ли сделали
N = 5?
цикл
да
конец
нет
вывод "Привет!"
N := N + 1
К. Поляков, 2010-2011
считаем
очередной шаг
http://kpolyakov.narod.ru
11. Цикл с условием
Программирование на алгоритмическом языке11
Цикл с условием
алг Привет 2
нач
цел N
N:= 0
нц пока N <> 5
вывод "Привет!", нс
N:= N + 1
кц
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
12. Цикл с условием
Программирование на алгоритмическом языке12
Цикл с условием
Вместо знаков вопроса добавьте числа и операторы так,
чтобы цикл выполнился ровно 5 раз:
алг Привет 3
нач
цел N
N:= 5
0
нц пока N <> ???
вывод "Привет!", нс
??? N - 1
N:=
кц
кон
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
13. Что получим?
Программирование на алгоритмическом языке13
Что получим?
алг Пример 1
нач
цел N
N:= 1
нц пока N <= 5
вывод N, нс
N:= N + 1
кц
кон
К. Поляков, 2010-2011
1
2
3
4
5
http://kpolyakov.narod.ru
14. Что получим?
Программирование на алгоритмическом языке14
Что получим?
алг Пример 2
нач
цел N
N:= 1
нц пока N <= 5
вывод N, нс
N:= N + 2
кц
кон
К. Поляков, 2010-2011
1
3
5
http://kpolyakov.narod.ru
15. Что получим?
Программирование на алгоритмическом языке15
Что получим?
алг Пример 3
нач
цел N
N:= 2
нц пока N <> 5
вывод N, нс
N:= N + 2
кц
кон
!
2
4
6
8
10
12
14
16
...
Условие цикла никогда не станет ложным – это
зацикливание!
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
16. Что получим?
Программирование на алгоритмическом языке16
Что получим?
алг Пример 4
нач
цел N
N:= 1
нц пока N <= 5
вывод N*N*N, нс
N:= N + 1
кц
кон
К. Поляков, 2010-2011
1
8
27
64
125
http://kpolyakov.narod.ru
17. Что получим?
Программирование на алгоритмическом языке17
Что получим?
алг Пример 5
нач
цел N
N:= 5
нц пока N >= 1
вывод N*N*N, нс
N:= N - 1
кц
кон
К. Поляков, 2010-2011
125
64
27
8
1
http://kpolyakov.narod.ru
18. Задания
Программирование на алгоритмическом языке18
Задания
4: Ввести натуральное число вывести квадраты и
кубы всех чисел от 1 до этого числа.
Пример:
Введите натуральное число:
3
1: 1 1
2: 4 8
3: 9 27
5: Ввести два целых числа a и b (a ≤ b) и вывести
квадраты все чисел от a до b.
Пример:
Введите два числа:
4 5
4*4=16
5*5=25
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
19. Задания
Программирование на алгоритмическом языке19
Задания
6: Ввести два целых числа a и b (a ≤ b) и вывести
сумму квадратов всех чисел от a до b.
Пример:
Введите два числа:
4 10
Сумма квадратов 371
К. Поляков, 2010-2011
http://kpolyakov.narod.ru
20. Домашнее задание:
Программирование на алгоритмическом языке20
Домашнее задание:
Задачи 1-6 со слайдов 7, 8, 18, 19 выполнить в
программе КУМир и прислать либо в Дневнике
ру, либо на адрес e-mail: [email protected]
К. Поляков, 2010-2011
http://kpolyakov.narod.ru