Развитию логического мышления способствует формирование навыков построения алгоритмов. Поэтому в курс информатики включен раздел «Основы алгоритмизации». Основная цель раздела – формирование у школьников основ алгоритмического мышления.
Под способностью алгоритмически мыслить понимается умение решать задачи различного происхождения, требующие составления плана действий для достижения желаемого результата.
Алгоритмическое мышление, наряду с алгебраическим и геометрическим является необходимой частью научного взгляда на мир.
В образовательном стандарте базового курса по информатики и ИКТ основное содержание по линии алгоритмизации определяется через следующие понятия:
-алгоритм, свойства алгоритма, способы записи алгоритмов;
-исполнители алгоритмов (назначение, среда, режим работы, система команд);
-компьютер как формальный исполнитель алгоритмов;
-основные алгоритмические конструкции (следование, ветвление, повторение);
-разбиение задачи на подзадачи, вспомогательный алгоритм;
- алгоритмы работы с величинами (тип данных, ввод и вывод данных).
Понятие алгоритма относится к исходным математическим понятиям, поэтому не может быть определено через другие, более простые понятия. Из-за этого определение алгоритма в школьных учебниках по информатике отличается большим разнообразием. Вот некоторые из них:
В учебнике И.Г. Семакина и др. алгоритм определяется как последовательность команд, управляющих работой какого-либо объекта, и далее дается более строгое определение – понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
В учебнике А.Г. Кушниренко алгоритм определяется как программа, записанная на специальном школьном алгоритмическом языке.
В учебнике Н.Д. Угриновича алгоритм вводится как чёткое описание последовательности действий.
Каждый человек постоянно выполняет алгоритмы. Обычно нет необходимости думать о том, какие действия и в каком порядке при этом совершаются. Если же алгоритм требуется объяснить человеку, ранее с ним незнакомому (или, скажем, ЭВМ), то алгоритм необходимо представить в виде четкой последовательности простейших действий.
Любой формальный исполнитель (в том числе и ЭВМ) рассчитан на выполнение ограниченного набора действий (операций). При работе с ним учащиеся сталкиваются с необходимостью построения алгоритмов с использованием фиксированного набора операций (системы команд).
Под алгоритмической культурой школьников понимается совокупность специфических представлений, умений и навыков, связанных с понятием алгоритма и средствами его записи.
Таким образом, понятие алгоритма является первым этапом формирования у учащихся представлений об автоматической обработке информации на ЭВМ.
Алгоритмы используются при решении не только вычислительных задач, но и для решения большинства практических задач.
При построении алгоритмов учащиеся учатся анализировать, сравнивать, описывать планы действий, делать выводы; у них вырабатываются навыки излагать свои мысли в строгой логической последовательности.
Подбирая задания при изучении основных алгоритмических конструкций необходимо учитывать следующие аспекты:
Какие мыслительные операции будут «работать» при ее решении;
Будет ли сама постановка задачи способствовать активизации мышления учащихся;
Какие критерии развития мышления можно применить в ходе решения этой задачи.
Чтобы при разборе задачи направить обсуждение в нужное русло, рекомендуется использовать побуждающие вопросы. Эти вопросы носят открытый характер, т.е. не предполагают какого-либо единственного «правильного» ответа. Учащиеся ведут активный и свободный интеллектуальный поиск, сообразно со своими личными мыслительными способностями.
Например, можно использовать следующий блок побуждающих вопросов с последующей фиксацией мыслительных операций, которыми будут пользоваться учащиеся при решении задачи «Дан одномерный массив А, размерность которого равна 10. Определить число элементов в массиве, значение которых кратно 5.»
Вопрос |
Мыслительные операции, которыми будут пользоваться учащиеся |
Прочитайте задачу. Из скольких этапов, по-вашему, будет состоять ее решение? (3 этапа – ввод, вывод массива и определение кратности) |
1. Анализ задачи (выделение исходных данных, результата), синтез (выделение этапов).
|
В чем суть математического понятия «кратность»? (Деление без остатка на заданное число; частное - целое число) |
2. Анализ - синтез - конкретизация – обобщение - суждение (ученик должен из множества имеющейся информации выделить нужную - понятие «кратность», вспомнить ее суть, обобщить, сделать вывод). |
На основании каких математических законов, правил мы делаем вывод о кратности чисел? (признаки делимости, таблица умножения). |
3. синтез - обобщение – суждение (повторение признаков делимости) |
При разработке алгоритмов необходимо использовать только базовые конструкции и стандартным образом их изображать, что позволит облегчить понимание структуры алгоритма, отвлечься от несущественных деталей и сконцентрировать внимание учащихся на нахождении способа решения задачи.
Использование блок-схемы позволяет высветить сущность выполняемого процесса, дать определение командам ветвления и повторения, которое будет понято учащимися, запомнено и применено в их учебной деятельности.
В ряде учебников первой изучаемой конструкцией после команды следования является цикл, поскольку это дает возможность сократить запись алгоритма. Как правило, это конструкция «повторить n раз». Такой подход приводит к трудностям в освоении циклов как структуры организации действий, качественно отличающейся от линейной.
Во-первых, другие разновидности цикла с предусловием и с постусловием (цикл «пока», цикл с параметром, цикл «до») воспринимаются как изолированные друг от друга и главный признак — повторяемость действий — не выступает в качестве системообразующего.
Во-вторых, без внимания остаются опорные умения, которые необходимы при разработке циклов: правильное выделение условия продолжения или окончания цикла, правильное выделение тела цикла. Проверка условия в цикле «повторить n раз» практически не видна, и циклический алгоритм часто продолжает восприниматься учащимися как линейный, только иначе оформленный, что порождает неверный стереотип у учащихся в восприятии циклов вообще.
Изучение команды повторения следует начинать с введения цикла с постусловием, поскольку в этом случае учащемуся дается возможность вначале продумать команды, входящие в цикл, и только после этого сформулировать условие (вопрос) повторения этих команд. Если же сразу вводить цикл с предусловием, то учащимся придется выполнять оба эти действия одновременно, что снизит эффективность проведения занятий. В то же время цикл с постусловием рассматривается в качестве подготовки восприятия учащимися цикла с предусловием, обеспечивает перенос знаний на другой вид команды повторения, дает возможность работать по аналогии. Следует обратить внимание учащихся на то, что данные виды цикла отличаются по месту проверки условия, по условию возврата к повторению выполнения тела цикла. Если в команде повторения с постусловием тело цикла выполняется хотя бы один раз, то в команде повторения с предусловием оно может ни разу не выполняться.
Среди определений понятия «команда повторения» в учебной литературе встречается такое: цикл — это команды алгоритма, которые позволяют несколько раз повторить одну и ту же группу команд. В данной формулировке не сказано, почему имеется возможность повторения и сколько раз можно повторять, почему повторяется обязательно группа команд. Опираясь на структурную схему команды повторения, можно предложить следующее определение.
Повторение - это составная команда алгоритма, в которой в зависимости от соблюдения условия может повторяться выполнение действия.