- •Программирование
- •«Программирование»
- •Чернигов чгту 2011
- •Ответственный за выпуск: Бивойно п.Г., доцент кафедры информационных и компьютерных систем, кандидат технических наук,
- •Введение
- •1Расчетно-графическая работа № 1. Функции и процедуры для расчетов по формулам
- •1.1 Задания к расчетно-графической работе
- •1.2 Пример создания проекта
- •1.2.1Создание интерфейса
- •1.2.1.1 Компонент ole-контейнер
- •1.2.1.2Компонент Group Box
- •1.2.1.3 Компонент Memo
- •1.2.1.4 Завершение работы над интерфейсом
- •1.2.2Создание процедур и функций
- •1.2.2.1Процедура очистки протокола
- •1.2.2.2Процедура инициализации формы
- •1.2.2.3Процедура считывания коэффициентов уравнения
- •1.2.2.4Функция для расчета по формуле
- •1.2.2.5Процедура вызова выполнения расчета по формуле
- •1.2.3Использование дополнительного модуля
- •1.2.4Форматирование результатов расчетов
- •1.2.5Контольный пример
- •1.3 Содержание отчета
- •Рекомендованая литература
- •2Расчетно-графическая работа № 2. Программирование циклов
- •2.1 Задания к расчетно-графической работе
- •2.2 Рекомендации по составлению алгоритмов решаемых задач
- •2.2.1Итерационные алгоритмы
- •2.2.2Алгоритмы вычисления сумм бесконечных рядов
- •2.2.3Алгоритмы обработки последовательностей целых чисел
- •2.2.4Алгоритмы табулирования значений функций
- •2.3 Пример создания проекта
- •2.3.1Компоненты для создания интерфейса проекта
- •2.3.1.1Компоненты PageControl и TabSheet
- •2.3.1.2Компонент CheckBox
- •2.3.1.3Дополнительные требования к интерфейсу
- •2.3.2Создание закладки для вычисления корня
- •2.3.2.1Интерфейс страницы вычисления корня
- •2.3.2.2Процедура вычисления корня
- •2.3.3Создание закладки для вычисления синуса
- •2.3.3.1Интерфейс страницы вычисления синуса
- •2.3.3.2Процедура вычисления синуса
- •2.3.4Создание закладки «Табулирование функции»
- •2.3.4.1 Интерфейс странички «Табулирование функции»
- •2.3.4.2Создание процедуры табулирования функции
- •2.3.5Создание закладки «Обработка последовательности целых чисел»
- •2.3.5.1Интерфейс странички «Обработка последовательности целых чисел»
- •2.3.5.2Создание процедуры обработки последовательности целых чисел
- •Рекомендованая литература
- •3Расчетно-графическая работа № 3. Обработка массивов
- •3.1 Задания для работы с одномерным массивом
- •3.2 Задания на сортировку одномерных массивов
- •3.3 Задания на обработку двумерных массивов
- •3.4 Краткая характеристика вспомогательных модулей
- •3.4.1Интерфейс модуля для работы с одномерными массивами
- •3.4.2Интерфейс модуля для работы с двумерными массивами
- •3.4.3Рекомендации по перестановкам элементов матрицы
- •Перечень основных процедур и функций для работы с типизированными файлами
- •Пример Создание проекта «Результаты аттестации»
- •4.1.1Требования к проекту
- •4.1.2Интерфейс пользователя для проекта
- •4.1.3Определение типов данных
- •4.1.4Настройка интерфейса пользователя
- •4.1.5Вспомогательные процедуры для работы с файлом Процедура выбора имени файла
- •4.1.5.1Процедура открытия файла
- •4.1.5.2Процедура вывода файла в StringGrid
- •4.1.6Процедуры работы со StringGrid1
- •4.1.7Процедуры реализации пунктов меню fileMenu
- •4.1.7.1Добавление данных из StringGrid1 в файл
- •4.1.7.2Поиск записи по фамилии
- •4.1.7.3Удаление записи по фамилии
- •4.1.7.4Сохранение файла под другим именем
- •Содержание отчета
- •Рекомендованая литература
1.2.3Использование дополнительного модуля
Для того, чтобы в основном модуле можно было воспользоваться функцией расположенной в дополнительном модуле, следует, прежде всего, дополнить инструкцию uses основного модуля, добавив туда ссылку на модуль UnitDop.
Обрабатывая инструкцию uses, компилятор дойдет до ссылки на модуль UnitDop и начнет искать файл UnitDop.dcu. Прежде всего, поиск будет производиться в папке, где расположен проект и форма, но если там модуля нет, то компилятору необходимо подсказать, где искать этот файл.
В этом случае вызовите диалог настройки путей, вызвав функцию главного меню Project→Options, откройте в нем закладку Directories/Conditionals, и в строке Search Path укажите путь к папке, где расположен модуль.
1.2.4Форматирование результатов расчетов
Точность представления чисел вещественного типа очень высока. Результат вычислений может иметь более десятка значащих цифр. Предположим, что в результате обработки результатов эксперимента на лабораторной работе по физике, мы получили значение некоторой величины равное 9.85432132, хотя исходные данные для расчета имели точность значительно меньшую. Такой результат лучше отформатировать перед выводом, округлив до требуемого количества цифр после точки. Это можно сделать с помощью функции format().
Функция format() не только округляет результаты, но и предоставляет программисту много других возможностей по представлению результатов вычислений. В общем виде обращение к функции выглядит так:
format(<строка форматов>,<список объектов форматирования>)
Список объектов форматирования может состоять из констант, переменных или выражений, разделенных запятыми. Весь список заключается в квадратные скобки.
Cтрока форматов состоит из фрагментов текста и спецификаторов. Спецификаторы указывают, что в данном месте строки должно быть вставлено значение объекта из списка объектов форматирования. Признаком спецификатора формата является символ процента (%). После этого символа располагаются число и буква, указывающие, как форматировать данный объект.
В таблице 1.2 рассмотрено несколько примеров использования функции format. Подробное описание функции можно найти в справочной системе Delphi.
Таблица 1.2 – Примеры использования функции format()
Обращение к функции |
Значения объектов форматирования |
Возвращаемое значение |
format(‘Результат = %1.3f’, [x]) |
X=23.45678 |
Результат =23.457 |
format(‘%1d+%1d=%1d’,[a, b, a+b] |
a=12. b=13 |
12+13=25 |
format(‘%1s= %1.3f’, [r, x]) |
r=’Результат’. x=23.4 |
Результат =23.400 |
В первом примере спецификатор имеет значение %1.3f и относится он к переменной х. Символ f указывает на то, что форматироваться будет вещественное число, но в форме с фиксированной точкой. Число 3 после точки указывает на то, что для дробной части числа выделяется три позиции. Поэтому результат был округлен до трех знаков после точки. Число 1 перед точкой указывает на то, что общее число позиций для вывода объекта равно 1. Это явно мало, поэтому функция выделяет столько позиций, сколько требуется. В данном случае требуется 6 позиций (две на целую часть, одна на точку, и три на дробную часть). Если бы перед точкой стояло число большее 6, например 9, то слева было бы добавлено три пробела.
Во втором примере форматируются целые числа, поэтому для определения типа используется символ d. Числом задается требуемое количество позиций.
В третьем примере одним из объектов форматирования является строка символов, поэтому в качестве символа для определения типа используется буква s.