ПЕДАГОГИЧЕСКИЕ И МЕТОДИЧЕСКИЕ АСПЕКТЫ ВВЕДЕНИЯ ПОНЯТИЯ «ВСПОМОГАТЕЛЬНЫЙ АЛГОРИТМ» НА ПРОПЕДЕВТИЧЕСКОМ ЭТАПЕ НЕПРЕРЫВНОГО КУРСА ИНФОРМАТИКИ В ОБЩЕОБРАЗОВАТЕЛЬНОЙ ШКОЛЕ.
Студентки 4 курса ФМФ: Алаева К.А. Фомина Е.Н.,
Научные руководители:
доцент Николаева И.В.,
доцент Богомолова Л.И.
На педагогической практике по информатике нам было предложено разработать и апробировать на уроках учебный материал по содержательной линии «Алгоритмизация и программирование» на пропедевтическом этапе изучения. Одной из основных идей, которую мы решили реализовать на педагогической практике по информатике являлась идея осуществить «учение» таким образом, чтобы ученики не просто знакомились с теорией предмета, а видели источники возникновения ее и практическую целесообразность изучения предложенных тем. Не просто решали задачи, предложенные учителем, приобретая нужные навыки и умения, а рассматривали условия, в которых возникают задачи данного типа. Для того, чтобы учащиеся активно, сознательно и самостоятельно решали доступные (намеченные учителем) познавательные задачи, «переоткрывали» новые команды, новые программные модули в описании алгоритмов решения практических задач, мы широко использовали такую форму обучения, как эвристическую беседу. Выстраивали беседу таким образом, чтобы учащиеся на основе имеющихся знаний, наблюдений, личного жизненного опыта формировали новые понятия, новые правила. Тема «Вспомогательные алгоритмы» является одной из основных и трудно усваиваемых тем содержательной линии «Алгоритмизация и программирование». С использованием современных методик обучения, имитируемых на компьютере исполнителей, таких как Чертежник, Робот, овладение учебным материалом этой темы становится доступным даже для младших школьников. Основными понятиями темы являются: вспомогательный алгоритм (подпрограмма), команда обращения к вспомогательному алгоритму, формальные и фактические параметры, параметры-значения, параметры-переменные, параметры-константы и др. При написании алгоритма решения практической задачи часто некоторую последовательность команд требуется повторить в нескольких местах программы. В языках программирования есть возможность этой повторяющейся последовательности команд присвоить некоторое имя и использовать это имя в алгоритме в качестве сокращенной записи, вместо соответствующей последовательности операторов. Такую последовательность повторяющихся команд обычно оформляют в виде вспомогательного алгоритма. Итак, набор повторяющихся команд в основном алгоритме заменяют одной командой — командой вызова вспомогательного алгоритма, состоящей на первых порах только из имени вспомогательного алгоритма. Вспомогательный алгоритм (подпрограмма) является не только средством сокращения текста алгоритма (программы), но и одним из многих фундаментальных инструментов, оказывающих решающее влияние на стиль, качество, надежность разработки алгоритмов. Вспомогательный алгоритм выступает как средство декомпозиции основного алгоритма на логические, замкнутые компоненты. Декомпозиция существенно повышает понятность алгоритма, особенно если текст его сложен и труднообозрим. Поэтому вспомогательные алгоритмы рекомендуется использовать даже в тех случаях, когда он вызывается однократно. По существу, умение выделять в алгоритме решение практической задачи вспомогательные алгоритмы или выделять в задаче различные подзадачи является одним из фундаментальных. Структуризация задачи — одна из основных линий информатики. Выработка соответствующих умений и стиля мышления — одна из конечных целей предмета. При изучении этой темы учащиеся встречаются впервые с систематическим применением метода последовательного уточнения алгоритма. Применение метода последовательного уточнения даже в несложных задачах содержит элементы исследовательской деятельности. Этот метод — важный компонент алгоритмической культуры учащихся, овладение им имеет общеобразовательное значение. Выделение в основном алгоритме вспомогательных алгоритмов позволяет вести разработку основного алгоритма сложной задачи разным группам программистов. При этом существенно используется свойство «замкнутости» вспомогательного алгоритма, когда все объекты, употребляемые внутри вспомогательного алгоритма, существуют только в рамках этого вспомогательного алгоритма и не существуют вне его. Если в нескольких местах основного алгоритма последовательности команд близки, но не идентичны, то задавая параметры при обращении к вспомогательному алгоритму, его можно настроить на конкретное выполнение. При использовании вспомогательного алгоритма, как правило, никто не интересуется, из каких операторов он состоит. Важно только знать, каковы исходные данные (аргументы) этого вспомогательного алгоритма и что является результатом его работы. Урок по введению понятий «основной алгоритм», «вспомогательный алгоритм», «команда обращения к вспомогательному алгоритму» мы предлагаем начать с анализа домашнего задания. На дом на предыдущем уроке по информатике были заданы два опережающих задания.
Задание 1: Составьте алгоритм, по которому Чертежник напишет слово «МАМА».
Задание 2: Певец должен выступать на концерте, мелодию он разучил, а вот слова автор не дописал, еще работает над текстом. И поэтому певец получит текст песни только перед концертом, заранее певец текст песни запомнить не может, и вынужден будет петь «с листа». В руке он может держать только один лист бумаги, а вот автор говорит, что текст песни будет приблизительно занимать полтора листа А4. Помогите певцу найти выход из сложившейся ситуации. (Учащиеся получили текст песни, содержащей 3 куплета и 3, одинаковых по содержанию, припева).
Первое задание учащиеся выполнили так, как показано в текст 1. В задании 2 учащиеся предложили припев написать один раз в конце текста, дав ему имя «ПРИПЕВ», а после каждого куплета написать слово «ПРИПЕВ».. Учитель проводит беседу по выполнению задания 2. Вопрос учителя: Вы написали команду певцу «ПРИПЕВ». Как эту команду выполнит певец? Ответ учеников: Певец запомнит место расположения этой команды, затем найдет последовательность строк текста с именем «ПРИПЕВ», исполнит припев и вернется на исполнения текста куплета следующего за командой обращения к припеву. Далее предлагается ученикам, предположив, что они разработчики системы программирования, разработать новые команды и структуры языка для компактного написания программы решения задачи1.
алг МАМА дано надо нач |букваМ сместиться на вектор (1,0); опустить перо; сместиться на вектор (0,4); сместиться на вектор (1,-2); сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо |букваА сместиться на вектор (1,0) |букваМ сместиться на вектор (1,0) опустить перо сместиться на вектор (0,4) сместиться на вектор (1,-2) сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо |букваА сместиться на вектор (1,0) кон текст1 | алг МАМА дано надо нач букваМ букваА букваМ букваА кон алг букваМ дано надо нач сместиться на вектор (1,0) опустить перо сместиться на вектор (0,4) сместиться на вектор (1,-2) сместиться на вектор (1,2) сместиться на вектор (0,-4) поднять перо кон алг букваА дано надо нач сместиться на вектор (1,0) опустить перо сместиться на вектор (1,4) сместиться на вектор (1,-4) сместиться на вектор (-0.5,2) сместиться на вектор (1,0) поднять перо сместиться на вектор (1.5,-2) кон
|