- •3. Лабораторная работа «Программирование алгоритмов регулярных циклических структур»
- •3.1 Вопросы, подлежащие изучению
- •3.2 Общее задание на разработку приложения
- •Создайте проект приложения Windows Form, содержащий:
- •3.3 Варианты индивидуальных заданий
- •3.4 Содержание отчёта
- •Задание на разработку проекта:
- •Разработан графический интерфейс
- •Разработан программной код приложения
- •6.1) Созданы программные коды заголовочного файла table.H и
- •6.2) Созданы файлы c функциями решения поставленной задачи.
- •6.3) Создание событийных процедур.
- •Результаты выполнения приложения
- •Доказательство правильности результата
3.4 Содержание отчёта
Титульный лист с указанием номера и названия работы, варианта индивидуального задания, группы и Ф.И.О. студента, Ф.И.О. преподавателя.
Общее и индивидуальное задание.
Рисунки, таблицы и программные коды, отражающие этапы разработки приложения:
графический интерфейс пользователя;
таблица используемых объектов и их свойств;
схемы алгоритмов решения поставленной задачи;
программный код разработанных функций, событийных процедур и
заголовочных файлов.
Результаты выполнения проекта.
Доказательство правильности работы.
3.5 Пример выполнения задания
Тема и название лабораторной работы:
Лабораторная работа №3 «Программирование алгоритмов регулярных циклических структур» – Формирование таблицы значений функции y=f(x) на отрезке [a; b] с шагом h.
Фамилия, имя студента, номер группы, номер варианта:
Иванов И., БИН1905, вариант 13.
Задание на разработку проекта:
Создать проект согласно общему заданию для формирования таблицы значений функции f(x)=sin(x+2)*12+cos(x*4)*15 при изменении x на отрезке [a;b] с шагом h (например, а=2, b=8, h=0.5); вычислить наибольшее и наименьшее значения заданной функции на этом же отрезке, а также число положительных и отрицательных значений функции.
Разработаны схемы алгоритмов двух процедур:
схема алгоритма функции func() вычисления значения заданной функции в одной точке (рисунок 1);
|
Рисунок 1 – Схема алгоритма функции func() для вычисления значения заданной функции в одной точке
схема алгоритма функции RegCikl() решения задачи и формирования таблицы значений функции y=f(x) на отрезке [a; b] с шагом h (рисунок 2);
Рисунок 2– Схема алгоритма функции решения задачи формирования таблицы значений функции y=f(x) на отрезке [a; b] с шагом h.
Разработан графический интерфейс
Графический интерфейс проекта изображен на рисунке. 3.
Рисунок 3 - Графический интерфейс проекта
Форма содержит текстовые поля TextBox для ввода исходных данных и вывода результатов выполнения, список ListBox для вывода таблицы значений функции, а также кнопки Button для запуска приложения на выполнение и для выхода из приложения.
Таблицу, в которой приведены основные объекты формы с указанием тех их свойств, которые были переопределены разработчиком приложения, студенты составляют самостоятельно по примеру лабораторной работы 2.
Разработан программной код приложения
6.1) Созданы программные коды заголовочного файла table.H и
отредактирован программный код системного заголовочного
файла stdafx.h.
На рис. 4 приведен программный код созданного заголовочного
файла TABLE.h и системного заголовочного файла stdafx.h
Рисунок 4. Программные коды заголовочных файлов
6.2) Созданы файлы c функциями решения поставленной задачи.
В данном проекте в соответствии с заданием создается два файла с программным кодом функций пользователя:
файл GetPut.cpp, содержащий функцию GetFloat для ввода из текстового поля формы и преобразования в вещественное число типа float (в проектах CLR соответствует системному типу Single), и функцию Put для вывода вещественного числа типа float в текстовое поле формы;
файл TabFor.cpp, содержащий все остальные функции, необходимые для решения поставленной задачи.
На рис. 5 приведен программный код файла GetPut.cpp
Рисунок 5 – Программный код файла GetPut.cpp
Функция GetFloat для ввода вещественного числа из текстового поля реализует контроль ввода, и в случае пустого поля выводит в окно класса MessageBox текстовое сообщение, соответствующее передаваемой через параметр строке, а также возвращает в событийную процедуру результат логического типа, равный false. В противном случае (т.е. если текстовое поле непустое) функция возвращает через параметр по ссылке вещественное число и через возвращаемое значение результат логического типа, равный true.
Функция Put выводит вещественное число типа float в текстовое поле формы. Следует заметить, что в С++ эту же функцию можно использовать и для вывода целого числа, т.к. при вызове этой функции с фактическим параметром целого типа происходит его неявное преобразование.
На рис. 6 приведен программный код файла TabFor.cpp, содержащий необходимые функции для решения задачи.
Рисунок 6 - Программный код файла TabFor.cpp