Начала программирования Занятие 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, г. СанктПетербург