- •Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- •Содержание
- •4.1.4 Разработка интерфейса проекта 66
- •5.1.7 Разработка интерфейса проекта 81
- •Введение
- •Лабораторная работа № 1. Знакомство с интегрированой средой разработки (иср)“Delphi 7”
- •Краткие теоретические сведения о иср “Delphi 7”
- •Конструктор стартовой формы
- •Главное окно иср “Delphi 7”
- •Главное меню
- •Панели инструментов
- •Палитра компонентов
- •Окно просмотра дерева объектов
- •Окно редактора кода
- •Закладка редактора кода модуля
- •Закладка редактора кода файла проекта
- •Окно Object Inspector
- •Закладка описания свойств объекта
- •События и процедуры обработки событий
- •Создание простейшего проекта
- •Разработка интерфейса проекта
- •Создание процедуры инициализации приложения
- •Создание процедуры вычисления результата
- •Улучшение проекта
- •Сохранение проекта
- •Продолжение работы с проектом на другом компьютере
- •Содержание отчета
- •Контрольные вопросы и задания
- •Рекомендованая литература
- •Лабораторная работа № 2. Вещественный тип данных. Расчеты по формулам
- •Краткие теоретические сведения
- •Язык программирования Object Pascal
- •Объекты, переменные и константы
- •Классы и типы
- •Объявление объектов и переменных
- •Вещественный тип данных
- •Выражение
- •Стандартные функции для данных вещественного типа
- •Инструкция присваивания
- •Форматирование результатов расчетов
- •Создание проекта «Расчет по формуле»
- •Создание интерфейса
- •Компонент ole-контейнер
- •Компонент Group Box
- •Компонент Memo
- •Завершение работы над интерфейсом
- •Создание процедур обработки событий Процедура очистки протокола
- •Процедура инициализации формы
- •Процедура выполнения расчета по формуле
- •Контольный пример
- •Трассировка процедуры
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
- •Лабораторная работа № 3. Подпрограммы Краткие теоретические сведения
- •Правила написания подпрограмм
- •Описание процедуры
- •Вызов процедуры
- •Описание функции
- •Вызов функции
- •Способы передачи параметров в подпрограммы
- •Передача параметров по значению
- •Передача параметров по наименованию
- •Расположение подпрограмм
- •Подпрограммы обработки событий класса формы
- •Другие подпрограммы класса формы
- •Размещение подпрограмм в модуле
- •Размещение подпрограмм в других модулях
- •Размещение подпрограмм внутри других подпрограмм
- •Область действия имен
- •Реализация проекта «Процедуры и функции»
- •Создание процедур и функций Процедуры инициализации
- •Процедура считывания коэффициентов уравнения
- •Функция для расчета по формуле
- •Использование дополнительного модуля
- •Завершение работы над проектом
- •Исследование созданного приложения
- •Анализ передачи параметров по наименованию
- •Анализ передачи параметров по значению
- •Содержание отчета
- •Контрольные вопросы
- •Операции над логическими данными
- •Логические выражения
- •Разветвляющиеся алгоритмы
- •Программирование разветвлений Условный оператор if…then…else
- •Оператор варианта case
- •Реализация проекта «Организация разветвлений»
- •Разработка интерфейса проекта
- •Компоненты для работы со списками
- •Процедуры обработки событий выбора из списка
- •Процедуры обработки событий onKeyPress
- •Решение квадратного уравнения
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5. Построение циклов с инструкциями „while” и „repeat”
- •Краткие теоретические сведения
- •Циклические алгоритмы
- •Инструкция while…do
- •Инструкция repeat…until
- •Прерывание цикла
- •Итерационные алгоритмы
- •Пример итерационного алгоритма для вычисления кубического корня
- •Задание для самостоятельной работы
- •Алгоритмы вычисления сумм бесконечных рядов
- •Задание для самостоятельной работы
- •Создание проекта WhileRepeat
- •Разработка интерфейса проекта
- •Компоненты PageControl и TabSheet
- •Компонент CheckBox
- •Создание закладки для вычисления корня
- •Создание закладки для вычисления синуса
- •Создание процедур и функций Процедура для контроля ввода данных
- •Процедура вычисления кубического корня
- •Процедура вычисления синуса
- •Задания для расчетно-графической работы № 2
- •Содержание отчета
- •Контрольные вопросы
- •Целые типы данных
- •Символьные типы данных
- •Ограниченный тип данных.
- •Применение инструкции цикла for
- •Табулирование значений функций
- •Форматирование результатов при выводе таблиц
- •Строки символов
- •Операции над строками
- •Процедура Delete
- •Процедура Insert
- •Функция Pos
- •Функции Trim, TrimLeft, TrimRight
- •Создание проекта «Применение цикла for»
- •Разработка формы «Табулирование функции» Разработка интерфейса
- •Создание вспомогательных процедур и функций
- •Создание процедуры табулирования функции
- •Разработка формы «Таблица “символ-код”» Разработка интерфейса
- •Создание процедуры вывода таблицы символ-код
- •Разработка формы «Обработка последовательностей целых чисел»
- •Разработка интерфейса
- •Создание процедуры обработки последовательности целых чисел
- •Создание многодокументной (mdi)формы
- •Задание для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
- •Рекомендованая литература
-
Правила написания подпрограмм
Структура подпрограммы представлена на рисунке 3.1.
Рисунок 3.21 – Структура подпрограммы
-
Описание процедуры
Заголовок процедуры выглядит следующим образом:
Procedure <имя процедуры> (<список формальных параметров>);
Имя процедуры должно удовлетворять общим требованиям языка к написанию имен.
В списке формальных параметров перечисляются имена параметров, передаваемых в процедуру с указанием их типов. Список параметров не является обязательным.
Пример заголовка процедуры:
Procedure myProc (a, b : Real; var s : String);
В приведенном выше примере процедуре передаются значения двух вещественных переменных «а» и «b», и адрес строки символов «s». Об этом свидетельствует префикс var перед именем строки. Передача адреса переменной в процедуру вместо ее значения приводит к тому, что если значение параметра s изменится в результате работы процедуры, то это изменение будет сохранено после завершения работы процедуры.
Описательная часть процедуры может содержать описания типов, классов, переменных, констант и т.п. Обратите внимание, параметры, описанные в заголовке процедуры, в разделе описаний повторно не описывают. В разделе описаний процедуры могут быть описаны не только переменные, но и другие подпрограммы. Такие подпрограммы называются внутренними по отношению к процедуре, в которой они описаны. Сама процедура, по отношению к внутренним подпрограммам называется внешней.
Раздел операторов процедуры содержит инструкции, которые будут выполняться при обращении к процедуре.
Ниже, в качестве примера, дано описание процедуры, заголовок которой был приведен выше.
Procedure myProc (a, b : Real; var s : String);
var z:real;
begin
z:=a+b;
s:=floatToStr(z);
end;
В качестве параметров в эту процедуру передается два вещественных числа и адрес некоторой строки.
В разделе описаний процедуры описана внутренняя переменная z, которая за пределами процедуры недоступна.
Инструкции, записанные в теле процедуры, обеспечивают сложение чисел, переданных в качестве параметров. Полученный результат запоминается в переменной z. Затем сумма преобразуется в строку символов.
После завершения процедуры значение строки, переданной в процедуру в качестве параметра, изменится.
Вызов процедуры
Вызов процедуры состоит из имени процедуры, после которого в скобках перечисляются фактические параметры, передаваемые в процедуру.
Примеры вызова процедур, которые уже встречались ранее, представлены ниже.
Пример вызова процедуры ShowMessage, в которую передается один параметр в виде строки символов.
ShowMessage(‘Не могу преобразовать исходные данные’);
Пример вызова процедуры Append для строк компонента TMemo.
Memo1.Lines.Append(‘Результаты расчетов’);
Пример вызова процедуры Exit, без параметров.
Exit;
Процедура, заголовок которой приводился выше в виде примера, может быть использована так.
…
Var x,y : Real; str :String;
Begin
x:=1; y:=2;…
myProc ( 2.345, x+y, str);
showMessage(str);
end;
В этом примере обращение к нашей процедуре выделено жирным курсивом.
В этом обращении формальному параметру «а» соответствует фактический параметр в виде числа 2.345, формальному параметру «b» соответствует число 3, полученное как результат вычисления выражения «x+y». Формальному параметру «s» соответствует адрес переменной «str». Следует заметить, что в качестве последнего фактического параметра мы можем передать только имя переменной (нельзя задавать константу или выражение), так как в заголовке процедуры, перед параметром «s» написано var.
В результате вызова процедуры значение переменной «str» станет равным строке символов ‘5.345’.