- •Программирование
- •«Программирование»
- •Чернигов чгту 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Сохранение файла под другим именем
- •Содержание отчета
- •Рекомендованая литература
2.3.3Создание закладки для вычисления синуса
2.3.3.1Интерфейс страницы вычисления синуса
Вид страницы для вычисления синуса показан на рисунке 2.7.
Рисунок 2.7 – Закладка для вычисления синуса
Страница оформлена, как и предыдущая, с учетом особенностей вычисления ряда.
Компоненты, имена которых понадобятся при программировании, назовем так:
edtХ – ввод числа, для которого вычисляется синус,
edtEps2 – для ввода точности вычислений синуса,
edtResult2 – для вывода полученного результата вычислений,
edtControl2 – для вывода контрольного значения, с помощью которого можно проверить правильность полученного результата. В данном случае это будет результат, полученный путем вызова стандартной функции синус.
2.3.3.2Процедура вычисления синуса
Следует заметить, что для вычисления синуса, так же как и в предыдущем случае, правильнее было бы написать функцию, или процедуру, которая возвращала бы значение корня. Мы же напишем процедуру, которая будет вызываться по событию onClick для кнопки «Синус».
Рассматриваемая процедура, представленная на рисунке 2.8.
Рисунок 2.8 - Процедура вычисления синуса
Процедура ничего не возвращает, но она вычисляет синус и выводит его в текстовое поле для результата. Кроме того, она, для проверки, выводит значение синуса, найденное с помощью стандартной процедуры.
Перед вычислением синуса в процедуре добавлен цикл уменьшения значения х. Это сделано для того, чтобы избежать переполнения или потери значащих цифр при больших значениях х. В этом цикле переменная х уменьшается каждый раз на величину периода синуса, который равен 2π. Цикл работает до тех пор, пока абсолютная величина х больше, чем 2π.
Процедура также обеспечивает вывод последовательных значений членов и суммы ряда в компонент MemoSteps.
2.3.4Создание закладки «Табулирование функции»
2.3.4.1 Интерфейс странички «Табулирование функции»
В этой части проекта Вы должны обеспечить вывод таблицы значений функции, расчет которой Вы запрограммировали в работе 1. Алгоритм решения этой задачи подобен алгоритму представленному на рисунке 2.4.
Создайте закладку с интерфейсом, подобным рисунку 2.9.
Рисунок 2.9 – Интерфейс закладки «Табулирование функции»
Формулу на форме изображать не обязательно, но табулировать следует функцию, которая соответствует вашему номеру зачетной книжки.
2.3.4.2Создание процедуры табулирования функции
Процедуру табулирования функции свяжите с событием onClick кнопки «Выполнить расчет». Процедуру можете написать по образцу, который приведен на рисунке 2.10. В приведенном тексте предполагается, что функция расчета по формуле называется formula и находится в дополнительном модуле UnitDop.
Обратите внимание, что и для формирования строки заголовка и строк таблицы в функции format() используется одинаковая ширина поля вывода в 10 символов. Это обеспечит правильное расположение заголовка относительно таблицы.
Рисунок 2.10 – Процедура вывода таблицы значений функции
2.3.5Создание закладки «Обработка последовательности целых чисел»
2.3.5.1Интерфейс странички «Обработка последовательности целых чисел»
На этой закладке мы будем решать задачу поиска в последовательности целых чисел от 1 до Max таких чисел, квадрат которых равен сумме квадратов двух других целых чисел. Алгоритм решения этой задачи представлен на рисунке 2.3
Интерфейс формы сделаем подобным рисунку 2.11.
Для решения задачи требуется всего одно число, которое находится в компоненте Edit1. Вызов процедуры производится путем нажатия на кнопку. Вывод результатов осуществляется в поле Memo1.
Рисунок 2.11 – Интерфейс формы для обработки последовательности целых чисел