Для чего нужны абстрактные методы?

3.11. Событийно-ориентированный подход

Внутренняя структура программ для Windows отличается от структуры консольных программ, где операторы выполняются последовательно, от начала программы, ключевого слова begin, до завершающего слова end. Windows обрабатывает возникающее в ней события: щелчок мыши на кнопке, выбор пункта меню, нажатие клавиши и т.п. – и передает их выполняющимся программам. Эти программы обычно находятся в состоянии ожидания и активизируются только при получении от ОС сообщений о событиях - реагируют на то или иное событие.

Сообщения обрабатываются программой не одновременно, а последовательно, что определяется, в конечном счете, архитектурой ЭВМ. Таким образом, структура программы для Windows представляет собой набор подпрограмм, каждая из которых ответственна за обработку конкретного события и вызывается только при его получении. Программист сам решает, какие события в программе требуется обрабатывать. События, на которые может реагировать тот или иной визуальный компонент из палитры компонентов Delphi, а также задать свой обработчик (процедуру) можно с помощью инспектора объектов – закладка Events (События).

Вопросы для самопроверки:

1. Перечислите основные события, на которые может реагировать главная форма приложения.

2. Что такое «обработчик события»?

3. Могут ли различные компоненты использовать один и тот же обработчик события? Если – да то, каким образом можно это задать?

Какие манипуляции на форме (Form1) приводят к автоматическому созданию события?

4. ТЕМЫ ПРАКТИЧЕСКИХ ЗАНЯТИЙ.

 

Второй семестр.

Практические занятия – 8 часов

Цель – изучение основ программирования на языке Object Pascal.

Темы практических занятий.

А. Синтаксис основных операторов языка -4 часа

Б. Простые программы – 4 часа.

 

Самостоятельное изучение тем:

- работа с типами данных, типы, определяемые пользователем, совместимость типов;

- операторы и инструкции;

- работа с файлами, текстовые, типизированные и нетипизированные файлы;

- работа с записями;

- указатели, связанные списки;

- процедуры и функции, объявление переменной, стандартные функции

Третий семестр.

Практические занятия – 6 часов

Самостоятельная работа – 50 часов

Цель – изучение основных принципов визуального программирования, освоение Delphi как среды разработки.

Темы практических занятий.

А. инструменты среды Delphi – 1 час.

Б. Структура проекта – 1 час.

В. Подпрограммы - 2 часа.

Д. Принципы построения программ для WINDOWS – 2 часа.

 

Самостоятельное изучение тем:

- работа с визуальными компонентами палитры Стандартные;

- работа с файлами;

- стандартные диалоговые окна WINDOWS;

- дополнительные компоненты Delphi 7;

- панель компонентов Win32

- компоненты интерфейса пользователя в стиле WINDOWS XP;

 

Четвертый семестр.

Практические занятия – 8 часов

Самостоятельная работа – 50 часов

Цель – изучение основных принципов объектно-ориентированного программирования.

Темы практических занятий.

А. Класс. Объект класса, поля и методы класса – 2 часа.

Б. Специальные методы класса. Конструкторы. Деструкторы - 2 часа.

В. Полиморфизм и наследование. Создание производного класса – 4 часа.

Пятый семестр.

Самостоятельная работа – 96 часов

Курсовой проект – 4 часа

Цель – продемонстрировать приобретенные навыки программирования.

Защита курсового проекта проводится в два этапа:

1) демонстрация работоспособности приложения – 2 часа

2) доклад – 4 часа

К защите курсового проекта предъявляется:

а) рабочее приложение в среде Delphi 7.0,

б) пояснительная записка, оформленная в соответствии с требованиями стандарта ОС ТУСУР 6.1-97*,

в) мультимедийная презентация доклада (7мин), выполненная в Power Point.

При отсутствии пояснительной записки работа к защите не допускается!

Курсовая работа оценивается комиссией, которая заслушивает доклад студента о проделанной работе.

 

5. ЗАДАНИЯ НА КОНТРОЛЬНЫЕ РАБОТЫ

5.1. Методические указания

Контрольная работа выполняется в отдельной тетради или на листах формата А4 в соответствии с требованиями данной контрольной работы. Каж­дая работа должна иметь титульный лист, который оформляется аналогично титульному листу курсового проекта (см. Приложение).

На титульном листе также указывается номер варианта, который определя­ется студентом, как остаток от деления на 9 числа из трех последних цифр за­четной книжки. Например, номер зачетки - 85174, тогда остаток отделения 174 на 20 равен 14 и, следовательно, но­мер варианта - 14. Если остаток от деления равен нулю, то номер варианта при­нимается равным 20.

5.2.Контрольная работа № 1.

Разработка программ вычислительного характера с использованием процедур и функций.

Задача 1.1

1. Цветочная клумба имеет форму круга. Вычислить ее периметр и площадь, если известен радиус.

2. Вычислить периметр и площадь прямоугольного треугольника, если известны катет и острый угол.

3. Вычислить длину окружности и площадь круга по известному диаметру.

4. Участок леса имеет форму равнобедренной трапеции. Вычис­лить её периметр и площадь по заданным сторонам.

5. Ресторан закупает ежедневно масло m1 кг по 8.50 руб. за килограмм, сметану m2 кг по 2.40 руб., сливки т3 кг по 4.10 руб. Определить суммы, необходимые для покупки отдельных продуктов, и общую сумму.

6. Сколько секунд в сутках, неделе, году?

7. Вычислить кинетическую (Е = mv2 /2) и потенциальную (Р = mgh) энергии тела заданной массы т, которое двигается на высоте h со скоростью v.

8. Цены на два вида товаров возросли на р процентов. Вывести старые и новые цены.

9. Вычислить площадь поверхности (S) и объем (V) сферы, если известен радиус R.

10.Скорость света 299792 км/с. Какое расстояние проходит свет за один час, сутки?

11.Ввести урожайность трёх сортов пшеницы (36, 40, 44 т/га) и размеры трёх соответствующих полей (в га). Сколько собрали пшеницы с каждого поля в отдельности и с трех полей вме­сте?

12.Радиус Луны 1740 км. Вычислить площадь поверхности (S) и объем Луны (V).

13.Вычислить длину гипотенузы и площадь прямоугольного тре­угольника по заданным двум катетам.

14.Вычислить объём и площадь боковой поверхности куба, если известно его ребро.

15.Ввести производительности работы трёх труб, которые напол­няют бассейн, и время их работы. Сколько воды набрано в бассейне?

16.Какую площадь и периметр будет иметь квадрат, если опи­санный круг имеет площадь S.

17.Тело падает с ускорением g. Определить пройденный телом путь (h=gt2/2) после первой и второй секунд падения.

18.Вычислить периметр и площадь прямоугольного треугольника по известным катетам.

19.Телефонные разговоры с тремя населенными пунктами стоят С1, С2, С3 руб/мин. Длительность разговоров t1, t2, t3 мин. соответственно. Какую сумму насчитает компьютер к оплате за каждый разговор в отдельности и за все вместе?

20.Вычислить площадь боковой поверхности (S) и объем (V) бочки, если известны высота h и радиус основания г.

Задача 1.2

Треугольник задан координатами вершин А(0; 0), В(i; i-1) и С(-i; i+1), где i - номер варианта.

1. Вычислить высоту ha и биссектрису Wс.

2. Вычислить медиану mа и биссектрису Wb.

3. Вычислить биссектрису Wa и радиус вписанной окружности R.

4. Вычислить высоту ha и медиану mb.

5. Вычислить медиану mb и биссектрису Wc.

6. Вычислить биссектрису Wa и радиус описанной окружности R.

7. Вычислить высоту hb и биссектрису Wa.

8. Вычислить высоту hb и медиану mс.

9. Вычислить высоту ha и радиус вписанной окружности R.

10.Вычислить медиану mс и биссектрису Wa.

11.Вычислить высоту hb и биссектрису Wc.

12.Вычислить медиану mс и радиус вписанной окружности R.

13.Вычислить высоту hb и медиану mа.

14.Вычислить медиану mа и радиус описанной окружности R.

15.Вычислить медиану mа и биссектрису Wc.

16.Вычислить высоту hc и биссектрису Wa.

17.Вычислить медиану mb и радиус вписанной окружности R.

18.Вычислить высоту hc и медиану mа.

19.Вычислить медиану mb и биссектрису Wa.

20.Вычислить медиану mс и радиус описанной окружности R

Задача 1.3

Таблица мер. Построить таблицу соответст­вий между мерами. Начальное значение меры, шаг изменения этого значения и количество строк в таблице (10-15) задать само­стоятельно в режиме диалога.

1. 1 унция = 28.353495 г = 142 карата;

2. 1 драхм = 1.77185 г = 0.06249 унций;

3. 1 карат = 0.2 г = 2.9412 гран;

4. 1 гран = 0.068 г = 0.038378 драхм;

5. 1 пайп = 54.18 пек = 477.33 л;

6. 1 галлон (брит.) = 1.2 галлон (США) = 4.546 л;

7. 1 галлон (США) = 0.0347 сак = 3.785 л;

8. 1 стопка = 0.0568 л = 0.00012 пайпа;

9. 1 квартет = 291 л = 5123.24 стопки;

10.1 страйк = 72.73 л =1280.46 стопок;

11.1 челдрон = 1.309 л = 0.149 пека;

12.1 сак = 109 л =1.499 страйка;

13.1 пек = 8.81 л - 0.07929 сака;

14.1 корд мал. = 3.624 куб. м == 128 куб. футов;

15.1 стандарт = 4.672 куб. м = 0.165 рода;

16.1 род = 28.3 куб. м = 1000 куб. футов;

17.1 чейн строительный = 30.48 м = 100 футов;

18.1 фингер =11.4 см = 4.5 дюймов;

19.1 нейл = 5.7 см = 2.25 дюймов;

20.1 фут = 0.3048 м = 12 дюймов

Задача 1.4

Двумерные массивы. Задача о выборах.Пусть шесть населенных пунктов, обозначенные номерами от 1 до 6 (ве­личина k), а пять кандидатов - номерами от 1 до 5 (величина n). Количество голосов, набранных кандидатами в каждом пункте, определяется формулой аk = random(10i + 50), где i - номер вари­анта. Вывести на экран таблицу результатов голосования, где значения в строках - данные из населенных пунктов, а в столб­цах - данные по конкретным кандидатам. Выполнить дополни­тельное задание своего варианта. Создать одномерный массив с искомыми данными.

1. Вывести итоговые результаты каждого кандидата. (создать одномерный массив из сумм значений столбцов табли­цы).

2. Определить номера населённых пунктов, где количество поданных голосов превысило 150 (создать одномерный массив из этих номеров).

3. Кто из кандидатов набрал максимальное, а кто минимальное количество голосов в четвертом населённом пункте?

4. Какое количество голосов было подано за первого и третьего кандидатов во всех населённых пунктах?

5. В каких населённых пунктах второй и четвертый кандидаты набрали максимальное количество голосов?

6. Сколько избирателей приняли участие в голосовании в каж­дом населённом пункте?

7. Кто из кандидатов имеет максимальный рейтинг?

8. Кто из кандидатов набрал максимальное количество голосов во втором населённом пункте?

9. В каких населённых пунктах количество опрошенных больше некоторого заданного числа n?

10.За кого из кандидатов подано количество голосов меньше не­которого заданного числа n?

11.В каких населённых пунктах первый кандидат набрал мак­симальное количество голосов?

12.В каком населённом пункте проголосовало наибольшее количество людей?

13.Кто из кандидатов набрал наибольшее количество голосов во втором и третьем населённых пунктах?

14.В каком населённом пункте первый кандидат набрал минимальное количество голосов, а в каком максимальное?

15.У кого среди второго, четвертого и пятого кандидатов наивысший рейтинг?

16.Кто набрал максимальное, а кто минимальное количество го­лосов в первом населённом пункте?

17.В каких населённых пунктах первый и пятый кандидаты набрали больше 100 голосов?

18.В каких населенных пунктах количество участников выборов не превысило 450?

19.У кого из кандидатов рейтинг больше некоторого заданного числа n?

20.В каких населённых пунктах количество избирателей меньше некоторого заданного числа n?

Задача 1.5

Подпрограммы для массивов с различным коли­чеством элементов.В отделе Y есть 15 сотрудников, а в G - 20. На протяжении месяца каждый сотрудник отработал некото­рое количество дней, которое задано как случайная величина со значениями уп = random(30), п = 1, 2, ..., 15, gk= random(30), k = 1, 2, ..., 20. Дневная оплата труда d в услов­ных единицах. Налоговая ставка 20%. Используя подпрограммы, создать массивы у, g, вывести значения их элементов на экран и выполнить задания поиска данных для каждого отдела. Вывести сообщение, если искомые данные отсутствуют.

1. Сколько человек в каждом из отделов работало больше 15 дней?

2. У кого наименьший заработок в каждом из отделов?

3. Кому насчитано больше 100 у. е. в каждом отделе?

4. Сколько человеко-дней было отработано в каждом отделе?

5. Какой средний заработок в каждом отделе?

6. Сколько сотрудников получили больше 50 и меньше 120 у.е.?

7. Сколько человек работало менее 10 дней?

8. Какую сумму налога заплатили в каждом отделе?

9. Кто заплатил наибольший налог в каждом из отделов?

10.У скольких сотрудников налоговые вычеты превысили 20 у.е.?

11.Какой средний налог был в каждом отделе?

12.В каком отделе больший средний заработок?

13.Кто уплатил наименьший налог в каждом отделе?

14.Сколько человек в каждом отделе работало только один день?

15.У скольких человек заработок выше среднего?

16.В каком отделе меньший средний заработок?

17.У скольких человек заработок отклоняется от среднего меньше, чем на 10%?

18.В каком отделе был зафиксирован наибольший заработок?

19.Сколько сотрудников отработали более 5 и менее 12 дней?

20.Какой средний заработок первых пяти сотрудников в каждом
отделе?

21.Задание повышенной сложности. Сколько отработанных дней чаще всего было зафиксировано в каждом отделе?

Отчет должен содержать алгоритмы решения задач.

 

5.3.Контрольная работа № 2.

Разработка программы в стиле WINDOWS XP.

Разработать программу, содержащую все задачи контрольной работы №1. При разработке использовать такие визуальные компоненты как главное меню, многостраничный блокнот, списки выбора и т.п. Для отображения графической информации использовать компонент Chat.

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

 

 

6. ЗАДАНИЯ НА ЛАБОРАТОРНЫЕ РАБОТЫ.

6.1 Лабораторная работа № 1.

Разработка программы «калькулятор» - 8 часов

Цель работы: Изучение основ программирования на языке Паскаль в среде Delphi.

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

В отчете должны быть отражена структура проекта и последовательность реализации основных функций калькулятора.

Результатом выполнения лабораторной работы является программа, моделирующая работу настольного калькулятора.

 

6.2 Лабораторная работа № 2.

Отладка программ - 2 часа.

Цель работы – изучить приемы и инструменты Delphi, позволяющие отслеживать ход выполнения программы.

Для выполнения работы использовать программу из лабораторной работы №1.

Отчет должен содержать описание процесса отладки программы.

 

6.3 Лабораторная работа № 3.

Современные компоненты интерфейса пользователя – 6 часов.

Цель работы – изучить принципы построения интерфейса пользователя с использованием визуальных компонент.

Разработать программу «Анкета студента», которая должна обеспечивать обработку данных о 25 студентах. Анкета включает в себя следующие атрибуты: ФИО студента, адрес, группа, две фотографии, дата последней модификации.

При разработке программы использовать следующие компоненты:

- панель Dialogs (окно выбора файла, окно сохранения файла),

- панель Additional (быстрая кнопка, рамка, таблица),

- панель Win32 (список, набор страниц, поле ввода даты/времени, строка состояния),

Отчет должен содержать описание работы использованных компонент.

 

6.4 Лабораторная работа № 4.

Архитектура Action Manager - 2часа

Цель работы – изучить способы организации работы программы в режиме меню.

Разработать меню с использованием элементов управления ActionMainMenuBar, ActionToolBar и редактора ActionManager.

Отчет должен содержать описание архитектуры Action Manager.

 

6.5 Лабораторная работа № 5.

Динамически компонуемые библиотеки -2 часа

Цель работы: освоение технологии разработки подпрограмм в концепции библиотеки DLL.

Процедуры и функции контрольной работы №2 оформить в виде библиотеки DLL.

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

 

7. МЕТОДИЧЕСКИЕ УКАЗАНИЯ К КУРСОВОМУ ПРОЕКТИРОВАНИЮ

 

Курсовой проект является завершающим этапом в изучении курса

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

Основной целью курсового проекта является: систематизация, закрепление и расширение знаний студента по концептуальному анализу поставленной задачи, разработке алгоритма ее решения, использованию современных инструментов разработки приложений; овладение студентом навыков самостоятельной работы с литературой, владение студентом навыков по оформлению отчета о проделанной работе.

Тема курсового проекта согласовывается с преподавателем. Ниже приведен примерный перечень тем:

1) Разработка демонстрационно–обучающей программы по заданной теме (стереометрия, нахождения корней уравнения и т.п.);

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

3) Разработка программы графической интерпретации совокупности функций (тригонометрических);

4) Разработка программы расчетно-пояснительного назначения (бизнес план);

5) Разработка программы инструктажа (противопожарная безопасность).

 

7.1 Общие требования к курсовому проекту

 

7.1.1 Курсовой проект выполняется в соответствии с заданием на курсовую работу, заполненным студентом на основании поставленной руководителем задачи, согласованным с последним.

7.1.2 Объем работы над поставленной задачей должен быть установлен таким образом, чтобы студент мог выполнить его в течение весеннего семестра (3,5 месяца).

7.1.3 Курсовой проект выполняется в виде пояснительной записки в соответствии с общими требованиями и правилами оформления курсовых и дипломных работ.

7.1.4 Работа студентом выполняется самостоятельно. Роль руководителя - контроль за ходом выполнения курсовой работы студентом и консультативная помощь.

7.2 Построение пояснительной записки

 

7.2.1 Пояснительная записка (ПЗ) к проекту оформляется в соответствии с образовательным стандартом [5] и должна включать в указанной ниже последовательности, следующие составные части:

- титульный лист;

- аннотацию (или реферат);

- задание на проектирование;

- содержание;

- введение;

- основную часть;

- заключение;

- список используемых источников;

- приложения.

7.2.2 Форма титульного листа курсового проекта приводится в [5]. Пример оформления в приложении.

7.2.3 Аннотация - краткая характеристика работы с точки зрения содержания, назначения, формы и других особенностей. Изложение материала в аннотации должно быть кратким и точным.

Размещают аннотацию на отдельной странице. Заголовком служит слово "Аннотация", расположенное симметрично тексту. Заголовок выполняется прописными буквами.

7.2.4 Задание на курсовую работу выполняется по форме, приведенной в приложении.

7.2.5 Содержание. В содержании перечисляются заголовки разделов, подразделов, список литературы, приложения и указывают страницы, на которых они начинаются.

7.2.6 В разделе "Введение" указывают основную цель работы, дают характеристику разрабатываемых вопросов.

7.2.7 Основная часть проекта должна содержать:

- расширенную постановку задачи, анализ предметной области;

- концептуальную и логическую модель предметной области;

- физическое описание базы данных;

- структурную схему прикладного программного обеспечения;

- руководство пользователя по работе с программным продуктом;

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

7.2.8 Заключение должно содержать краткие выводы о проделанной работе.

7.2.9 В список используемых источников входит литература, на которую есть ссылки в ПЗ.

7.2.10 В качестве приложений к пояснительной записке помещают листинги программ и результаты их работы.

Пояснительная записка выполняется в строгом соответствии с требованиями ОС ТУСУР 6.1-97*.

8. УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ ПО ДИСЦИПЛИНЕ.

 

Основная литература:

1. Бобровский С. Delphi 5: Учебный курс - СПб.: Питер, 2001. - 640 с..

2. Фленов М. Е. Библия Delphi. - СПб.: БХВ-Петербург, 2004. - 880 с.

3. Глинский Я.Н., Анохин В.Е., Ряжская В.А. Turbo Pascal 7.0 и Delphi . : Учебное пособие для вузов. - СПб.: ООО «ДиаСофтЮП»Питер, 2001. - 208 с.

4. Кенту М. Delphi 7: Для профессионалов. - СПб.: Питер, 2004. - 1101с.

 

 

Дополнительная литература :

1. Карлов Б. Delphi: Специальный справочник. – СПб.: Питер, 2002. –

688 с.

2. Суворов К.А., Черемных М.Н. Справочник Delphi. Базовые классы. – СПб.: БХВ-Петербург, 2004. – 576 с.

3. Вирт Н. Алгоритмы и структуры данных. – Спб: Н. Диалект, 2001 – 250с.

4. Королевство Delphi. URL: http://www.delphikingdom.com

 

 

Для выполнения лабораторных работ и контрольных работ необходимо использовать интегрированную среду разработки Delphi 7.0, MS Office XP. Оформление отчетных материалов необходимо выполнять в строгом соответствии с требованиями ОС ТУСУР 6.1-97* Система образовательных стандартов. Работы студенческие учебные и выпускные квалификационные. Общие требования и правила оформления.

Работы студенческие учебные и выпускные квалификационные : ОС ТУСУР 6.1-97* : С изм.: окт. 1999 г., фев. 2002 г., март 2003 г.: Общие требования и правила оформления: / А. А. Чернышев, Л. И. Кирпиченко ; Томский государственный университет систем управления и радиоэлектроники, Кафедра конструирования и производства радиоаппаратуры. - Взамен ОС ТАСУР 6.1-97 ; Введ. с 01.07.96 по 2004. - Томск : ТУСУР, 2003. - 35 с. : ил. -
Экземпляры всего: 5

 

 

Приложение

Пример оформления титульного листа к курсовому проекту

 

Федеральное агентство по образованию РФ

 

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

 

Кафедра автоматизации обработки информации (АОИ)

 

________________________________________________

наименование темы проекта (прописными буквами)

________________________________________________

 

Пояснительная записка к курсовому проекту

по дисциплине "Базы данных"

3Ф КП.00025-01 81 01

 

Студент гр. (подпись) и.о.фамилия

(дата)

 

Руководитель

(должность)

(подпись) и.о.фамилия

(дата)

 

 

Форма задания для курсового проекта

(первая сторона листа)

 

Федеральное агентство по образованию РФ

 

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

 

 

Кафедра автоматизации обработки информации (АОИ)

 

 

УТВЕРЖДАЮ Зав.кафедрой АОИ, профессор ______________ Ю.П.Ехлаков (дата)

 

 

ЗАДАНИЕ

по курсовому проектированию по дисциплине

 

студенту__________________________________________________

группа______________ факультет_____________________________

1. Тема проекта:____________________________________________

__________________________________________________________

2. Срок сдачи студентом законченного проекта________________

3. Исходные данные к проекту:_______________________________

__________________________________________________________

__________________________________________________________

 

 

Форма задания курсового проекта

(вторая сторона листа)

 

4. Содержание пояснительной записки (перечень подлежащих разработке вопросов): ___________________________________________________________

____________________________________________________________

____________________________________________________________

5. Перечень графического материала (с точным указанием обязательных чертежей):

____________________________________________________________

________________________________________________________________________________________________________________________6. Дата выдачи задания:_______________________________________

РУКОВОДИТЕЛЬ______________________ (подпись)

_________________________________________________________

(должность, место работы, фамилия, имя, отчество)

 

Задание принял к исполнению (дата) ____________________________

________________(подпись студента)