Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программирование на языке высокого уровня Паскаль. Учебное пособие для СПО

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
constructor list.init; { --------------------------------------- list.init ---- } begin beg := nil end; procedure list.add(pm : pmonster); { --------------------------- list.add ----- } var p : pnode; begin new(p); p^.pm := pm; p^.next := beg; beg := p; end; procedure list.draw; { --------------------------------------- list.draw ---- } var p : pnode; begin p := beg; while p <> nil do begin p^.pm^.draw; p := p^.next; end; end; destructor list.done; { --------------------------------------- list.done ---- } var p : pnode; begin while beg <> nil do begin p := beg; dispose(p^.pm, done); { 1 } beg := p^.next; { 2 } dispose(p); { 3 } end end; procedure report(message: string); { --------------------------- report ------- } var s : string; begin str(MemAvail, s); outtext(message + s); moveto(0, GetY + 12); end; var stado : list; x, y : integer; gd, gm : integer;
Программирование на я зыке высокого уровня ПаскальТ.А. Павловская
151
p : pmonster; i : word; { ---------------------------------- главная программа ------------------------ } begin gd := detect; initgraph(gd, gm, '...'); if graphresult <> grOk then begin writeln('ошибка инициализации графики'); exit end; randomize; report(' доступно в начале программы: '); stado.init; for i := 1 to n do begin case random(2) of 0 : p := new(pmonster, init(random(600), random(440), 10, 8)); 1 : p := new(pdaemon, init(random(600), random(440), 10, 8, 6)); end; stado.add(p); { добавление объекта в список } end; report(' доступно после выделения памяти: '); stado.draw; { отрисовка объектов } stado.done; { уничтожение объектов } report(' доступно после освобождения памяти: '); readln; end.
Листинг 7.4. Программа, работающая со списком полиморфных объектов
Подробные пояснения к этой программе приведены в учебнике [10].
Программирование на я зыке высокого уровня ПаскальТ.А. Павловская
152

Список литературы

1. Borland Pascal with Objects : Language Guide. User’s Guide. Object-Oriented Programming Guide, Borland International, Inc., 1989
2. Ахо А., Хопкрофт Д., Ульман Д., Структуры данных и алгоритмы, М.: «Вильямс», 2009
3. Брукс Ф., Мифический человеко-месяц, или Как создаются программные системы, М: «Символ-Плюс», 2007 г
4. Вирт Н., Алгоритмы и структуры данных , СПб: Невский Диалект, 2008
5. Иванова Г. С. , Основы программ ирования, М.: МГТУ им. Баумана, 2007
6. Иванова Г. С., Ничушкина Т. Н., Пугачев Е. К., Объектно-ориентированное программирование, М.: МГТУ им. Баумана, 2007
7. Кнут Д., Искусство программирования, том 3. Сортировка и поиск, 2-е изд, М.: «Вильямс», 2000 г
8. Немнюгин С. А. , Turbo Pascal, СПб.: Питер, 2008
9. Павловская Т.А., C#. Программирование на языке высокого уровня, URL: http://www.piter.com/book.phtml?978591180174 , СПб.: ПИТЕР, 2007
10. Павловская Т.А., Паскаль. Программирование на языке высокого уровня, URL: http://www.piter.com/book.phtml?978549807772 , СПб.: ПИТЕР, 2010
11. Павловская Т.А., С/С++. Программирование на языке высокого уровня, URL: http://www.piter.com/book.phtml?978594723568 , СПб.: ПИТЕР, 2010
12. Павловская Т. А., Щупак Ю. А., С/С++. Структурное и объектно-ориентированное программирование: Практикум, URL: http://www.piter.com/book.phtml?978549807666 , СПб.: ПИТЕР, 2010
13. Порублев И. Н., Ставровский А. Б., Алгоритмы и программы. Решение олимпиадных задач, М: Диалектика, 2007
Программирование на я зыке высокого уровня ПаскальТ.А. Павловская
153
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]