- •Программирование
- •«Программирование»
- •Чернигов чгту 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.5Контольный пример
Перед тем, как проверять работу приложения следует подготовить контрольный пример. Контрольные примеры используются для того, чтобы протестировать созданное приложение. Обычно таких примеров создается несколько, для того чтобы проверить различные варианты в работе приложения. Как следует из рисунка 1.1, в данном проекте было обработано 5 контрольных примеров. Два из них проверяли реакцию приложения на некорректные исходные данные, при которых расчет был невозможен.
В качестве примера оценим результат расчета по формуле, приведенный на рисунке 1.1. Предположим, а=4, x=3 и n=2.
При таких значениях переменных ax=64, sin2(3)<<1, и значение числителя будет чуть больше, чем 64.
Значение подкоренного выражения в знаменателе будет 4,5. Квадратный корень из 4,5 приблизительно равен 2,1.
Окончательный результат должен быть немного меньше, чем 32. Результат расчета, приведенный на рисунке 1.1, подтверждает это.
1.3 Содержание отчета
Наименование работы.
Цель работы.
Задание к работе.
Перечень компонент, использованных для создания интерфейса пользователя, с описанием их основных свойств.
Тексты созданных модулей с пояснениями в виде комментариев для всех основных элементов модулей.
Контрольные примеры.
Результаты тестирования проекта, в виде рисунка с изображением интерфейса приложения с протоколом выполненных расчетов.
Выводы об особенностях программирования расчетов по формулам.
Рекомендованая литература
Культин Н. Delphi 6. Программирование на Object Pascal. – СПб.:БХВ-Петербург,2002.
Ставровский А.Б. Турбо Pascal 7.0/ Учебник. – К.: BHV, 2000.
2Расчетно-графическая работа № 2. Программирование циклов
Цели работы:
ознакомиться с принципами использования циклов;.
освоить изображение схем алгоритмов;
разработать проект, обеспечивающий решение задач, требующих многократных повторений некоторых действий.
2.1 Задания к расчетно-графической работе
В работе создается приложение, в котором решается четыре задачи:
решение трансцендентного уравнения методом итераций;
вычисление суммы бесконечного ряда с заданной точностью;
обработка последовательности целых чисел;
табулирование значений некоторой функции.
Задания следует выбирать в соответствии с последней цифрой номера зачетной книжки из таблиц 2.1 - 2.3, а также таблицы 1.1 (формулы для задачи табулирования функции).
Таблица 2.1 Уравнения, решаемые методом итераций |
|
|||||||
Вариант |
Уравнение |
Итерационная формула |
Ограничения |
|
||||
0 |
|
|
ab<1, x0>0 |
|
||||
1 |
|
|
a>0, b>0, b/a<6, x0<π/2 |
|
||||
2 |
|
|
c>0, x0>0 |
|
||||
3 |
|
|
a>1, x0>0 |
|
||||
4 |
|
|
ab>c, x0<π/(2b) |
|
||||
5 |
|
|
a>0, b>0 c>1, x0>0 |
|
||||
6 |
|
|
a>0, c>0, x0>0 |
|
||||
7 |
|
|
a>1, c>1, b<c, x0>1 |
|
||||
8 |
|
|
a>0, b>0, c>0, x0>0 |
|
||||
9 |
|
|
a>0, b>0, c>0, x0>0 |
|
||||
Таблица 2.2 Задания на вычисление сумм бесконечных[ рядов |
||||||||
№ |
Функция |
Ряд |
Рекуррентная формула |
|||||
0 |
e |
|
|
|||||
1 |
|
|
, для х<1 |
|||||
2 |
|
|
, для х<1 |
|||||
3 |
|
|
, для х<1 |
|||||
4 |
|
|
, для х>1 |
|||||
5 |
cos(x) |
|
|
|||||
5 |
sh(x) |
|
|
|||||
7 |
arctg(x) |
|
|
|||||
8 |
ln(1+x) |
|
|
|||||
9 |
|
|
|
Таблица 6.5 – Варианты заданий для формы «Обработка целых чисел» |
|
Вариант |
Задание |
0 |
Написать программу, которая обеспечивает вывод в компонент TMemo, в возрастающем порядке, всех трехзначных целых чисел, в десятичной записи которых нет одинаковых цифр. Рекомендуется преобразовывать числа в строки и анализировать отдельные символы. |
1 |
Обеспечить вывод в компонент TMemo всех целых чисел, попадающих в интервал от ln(X) до exp(X) , где Х > 1, и вычисление суммы этих чисел. Для округления границ диапазона использовать функции Ceil() и Floor(). |
2 |
Обеспечить вывод в компонент TMemo всех трехзначных целых чисел, сумма цифр которых равна введенному числу N (1< N < 27). Определить количество этих чисел. Для выделения отдельных цифр использовать преобразование чисел в строки. |
3 |
Обеспечить вывод в компонент TMemo всех целых чисел, попадающих в интервал от n1 до n2 и кратных n3. Определить количество этих чисел. |
4 |
Обеспечить вывод в компонент TMemo всех целых чисел, попадающих в интервал от n1 до n2 и которые являются удвоенными нечетными числами. Подсчитать количество этих чисел. |
5 |
В случайной последовательности из n целых чисел подсчитать количество чисел меньших m и обеспечить вывод этих чисел в компонент TMemo. |
6 |
Обеспечить вывод в компонент TMemo последовательности из n целых чисел и определить число соседств четных чисел в этой последовательности. |
7 |
Обеспечить вывод в компонент TMemo случайной последовательности из n целых чисел в диапазоне от 0 до m и подсчитать, сколько раз в ней встречалось число k. |
8 |
Найти все простые числа, которые меньше N, и вывести их в компонент TMemo. Простым называют целое число, которое нацело делится только на 1 и на себя. Для тестирования чисел можно последовательно проверять результат деления каждого числа X на числа от 2 до X/2 |
9 |
Для введенного натурального числа N получить все его натуральные и вывести их в компонент TMemo. Для нахождения делителей следует последовательно проверять результат деления числа N на числа от 2 до N/2. |