Под алгоритмом обычно понимают точное, общепонятное описание определенной последовательности интеллектуальных операций, необходимых и достаточных для решения любой из задач, принадлежащих к некоторому классу.[5,63].
Психологи исследуют несколько видов алгоритмов. Основное внимание было обращено на исследование алгоритмов распознавания (т. е. таких алгоритмов, которые предписывают, что и как надо делать, чтобы распознать, к какому классу принадлежит данный объект). Это вполне естественно, если учесть роль процесса распознавания в школьной практике. В самом деле, любые преобразования, которые должен осуществлять ученик, включают в себя в качестве компонента, а часто и специальной задачи распознавание принадлежности определенному классу. Специальное обучение процессам распознавания и выяснение возможностей их алгоритмизации становятся поэтому важной задачей обучения.[10,27].
Насколько это актуально, говорит, например, анализ ошибок, возникающих при решении грамматической задачи.
Грамматическая ошибка—показатель неумения решить грамматическую задачу. Исследование показывает, что учащиеся, которые хорошо помнят все правила, делают ошибки именно потому, что не знают, как эти правила применять, не знают соответствующих методов действий и рассуждений. Не зная общих методов решения грамматических задач, учащиеся не могут дать полного ответа на вопрос, что и в какой последовательности надо делать, чтобы распознать данное грамматическое явление (например, является ли данноепредложение сложносочиненным или сложноподчиненным).Психологи отмечают большую разнородность приемов решения одной и той же задачи разными учащимися. Было замечено также, что, разбирая какое-либо предложение, ученик идет одним путем, разбирая следующее, аналогичное,— другим, хотя самом деле метод действия в обоих случаях должен быть общим, единым. В связи с этим у учащихся часто возникает неуверенность в своих действиях и решениях.Часто ошибки возникают оттого, что учащиеся знают и применяют лишь часть операций, необходимых для распознавания того или иного грамматического явления, или пользуются ими не в той последовательности, в которой необходимо.[3,34].
Обучение алгоритмам можно производить по-разному. Можно, например, давать учащимся алгоритмы в готовом виде, чтобы они могли их просто заучивать, а затем закреплять во время упражнений. Но можно и так организовать учебный процесс, чтобы алгоритмы «открывались» самими учащимися. Этот способ, наиболее ценный в дидактическом отношении, требует, однако, больших затрат времени. Сначала учебные алгоритмы разрабатывались главным разом на материале грамматики русского языка, затем в «орбиту» алгоритмического подхода стали включаться другие учебные предметы.
Составив алгоритмы анализа (распознавания), скажем, синтаксических явлений, ученые начали обучать им учащихся так же, как алгоритмам деления или умножения в арифметике. При этом применение алгоритма к решению синтаксической задачи с такой же необходимостью должно было приводить к определению правильной пунктуации, с какой применение алгоритма деления двух чисел приводит к получению правильного частного. Обучающий эксперимент начинался с так называемого «логического урока», во время которого на простых примерах школьников подводили к пониманию отношений, лежащих в основе распознавания тех или иных синтаксических явлений. Затем усвоение этих отношений закреплялось в ходе алгоритмизованного разбора конкретного синтаксического явления.[16,19].
В целях оперативного контроля за усвоением алгоритма ученые предложили ввести особым образом составленные тетради для самостоятельных работ. Для этих тетрадей были разработаны специальные типы заданий-упражнений. Их специфика состоит в том, что, выполняя такие задания, ученик должен расчленить процесс решения на отдельные операции, а затем с необходимостью все их производить, ясно и четко осознавая каждую из них. Ученик не может уклониться от выполнения необходимой работы, поскольку он должен фиксировать в тетради результаты каждой операции (все они строго пронумерованы и расположены в определенном порядке).
Благодаря ведению таких тетрадей учитель имеет возможность значительную часть работы по контролю осуществлять прямо на уроке, в то время, когда учащиеся выполняют задание. Результаты эксперимента оказались достаточно убедительны.[14,64].
Не оспаривая эффективность такого способа обучения, его оппоненты выдвигают все же ряд возражений. Высказывается опасение, что обучение алгоритмам может привести к стандартизации мышления, к подавлению творческих сил детей. Но, отвечают сторонники алгоритмизации, надо воспитывать не только творческое мышление. Огромное место в обучении занимает выработка различных автоматизированных действий — навыков. Эти навыки — необходимый компонент творческого процесса, без них он просто невозможен. Далее, обучение алгоритмам не сводится к заучиванию их. Оно предполагает и самостоятельное открытие, построение и формирование алгоритмов, а это есть творческий процесс. Таким образом, алгоритмизация может быть прекрасным средством обучения творческому мышлению. Наконец, алгоритмизация охватывает далеко не весь учебный процесс, а лишь те его компоненты, где она представляется целесообразной.
Неверно представлять дело и так, будто алгоритмизация, автоматизируя некоторые стороны учебной деятельности, в какой-то мере умаляет роль учителя. Учитель, по убеждению сторонников этого способа обучения, был и останется главной фигурой в обучении. На нем по-прежнему будут лежать функции организации коллектива и воспитания учеников. Влияние его личности не сможет заменить никакое алгоритмизованное пособие или обучающая машина. Неосновательно и мнение, что алгоритмы представляют собой некоторый сверхпрограммный материал, осложняющий учебный процесс. Дополнительная нагрузка и трудности для учащихся создаются не тогда, когда в их умственную деятельность вносится определенный порядок и система, а когда эти порядок и система отсутствуют.
1.3. Алгоритм и его основные виды.
Алгоритм — одно из важнейших понятии информатики. Алгоритм —точное, однозначно понимаемое предписание о выполнении в указанной последовательности операций (действии), приводящих к решению любой из задач, принадлежащих к некоторому классу (или типу). Предписываемые операции (действия) должны быть доступны адресату. Они могут быть как элементарными (простейшими), так и сложными, основанными на элементарных. К алгоритмам предъявляются требования:
· однозначности предписываемых действий и операций;
· результативности, предполагающей, что при выполнении конечного числа операций будет получен искомый результат;
· массовости, означающей, что алгоритм применим к решению целого класса задач. [6,39]
В процессе решения задачи по алгоритму должны присутствовать: само предписание, состоящее из указаний (команд) о выполнении действий или операций над определёнными объектами и обычно фиксированное (в виде схем, слов, знаков) на тех или иных материальных носителях; система-исполнитель (человек или машина), к которой эти указания адресованы и которая их выполняет; объекты, на которые направлены действия или операции которые под их воздействием преобразуются.
Примером алгоритма может служить известный способ сложения двух чисел «столбиком». Этот алгоритм можно представить в виде системы указаний: выделить в слагаемых разряды единиц и сложить единицы, если полученная сумма меньше 10, записать её в разряде единиц под нижним числом, если сумма больше или равна 10, записать в разряде единиц только кол-во единиц; выделить в слагаемых разряд десятков и записать полученный при сложении единиц десяток над разрядом десятков 1-го (верхнего) слагаемого; сложить десятки и т. д. Аналогичные указания даются для сложения единиц других разрядов числа. Системой-исполнителем данного алгоритма может быть как ЭВМ, так и человек.
В теорию и практику обучения понятие алгоритма вошло в кон. 50-х гг. в связи с развитием программированного обучения и применением обучающих машин.
Участие человека в учебном процессе накладывает ряд ограничений на использование алгоритмов. При создании алгоритма для ЭВМ составителю алгоритма точно известен набор доступных ей операций. Возможности человека определяются его предыдущим приобретённым опытом, творческими данными и др. индивидуальными факторами, которые полностью учесть практически невозможно. Поэтому при разработке алгоритмов для человека требования конструктивности и результативности алгоритмов выполняются с известным приближением. Алгоритмы, предназначенные для использования их человеком, иногда называют предписаниями алгоритмического типа, а чаще — просто предписаниями. Возможность решения задач с помощью таких предписаний носит вероятностный характер и зависит от целого ряда индивидуальных особенностей исполнителя (его интеллектуального уровня, внимания, эмоционального состояния и др.)