• Название:

    Программир в среде DELPHI Практикум по курсу Ос..


  • Размер: 1.57 Мб
  • Формат: PDF
  • или
  • Сообщить о нарушении / Abuse

Установите безопасный браузер



    Предпросмотр документа

    Министерство образования Республики Беларусь
    Учреждения образования
    «Белорусский государственный университет
    информатики и радиоэлектроники»

    С. В. Колосов, И. Н. Коренская, И. В. Лущицкая

    ПРОГРАММИРОВАНИЕ
    В СРЕДЕ 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 может иметь следующий вид: