- •Программирование
- •«Программирование»
- •Чернигов чгту 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.5.2Создание процедуры обработки последовательности целых чисел
Текст процедуры приведен на рисунке 2.12.
Рисунок 2.12 – Процедура обработки последовательности целых чисел
Особенность этой процедуры в том, что она содержит три вложенных цикла for. Это не означает, что в ваших задачах будет то же самое, но хотя бы один цикл for Вам должен понадобиться обязательно.
В рассматриваемой задаче внешний цикл с параметром n организует перебор всех целых чисел из заданного диапазона. Два внутренних цикла обеспечивают перебор пар чисел, квадраты которых в сумме, возможно, будут равны квадрату числа, формируемого первым циклом.
Если такое равенство обнаруживается, то в компонент TMemo выводится соответствующая строка.
Процедура связана с событием onClick кнопки формы.
Рекомендованая литература
Культин Н. Delphi 6. Программирование на Object Pascal. – СПб.:БХВ-Петербург,2002.
Ставровский А.Б. Турбо Pascal 7.0/ Учебник. – К.: BHV, 2000.
3Расчетно-графическая работа № 3. Обработка массивов
Цели работы:
создать приложение, в котором выполняются различные операции с одномерными массивами;
создать приложение, в котором выполняется сортировка одномерного массива и работа с отсортированным массивом;
создать приложение, в котором выполняются различные операции с двумерными массивами.
3.1 Задания для работы с одномерным массивом
Обработка одномерных массивов выполняется в соответствии с требованиями варианта из таблицы 3.1. Номер варианта выбирается по последней цифре номера зачетной книжки.
Главное меню закладки должно включать следующие пункты:
создание массива,
получение числовых характеристик массива,
формирование нового массива.
На закладке должны быть поля для ввода количества элементов массива и предельного значения величины числа.
Вывод других характеристик по выбору разработчика.
Компоненты для хранения исходного массива и массива, получаемого в результате обработки, должны соответствовать варианту задания.
Глобальные переменные для хранения массива и количества данных в нем использовать не следует.
При выполнении каждого пункта меню всю необходимую информацию считывать с формы.
Таблица 3.1 – Задания на обработку одномерных массивов |
|||||
№ |
Создание исходного массива |
Хранение исходного массива |
Числовые характеристики |
Получение нового массива |
Вывод нового массива |
0 |
Random |
TEdit |
Размах элементов (max-min) |
Удаление четных элементов |
TMemo |
1 |
InputBox |
TMemo |
Разность сумм элементов в четных и нечетных позициях |
Оборот массива |
TEdit |
2 |
Random |
TEdit |
Определение позиций четных элементов |
Вставка элемента в заданную позицию |
TLabel |
3 |
InputBox |
TLabel |
Определение позиций элементов, которые меньше среднего арифметического |
Удаление заданного элемента из массива |
Show Message |
Продолжение таблицы 3.1 |
|||||
4 |
Random |
TMemo |
Разность сумм четных и нечетных элементов
|
Заданное число циклических сдвигов влево |
Show Message |
5 |
InputBox |
TLabel |
Количество четных и нечетных элементов |
Вставка суммы элементов в начало массива |
TMemo |
6 |
Random |
TMemo |
Средние арифметические четных и нечетных элементов |
Заданное число циклических сдвигов вправо |
TEdit |
7 |
InputBox |
TMemo |
Поиск позиции заданного элемента |
Вставка среднего арифметического значения в середину массива |
TLabel |
8 |
Random |
TLabel |
Количество элементов больше и меньше среднего |
Вначале нечетные, затем четные |
Show Message |
9 |
InputBox |
TEdit |
Сумма элементов больше и меньше среднего |
Минимальный в начало, макси-мальный в конец |
TMemo |
Примеры решения подобных задач можете найти в примерах к лекциям. При разработке можно использовать процедуры и функции модуля UnitArrayDop.