Название: Методика преподавания информатики - Лапчик М.П.

Жанр: Информатика

Рейтинг:

Просмотров: 959


Тут же обсудите проблему ограниченности памяти в «куче», неспособность Турбо Паскаля отследить исчерпание памяти (без специальных усилий программиста) и использование в этих целях специальных средств (функций Maxavail и SizeOf), а также процедуру «очистки мусора» (Dispose).

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

Итак, на простых примерах «из жизни» можно показать полезность следующих динамических структур:

• стек (учащиеся скорее всего с этим понятием знакомы из базового курса информатики);

• линейный список с произвольным доступом (например, список учащихся класса, который может обновляться путем удаления фамилии одного учащегося с последующим смыканием списка, или, наоборот, в который можно вставить фамилию нового ученика на нужное место по алфавиту с раздвижением списка);

• очередь, в которой удаление происходит только через голову списка, авставка — только через хвост.

Облегчают понимание условные графические изображения структур (рис. 15.8).

 

 

Рис. 15.8. Иллюстрация стека и очереди

Методика программирования списков включает ряд задач: связывание компонент, смещение ссылок и т.д. Элементы таких структур методически удобнее всего представлять в виде двухкомпонентных записей. В каждой записи одно из полей — содержательное, второе — для хранения ссылки на другой компонент. Обратите внимание учащихся, что при традиционном хранении элементов в регулярной структуре (массиве) этого не требуется, поскольку каждый элемент «знает», между какими он стоит.

Рассмотрите возможную методику объяснения создания стека. Итак, задача — создать цепочку связанных динамических переменных — целых, например:

 

 

Программа может включать две процедуры: добавление очередного элемента в стек и извлечение последнего добавленного элемента (вспомним принцип организации стека: «первым пришел — последним ушел»). Целесообразно, чтобы при каждом действии программа выводила на экран текущее состояние стека. Задание это является достаточно сложным, хотя программы получаются весьма лаконичными.

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

Для ее реализации средствами Паскаля каждый элемент приходится представлять записью с тремя полями: одно — содержание, два — ссылки, рис. 15.9, б. Таким же способом можно реализовать структуру типа «направленный граф» и некоторые другие.

 

Рис. 15.9. Структура типа «двоичное дерево»

15.2. Требования к знаниям и умениям

учащихся

 

Тема «Алгоритмы.

Структурная алгоритмизация»

 

Учащиеся должны знать:

• значение понятия «алгоритм»;

• принципы структурной алгоритмизации.


Оцените книгу: 1 2 3 4 5