|
Предпросмотр документа
Министерство образования Республики Беларусь
Учреждения образования
«Белорусский государственный университет
информатики и радиоэлектроники»
С. В. Колосов, И. Н. Коренская, И. В. Лущицкая
ПРОГРАММИРОВАНИЕ
В СРЕДЕ DELPHI.
ПРАКТИКУМ ПО КУРСУ
«ОСНОВЫ АЛГОРИТМИЗАЦИИ
И ПРОГРАММИРОВАНИЯ»
Рекомендовано УМО вузов Республики Беларусь
по образованию в области информатики и радиоэлектроники
в качестве учебно-методического пособия для студентов
учреждений, обеспечивающих получение высшего образования
по специальностям, закрепленным за УМО
Минск БГУИР 2012
УДК 004. 43(076.5)
ББК 32.973.26-018.1я73
К61
Р е ц е н з е н т ы:
заведующий кафедрой «Дискретная математика и алгоритмика»
учреждения образования «Белорусский государственный университет»,
доктор физико-математических наук, профессор В. М. Котов;
доцент кафедры «Прикладная информатика» учреждения образования
«Белорусский государственный аграрный технический университет»,
кандидат технических наук А. И. Шакирин
К61
Колосов, С. В.
Программирование в среде DELPHI. Практикум по курсу «Основы алгоритмизации и программирования» : учеб.-метод. пособие / С. В. Колосов, И. Н. Коренская, И. В. Лущицкая; под общ. ред. С. В. Колосова. –
Минск : БГУИР, 2012. – 128 с.
ISBN 978-985-488-773-9.
В практикуме приведены краткие теоретические сведения по основам программирования в среде DELPHI. Рассмотрены приемы работы со средой визуального программирования. Приведены примеры решения тестовых задач по восьми тематическим разделам, а также после каждой темы приведено 30 индивидуальных заданий.
Практикум предназначен для начального обучения студентов основам алгоритмизации
и программирования в среде визуального программирования Delphi.
УДК 004. 43(076.5)
ББК 32.973.26-018.1я73
ISBN 978-985-488-773-9
2
© Колосов С. В., Коренская И. Н.,
Лущицкая И. В., 2012
© УО «Белорусский государственный
университет информатики
и радиоэлектроники», 2011
Содержание
ЛАБОРАТОРНАЯ РАБОТА №1. ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ
АЛГОРИТМОВ .............................................................................................................. 6
1.1. Интегрированная среда разработчика DELPHI ............................................... 6
1.2. Структура программ DELPHI ............................................................................ 8
1.3. Порядок выполнения задания ............................................................................ 9
1.3.1. Настройка формы ........................................................................................ 9
1.3.2. Изменение заголовка формы ....................................................................... 9
1.3.3. Размещение строки ввода (TEdit) .............................................................. 9
1.3.4. Размещение надписей (TLabel) ................................................................. 10
1.3.5. Размещение многострочного окна вывода (TMemo) ............................ 10
1.3.6. Написание процедуры обработки события создания формы
(FormCreatе) ........................................................................................................... 11
1.3.7. Написание процедуры обработки события нажатия кнопки
(ButtonClick) ............................................................................................................ 11
1.3.8. Запуск и работа с программой ................................................................. 12
1.3.9. Код программы ............................................................................................ 13
1.4. Индивидуальные задания .................................................................................. 14
1.5. Задания повышенной сложности ..................................................................... 18
ЛАБОРАТОРНАЯ РАБОТА № 2. ПРОГРАММИРОВАНИЕ
РАЗВЕТВЛЯЮЩИХСЯ АЛГОРИТМОВ ............................................................. 19
2.1. Операции сравнения и логические операции ................................................ 19
2.2. Оператор условной передачи управления If .................................................. 19
2.3. Оператор выбора Case ....................................................................................... 20
2.4. Оператор безусловной передачи управления GoTo ..................................... 21
2.5. Кнопки-переключатели в Delphi ...................................................................... 21
2.6. Порядок выполнения задания .......................................................................... 22
2.6.1. Coздание формы проекта ......................................................................... 22
2.6.2. Работа с компонентом TСheckBox ......................................................... 23
2.6.3. Работа с компонентом TRadioGroup ..................................................... 23
2.6.4. Создание обработчиков событий FormСreate и ButtonClick .............. 23
2.6.5. Код программы ............................................................................................ 25
2.7. Индивидуальные задания .................................................................................. 26
2.8. Задания повышенной сложности ..................................................................... 29
ЛАБОРАТОРНАЯ РАБОТА № 3. ПРОГРАММИРОВАНИЕ
ЦИКЛИЧЕСКИХ АЛГОРИТМОВ ......................................................................... 30
3.1. Операторы организации циклов ...................................................................... 30
3.1.1. Оператор цикла – For ................................................................................ 30
3.1.2. Оператор цикла с предусловием While .................................................... 32
3.1.3. Оператор цикла с постусловием Repeat … Until ................................... 34
3.2. Операторы управления ...................................................................................... 35
3
3.2.1 Оператор Break ............................................................................................35
3.2.2 Оператор Continue ....................................................................................... 35
3.3 Средства отладки программ в DELPHI ............................................................36
3.4 Порядок выполнения задания ............................................................................ 37
3.4.1 Блок-схема алгоритма ...................................................................................... 39
3.4.2 Код программы.................................................................................................. 40
3.5. Индивидуальные задания .................................................................................. 42
3.6. Задания повышенной сложности ..................................................................... 45
ЛАБОРАТОРНАЯ РАБОТА № 4. ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ
СИТУАЦИЙ. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ
ОДНОМЕРНЫХ МАССИВОВ ................................................................................. 46
4.1. Обработка исключительных ситуаций ............................................................46
4.2. Функции ShowMessage и MessageDlg .............................................................48
4.3. Работа с массивами .............................................................................................50
4.3.1. Объявление массива .................................................................................... 50
4.3.2. Примеры программ ..................................................................................... 51
4.4. Компонент TStringGrid ...................................................................................... 54
4.5. Порядок выполнения задания ........................................................................... 55
4.5.1. Настройка компонента TStringGrid ........................................................ 55
4.5.2. Блок-схема алгоритма ................................................................................ 56
4.5.3. Код программы ............................................................................................57
4.6. Индивидуальные задания .................................................................................. 60
ЛАБОРАТОРНАЯ РАБОТА № 5. ПРОГРАММИРОВАНИЕ
С ИСПОЛЬЗОВАНИЕМ ДВУМЕРНЫХ МАССИВОВ ..................................... 63
5.1. Компонент TBitBtn .............................................................................................63
5.2. Примеры программ .............................................................................................63
5.3. Пример выполнения задания ............................................................................ 66
5.3.1. Настройка компонента TStringGrid ........................................................ 66
5.3.2. Код программы ............................................................................................67
5.4. Индивидуальные задания .................................................................................. 69
ЛАБОРАТОРНАЯ РАБОТА № 6. ПРОГРАММИРОВАНИЕ
С ИСПОЛЬЗОВАНИЕМ СТРОК............................................................................. 72
6.1. Типы данных для работы со строками ............................................................72
6.1.1. Короткие строки типа ShortString и String[N] ......................................... 72
6.1.2. Длинная строка типа AnsiString ................................................................72
6.1.3. Широкая строка типа WideString ..............................................................72
6.1.4. Нуль-терминальная строка типа PChar .................................................... 72
6.1.5. Представление строки в виде массива символов ................................... 72
6.2. Компонент TListBox ...........................................................................................72
6.3. Компонент TComboBox ..................................................................................... 73
6.4. Обработка событий.............................................................................................73
4
6.5. Пример выполнения задания ............................................................................ 74
6.5.1. Код программы ............................................................................................ 75
6.6. Индивидуальные задания .................................................................................. 76
ЛАБОРАТОРНАЯ РАБОТА № 7. ПРОГРАММИРОВАНИЕ
С ИСПОЛЬЗОВАНИЕМ ЗАПИСЕЙ И ФАЙЛОВ .............................................. 79
7.1. Программирование с использованием переменных типа запись ............... 79
7.2. Работа с файлами ................................................................................................ 79
7.3. Подпрограммы работы с файлами ................................................................... 80
7.4. Компоненты TOpenDialog и TSaveDialog ...................................................... 81
7.5. Пример выполнения задания ............................................................................ 82
7.5.1. Настройка компонентов TOpenDialog и TSaveDialog ........................... 82
7.5.2. Работа с программой .................................................................................. 83
7.5.3. Код программы ............................................................................................ 84
7.6. Индивидуальные задания .................................................................................. 87
ЛАБОРАТОРНАЯ РАБОТА № 8. ПРОГРАММИРОВАНИЕ
С ИСПОЛЬЗОВАНИЕМ ПОДПРОГРАММ И МОДУЛЕЙ.
ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ ............................................................ 92
8.1. Построение графика функции с помощью компонента TChart .................. 92
8.2. Использование подпрограмм............................................................................ 93
8.3. Использование модулей Unit ............................................................................ 96
8.4. Пример выполнения задания ............................................................................ 97
8.4.1. Настройка формы ...................................................................................... 97
8.4.2. Работа с компонентом TChart ................................................................ 97
8.4.3. Создание модуля .......................................................................................... 98
8.4.4. Подключение модуля ................................................................................... 98
8.4.5. Написание программы обработки события создания формы ........... 99
8.4.6. Написание программ обработки событий нажатия на кнопки ........ 99
8.4.7. Код библиотечного модуля........................................................................ 99
8.4.8. Код основного модуля ................................................................................. 99
8.5. Индивидуальные задания ................................................................................ 102
ПРИЛОЖЕНИЕ 1. БЛОК-СХЕМА АЛГОРИТМА ................................................ 103
ПРИЛОЖЕНИЕ 2. МАТЕМАТИЧЕСКИЕ ФОРМУЛЫ ....................................... 109
ПРИЛОЖЕНИЕ 3. НАСТРОЙКА ПАРАМЕТРОВ СРЕДЫ DELPHI ................. 118
ПРИЛОЖЕНИЕ 4. СВОЙСТВА КОМПОНЕНТОВ .............................................. 120
ЛИТЕРАТУРА .............................................................................................................. 127
5
Лабораторная работа № 1. Программирование линейных алгоритмов
Цель работы: научиться составлять простейшие программы в среде
DELPHI: написать и отладить программу линейного алгоритма.
1.1. Интегрированная среда разработчика DELPHI
Среда DELPHI визуально реализуется в виде нескольких одновременно
раскрытых на экране монитора окон. Количество, расположение, размер и вид
окон может меняться программистом в зависимости от его текущих нужд, что
значительно повышает производительность работы. При запуске DELPHI на экране появляются пять окон (рис. 1.1).
- главное – Delphi 7;
-стартовая форма – Form1;
-редактор свойств объектов – Object Inspector;
-просмотр списка объектов – Object TreeView;
-редактор кода – Unitl.pas.
1
2
3
6
7
4
5
8
Рис. 1.1. Вид экрана после запуска Delphi:
1 – главное окно; 2 – основное меню; 3 – значки основного меню;
4 – окно просмотра дерева объектов; 5 – окно инспектора объектов;
6 – палитра компонентов; 7 – окно пустой формы; 8 – окно текста программы
6
Главное окно всегда присутствует на экране и предназначено для управления процессом создания программы. Основное меню содержит все необходимые средства для управления проектом. Пиктограммы облегчают доступ к наиболее часто применяемым командам основного меню. Через меню компонентов
осуществляется доступ к набору стандартных сервисных программ среды
DELPHI, которые описывают некоторый визуальный элемент (компонент), помещенный программистом в окно формы. Каждый компонент имеет определенный набор свойств (параметров), которые можно задавать. Например цвет, заголовок окна, надпись на кнопке, размер и тип шрифта и др.
Окно инспектора объектов (вызывается c помощью клавиши F11) предназначено для изменения свойств выбранных компонентов и состоит из двух
страниц. Страница Properties (Свойства) предназначена для изменения необходимых свойств компонента, страница Events (События) – для определения реакции компонента на то или иное событие (например нажатие определенной
клавиши или щелчок «мышью» по кнопке).
Окно формы представляет собой проект Windows-окна программы. В это
окно в процессе написания программы помещаются необходимые компоненты.
Причем при выполнении программы помещенные компоненты будут иметь тот
же вид, что и на этапе проектирования.
Окно программного кода предназначено для просмотра, написания и редактирования кода программы. В системе DELPHI используется язык программирования Object Pascal. При первоначальной загрузке в окне кода программы
находится код, содержащий минимальный набор операторов для нормального
функционирования пустой формы в качестве Windows-окна. При помещении
некоторого компонента в окно формы код программы автоматически дополняется описанием необходимых для его работы библиотек стандартных программ
(раздел Uses) и типов переменных (раздел Type).
Программа в среде DELPHI составляется как описание алгоритмов, которые необходимо выполнить, если возникает определенное событие, связанное с
формой (например щелчок «мыши» на кнопке – событие OnClick, создание
формы – OnCreate). Для каждого обрабатываемого на форме события с помощью страницы Events инспектора объектов в коде программы организуется
процедура (Procedure), между ключевыми словами Begin и End которой программист записывает на языке Object Pascal требуемый программный код.
Переключение между окном формы и окном кода программы осуществляется с помощью клавиши F12.
7
1.2. Структура программ DELPHI
Delphi для каждого приложения создает несколько файлов со следующими расширениями:
-*.dpr – файл описания проекта, где описываются все формы проекта
(Project1.dpr) и запускаеся само приложение (Application.run). Для просмотра кода этого файла надо выполнить: Project – View Source;
-*.pas – файл модуля Unit, который является кодом программы для данной
формы Form1 (Unit1.pas);
-*.dfm – файл описания формы и ее компонент (Unit1.dfm). Он может храниться как в виде бинарного файла, так и в виде текстового файла;
-*.res – ресурсный файл, в котором хранятся значки, картинки, меню, константы, помещаемые на форму (Project1.res);
-*.dof – файл настроек проекта (Project1.dof);
-*.dcu – результат трансляции модуля с расширением *.pas, т.е. программный код модуля, представленный в машинных кодах;*.exe – результат редактирования программы, т.е. объединение всех модулей *.dcu в одну готовую к
выполнению программу.
При выполнении лабораторных работ следует сохранять только файлы с
расширениями *.dpr, *.pas, *.dfm и *.res. Остальные файлы являются рабочими
и их можно не сохранять.
Модуль Unit является отдельной программной единицей, и результатом
трансляции является машинный код, который записывается в файл с расширением *.dcu.
Структура модуля Unit может иметь следующий вид: