1.3 Учебный алгоритмический язык
Учебный алгоритмический язык - это средство для записи алгоритмов в виде, промежуточном между записью алгоритма на естественном (человеческом) языке и записью на языке ЭВМ (языке программирования).
К достоинствам учебного алгоритмического языка относится его простота, а также то, что алгоритм записывается на русском языке при помощи некоторого ограниченного числа слов, смысл и способ употребления которых строго определены. Эти слова называются служебными словами.
Для того чтобы выделять служебные слова среди других слов языка, их при письме подчеркивают.
Запись алгоритма на учебном алгоритмическом языке состоит из заголовка и тела алгоритма. Тело алгоритма заключается между ключевыми словами нач и кон и представляет собой последовательность команд алгоритма. Заголовок включает название алгоритма, отражающее его содержание, списки исходных данных (аргументов) и результатов.
Признаком заголовка алгоритма является ключевое слово алг.
Итак, алгоритм, записанный на учебном алгоритмическом языке, имеет следующую форму:
алг название алгоритма
aрг список исходных данных
рез список результатов
нач
последовательность команд алгоритма
кон
Изучение школьного алгоритмического языка целесообразно начать с команды присваивания, она является одной из основных команд.
Записывается она так:
<переменная> := <выражение>
Знак «: =» читается «присвоить».
В случае, когда величина, которой присваивается значение, входит и в правую часть команды, происходит следующее:
1) значение выражения, записанного в правой части команды присваивания, вычисляется с использованием текущих значений всех величин, входящих в это выражение;
2) переменной присваивается новое вычисленное текущее значение. При этом предшествующее значение переменной уничтожается.
Следовательно, команда b: = а + b означает, что к предыдущему текущему значению величины b прибавляется значение переменной а и полученный результат становится новым текущим значением величины b.
Этот пример иллюстрирует три основных свойства присваивания:
1) пока переменной не присвоено значение, она остается не определенной;
2) значение, присвоенное переменной, сохраняется в ней вплоть до выполнения следующего присваивания этой переменной нового значения;
3) новое значение, присвоенное переменной, заменяет ее предыдущее значение.
Теперь познакомимся с базовыми структурами, начнем с такой операции как "следование". Образуется последовательностью действий, следующих одно за другим:
действие 1
действие 2
. . . . . . . . .
действие n
Следующей рассмотрим базовую структуру "ветвление". Она обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:
1. если—то;
если условие
то действия
все
2. если—то—иначе;
если условие
то действия 1
иначе действия 2
все
3. выбор
выбор
при условие 1: действия 1
при условие 2: действия 2
. . . . . . . . . . . .
при условие N: действия N
{иначе действия N+1}
все
И, наконец, базовая структура цикл с помощью школьного алгоритмического языка будет выглядеть следующим образом.
Цикл типа пока.
Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие
тело цикла
(последовательность действий)
Кц
Цикл типа для
Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1 до i2
тело цикла
(последовательность действий)
кц
1.4 Решение трудностей изучения раздела учащимися
При изучении данной темы можно столкнуться со следующими сложностями:
· непонимание учащимися понятия «алгоритм»;
· неправильное приведение примеров алгоритма (не выполняются все его свойства, команды не входят в систему команд исполнителя);
· неправильное представление алгоритма в виде блок-схемы;
· неправильное использование простейших алгоритмических конструкций;
· отсутствие понимания принципа перевода алгоритма на формальный язык.
С первой из предложенного списка трудностей сталкиваются уже на начальном этапе изучения данной темы. В связи с этим раскрытие этого вопроса дается с использованием примеров, основанных на жизненном опыте учащихся. А также огромное значение имеет тот факт, что знакомство с алгоритмом происходит через раскрытие его неотъемлемых атрибутов или свойств, которые и позволяют некий текст (при условии представления его в словесной форме) воспринимать как алгоритм. Примеры, приводимые учителем во время урока должны отличаться разнообразием, касаться различных сфер человеческой деятельности. Это могут быть зарядка, выполняемая каждым человеком по утрам, переход через улицу, разведение костра, пришивание пуговицы, приготовление блюда по поваренной книги и другие.
Следующим этапом является закрепление понимания учащимися понятия алгоритм, и здесь возникает следующая проблема. Несмотря на то, что учащиеся знают определение и основные свойства они не могут правильно сформулировать примеры, которые являлись бы алгоритмами. Чаще всего забываются какие-нибудь важные атрибуты, им не уделяется достаточного внимания. Например, распространенной является ошибка, когда учащиеся забывают что необходимо, чтобы все действия приводили к какому-нибудь результату, а не выполнялись просто так.
Для закрепления основных понятий и для преодоления вышеназванных трудностей, связанных с определением алгоритма, полезно рассмотреть с учениками несколько заданий следующего содержания:
1. выполнить роль исполнителя: дан алгоритм, формально исполнить его;
2. определить исполнителя и систему команд для данного вида работы;
3. в рамках данной системы команд построить алгоритм;
4. определить необходимый набор исходных данных для решения задачи.
Следующая проблема связана с неправильным представлением алгоритма в виде блок-схемы. Чтобы избежать серьезных проблем с изучением этого подраздела, нужно выработать у учащихся практические навыки по разработке блок-схемы, для этого необходимо соблюдать единообразие представления основных алгоритмических конструкций, а также осуществлять многократное повторение упражнений на использованием данных схем.
Большую сложность у учащихся вызывает изучение базовых алгоритмических конструкций. Подробно необходимо остановить на каждой из них: линейность, ветвление и цикл.
Линейные алгоритмы воспринимаются легче всего, но необходимо подвести учащихся к выводу о невозможности их использования для большого круга задач.
При разборе конкретного алгоритма ветвления на схеме следует отметить разными цветами два возможных способа выполнения команды, точку входа и выхода из команды. Обязательно вслух проговаривается алгоритм с использованием ключевых слов «если», «то», «иначе». Это позволяет, во-первых, лучше усвоить данную структуру, а во-вторых, осуществить пропедевтику записи алгоритма с помощью псевдокода. Обращается внимание на то, что слева всегда записывается действие, которое будет выполнено в случае соблюдения условия, т. е. путь «да», а справа — действие, выполняемое при несоблюдении условия, т. е. путь «нет». Необходимо обратить внимание учащихся на то, что команда ветвления заканчивает свою работу, как только выполнится одна из двух предложенных команд.
Следует обсуждать с учащимися необходимость использования команды ветвления. Для этого можно задать следующие вопросы: почему алгоритм решения задачи не может иметь линейную структуру? Какое условие надо проверять при выполнении алгоритма? Какие действия выполняются при соблюдении условия, а какие — при его несоблюдении? Какая форма команды ветвления применена? В каких задачах используется данная структура алгоритма? и т. п.
В ряде учебников первой изучаемой конструкцией после команды следования является цикл, поскольку это дает возможность сократить запись алгоритма. Как правило, это конструкция «повторить n раз». Такой подход приводит к трудностям в освоении циклов как структуры организации действий, качественно отличающейся от линейной. Во-первых, другие разновидности цикла с предусловием и с постусловием (цикл «пока», цикл с параметром, цикл «до») воспринимаются как изолированные друг от друга и главный признак — повторяемость действий — не выступает в качестве системообразующего. Во-вторых, без внимания остаются опорные умения, которые необходимы при разработке циклов: правильное выделение условия продолжения или окончания цикла, правильное выделение тела цикла. Проверка условия в цикле «повторить п раз» практически не видна, и циклический алгоритм часто продолжает восприниматься учащимися как линейный, только иначе оформленный, что порождает неверный стереотип у учащихся в восприятии циклов вообще. Поэтому методически более целесообразным является изучение вначале команды ветвления, в которой используется условие, а уже затем команды повторения.
Изучение команды повторения следует начинать с введения цикла с постусловием, поскольку в этом случае учащемуся дается возможность вначале продумать команды, входящие в цикл, и только после этого сформулировать условие (вопрос) повторения этих команд. Если же сразу вводить цикл с предусловием, то учащимся придется выполнять оба эти действия одновременно, что снизит эффективность проведения занятий. В то же время цикл с постусловием рассматривается в качестве подготовки восприятия учащимися цикла с предусловием, обеспечивает перенос знаний на другой вид команды повторения, дает возможность работать по аналогии. Следует обратить внимание учащихся на то, что данные виды цикла отличаются по месту проверки условия, по условию возврата к повторению выполнения тела цикла. Если в команде повторения с постусловием тело цикла выполняется хотя бы один раз, то в команде повторения с предусловием оно может ни разу не выполняться.
Для решения последней трудности, связанной с отсутствие понимания принципа перевода алгоритма на формальный язык можно предложить следующее решение: необходимо начать изучение языка программирования с использования базовых алгоритмических конструкций, а также необходимо использовать параллельно различные формы представления алгоритма, что позволит более формально подойти к конкретному алгоритму.
... портфолио. Полезные ссылки содержат информацию по созданию, применению портфолио. Изготовленное мной портфолио ориентировано на тему "Алгоритмизация в базовом курсе информатики". Поэтому в портфолио в раздел научно-методическая работа вошли конспекты проведенных уроков, презентации и тесты, ориентированные на изучение алгоритмизации. Темы проведенных занятий: 1. Понятие алгоритма, свойства ...
... в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. Курс завершается разработкой игры. Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi. Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод. Контроль знаний и умений ...
... сообщение об ошибке, которое выводится на русском языке. Место ошибки в программе указывается после перехода в текстовый экран и нажатием клавиши <Enter>. 2.2. Запись основных алгоритмических конструкций в среде Лого Миры и их использование для решения вычислительных задач Понятие алгоритма Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно ...
... обучения информатике. Опыт таких разработок уже имеется как в нашей стране, так и за рубежом, описаны их положительные и отрицательные стороны. 1.3 Отечественный и зарубежный опыт непрерывного обучения информатике с 1 по 11 класс средней общеобразовательной школы Возраст, с которого дети начинают изучать информатику, неуклонно снижается. Об этом свидетельствует, как зарубежный, так и ...
0 комментариев