- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Контрольні питання
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Контрольні питання
- •Контрольні питання:
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Проект Delphi
- •Модулей в проект.
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Функции преобразования в числовой формат и обратно
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •7.1. Простые типы
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Печать с помощью объекта Printer
- •Подготовка и печать отчетов с помощью QuickReport — компоненты QuickRep, qrSubDetail, qrLabel, qrExpr, qrSysData, qrMemo, qrRichText, qrShape, qrImage
- •Контрольні питання
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.1: масиви
- •План заняття
- •Листинг 1. Инициализация и вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Листинг 2. Ввод и обработка массива целых чисел
- •Листинг 3. Процедура обработки события OnKeyPress
- •Листинг 4. Ввод и обработка массива дробных чисел
- •Контрольні питання
- •Объявление записи
- •Инструкция with
- •Ввод и вывод записей в файл
- •Вывод записи в файл
- •Листинг 25. Добавление записей в файл
- •Чтение записи из файла
- •Листинг 26. Чтение записей из файла
- •Контрольні питання
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.3: множини
- •План заняття
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.4: множини обовязкова контрольна робота №28
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.1: робота з файлами
- •План заняття
- •Объявление файла
- •Назначение файла
- •Вывод в файл
- •Открытие файла для вывода
- •Листинг 20. Создание нового или замещение существующего файла
- •Листинг 21. Добавление в существующий файл
- •Ошибки открытия файла
- •Закрытие файла
- •Пример программы
- •Листинг 22. Простая база данных (запись в файл)
- •Ввод из файла
- •Открытие файла
- •Листинг 23. Обработка ошибки открытия файла (фрагмент программы)
- •Чтение данных из файла
- •Чтение чисел
- •Чтение строк
- •Конец файла
- •Листинг 24.. Чтение из файла
- •Контрольні питання
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.1: файлові структури даних. Динамічні структури даних
- •План заняття
- •Контрольні питання
- •Указатели
- •Динамические переменные
- •Листинг 27. Создание, использование и уничтожение динамических переменных
- •Листинг 28. Добавление элемента в начало динамического списка
- •Упорядоченный список
- •Добавление элемента в список
- •Листинг 29. Добавление элементов в упорядоченный список
- •Удаление элемента из списка
- •Листинг 30. Удаление узла из списка
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.2: динамічні структури
- •План заняття
- •Вариантные переменные
- •Контрольні питання
- •Const-параметры
- •Контрольні питання
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.2: динамічні структури
- •План заняття
- •Способы вызова подпрограмм
- •Контрольні питання
- •Этапы разработки программы
- •Спецификация
- •Создание установочного диска
- •Алгоритм и программа
- •Контрольні питання
- •Этапы разработки программы
- •Спецификация
- •Создание установочного диска
- •Алгоритм и программа
- •Контрольні питання
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.2: Візуальні компоненти
- •План заняття
- •Контрольні питання
- •Распознавание источника события, нажатых кнопок и клавиш, координат курсора
- •События клавиатуры
- •Распознавание нажатых клавиш
- •Контрольні питання
- •Создание нового IntraWeb приложения
- •Редактирование главной формы
- •Написание обработчика события для кнопки
- •Запуск созданного приложения
- •Контрольні питання
- •Управляющие кнопки Button и BitBtn
- •Кнопка с фиксацией SpeedButton
- •Группы радиокнопок — компоненты RadioGroup, RadioButton и GroupBox
- •Контрольні питання
- •Листинг 28. Добавление элемента в начало динамического списка
- •Упорядоченный список
- •Добавление элемента в список
- •Листинг 29. Добавление элементов в упорядоченный список
- •Удаление элемента из списка
- •Листинг 30. Удаление узла из списка
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Упражнения. Совершенствование проекта
- •Контрольні питання:
- •Контрольні питання
- •Упражнения
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами. Вызуальны компоненти. Бази даних.
- •Тема 6.2: візуальні компоненти
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.3: форми та меню
- •План заняття
- •Контрольні питання
- •Контекстное всплывающее меню — компонент PopupMenu
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.4: обробка виключних ситуацій
- •План заняття
- •Конрольні питання
- •Упражнения. Совершенствование проекта.
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами
- •Тема 6.4: обробка виключних ситуацій
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питанна
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.6: основи баз даних
- •План заняття
- •Классификация баз данных
- •Локальная база данных
- •Удаленная база данных
- •Структура базы данных
- •Контрольні питання
- •Контрольні питання
- •Упражнения
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Insert into Имя таблицы
- •Insert into Имя_таблицы
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Рисование круга
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи обов’язкова контрольна робота №63
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
Контрольні питання
Надати огляд процедури компіляції
Привести характеристику способів виконання процедури компіляція
АУДИТОРНЕ ЗАНЯТТЯ
Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
Тема 1.5: основи створення прикладних застосувань
Лекція №14 – Відладка прикладних застосувань
План заняття
Огляд процедури відладки прикладних застосувань
Характеристика процедури виконання відладки
Процесс исправления логических и динамических ошибок называется отладкой программы. Целью отладки является выявление ошибки, которая возникает на этапе выполнения и приводит к неверным результатам работы программы. Отладка позволяет выявить место возникновения ошибки и произвести ее последующее устранение. Интегрированная среда Delphi позволяет все это выполнять одновременно. К сожалению, даже если приложение откомпилировано и запущено на выполнение, это еще не означает, что оно правильно работает. В нем может быть множество логических ошибок, влияющих на результат работы. В таком случае удобно использовать точки останова. Точки останова используются, чтобы временно приостановить выполнение программы и сообщить компилятору о том, что нужно прервать работу при их достижении. Они применяются для проверки определенных участков кода, в которых предположительно может происходить ошибка.
Задавать точки останова можно различными способами. Первый способ состоит в том, чтобы в окне редактора кода щелкнуть мышью на полоске левее кода требуемой строки, В результате строка окрасится в красный цвет, а левее нее появится красная точка (см. рис. 2.9). Другим способом является установка курсора в нужную строку и нажатие клавиши F5. Повторное нажатие клавиши F5 на этой строке снимает точку останова. Снятие останова происходит и при щелчке мышью по красному кругу. Точки останова, заданные такими способами, называются безусловными.
Программа прерывает свое выполнение при достижении строки с установленной точкой останова, и программист имеет возможность проверить значения интересующих его переменных.
Кроме безусловных точек останова можно использовать так называемые условные точки. Для того чтобы задать условную точку останова, нужно установить курсор на необходимую строку и выполнить команду Run \ Add Breakpoint \ Source Breakpoint. В результате появится окно Add Source Breakpoint (см. рис. 2.10), в котором нужно указать положение добавляемой точки и условие останова.
Filename - имя файла, в котором установлена точка останова;
Line number - номер строки от начала;
Condition - условие останова в виде логического выражения (необязательно);
Pass count - количество проходов программы через контрольную точку без прерывания вычислений;
Group - имя группы, к которой относится данное прерывание.
В примере, представленном на рис. 2.10, останов произойдет в 32 строке, когда переменная count будет равна 10.
Список всех введенных описанным способом точек останова можно просмотреть в окне Breakpoint List, которое вызывается командой View | Debug Windows \ Breakpoints. Для добавления новой точки следует щелкнуть правой кнопкой мыши по окну и в контекстном меню выбрать пункт Add \ Source Breakpoint - на экране отобразится уже знакомое окно Add Source Breakpoint (см. рис. 2.10).
Редактирование установленных точек останова может производиться с помощью окна Source Breakpoints Properties, которое в точности повторяет окно точек останова. Отличия заключаются в названии окна и в том, что невозможно уже поставленную точку останова перенести в другой модуль и даже на другую строку. Другими словами, недоступны для редактирования пункты Filename и Line number.
Чтобы продолжить работу приложения, после того как его выполнение было прервано в точке останова, необходимо нажать кнопку F9 либо выполнить команду Run \ Run. При этом программа продолжит свое выполнение либо до конца, либо до следующей точки останова. В дополнение к этому часто используется так называемое пошаговое выполнение программы как после точки останова, так и с начала работы приложения. Пошаговое выполнение называется трассировкой. На каждом шаге трассировки выполняется только одна строка программы. Для этого используются некоторые команды меню Run:
■ Step Over - выполнение программного кода без захода в
подпрограммы («горячая» клавиша - F8);
Trace Into - трассировка с заходом в подпрограммы (F7);
Trace to Next Source Line - переход к следующей строке (Shift+F7);
■ Run to Cursor - переход к строке, на которой установлен
курсор (F4).
Точки останова и трассировка являются мощными средствами отладки. Используя их в комплексе с окном наблюдения Watch List (см. рис. 2.11), можно отслеживать значения переменных в процессе выполнения программы. Механизм работы прост: определяется, где ошибка, затем в этом месте ставится точка останова, и все необходимые переменные заносятся в Watch List. После этого посредством трассировки определяется, какие значения принимают наблюдаемые переменные в ходе последующего выполнения программы. Полученные данные анализируются, и, если необходимо, в код программы вносятся коррективы. Окно Watch List вызывается командой View \ Debug Windows j Watches.
На рис. 2.11 показано окно наблюдений. В нем находятся параметры Count (переменная) и Forml.Butl .Caption (свойство кнопки с именем Butl). Поместить параметры в это окно можно с помощью команды Run | Add Watch (Ctrl+F5), либо используя команду Add Watch локального меню окна Watch List (Ctrl+A).
Контекстное меню окна Watch List предоставляет возможность редактировать наблюдаемое выражение (команда Edit Watch). В результате откроется окно Watch Properties (см. рис. 2.12).
В поле Expression указывается имя любой переменной или выражение, содержащее переменные, функции, константы. Поле Repeat count используется при наблюдении массивов и позволяет задавать число просматриваемых элементов массива. Поле Digits указывает число значащих разрядов чисел с плавающей точкой. Переключатель Enabled управляет (разрешает или запрещает) отображением значения параметра в окне Watch List. Другой переключатель Allow Function Calls запрещает или разрешает отображать в окнеWatch List значения функций. Формат вывода значений задается путем выбора одного из переключателей, расположенных в нижней части окна:
■ Character - представляет величину в символьном виде (используется для символов и строк);
String - дает возможность просмотреть величины в виде строк, используется для символов, строк и дампов памяти Memory Dump (см. ниже);
Decimal - выводит величины в десятичной форме (для целых чисел);
Hexadecimal - представляет величины в шестнадцатерич-ной форме (для целых чисел);
Floating point - отображает от 2 до 18 значащих цифр (число цифр, задаваемое в поле Digits), по умолчанию 7.
Pointer - предоставляет возможность выводить значение указателя (для указателей);
Record/Structure - добавляет к значениям поля записи и их имена (для указателей, классов, величин типа записи);
Memory Dump - параметр рассматривается как последовательность байт.
По умолчанию выбран переключатель Default. В этом случае формат определяется автоматически.
При выборе команды меню Run \ Evaluate/Modify вызывается окно вычисления и модификации параметра Evaluate/Modify. В этом окне обеспечивается возможность не только просматривать, но и изменять значения переменных в процессе отладки приложения.
Вышеуказанное окно содержит такие поля:
■ Expression - имя переменной или вычисляемое выражение;
Result - результат вычисления;
New value - новое значение переменной, которое ей при-своится после нажатия кнопки Modify.
Кроме того, в окне вычисления и модификации представлены следующие кнопки:
Evaluate — вычисляет значение переменной или выражения, указанного в поле Expression;
Modify - присваивает вычисляемой переменной новое значение;
Watch - открывает окно Walch List;
Inspect - вызывает окно Inspect;
Help - предоставляет возможность использовать подсказку по данной теме.
Работа с окном Evaluate/Modify происходит следующим образом. В коде программы перед интересующим выражением ставится точка останова. Затем приложение запускается. При достижении точки останова выполняется команда Run \ Evaluate/Modify. В поле Expression окна Evaluate/Modify вводится имя переменной или выражение, которое нужно вычислить. После чего нажимается кнопка Evaluate, и значение переменной появляется в поле Result. Чтобы задать новое значение переменной необходимо записать его в поле New value, после чего нажать кнопку Modify. Изменение значений может быть полезно при выполнении больших приложений, когда можно корректировать неправильно вычисляемое значение переменной, для дальнейшего выполнения программы без се перезапуска.
Для прекращения процесса отладки достаточно вызвать команду меню Run | Program Reset (Ctrl+F2).