Линейные списки. Стек. Дек. Очередь
end
else иначе добавляем в список
begin
New(PointerEndList ^.Next); Создаем новую ссылку
PointerEndList := PointerEndList ^.Next;
Указателю присвоить ссылку на след. элемент
PointerEndList ^.Info := X;
PointerEndList ^.Next := nil;
end;
end;
Удаление элемента из списка.
procedure DeleteFromList(Position: Integer);
Удаляет элемент под номером Position
begin
q := ListBegin; Присваивается ссылка на первый элемент
if q <> nil then Если список не пуст, то
begin
if Position = 0 then Если позиция = 0, то удаляем первый элемент
begin
ListBegin := q^. Next;
if q <> nil then Dispose(q);
end
else
begin
i := 0;
while (i < Position - 1) and (q <> nil) do
Ищем элемент после которого нужно удалить
begin
q := q^. Next;
Inc(i);
end;
r := q^. Next;
if r <> nil then Если удаляемый элемент существует, то
удаляем его
begin
q^. Next := r^. Next;
if r <> nil then Dispose(r);
end
end;
end
end;
Глава 2. Разработка факультативного курса «Динамические типы данных»
2.1 Методические рекомендации по введению факультативного курса в школе
В системе школьных факультативов необходимо изучение информатики с
большей полнотой. Это требует в свою очередь особенно тщательного отбора
материала который может быть хорошо усвоен учащимися за ограниченное
количество часов.
Разработанный нами факультатив рассчитан на 14 часов.
Задачи факультатива:
1) Ввести понятие линейного списка, однонаправленного и двунаправленного
списка, циклического списка, стека, дека и очереди;
2) Сформировать познавательный интерес у учащихся к информатике;
3) Развить у учащихся творческие способности.
Цель первого урока – дать учащимся на качественном уровне необходимый
подготовительный материал, который включает в себя:
1) Определение линейного списка.
2) Операции со списками.
3) Виды списков.
4) Связанное распределение.
5) Динамические переменные.
На 2 – 6 уроках учащиеся знакомятся со списками более глубже. Седьмой
урок итоговый. Учащимся предлагается тестовая программа, в которой они
отвечают на вопросы и оценивают результаты полученных знаний. В целом же
факультатив рассчитан на семь двух часовых занятий.
Общая структура факультатива такова:
|№ урока |Тема |Кол-во |
| | |часов |
|№1. |Списки |2 |
|№2. |Однонаправленный и двунаправленный список |2 |
|№3. |Циклический список |2 |
|№4. |Очередь |2 |
|№5. |Стек |2 |
|№6. |Дек |2 |
|№7. |Тест |2 |
Конспекты уроков
Тема: «Очередь»
Цели:
1. Раскрыть понятие линейного списка «Очередь».
2. Научиться использовать «Очередь» на практике при решении задач.
3. Сформировать у учащихся познавательный интерес к информатике.
|№ |Этап урока |Время (мин.) |
|1. |Организационный момент |2 |
|2. |Подготовка к лабораторной работе |10 |
|3. |Выполнение лабораторной работы |20 |
|4. |Закрепление |8 |
Лабораторная работа №4 по теме «Очередь».
1. Нажмите кнопку "Теория" для очереди.
Внимательно изучите теоретический материал.
2. Нажмите кнопку "Обновить" для формирования списков.
Кнопки ">" служат для перемещения курсора по очереди.
а) Переместитесь вправо до 3 элемента;
б) Переместитесь влево (см. коментарии);
Кнопка "Добавить" служит для добавления элемента в очередь.
а) Добавьте 1, 4, 5-м элементами число 99;
б) Добавьте последним число 999;
Кнопка "Удалить" служит для удаления элемента из очереди.
Удалите 1, 2, 3 элементы;
3. На листе формата А4, опишите ход проделанной работы.
Ответьте на поставленные вопросы:
1) Как удаляется и добавляется элементы в очереди?
2) В чем различие и сходство очереди и однонаправленного списка?
3) Что называется головой и хвостом очереди?
4) Как располагаются элементы в очереди?
________________________________________________________________
Задачи для самостоятельного решения:
1) Пусть уже построена очередь Q, содержащая целые числа. Вычислить сумму и
произведение элементов, находящихся в очереди.
2) Пусть уже построена очередь Q, содержащая целые числа. Сформировать
новую очередь P, состоящую из элементов очереди Q, кратных числу 3.
3) Пусть уже построена очередь Q, содержащая целые числа. Вычислить
количество простых чисел, находящихся в очереди.
|Учитель |Ученик |ПК |Тетрадь |
|2 этап - Подготовка к лабораторной работе |
|Запускаем демонстрационную |Знакомится с |Теоретически|Определение|
|программу. Нажмите кнопку |новым |й материал |«очереди». |
|теория. Перед вами появилось|материалом. |по теме |Порядок |
|окно с теоретическим | |«очередь». |расположени|
|материалом. Внимательно | | |я данных. |
|ознакомьтесь с новым | | |Примеры |
|материалом. Обратите | | |создания |
|внимание на примеры создания| | |очереди и |
|очереди и получения элемента| | |получения |
|из очереди. Провести | | |элемента из|
|аналогию между очередью и | | |очереди. |
|однонаправленным списком. | | | |
|3 этап - Выполнение лабораторной работы |
|Открываем лабораторную |Выполняет |Лабораторная| |
|работу №4. |лабораторную |работа | |
|Внимательно читаем задание и|работу. |№4. | |
|начинаем выполнять. | | | |
|После выполнения заданий |Отвечает на | |Ответы на |
|ответьте на поставленные |вопросы. | |вопросы. |
|вопросы. | | | |
|Попробуйте выполнить |Решает задачи. |Delphi или |Листинг |
|практические задания. | |Pascal. |задачи. |
|4 этап - Закрепление лабораторной работы |
|Итак, давайте подведем итоги| | | |
|сегодняшней работы. | | | |
|Что называется очередью? |Очередь — | | |
| |линейный список,| | |
| |в котором все | | |
| |включения | | |
| |производятся на | | |
| |одном конце | | |
| |списка, а все | | |
| |исключения на | | |
| |другом конце. | | |
|Как располагаются данные в |Очередь — тип | | |
|очереди? |данных, при | | |
| |котором новые | | |
| |данные | | |
| |располагаются | | |
| |следом за | | |
| |существующим в | | |
| |порядке | | |
| |поступления; | | |
|Какие данные в очереди |Данные | | |
|обрабатываются первыми? |поступившие | | |
| |первыми | | |
| |обрабатываются | | |
| |первыми. | | |
|Что такое «голова», «хвост» |Элемент, | | |
|очереди? |добавляемый в | | |
| |очередь, | | |
| |оказывается в её| | |
| |хвосте. Элемент,| | |
| |удаляемый из | | |
| |очереди, | | |
| |находится в её | | |
| |голове. | | |
|В чем схожи очередь и |Очередь, по | | |
|однонаправленный список? |сути, | | |
| |однонаправленный| | |
| |список, только | | |
| |добавление и | | |
| |исключение | | |
| |элементов | | |
| |происходит на | | |
| |концах списка. | | |
Тема: «Стек»
Цели:
1. Раскрыть понятие линейного списка «Стек».
2. Научиться использовать «Стек» на практике при решении задач.
3. Сформировать у учащихся познавательный интерес к информатике.
|№ |Этап урока |Время (мин.) |
|1. |Организационный момент |2 |
|2. |Подготовка к лабораторной работе |10 |
|3. |Выполнение лабораторной работы |20 |
|4. |Закрепление |8 |
Лабораторная работа №5 по теме «Стек».
1. Нажмите кнопку "Теория" для стека.
Внимательно изучите теоретический материал.
2. Нажмите кнопку "Обновить" для формирования списков.
Кнопки ">" служат для перемещения курсора в стеке.
а) Переместитесь вправо до 4 элемента;
б) Переместитесь влево (см. комментарии);
Кнопка "Добавить" служит для добавления элемента в стек.
Добавьте 1, 3, 5 элементами число 22;
Кнопка "Удалить" служит для удаления элемента из стека.
Удалите 1, 3, 5, последний элементы;
3. На листе формата А4, опишите ход проделанной работы.
Ответьте на поставленные вопросы:
1) Как удаляется и добавляется элементы в стек?
2) Приведи примеры стека на практике?
________________________________________________________________
Задачи для самостоятельного решения:
1) Предположим, что уже построен стек, элементами которого являются целые
числа. Написать программу, которая находит сумму элементов, находящихся
в стеке.
2) Предположим, что уже построен стек, элементами которого являются целые
числа. Написать программу, которая добавляет в конец стека S элемент,
находящийся в его вершине.
3) Предположим, что уже построен стек, элементами которого являются целые
числа. Написать программу, которая удаляет из стека все элементы,
кратные 4 (использовать для промежуточного хранения элементов стека
однонаправленный список с заглавным звеном).
|Учитель |Ученик |ПК |Тетрадь |
|2 этап - Подготовка к лабораторной работе |
|Запускаем |Знакомится с |Теоретически|Определение |
|демонстрационную |новым |й материал |«стека». |
|программу. Нажмите |материалом. |по теме |Порядок |
|кнопку теория. Перед | |«стек». |расположения |
|вами появилось окно с | | |данных. |
|теоретическим | | |Примеры |
|материалом. Внимательно | | |создания стека |
|ознакомьтесь с новым | | |и получения |
|материалом. Обратите | | |элемента из |
|внимание на примеры | | |стека. |
|создания стека и | | | |
|получения элемента из | | | |
|стека. Провести аналогию| | | |
|между очередью и стеком.| | | |
|3 этап - Выполнение лабораторной работы |
|Открываем лабораторную |Выполняет |Лабораторная| |
|работу №5. |лабораторную |работа | |
|Внимательно читаем |работу. |№5. | |
|задание и начинаем | | | |
|выполнять. | | | |
|После выполнения заданий|Отвечает на | |Ответы на |
|ответьте на поставленные|вопросы. | |вопросы. |
|вопросы. | | | |
|Попробуйте выполнить |Решает задачи. |Delphi или |Листинг задачи.|
|практические задания. | |Pascal. | |
|4 этап - Закрепление лабораторной работы |
|Итак, давайте подведем | | | |
|итоги сегодняшней | | | |
|работы. | | | |
|Что называется стеком? |Стек — линейный| | |
| |список, в | | |
| |котором все | | |
| |включения и | | |
| |исключения | | |
| |делаются в | | |
| |одном конце | | |
| |списка. | | |
|Как располагаются данные|Стек, | | |
|в стеке? |организован | | |
| |таким образом, | | |
| |что последний | | |
| |вводимый в | | |
| |область памяти | | |
| |элемент | | |
| |размещается на | | |
| |вершине списка.| | |
|Различия между очередью |Из стека мы | | |
|и стеком? |всегда | | |
| |исключаем | | |
| |«младший» | | |
| |элемент из | | |
| |имеющихся в | | |
| |списке, т. е. | | |
| |тот, который | | |
| |был включен | | |
| |позже других. | | |
| |Для очереди | | |
| |справедливо в | | |
| |точности | | |
| |противоположное| | |
| |правило: | | |
| |исключается | | |
| |всегда самый | | |
| |"старший" | | |
| |элемент; узлы | | |
| |покидают список| | |
| |в том | | |
| |порядке, в | | |
| |котором они в | | |
| |него вошли. | | |
Тема: «Тест»
Цели:
1. Закрепить полученные знания по пройденному курсу.
2. Выяснить результативность полученных знаний с помощью теста.
3. Сформировать у учащихся познавательный интерес к информатике.
|№ |Этап урока |Время (мин.) |
|1. |Организационный момент |2 |
|2. |Подготовка к тесту |10 |
|3. |Тест |20 |
|4. |Подведение итогов |8 |
Лабораторная работа №7 по теме «Тест».
1. Повторите весь теоретический материал.
2. Поработайте с демонстрационной программой.
3. Запустите тест (сервис\тест или Ctrl + T).
4. Ответьте на поставленные вопросы теста.
5. Результаты теста сообщить преподавателю.
|Учитель |Ученик |ПК |Тетрадь |
|2 этап - Подготовка к тесту |
|Запускаем демонстрационную |Повторяет |Теоретически|Определения|
|программу. Внимательно |пройденный |й материал |списков. |
|просмотрите теоретический |материал. |по |Включение и|
|материал по пройденному | |пройденному |исключение |
|курсу. Обратите внимание: на| |курсу. |элементов |
|определения списков, на то | | |из списков.|
|как добавляется и | | |Общее и |
|исключаются элементы из | | |различия |
|списков, на общее и различия| | |между |
|списков. | | |списками. |
|3 этап – Тест |
|Запускаем тест. (Меню: |Тестируется. |Тест. | |
|Сервис\Тест). Перед вами | | | |
|появилось окно «Тест». В | | | |
|верхнем левом поле | | | |
|предлагается вопрос, ниже | | | |
|под полем предлагаются на | | | |
|выбор несколько вариантов | | | |
|ответов. Правой клавишей | | | |
|мыши щелкаете на правильный | | | |
|по вашему мнению ответ. | | | |
|После выбора ответа, кнопка | | | |
|«Далее» становится активной,| | | |
|нажимаете ее. После нажатия | | | |
|на кнопку «Далее», появится | | | |
|следующий вопрос. | | | |
| | | | |
|Продолжаете далее, пока не | | | |
|появится оценка за тест. | | | |
|Результат сообщите учителю. |Оценка за тест. | | |
|Если результат оказывается | | | |
|неудовлетворительный, | | | |
|ученику предлагается | | | |
|повторить пройденный | | | |
|материал, и проверить свои | | | |
|знания на следующем уроке. | | | |
|После проведения теста, | | | |
|вызов теста блокируется. | | | |
|4 этап – Подведение итогов |
|Итак, мы с вами изучили | | | |
|линейные списки. | | | |
|Подведем итоги. Вы | | | |
|ознакомились с такими | | | |
|списками как: | | | |
|однонаправленный и | | | |
|двунаправленный списки, | | | |
|стек, дек, очередь и | | | |
|циклический список. Вы | | | |
|узнали, что такое связанное | | | |
|распределение и динамические| | | |
|информационные структуры. | | | |
|Научились использовать | | | |
|полученные знания на | | | |
|практике при решении задач. | | | |
|При помощи теста оценили | | | |
|результаты полученных | | | |
|знаний. | | | |
|Если кого, что-то | | | |
|заинтересовало или кто-то | | | |
|полностью не усвоил | | | |
|пройденный материал, то он | | | |
|может подойти к учителю и | | | |
|получить интересующие его | | | |
|сведения. | | | |
|Сообщаются оценки за тест, и| | | |
|за факультатив в общем. | | | |
2.2 Разработка программного средства по теме «Динамические типы данных»
После загрузки демонстрационной программы перед вами появится вот
такое окно.
[pic]
Это главная форма демонстрационной программы. Для формирования списков
нажмите кнопку «Обновить».
[pic]
Теперь списки сформированы и готовы к работе. Списки содержат целые
положительные числа. Указатели указывают на начало списка. С помощью кнопок
«>» можно перемещать указатель по списку. С помощью кнопки «Добавить»
вы можете добавить элемент в список. При нажатии на кнопку «Добавить»
всплывает окно «Добавление нового элемента», в котором вы указываете какой
элемент хотите добавить и нажимаете кнопку «Ok».
[pic] [pic]
При нажатии на кнопку «Удалить» удаляется элемент из списка. В
однонаправленном, двунаправленном и циклическом списках удаляется тот
элемент, на который указывает указатель. В очереди и стеке удаляется
первый. При удалении элемента из дека появляется окно «Удаление элемента»,
в котором вам предлагается выбрать откуда удалять элемент из начала или с
конца.
При нажатии на кнопку теория (для очереди) открывается окно «Очередь»,
котором изложена теория и даны примеры.
[pic]
Аналогично для остальных списков.
Для более удобной работы с учащимися в программе предусмотрены
лабораторные работы (Ctrl + L или Сервис \ Лабораторные работы). Если вы
выберете все то откроется окно «Лабораторные работы», в котором даны сразу
все работы и задания. Перед вами 4 лабораторная работа на список «Очередь».
[pic]
Если вы будете выбирать каждую в отдельности то они будут отображаться
в комментариях на главной форме.
Помощь можно вызвать (Справка\Помощь или F1).
[pic]
После проведения всех лабораторных работ учащимся предлагается
ответить на вопросы теста, за который они получают оценку. При запуске
теста (Сервис\Тест или Ctrl + T) открывается окно «Тест».
[pic]
Сверху вопрос, ниже варианты ответов. После выбора ответа кнопка
«Далее» становится активной, нажав на нее появляется следующий вопрос.
После выполнения теста выдается оценка, если неудовлетворительная то
открывается окно «Лабораторные работы».
Примечание: после того как тест запустился вызов теста становится
неактивным т.е. второй раз учащийся запустить тест не сможет.
Закрыть программу можно нажатием на кнопку «Закрыть» или F10.
Заключение
В квалификационной работе мы попытались раскрыть более полно и
наглядно понятие линейного списка, однонаправленного и двунаправленного
списков, стека, дека и очереди. Сформировать и закрепить познавательный
интерес к данной теме у учащихся. Выявлять и развивать творческие
способности в использовании полученного навыка при программировании.
Главной целью нашей работы было знакомство с теоретическим материалом,
касающийся информационных структур и разработка программного средства
«Динамические типы данных».
Достижением этой цели и согласно поставленной гипотезы определялись
следующие задачи:
1. Изучить литературу по теме динамические информационные структуры,
педагогическую и методическую по теме исследования;
2. Проанализировать виды динамических информационных структур;
3. Разработать факультатив по теме исследования;
4. Разработать программный продукт по теме исследования.
Все поставленные цели и задачи реализованы в данной квалификационной
работе. Изучено понятие линейного списка, всевозможные операции с этим
списком, определяются основные термины и понятия. Кроме того,
рассматривается более конкретно и полно каждый список в отдельности и
показывается целесообразность использования списков в тех или иных случаях.
Для каждого списка приводятся жизненные примеры для простоты восприятия.
Дается понятие связанного распределения и кратко изучается понятие
динамических информационной структуры, которая позволяют применить
полученные знания при программировании. Также рассматривается преимущество
и недостатки двух форм представления информации: связанное и
последовательное. Далее следует методическая часть, в которой представлена
расчасовка факультатива, его структура, и поставлены цели и задачи
факультатива. Приводится для примера три конспекта уроков по теме
«Очередь», «Стек» и «Тест». И последнее это руководство пользователя, в
котором дается описания работы с демонстрационной программой.
Литература
1. Айен Синклер «Большой толковый словарь компьютерных терминов», М.: 1998
г.
2. Архангельский А. Я. «Программирование в Delphi 4», М.: 1999 г.
3. Архангельский А. Я. «Программирование в Delphi 5», М.: 2000 г.
4. Вирт Н. «Алгоритмы и структуры данных», Москва Изд. Мир, 1989 г.
5. Гудмэн Д. «Управление памятью для всех», Киев 1995 г.
6. Зубов В. С. «Справочник программиста», М.: 1999 г.
7. Кнут Д. «Искусство программирования для ЭВМ», т.1 Основные алгоритмы,
Изд. Мир М.: 1976 г.
8. Кормен Т. и другие «Алгоритмы построения и анализ», М.: 2000 г.
9. Подласый И. П. Учебник для студентов высших педагогических учебных
заведений, М.: Просвещение 1996 г.
10. Усова А. В. «Формирование у школьников понятий в процессе обучения»,
М.: Педагогика, 1986 г.
Приложение 1. (Листинг программы)
В листинге приведены только три основных модуля. В первом модуле
описан интерфейс программы, обработка всех событий. Второй модуль, отвечай
за формирование списков и выполнения всех операций со списками. У второго
модуля нет формы. Третий модуль – это тест, служит для проверки и
оценивания учащихся. В остальных, не приведенных модулях, описаны: формы
для добавления элемента в список, лабораторные работы, теоретический
материал с примерами, помощь и информация о программе.
unit Unit1; // Интерфейс
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, Unit2, Unit3, Unit4, Unit5, Unit6, Unit7,
Unit8, Unit9, Menus, Unit11, Unit12, Unit13, Unit14, Unit15, Unit16,
Unit17;
type
TForm1 = class(TForm)
Panel1: TPanel;
Edit1: TEdit;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Panel2: TPanel;
Label2: TLabel;
Edit2: TEdit;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Panel3: TPanel;
Label3: TLabel;
Edit3: TEdit;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Panel4: TPanel;
Label4: TLabel;
Edit4: TEdit;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Panel5: TPanel;
Label5: TLabel;
Edit5: TEdit;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Panel6: TPanel;
Edit6: TEdit;
Label6: TLabel;
Button21: TButton;
StatusBar1: TStatusBar;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Button22: TButton;
Memo1: TMemo;
Label7: TLabel;
Image6: TImage;
Bevel1: TBevel;
Panel7: TPanel;
Button23: TButton;
Button24: TButton;
Button25: TButton;
Button26: TButton;
Edit7: TEdit;
Image7: TImage;
Label8: TLabel;
Panel8: TPanel;
Image8: TImage;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Button27: TButton;
Button28: TButton;
Button30: TButton;
Button29: TButton;
Button31: TButton;
Button32: TButton;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N11: TMenuItem;
N21: TMenuItem;
N31: TMenuItem;
N41: TMenuItem;
N51: TMenuItem;
N61: TMenuItem;
N71: TMenuItem;
Button33: TButton;
N9: TMenuItem;
procedure Button12Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button30Click(Sender: TObject);
procedure Button29Click(Sender: TObject);
procedure Button31Click(Sender: TObject);
procedure Button32Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure Button33Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N41Click(Sender: TObject);
procedure N51Click(Sender: TObject);
procedure N61Click(Sender: TObject);
procedure N71Click(Sender: TObject);
procedure N9Click(Sender: TObject);
private
public
end;
procedure DoNewEditList;
procedure DoNewEditListTwo;
procedure DoNewEditRoundList;
var
Form1: TForm1;
ListBegin: List; //указатель на однонапр. список
ListPos: Integer; //позиция в однонапр. списке
ListTwoBegin: ListTwo; //указатель на двунапр. список
ListTwoPos: Integer; //позиция в двунапр. списке
QueueBegin: List; //указатель на очередь
QueuePos: Integer; //"позиция в очереди" (содержит кол-во символов
в Edit до первого элемента)
Stack: List; //указатель на стек
StackPos: Integer; //"позиция в стеке" (содержит кол-во символов в
Edit до первого элемента)
DeckBegin, DeckEnd: ListTwo; //указатели на начало и конец дека
DeckBeginPos, DeckEndPos: Integer; //"позиции в деке" (DeckEndPos
содержит кол-во символов в Edit от DeckEndPosition до последнего элемента)
DeckEndPosition: Integer; //позиция последнего элемента в деке
(содержит первоначальное кол-во символов в Edit до последнего элемента)
RoundList: List; //указатель в циклическом списке
RoundListPos: Integer; //"позиция в циклическом списке"
implementation
uses O_programm, Help, Un18_Lab;
{$R *.DFM}
procedure DoNewEditList;
var
q: List;
begin
q := ListBegin;
Form1.Edit1.Text := '';
while q <> nil do
begin
Form1.Edit1.Text := Form1.Edit1.Text + ' ' + IntToStr(q^.Info);
q := q^.Next;
end;
end;
procedure DoNewEditListTwo;
Страницы: 1, 2, 3
|