Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Методика обучения информатике

О способах описания алгоритмов.

Традиционно в школьной информатике используются два способа описания алгоритмов: блок-схемы и учебный Алгоритмический язык (АЯ). Целесообразно в учебном процессе использовать обе эти формы. Основное достоинство блок-схем — наглядность алгоритмической структуры. Однако это качество проявляется лишь в том случае, если изображение блок-схемы происходит стандартным способом. Основным следствием освоения учениками структурной методики должно стать умение при построении алгоритмов «мыслить структурами». Например, исходя из условия задачи, делать следующие выводы: «Алгоритм решения данной задачи будет представлять собой два вложенных цикла, или цикл с вложенным ветвлением, или два последовательных цикла» и т. п. Структурно изображенные блок-схемы (рис. 11.1а) помогают такому видению алгоритма. Вот, например, две блок-схемы, изображенные на рисунке 11.1.

Рис. 11.1

Пример структурного изображения алгоритма (а) и неструктурного изображения алгоритма (б)

На первый взгляд трудно понять, что на них изображен один и тот же алгоритм. Из схемы 11.1а четко видна его структура: цикл — пока с вложенным ветвлением. В схеме 11.16 довольно сложно усмотреть эту же структуру. Блок-схема 11.1а нарисована стандартно, блок- схема 11.16 — произвольно.

Алгоритмический язык — это текстовая форма описания алгоритма. Она ближе к языкам программирования, чем блок-схемы. Однако это еще не язык программирования. Поэтому строгого синтаксиса в алгоритмическом языке нет. Для структурирования текста алгоритма на АЯ используются строчные отступы. При этом соблюдается следующий принцип: все конструкции одного уровня вложенности записываются на одном вертикальном уровне; вложенные конструкции смещаются относительно внешней вправо. Соблюдение этих правил улучшает наглядность структуры алгоритма, однако не дает такой степени наглядности, как блок-схемы.

ЭВМ — исполнитель алгоритмов. Есть две стороны в обучении алгоритмизации:

  • • обучение структурной методике построения алгоритмов;
  • • обучение методам работы с величинами.

Решение первой задачи обсуждалось выше. Знакомясь с программным управлением исполнителями, работающими «в обстановке», ученики осваивали методику структурного программирования. При этом понятие величины могло быть не затронуто вовсе. Однако с величинами ученики уже могли встречаться в других темах курса информатики, в частности при изучении баз данных, электронных таблиц. Теперь требуется объединить навыки структурной алгоритмизации и навыки работы с величинами.

Обсуждение методических вопросов изучения темы «Алгоритмы работы с величинами» будем проводить в программистском аспекте. Составление любой программы для ЭВМ начинается с построения алгоритма. Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя, в рамках его системы команд. О каком же исполнителе идет речь в теме «программирование для ЭВМ» ? Ответ очевиден: исполнителем является компьютер. Точнее говоря, исполнителем является комплекс «ЭВМ + Система программирования (СП)». Программист составляет программу на том языке, на который ориентирована СП. Иногда в литературе по программированию такой комплекс называют «виртуальной ЭВМ». Например, компьютер с работающей системой программирования на Бейсике называют «Бейсик-машина»; компьютер с работающей системой программирования на Паскале называют «Паскаль-машина» и т. п. Схематически это изображено на рисунке 11.2.

Рис. 11.2

Взаимодействие программиста с компьютером

Входным языком такого исполнителя является язык программирования Паскаль.

При изучении элементов программирования необходимо продолжать ту же структурную линию, которая была заложена в алгоритмическом разделе. Поэтому при выборе языка программирования следует отдавать предпочтение языкам структурного программирования.

Процесс программирования делится на три этапа:

  • • составление алгоритма решения задачи;
  • • составление программы на языке программирования;
  • • отладка и тестирование программы.

Для описания алгоритмов работы с величинами следует, как и раньше, использовать блок-схемы и учебный Алгоритмический язык. Описание алгоритмов должно быть ориентировано на исполнителя со структурным входным языком независимо от того, какой язык программирования будет использоваться на следующем этапе.

Характеристики величин. Компьютер работает с информацией. Информация, обрабатываемая компьютерной программой, называется данными. Величина — это отдельный информационный объект, отдельная единица данных. Команды в компьютерной программе определяют действия, выполняемые над величинами. По отношению к программе данные делятся на исходные, результаты (окончательные данные) и промежуточные данные, которые получаются в процессе вычислений (рис. 11.3).

Рис. 11.3

Уровни данных относительно программы

Например, при решении квадратного уравнения: ах2 + Ъх + с = 0, исходными данными являются коэффициенты а, Ь, с; результатами — корни уравнения: х , х2; промежуточным данным — дискриминант уравнения: D = b2- 4ас.

Важнейшим понятием, которое должны усвоить ученики, является следующее: всякая величина занимает свое определенное место в памяти ЭВМячейку памяти.

В результате в сознании учеников должен закрепиться образ ячейки памяти, сохраняющей величину. Термин «ячейка памяти» рекомендуется употреблять и в дальнейшем для обозначения места хранения величины. С понятием величины необходимо связать ее основные свойства: значение, имя, тип.

Действия над величинами, определяемые алгоритмом (программой), основываются на следующей иерархии понятий: операция — выражение — команда или оператор — система команд (рис. 11.4).

Х.4

Рис. 1Х.4

Средства выполнения действий над величинами

Операция — простейшее законченное действие над данными. Например, арифметические операции: сложение, умножение и др.

Выражение — запись в алгоритме (программе), определяющая последовательность операций для вычисления некоторой величины.

Команда — входящее в запись алгоритма типовое предписание исполнителю выполнить некоторое законченное действие. Команды присваивания, ввода, вывода называются простыми командами; команды цикла и ветвления — составными или структурными командами.

Узловыми понятиями в программировании являются понятия переменной и присваивания. Процесс решения вычислительной задачи — это процесс последовательного изменения значений переменных. В итоге — в определенных переменных получается искомый результат. Переменная получает определенное значение в результате присваивания. Из числа команд, входящих в представленную выше СКИ, присваивание выполняют команда ввода и команда присваивания. Есть еще третий способ присваивания — передача значений через параметры подпрограмм.

Педагогический опыт показывает, что в большинстве случаев непонимание некоторыми учениками программирования происходит от непонимания смысла присваивания. Поэтому учителям рекомендуется обратить особое внимание на этот вопрос.

Команда присваивания имеет следующий вид: <переменная> := <выражение>.

Знак «:=» надо читать как «присвоить». Это инструкция, которая обозначает следующий порядок действий:

  • 1) вычислить выражение;
  • 2) присвоить полученное значение переменной.

Под вводом в программировании понимается процесс передачи данных с любого внешнего устройства в оперативную память. В рамках введения в программирование можно ограничиться узким пониманием ввода как передачи данных с устройства ввода — клавиатуры в ОЗУ. В таком случае ввод выполняется компьютером совместно с человеком. По команде ввода работа процессора прерывается и происходит ожидание действий пользователя; пользователь набирает на клавиатуре вводимые данные и нажимает клавишу <ВВОД>; значения присваиваются вводимым переменным.

Эффективным средством обучения построению алгоритмов работы с величинами является учебная программа «Конструктор алгоритмов», входящая в комплект ЦОР к УМК [35]—[40].

В результате обучения алгоритмизации учащиеся должны:

1)знать/понимать: понятие «алгоритм», основные свойства алгоритма, роль алгоритма в системах управления; способы описания алгоритмов: блок-схемы, учебный алгоритмический язык; основные алгоритмические конструкции: следование, ветвление, цикл; структуры алгоритмов; назначение вспомогательных алгоритмов; технологии построения сложных алгоритмов: метод последовательной детализации и сборочный метод; понятие величины;

основные свойства величин в алгоритмах обработки информации: имя, тип, значение; смысл команды присваивания;

  • 2) уметь: определять примерный набор допустимых действий для решения данного класса задач; пользоваться языком блок-схем, понимать описания алгоритмов на учебном алгоритмическом языке; выполнять трассировку алгоритма для известного исполнителя; составлять несложные линейные, ветвящиеся и циклические алгоритмы управления одним из учебных исполнителей; выделять подзадачи; определять и использовать вспомогательные алгоритмы;
  • 3) использовать приобретенные знания и умения в практической деятельности и повседневной жизни: распознавать, подходит ли данный исполнитель для решения задач из данного класса; использовать навыки алгоритмизации в планировании любой целенаправленной деятельности в условиях ограниченных ресурсов.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы