Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Армавирская государственная педагогическая академия» факультет прикладной информатики и информационных технологий института прикладной информатики, математики и физики кафедра информатики и информационных технологий обучения Утверждено на заседании кафедры информатики и ИТО АГПА Протокол № __ от ”__”____________ 2012 Зав. кафедрой___________________ (Бельченко В.Е.) УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС по дисциплине «ОПД.Ф.4. Высокоуровневые методы информатики и программирования» (факультет прикладной информатики и информационных технологий института прикладной информатики, математики и физики) для специальности «ПРИКЛАДНАЯ ИНФОРМАТИКА В ЭКОНОМИКЕ» (заочное отделение, 3,5 года) Форма отчетности: Экзамен: 4 курс, 3 семестр Курсовая работа: 4 курс, 4 семестр УМК подготовлен доцентом кафедры информатики и ИТО Нелиным В.М. Армавир - 2012 АННОТАЦИЯ В курсе рассматриваются фундаментальные вопросы, связанные с современными технологиями программирования, эволюцией программного обеспечения, парадигмами процедурного, модульного и объектно-ориентированного программирования. Основное внимание уделяется объектно-ориентированному программированию (ООП). Рассматриваются такие основополагающие понятия и конструкции ООП как классы и объекты, инкапсуляция; наследование и полиморфизм, события и компоненты, визуальные технологии проектирования. Курс призван содействовать формированию и развитию логической, алгоритмической и программистской культуры будущего специалиста в сфере информатики и информационных систем. Цели курса: формирование представления об основных концепциях программирования; приобретение навыков визуального программирования; приобретение навыков отладки и тестирования программного обеспечения. По окончании изучения курса "Высокоуровневые методы информатики и программирования" студент должен иметь представление о: современных технологиях программирования; высокоуровневых средах и языках программирования и возможных областях их применения; применении методологии высокоуровневого программирования для решении широкого круга управленческих и иных задач. По окончании изучения курса "Высокоуровневые методы информатики и программирования" студент должен знать: порядок работы с высокоуровневыми средами визуального программирования; возможности высокоуровневых сред визуального программирования. Программой курса "Высокоуровневые методы информатики и программирования" предусмотрены занятия лекционные и лабораторные, а также самостоятельная работа студентов. Занятия завершаются сдачей экзамена. 2 1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА. Курс "Высокоуровневые методы информатики и программирования" предусмотрен Государственным образовательным стандартом высшего профессионального образования по специальности 080801 "Прикладная информатика в экономике." Со специализацией «Информационные технологии в бухгалтерском учете и аудите.». Данный курс относится к числу курсов, призванных заложить фундамент общей подготовки будущих специалистов в области информатики и информационных систем. В курсе, призванном способствовать формированию достаточно четкого представления об основах высокоуровневого программирования, рассматриваются фундаментальные вопросы, связанные с современными технологиями программирования, эволюцией программного обеспечения, парадигмами процедурного, модульного и объектно-ориентированного программирования. Основное внимание уделяется объектно-ориентированному программированию (ООП). Рассматриваются такие основополагающие понятия и конструкции ООП как классы и объекты, инкапсуляция; наследование и полиморфизм, события и компоненты, визуальные технологии проектирования. Курс призван содействовать формированию и развитию логической, алгоритмической и программистской культуры будущего специалиста в сфере информатики и информационных систем. Цели курса: формирование представления об основных концепциях программирования; приобретение навыков визуального программирования; приобретение навыков отладки и тестирования программного обеспечения. По окончании изучения курса "Высокоуровневые методы информатики и программирования" студент должен иметь представление о: современных технологиях программирования; высокоуровневых средах и языках программирования и возможных областях их применения; применении методологии высокоуровневого программирования для решении широкого круга управленческих и иных задач. По окончании изучения курса "Высокоуровневые методы информатики и программирования" студент должен знать: порядок работы с высокоуровневыми средами визуального программирования; возможности высокоуровневых сред визуального программирования. Программой курса "Высокоуровневые методы информатики и программирования" предусмотрены занятия лекционные и лабораторные, а также самостоятельная работа студентов. Занятия завершаются сдачей экзамена. Количество учебных часов и формы контроля знаний: 3 2. ТЕМАТИЧЕСКИЙ ПЛАН УЧЕБНОЙ ДИСЦИПЛИНЫ. Структура тематического плана дисциплины Семестр Общая трудоемкость Лекции, Лаб. рабоСРС, Контроль (час) час. ты, час. час (КСР) 3-4 68 10 4 51 3 № п/п Раздел, тема Всего Лекц Лаб. Самостоятельно КСР Новейшие направления в области создания технологий программирования. Законы эволюции программного обеспечения. 6 1 5 1. Эволюция программного обеспечения. Современные технологии программирования Программирование в средах современных информационных систем: создание модульных программ, элементы теории модульного программирования, объектно-ориентированное проектирование и программирование. 6 1 5 2. Модульное программирование. 6 1 5 про3. Объектно-ориентированное граммирование. Объектно-ориентированный подход к проектированию и разработке программ: сущность объектно-ориентированного подхода; объектный тип данных; переменные объектного типа; инкапсуляция; наследование; полиморфизм; классы и объекты. Конструкторы и деструкторы. 6 1 5 4. Методология программирования с использованием классов и объектов 6 1 5 5. Использование классов и объектов: типы данных и переменные объектного типа. Основы визуального программирования. Особенности программирования в оконных операционных средах. Основные стандартные модули, обеспечивающие работу в оконной операционной среде. Реакция на события. 11 1 2 8 6. Технология визуального программирования в оконных операционных средах 11 1 2 8 7. Технология событийного программирования Среда разработки; система окон разработки; система меню. Отладка и тестирование программ. 6 1 5 8. Технология отладки и тестирования программ Размещение нового компонента. Компоненты; использование компонентов. 7 2 5 9. Технология разработки, размещения и использования компонентов 68 10 4 51 3 ИТОГО 4 3. СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА 3.1. СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА: ЛЕКЦИИ Лекция № 1 Тема: Эволюция программного обеспечения. Современные технологии программирования. Содержание: 1. Идеи фон Неймана, их влияние на становление идеологии программирования. 2. Совершенствование технологий программирования: от программирования в машинных кодах к программированию с использованием низкоуровневого языка программирования ассемблер. 3. Идея компилирования и интерпретирования исходного кода. Появление первых компиляторов и интерпретаторов. 4. Появление первого языка программирования высокого уровня (IBM, Дж. Бекус, FORTRAN). Языки программирования ALGOL, COBOL, BASIC, их особенности. 5. Идеология и возможности семейства языков программирования высокого уровня первого поколения (Фортран, Алгол-60, Кобол, Лисп, Бейсик, PL/I). 6. Сложные системы, их иерархия. Алгоритмическая декомпозиция сложных систем. Э. Дейкстра и парадигма структурного программирования. 7. Порядок построения программ: нисходящее проектирование. Формальнологические принципы проектирования как основание доказательства корректности программного кода. 8. Н.Вирт и язык Паскаль, классический язык структурного программирования. 9. Парадигмы программирования: структурное, функциональное, декларативное, модульное, объектно-ориентированное. Сферы эффективного применения обозначенных парадигм. 10. Идеология и возможности семейства языков программирования высокого уровня третьего поколения (Visual Basic, Delphi, Java, C++). Лекция № 2 Тема: Модульное программирование. Содержание: 1. Н.Вирт и язык Модула, эволюция идеологии структурного программирования. 2. Реализация идеи модульности в среде программирования Turbo Pascal. 3. Структура модуля. Интерфейсная, исполняемая, инициирующая и завершающая части модуля. 4. Структура интерфейсной части модуля. 5. Организация доступа к объявленным в модуле переменным и подпрограммам. 6. Области видимости переменных и подпрограмм модуля. 7. Связь модулей. Подключение модулей. Компиляция модулей. Технология использования модулей. 5 Лекция № 3 Тема: Объектно-ориентированное программирование. Содержание: 1. Реализация идеи ООП в среде программирования Turbo Pascal. 2. Понятие объекта. Создание и использование объектов. 3. Компиляция модулей. 4. Структура модуля с определяемым в нём объектом. 5. Структура интерфейсной части модуля. 6. Технология использования определенных в модуле объектов. Примеры создания объектов. Лекция № 4 Тема: Методология программирования с использованием классов и объектов Содержание: 1. Объектно-ориентированное программирование как результат эволюции модульного программирования. 2. Объектно-ориентированная декомпозиция. Парадигма объектноориентированного программирования (ООП). 3. Понятие класса. Классы и объекты. Базовые признаки класса: инкапсуляция, наследование, полиморфизм. 4. Инкапсулированные в классах поля, методы, свойства. 5. Разделы класса: published, private, protected, public. 6. Особенности реализации системы ООП в Delphi. Лекция № 5 Тема: Использование классов и объектов: типы данных и переменные объектного типа. Содержание: 1. Организация объектов. Свойства и методы объектов. Определение и переопределение их свойств. 2. Конструкторы. Примеры использования конструкторов. 3. Деструкторы. Методы освобождения ресурсов памяти. 4. Модель объектных ссылок в Delphi. 5. Наследование от существующих типов. Классы TObject, TPersistent, TComponent, TControl, TWinControl. 6. Позднее и раннее связывание. Позднее связывание и полиморфизм. 7. Переопределение методов. 8. Виртуальные и динамические методы. 9. Абстрактные методы. Лекция № 6 Тема: Технология визуального программирования в оконных операционных средах Содержание: 1. Среда визуального программирования Delphi. 2. Интегрированная среда разработчика IDE: главное окно, меню, палитра компонентов, инспектор объектов, менеджер проектов, браузер объектов, редактор. 3. Понятие проекта. Файлы проекта, модулей, форм. 6 4. Управление проектами. 5. Компиляция, сборка и выполнение программ. 6. Работа с формами: позиционирование, изменение размеров, масштабирование. 7. Создание и закрытие форм. Вторичные формы. Создание вторичных форм во время выполнения. 8. MDI-окна, диалоговые панели и панели сообщений, контейнеры. 9. Активизация приложений и форм. Лекция № 7 Тема: Технология событийного программирования. Содержание: 1. Событийная модель программирования в Delphi. 2. Механизм обработки сообщений в Delphi. 3. Понижающие преобразования с помощью is, as. 4. Программирование обработчиков событий. 5. События, обрабатываемые формой. 6. События, генерируемые клавиатурой и мышью. 7. События протокола Drag and Drop. 8. События, обрабатываемые классом TApplication. Лекция № 8 Тема: Технология отладки и тестирования программ. Содержание: 1. Классификация ошибок в программах. 2. Подготовка приложения к процедуре отладки. 3. Возможности интегрированного отладчика. 4. Управление выполнением приложения. 5. Установка точек прерывания просмотра. 6. Обработка исключительных ситуаций. Лекция № 9 Тема: Технология разработки, размещения и использования компонентов. Содержание: 1. Оценка целесообразности разработки компонента. 2. Этапы разработки компонента: выбор родительского класса, создание модуля компонента, наделение компонента свойствами, методами, обрабатываемыми событиями. 3. Тестирование, оформление и регистрация компонентов. 3.2. СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА: ЛАБОРАТОРНЫЕ РАБОТЫ Лабораторная работа № 1 Тема: Организация работы с модулями в среде программирования Турбо Паскаль. Цель: Знакомство с принципами организации и использования модулей в среде программирования Турбо Паскаль. 7 Содержание: 1. Настройка среды программирования Турбо Паскаль. 2. Использование процедур и функций стандартных библиотечных модулей System, DOS, CRT, Graph. 3. Создание оригинальных модулей в среде программирования Turbo Pascal. 4. Использование констант, переменных, типов данных, процедур и функций оригинальных модулей в среде программирования Turbo Pascal. 5. Консольный режим интегрированной среды разработчика Delphi. 6. Работа с оригинальными модулями в консольном режиме Delphi. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 1: (high_met\task\task_01.doc ); • изучение процедур и функций базовых pas-модулей с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\lab_works\Lab_work_1.htm); Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. Лабораторная работа № 2 Тема: Организация работы с объектами в среде программирования Турбо Паскаль. Цель: Знакомство с принципами организации и использования объектов в среде программирования Турбо Паскаль. Содержание: 1. Структура модуля. Технология заполнения разделов Interface и Implementation в случае использования объектов в среде программирования Turbo Pascal. 2. Определение оригинальных объектов в среде программирования Turbo Pascal. 3. Использование свойств и методов оригинальных объектов в среде программирования Turbo Pascal. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 2: (high_met\task\task_02.doc ); • изучение процедур и функций базовых pas-модулей с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\lab_works\Lab_work_2.htm); Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. 8 Лабораторная работа № 3 Тема: Технология программирования в оконных операционных средах. Цель: Знакомство с приёмами программирования в среде Delphi. Содержание: 1. Интегрированная среда разработчика Delphi. 2. Работа с формой в окне формы проекта: создание и добавление форм, задание свойств формы. 3. Обработка типичных событий, связанных с формами. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 3: (high_met\task\task_03.doc ); • изучение базовых проектов с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\lab_works\Lab_work_3.htm); • изучение электронных источников по теме лабораторной работы: (high_met\D6\Index.html ). Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. Лабораторная работа № 4 Тема: Определение простейшего класса в Delphi. Цель: Знакомство с созданием простейших классов в среде программирования Delphi. Содержание: 1. Организация простейшего класса. 2. Использование простейшего класса. 3. Тестирование подготовленного проекта. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 4: (high_met\task\task_04.doc ); • изучение базовых проектов с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\Nelin_OOP.doc); • изучение электронных источников по теме лабораторной работы: (high_met\D6\Index.html ). Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. 9 Лабораторная работа № 5 Тема: Реализация базовых понятий ООП в среде Delphi: наследование. Цель: Знакомство с приёмами конструирования классов-накследников в среде программирования Delphi. Содержание: 1. Организация простейшего класса-потомка. 2. Использование класса-потомка. 3. Использование классом-потомком метода класса-родителя. 4. Переопределение классом-потомком метода класса-родителя. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 5: (high_met\task\task_05.doc ); • изучение базовых проектов с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\Nelin_OOP.doc); • изучение электронных источников по теме лабораторной работы: (high_met\D6\Index.html ). Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. Лабораторная работа № 6 Тема: Перегрузка в ООП и Delphi. Цель: Знакомство с технологией использования двух и более методов с одинаковым именем, но с различными наборами параметров. Содержание: 1. Перегрузка метода в 3-х классах, связанных отношением наследования. 2. Использование перегружаемых методов в Delphi-проекте. 3. Тестирование перегружаемых методов. Рекомендации по организации самостоятельной работы: • изучение задания к лабораторной работе № 6: (high_met\task\task_06.doc ); • изучение базовых проектов с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • изучение описания лабораторной работы: (high_met\Nelin_OOP.doc); • изучение электронных источников по теме лабораторной работы: (high_met\D6\Index.html ). Содержание отчёта: подготовка программ в соответствии с заданием к лабораторной работе. Форма отчёта: произвольная. 10 3.3. СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА: КУРСОВЫЕ РАБОТЫ ПРИМЕРНАЯ ТЕМАТИКА КУРСОВЫХ РАБОТ 1. Моделирование функционирования динамической модели Кейнса с мультипликатором в контуре обратной связи 2. Моделирование функционирования динамической модели Кейнса с акселератором в контуре положительной обратной связи 3. Моделирование переходных режимов в односекторной модели Солоу. 4. Моделирование соотношения объёмов потребления и накопления в односекторной модели Солоу. 5. Моделирование динамики инвестиционных вложений в односекторной модели Солоу. 6. Моделирование оптимальных траекторий удельного потребления в односекторной модели Солоу. 7. Моделирование обслуживания абонентов телефонной станции 8. Моделирование обслуживания пассажиров на железнодорожном транспорте. 9. Моделирование обслуживания автомашин автохозяйства. 10. Моделирование медицинского обслуживания в многопрофильном медицинском центре. 11. мах. 12. Моделирование прохождения информации в вычислительных систеМоделирование работы конвейеров микропроцессора. 13. Моделирование процедуры минимизации целевого функционала на множестве допустимых значений. 14. Моделирование процедуры оптимизации выбора поставщиков и потребителей посреднической фирмой. 15. Моделирование процедуры оптимизации деятельности фирм, занимающихся поставкой импортной компьютерной техники. 16. Моделирование процедуры оптимизации деятельности фирм, производящих товары широкого потребления. 17. Моделирование процедуры подбора кандидатов с целью закрытия фронта работ в рамках принятой системы ограничений. 18. Моделирование процедуры оптимизации загрузки оборудования в рамках действующей системы ограничений. 19. Моделирование процедуры минимизации затрат по обеспечению требуемого уровня грузопотока в пределах действующей системы ограничений. 11 20. Моделирование процедуры составления смесей с учетом наложенной системы ограничений. 21. Моделирование процедуры минимизации затрат на горючее в процессе выполнения маршрутного задания. 22. Моделирование процедуры оптимизации наполнения ранца в рамках принятой системы ограничений. 23. Моделирование процедуры оптимизации заготовки стержней с учетом принятой системы ограничений. 24. Моделирование процедуры определения объёма конечной продукции отраслей в рамках модели межотраслевого баланса. 25. Моделирование процедуры определения валовой продукции отраслей в рамках модели межотраслевого баланса. 26. Моделирование процедуры определения объёмов конечной и валовой продукции отраслей в рамках модели межотраслевого баланса. 4. РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ Цель самостоятельной работы студентов – приобретение навыков программирования элементарных алгоритмов с привлечением процедурных и объектноориентированных языков программирования. Задачи: 1) усвоение новых терминов и понятий; 2) подготовка к успешному выполнению заданий лабораторных практикумов. Пути достижения цели: 1) изучение материалов лекций; high_met\Nelin_OOP.doc 2) рассмотрение примеров, разобранных в ходе лабораторных занятий; high_met\Nelin_OOP.doc 3) работа с рекомендованной литературой; 4) практическая работа в компьютерных классах с изучаемыми средами программирования посредством составления и последующей отладки программных модулей, являющихся решением различных примеров, как предлагаемых преподавателем, так и извлекаемых из рекомендованной литературы; 5) работа с рекомендованными для самостоятельного изучения электронными ресурсами. Приобретаемые в ходе самостоятельной работы студентов навыки: 1) умение анализировать предложенную задачу, очерчивать основные этапы ее решения; 2) умение конструировать обеспечивающие решение поставленной задачи алгоритмы и облекать их в программную форму; 12 3) умение составлять, вводить, редактировать, сохранять и видоизменять программные модули, являющиеся результатом реализации конструируемых алгоритмов; 4) умение анализировать результаты выполнения программных модулей; 5) умение оценивать корректность конструируемых программных модулей. 4.1. РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ПРИ ПОДГОТОВКЕ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Организация работы с модулями в среде программирования Турбо Паскаль». • знакомство с заданием к лабораторной работе: (high_met\task\task_01.doc ); • ознакомление с описанием лабораторной работы: (high_met\lab_works\Lab_work_1.htm); Контрольные вопросы: 1. Использование процедур и функций стандартных библиотечных модулей System, DOS, CRT, Graph среды программирования Турбо Паскаль. 2. Создание оригинальных модулей в среде программирования Turbo Pascal. 3. Использование констант, переменных, типов данных, процедур и функций оригинальных модулей в среде программирования Turbo Pascal. 4. Консольный режим интегрированной среды разработчика Delphi. 5. Работа с оригинальными модулями в консольном режиме Delphi. Трудоёмкость: 4 часа ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Организация работы с объектами в среде программирования Турбо Паскаль». • знакомство с заданием к лабораторной работе: (high_met\task\task_02.doc ); • ознакомление с процедурами и функциями базовых pas-модулей с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • ознакомление с описанием лабораторной работы: (high_met\lab_works\Lab_work_2.htm); Контрольные вопросы: 1. Структура модуля. Технология заполнения разделов Interface и Implementation в случае использования объектов в среде программирования Turbo Pascal. 2. Определение оригинальных объектов в среде программирования Turbo Pascal. 3. Использование свойств и методов оригинальных объектов в среде программирования Turbo Pascal. Трудоёмкость: 4 часа ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Технология программирования в оконных операционных средах» 13 • знакомство с заданием лабораторной работы: (high_met\task\task_03.doc ); • ознакомление с базовым проектом с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • ознакомление с описанием лабораторной работы: (high_met\lab_works\Lab_work_3.htm); • ознакомление с электронными источниками по теме лабораторной работы: (high_met\D6\Index.html ). Контрольные вопросы: 1. Интегрированная среда разработчика Delphi. 2. Работа с формой в окне формы проекта: создание и добавление форм, задание свойств формы. 3. Обработка типичных событий, связанных с формами. Трудоёмкость: 4 часа ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Определение простейшего класса в Delphi.» • знакомство с заданием лабораторной работы: (high_met\task\task_04.doc ); • ознакомление с базовыми проектами с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • ознакомление с описанием лабораторной работы: (high_met\Nelin_OOP.doc); • ознакомление с электронными источниками по теме лабораторной работы: (high_met\D6\Index.html ). Контрольные вопросы: 1. Организация простейшего класса. 2. Использование простейшего класса. 3. Тестирование подготовленного проекта. Трудоёмкость: 4 часа ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Реализация базовых понятий ООП в среде Delphi: наследование.» • знакомство с заданием лабораторной работы: (high_met\task\task_05.doc ); • ознакомление с базовым проектом с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • ознакомление с описанием лабораторной работы: (high_met\Nelin_OOP.doc); • ознакомление с электронными источниками по теме лабораторной работы: (high_met\D6\Index.html ). Контрольные вопросы: 1. Организация простейшего класса-потомка. 14 2. 3. 4. Использование класса-потомка. Использование классом-потомком метода класса-родителя. Переопределение классом-потомком метода класса-родителя. Трудоёмкость: 4 часа ПОДГОТОВКА К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ «Перегрузка в ООП и Delphi.» Рекомендации по организации самостоятельной работы: • знакомство с заданием лабораторной работы: (high_met\task\task_06.doc ); • ознакомление с базовым проектом с целью внесения изменений, предусмотренных заданиями к лабораторной работе; • ознакомление с описанием лабораторной работы: (high_met\Nelin_OOP.doc); • ознакомление с электронными источниками по теме лабораторной работы: (high_met\D6\Index.html ). Контрольные вопросы: 1. Перегрузка метода в 3-х классах, связанных отношением наследования. 2. Использование перегружаемых методов в Delphi-проекте. 3. Тестирование перегружаемых методов. Трудоёмкость: 4 часа 4.2. РЕКОМЕНДАЦИИ ПО ОРГАНИЗАЦИИ САМОСТОЯТЕЛЬНОГО ИЗУЧЕНИЯ РАЗДЕЛОВ КУРСА. Тема: Эволюция программного обеспечения. Современные технологии программирования. [8]: 2.1. Становление объектного подхода [1]: 1.1. Введение. 1.2. Концепция типа данных.. 1.3. Простейшие типы данных. [2]: Глава 2. Платформы: Win32 и Microsoft.NET. [13]: Глава 2. Новая объектная модель Delphi. Трудоёмкость: 3 часа Тема: Модульное программирование. [8]: 2.1. Становление объектного подхода [1]: 1.1. Введение. 1.2. Концепция типа данных.. 1.3. Простейшие типы данных. [2]: Глава 2. Платформы: Win32 и Microsoft.NET. [13]: Глава 2. Новая объектная модель Delphi. [14]: §1. Функции. Пример использования. Трудоёмкость: 4 часа Тема: Объектно-ориентированное программирование. [2]: Глава 3. Язык программирования Delphi. [8]: 2.1. Становление объектного подхода [8]: 2.2. Компоненты объектного подхода 15 [8]: 2.3. Применение объектного подхода [13]: Глава 2. Новая объектная модель Delphi. [14]: §2. Определение простейшего класса в Delphi. [14]: §3. Реализация базовых понятий ООП в Delphi: наследование. [14]: §4. Реализация базовых понятий ООП в Delphi: инкапсуляция. [14]: §5. Перегрузка в ООП и Delphi. [14]: §6. Виртуальные и динамические методы в ООП и Delphi. [14]: §7. Реализация базовых понятий ООП в Delphi: полиморфизм. Трудоёмкость: 4 часа Тема: Методология программирования с использованием классов и объектов. [2]: Глава 3. Язык программирования Delphi. [7]: Глава 8. Классы. [5]: Глава 10. Объекты. [13]: Глава 2. Новая объектная модель Delphi. [14]: §2. Определение простейшего класса в Delphi. [14]: §3. Реализация базовых понятий ООП в Delphi: наследование. [14]: §4. Реализация базовых понятий ООП в Delphi: инкапсуляция. [14]: §5. Перегрузка в ООП и Delphi. [14]: §6. Виртуальные и динамические методы в ООП и Delphi. [14]: §7. Реализация базовых понятий ООП в Delphi: полиморфизм. Трудоёмкость: 8 часов Тема: Использование классов и объектов: типы данных и переменные объектного типа. [2]: Глава 3. Язык программирования Delphi. [8]: Глава 3. Классы и объекты. [7]: Глава 8. Классы. [5]: Глава 16. Общая характеристика объектов. [13]: Глава 2. Новая объектная модель Delphi. [14]: §2. Определение простейшего класса в Delphi. [14]: §3. Реализация базовых понятий ООП в Delphi: наследование. [14]: §4. Реализация базовых понятий ООП в Delphi: инкапсуляция. [14]: §5. Перегрузка в ООП и Delphi. [14]: §6. Виртуальные и динамические методы в ООП и Delphi. [14]: §7. Реализация базовых понятий ООП в Delphi: полиморфизм. Трудоёмкость: 8 часов Тема: Технология визуального программирования в оконных операционных средах. [12]: Глава 3. Проекты: что это такое и как ими управлять. [7]: 4.2. Структура программ Delphi. [12]: Глава 6. Визуальные компоненты: введение. [12]: Глава 7. Стандартные визуальные компоненты. [13]: Глава 3. Свойства. [7]: Глава 3. Знакомство с компонентами. Трудоёмкость: 4 часа Тема: Технология событийного программирования. 16 [2]: Глава 6. Архитектура VCL. [12]: Глава 5. Программы, управляемые событиями. [7]: 2.3 Реакция на события. [5]: Глава 18. События. Трудоёмкость: 4 часа Тема: Технология отладки и тестирования программ. [2]: Глава 2. Платформы: Win32 и Microsoft.NET. [12]: Глава 18. Отладка программ в среде Delphi. [5]: 1.4.2. Прогон и отладка программы. [13]: Глава 4. Обработка особых ситуаций в Delphi. Трудоёмкость: 4 часа Тема: Технология разработки, размещения и использования компонентов. [2]: Глава 6. Архитектура VCL. [6]: Гл. 9. Методика создания компонентов. [6]: Гл. 10. Примеры создания компонентов. [13]: Глава 15. Тестирование и отладка компонента. Трудоёмкость: 6 часов 4.3. СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ БИБЛИОТЕКИ АГПУ С УКАЗАНИЕМ МЕСТ ХРАНЕНИЯ. 1. Архангельский А.Я. Интегрированная среда разработки Delphi. 1999. УДК 6Ф7 ББK 32.973 а.з. А-87 (Абонемент) 2. Архангельский А.Я. Разработка прикладных программ для Windows в Delphi 5. 1999. УДК 6Ф7 ББK 32.973 а.з. А-87 (Абонемент) 3. Кэнту М. Delphi 4 для профессионалов. 1999 УДК 6Ф7 ББK 32.973 а.з. К-98 (Кабинет информатики) 4. Моррис С.Объектно-ориентированное программирование. Cep. "Enter". 1997 УДК 518 ББK 22.18 а.з. М-80 (Абонемент) 5. Калверт Ч. Delphi 4. Самоучитель. 1999 УДК 518 ББK 22.19 а.з. К-78 (Абонемент) 6. Калверт Ч. Delphi 4. Энциклопедия пользователя. 1998 УДК 6Ф7 ББK 32.973 а.з. К-77 (Абонемент) 7. Елманова Н. и др. Delphi 6 и технология COM (+ CD). 2002 УДК 6Ф7 ББK 32.973 а.з. Е-52 (Абонемент) 8. Бобровский С.И. Delphi 7. Учеб. курс. 2004 УДК 6Ф7 ББK 32.973 а.з. Б-72 (Абонемент) 9. Баас Р. и др. Delphi 5 для пользователя. 2000 УДК 6Ф7 ББK 32.973 а.з. Б-12 (Абонемент) 10. Блинова Е.Е., Спицына Л.Г. Практикум по объектно-ориентированному программированию (в среде Delphi). Учебно-методическое пособие. 2003 УДК 518 ББK 32.81 а.з. Б-69 (Читальный зал) 11. Каба М. MYSQL и Perl: коммерческие приложения для Интернета. Учебный курс + Сд. 2001. УДК 6Ф7 ББK 32.988 а.з. К-12 (Кабинет информатики) 17 12. Нардюжев В.И., Нардюжев И.В. Модели и алгоритмы информационновычислительной системы компьютерного тестирования. - монография. 2000. УДК 518 ББK 22.19 а.з. Н-28 (Читальный зал) 13. Левин А. Самоучитель компьютерной графики и звука. 2003. УДК 6Ф7 ББK 32.973 а.з. Л-36 (Техфак) 14. Петров М.Н., Молочков В.П. Компьютерная графика: уч-к для вузов. - 2-е изд (+ СИ). 2004. УДК 6Ф7 ББK 32.973 а.з. П-30 (Абонемент) 15. Миронов Д.Ф. Компьютерная графика в дизайне: учебник для вузов. 2004. УДК 6Ф5.7 ББK 30.18 а.з. М-64 (Абонемент) 16. Дейнбоу В. Компьютерная графика. Энциклопедия. 2003. УДК 6Ф7 ББK 32.973 а.з. Р-34 (Читальный зал) УДК 6Ф7 ББK 32.973 а.з. Р-34 (Техфак) 17. Мураховский В.И. Компьютерная графика. 2002. УДК 6Ф7 ББK 32.973 а.з. М-91 (Техфак) 4.4. СПИСОК РЕКОМЕНДУЕМЫХ ЭЛЕКТРОННЫХ РЕСУРСОВ 1. Описания лабораторных работ № 1-6 (high_met\Nelin_OOP.doc); 2. Фаронов В.В. Электронное пособие «DELPHI 6». (high_met\D6\Index.html); 3. Архангельский А.Я. 100 компонентов общего назначения. (high_met/chm/100comp_Archangelsky.CHM); 4. Озеров В. Советы по DELPHI от Валентина Озерова. (high_met\chm\Kuliba1000.chm); (high_met/chm/Kuliba2000.chm); 5. Р. Конопка. Создание оригинальных компонент в среде DELPHI. (high_met\djvu\Konopka.zip). 6. Г. Буч. Объектно-ориентированное программирование: извлечения. (high_met/Structure_OOP.doc) 4.5. ЗАДАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ. Ниже приведены ссылки на типовые задания к лабораторным работам: • задание к лабораторной работе № 1: (high_met\task\task_01.doc ); • задание к лабораторной работе № 2: (high_met\task\task_02.doc); • задание к лабораторной работе № 3: (high_met\task\task_03.doc ); • задание к лабораторной работе № 4: (high_met\task\task_04.doc ); • задание к лабораторной работе № 5: (high_met\task\task_05.doc ); 18 • задание к лабораторной работе № 6: (high_met\task\task_06.doc ). 4.6. КОНТРОЛЬНЫЕ ВОПРОСЫ (ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ). 5. ВОПРОСЫ ЭКЗАМЕНА (в состав билета включены 3 экзаменационных вопроса) 1. Эволюция языков программирования: от программирования в машинных кодах к программированию с использованием низкоуровневого языка программирования ассемблер. 2. Идеология и диапазон возможностей семейства языков программирования высокого уровня первого поколения (Фортран, Бейсик). 3. Сложные системы, их иерархия. Алгоритмическая декомпозиция сложных систем. Парадигма структурного программирования. 4. Нисходящее проектирование программ. Формально-логические принципы проектирования как основание доказательства корректности программного кода. 5. Язык Паскаль - классический язык структурного программирования. Н.Вирт и история возникновения языка. 6. Идеология и возможности семейства языков программирования высокого уровня второго поколения (Паскаль). 7. Парадигмы программирования: структурное, функциональное, декларативное, модульное, объектно-ориентированное. 8. Идеология и возможности семейства языков программирования высокого уровня третьего поколения (Delphi). 9. Среда программирования Turbo Pascal: реализация идеи модульности. 10. Среда программирования Turbo Pascal: структура модуля; интерфейсная, исполняемая и инициирующая части модуля. 11. Объектно-ориентированное программирование как результат эволюции модульного программирования. 12. Объектно-ориентированная декомпозиция. Парадигма объектно-ориентированного программирования. 13. Основные конструкции ООП программирования. классы, объекты, события, признаки, методы. 14. ООП программирование. свойства и методы объектов, определение и переопределение их свойств. 15. ООП программирование. инкапсуляция, наследование, полиморфизм. 16. ООП программирование: понятие класса; классы и объекты; инкапсулированные в классах поля, методы, свойства. 17. ООП программирование: разделы класса - published, private, protected, public. 18. Обзор возможностей среды визуального программирования Delphi. 19. Среды программирования Delphi: интегрированная среда разработчика IDE: главное окно, меню, палитра компонентов, инспектор объектов, менеджер проектов, браузер объектов, редактор. 20. Среды программирования Delphi: понятие проекта; файлы проекта, модулей, форм. 19 21. Среды программирования Delphi: компиляция, сборка и выполнение программ. 22. Событийная модель программирования на примере Delphi. 23. Механизм обработки сообщений в Delphi. 24. Среда программирования Delphi: события, обрабатываемые формой. 25. Среда программирования Delphi: события, генерируемые клавиатурой и мышью. 26. Визуальные компоненты в Delphi: стандартные и MDI-окна, диалоговые панели и панели сообщений, контейнеры. 27. Среда программирования Delphi: управление видимостью, размерами, расположением визуальных компонентов. 28. Среда программирования Delphi: компонент класса TForm, особенности использования компонента в качестве стандартного и MDI-окон, диалоговой панели и панели сообщений. 29. Среда программирования Delphi: примеры использования компонентов страниц STANDARD и ADDITIONAL. 30. Среда программирования Delphi: классификация ошибок в программах. 31. Среда программирования Delphi: установка точек прерывания просмотра. 32. Среда программирования Delphi: этапы разработки компонента. 6. СПИСОК РЕКОМЕНДУЕМОЙ ДЛЯ ИЗУЧЕНИЯ ЛИТЕРАТУРЫ. 6.1. ОСНОВНАЯ ЛИТЕРАТУРА 1. Вирт Н. Алгоритмы и структуры данных. – М.: Мир, 1989. 2. Кэнту М. Delphi 2005. Для профессионалов. – СПб.: Питер, 2006. 3. Архангельский А.Я. Программирование в DELPHI 5. – М., БИНОМ, 2000. 4. Культин Н.Б. DELPHI в задачах и примерах. – СПб.: BHV – СанктПетербург, 2004. 5. Фаронов В.В.. Турбо Паскаль. Начальный курс. – М., «Нолидж», 2000. 6. Фаронов В.В. Профессиональная работа в DELPHI.6 – СПб.: Питер, 2002. 7. Фаронов В.В. Система программирования DELPHI. – СПб.: BHV – СанктПетербург, 2004. 6.2. ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА: 8. Буч Г. Объектно-ориентированное проектирование с примерами применения. – И.: Конкорд, 1992. 9. Петзолд Ч. Программирование для Windows 95; в двух томах. – СПб.: BHV – Санкт-Петербург, 1997. 10. Стефен Моррис. Объектно-ориентированное программирование. Серия «Enter». Ростов-на-Дону: Феникс, 1997. 11. Фаронов В.В. DELPHI 5. Руководство программиста. – М., «Нолидж», 2001. 12. Федоров А.Г. Delphi 2.0 для всех. – М., «Компьютер Пресс», 1997. 13. Конопка Р. Создание оригинальных компонент в среде DELPHI. – Киев, DiaSoft Ltd., 1996. – 511 c. 20 14. Нелин В.М. Введение в объектно-ориентированное программирование: методическое пособие в 2-х частях. Часть I. Минимум. Армавир: ИП Шурыгин В.Е., 2009.- 56 с. 15. Нелин В.М. Объектно-ориентированное программирование: учебнометодическое пособие в 2-х частях. Ступень I. Создание и использование простейших классов. Армавир: ИП Шурыгин В.Е., 2011. 92 с. 16. Нелин В.М. Объектно-ориентированное программирование [Текст]: учебнометодическое пособие в 2-х частях. Ступень II. Работа с компонентами. Армавир: ИП Шурыгин В.Е., 2011. 120 с.: ил. 21