Вспомогательные алгоритмы и подпрограммы

Цель: 1) познакомить учащихся с организацией действий при использовании готовых программ; 2) отработка навыка сравнительного анализа эффективности составленного алгоритма. Ход урока: I. Орг. момент - сообщение темы урока; - вопрос: Что, по вашему мнению, может означать название - «вспомогательный алгоритм»? II. В своей жизни при решении различных проблем человек часто использует вспомогательные средства, не создавая их каждый раз заново.

Рассмотрим пример: Важное место в истории развития техники занимает изобретение колеса, и с тех пор это изобретение используется в различных машинах и механизмах, но никто не придумывает колесо заново. В природе тоже можно найти такие примеры: • протоны, нейтроны и электроны являются «строительным материалом» для атомов, и в зависимости от набора тех или иных элементарных частиц, меняются свойства вещества. Но в атомах любого химического элемента эти частицы одинаковы. • существуют 20 аминокислот, которые являются основой для молекул ДНК, в которых от конфигурации набора аминокислот зависят передаваемые наследственные признаки. А теперь попробуйте сами привести подобные примеры. Сейчас вы уже сможете уточнить, что же такое «вспомогательный алгоритм».

В. А.

- алгоритм, который используется при составлении нового алгоритма в качестве вспомогательного средства. Новый алгоритм будет называться основным. Любой алгоритм может стать как основным, так и вспомогательным.

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

cellspacing=0 cellpadding=0 hspace=0 vspace=0 width=308 height=267 align=left>

вспомогательный Основной алгоритм

Но задача нахождения НОД решается для трех, для четырех и более чисел. Как можно использовать алгоритм Евклида для нахождения НОД четырех чисел? Дано А, В, С, Д 1) найти НОД(А, В) НОД(А, В)= К 2) найти НОД(К, С) НОД(А, В)= М 3) найти НОД(М, Д) НОД(А, В)= N N=НОД(А, В, С, Д) ?? Для чего мы переприсваивали значения переменных А, В, С, Д переменным X, У? - возможность неоднократного использования вспомогательного алгоритма, не изменяя его; - сохранение без изменений значений величин А, В, С, Д. Входные данные задачи - переменные А, В, С, Д - называются глобальными переменными. Переменные, являющиеся входными данными только для вспомогательного алгоритма, называются локальными переменными. IV. Итак, мы познакомились с новым способом организации действий - Использованием вспомогательного алгоритма. Перейдем к следующему этапу решения задачи - составлению программы. На языке BASIC вспомогательный алгоритм называется подпрограммой (учащиеся «переводят» алгоритм на язык программирования) При работе с основной программой после прочтения команды GOSUB процессор запоминает не только значения локальных переменных, но и номер строки, следующий за командой обращения к подпрограмме, чтобы потом вернуться и продолжить работу с основной программой. Проводим анализ эффективности использования подпрограммы для решения данной задачи. Для этого проговариваем программу, которая получилась бы без использования подпрограммы. V. ИТОГ УРОКА. ?? Подумайте, есть ли среди изученных ранее способов организации действий похожие на тот, с которым мы познакомились сегодня? Цикл ?? Что общее и в чем различия этих двух способов? Действий, но значения переменных меняются только внутри цикла, передать новые значения невозможно. ПОВТОРЕНИЕ Решения целой самостоятельной задачи; значения переменных можно передавать извне, из основной программы. Подведем итог: ?? Когда целесообразно использовать подпрограмму (т. е. готовую решенную задачу), а где можно обойтись и более простыми средствами?