Ряд(6)

advertisement
Начала программирования
Занятие 18. Пошаговая
детализация алгоритма.
Подпрограммы-функции.
Задача
Задача: использовать вспомогательный алгоритм
Ряд, при вызове которого можно указать длину
ряда:
Ряд(6)
3
Алгоритмы с параметрами
параметр
алгоритма
алг Ряд (цел N)
нач
нц N
5 раз
вправо
закрасить
кц
кон
Параметры – это дополнительные данные для
работы вспомогательного алгоритма.
4
Алгоритмы с параметрами
использовать Робот
алг С параметрами
нач
Ряд(6)
вниз; вниз
нц 5 раз влево кц
Ряд(4)
вниз; вниз
нц 4 раз влево кц
Ряд(5)
вниз; вниз
нц 3 раз влево кц
Ряд(3)
вправо
кон
5
Вложенные циклы
использовать Робот
алг Прямоугольник
нач
нц 6 раз
вправо
закрасить
кц
вниз
нц 6 раз
влево
кц
кон
повторить 5 раз
?
Где остановится?
6
Вложенные циклы
!
использовать Робот
алг Прямоугольник
нач
нц 5 раз
нц 6 раз
вправо
закрасить
кц
вниз
нц 6 раз влево кц
Вложенный цикл –
кц
это цикл внутри
нц 7 раз вправо кц
другого цикла.
нц 5 раз вверх кц
кон
7
Цикл с переменной
Задача: использовать двойной цикл.
?
В чем сложность?
8
Алгоритмы с результатом
Задача. Измерить неизвестную длину стенки и
вывести результат на экран, используя команду
вывод.
использовать Робот
алг Измерение
вспомогательный
нач
алгоритм
цел д
д:= Длина стенки
вывод "Длина стенки ", д
кон
!
Вспомогательный алгоритм возвращает
результат – число!
9
Алгоритмы с результатом
результат
алгоритма –
целое число
результат
алгоритма –
значение N
алг цел Длина стенки
нач
нц пока справа свободно
вправо
кц
нц пока справа стена
вниз
кц
вверх
цел N = 0
нц пока справа стена
вверх
N:=N+1
кц
вправо
знач:= N
кон
Задание
Написать функцию определения
расстояния до стенки.
11
Максимум из трех
начало
a
нет
b
a > b?
x:= b
x
да
x:= a
c
x
нет
c > x?
да
x:= c
?
Где ответ?
конец
12
Максимум из трех
результат – целое число
алг цел Макс3(цел a, b, c)
нач
цел x
внутренняя (локальная)
если a > b
переменная
то x:= a
иначе x:= b
все
если c > x то x:= c все
знач := x
кон
результат (значение)
функции
13
Максимум из трех
алг Максимум
нач
цел Z, X, C, M
вывод "Введите три числа "
ввод Z, X, C
M:= Макс3(Z, X, C)
вызов функции
вывод "Максимум: ", M
кон
алг цел Макс3(цел a, b, c)
нач
...
имена параметров
кон
могут быть любые!
14
Максимум из пяти
?
Как с помощью этой функции найти максимум из
пяти чисел?
алг Максимум
нач
цел Z, X, C, V, B, M
ввод Z, X, C, V, B
???
M:= Макс3( Макс3(Z,X,C),
V, B)
вывод "Максимум: ", M
кон
алг цел Макс3(цел a, b, c)
нач
...
кон
Использованы материалы презентаций
Полякова Константина Юрьевича,
учителя информатики высшей
категории, ГОУ СОШ № 163, г. СанктПетербург
Download