- •4. Лабораторная работа «Программирование алгоритмов вложенных циклических структур»
- •4.1 Вопросы, подлежащие изучению
- •4.2 Общее задание на разработку приложения
- •Создайте проект приложения Windows Form, содержащий:
- •4.3 Варианты индивидуальных заданий
- •4.4 Содержание отчёта
- •Задание на разработку проекта:
- •Разработан программной код приложения
- •5.1) Созданы программные коды заголовочного файла table.H и
- •5.2) Созданы файлы c функциями решения поставленной задачи.
- •5.3) Создание событийных процедур.
- •Результаты выполнения приложения
- •Доказательство правильности результата
4.4 Содержание отчёта
Титульный лист с указанием номера и названия работы, варианта индивидуального задания, группы и Ф.И.О. студента, Ф.И.О. преподавателя.
Общее и индивидуальное задание.
Рисунки, таблицы и программные коды, отражающие этапы разработки приложения:
графический интерфейс пользователя;
таблица используемых объектов и их свойств;
схемы алгоритмов решения поставленной задачи;
программный код разработанных функций, событийных процедур и
заголовочных файлов.
Результаты выполнения проекта.
Доказательство правильности работы.
4.5 Пример выполнения задания
Тема и название лабораторной работы:
Лабораторная работа №4 «Программирование алгоритмов вложенных циклических структур»
Фамилия, имя студента, номер группы, номер варианта:
Иванов И., БИН1905, вариант 13.
Задание на разработку проекта:
Создать проект согласно общему заданию для формирования таблицы значений функции
x2
+y2,
если 0<x<1
и 0<y<1;
z(x,y)=
x+y, в противном случае
а также для подсчета суммы и количества положительных значений z(x,y), при изменении x на отрезке [a; b] с шагом h1 и y на отрезке [c;d] с шагом h2.
Разработаны схемы алгоритмов двух процедур:
схема алгоритма функции f() вычисления значения заданной функции в одной точке;
схема алгоритма функции RegCikl2() решения задачи и формирования таблицы значений функции z(x,y);
Схемы алгоритмов студенты разрабатывают самостоятельно.
Разработан графический интерфейс
Графический интерфейс проекта изображен на рисунке 1.
Рисунок 1 - Графический интерфейс проекта
Форма содержит текстовые поля TextBox для ввода исходных данных и вывода результатов выполнения, список ListBox для вывода таблицы значений функции, а также кнопки Button для запуска приложения на выполнение и для выхода из приложения. Начальные значения исходных данных заданы в свойствах соответствующих текстовых полей, но, разумеется, могут быть переопределены пользователем при выполнении приложения.
Таблицу, в которой приведены основные объекты формы с указанием тех их свойств, которые были переопределены разработчиком приложения, студенты составляют самостоятельно по примеру лабораторной работы 2.
Разработан программной код приложения
5.1) Созданы программные коды заголовочного файла table.H и
отредактирован программный код системного заголовочного
файла stdafx.h.
На рис. 2 приведен программный код созданного заголовочного
файла CalcTab.h и системного заголовочного файла stdafx.h
|
Рис. 2. Программные коды заголовочных файлов
5.2) Созданы файлы c функциями решения поставленной задачи.
В данном проекте в соответствии с заданием создается два файла с программным кодом функций пользователя:
файл GetPut.cpp, содержащий функцию GetFloat для ввода из текстового поля формы и преобразования в вещественное число типа float, и функцию Put для вывода вещественного числа типа float в текстовое поле формы;
файл CalcTab.cpp, содержащий все остальные функции, необходимые для решения поставленной задачи.
На рис. 3 приведен программный код файла GetPut.cpp. Функции GetFloat и Put полностью аналогичны одноименным функциям, использованных в предыдущей лабораторной работе.
Рис. 3 – Программный код файла GetPut.cpp
На рис. 4 приведен программный код файла CalcTab.cpp, содержащий необходимые функции для решения задачи.
|
|
Рис. 4 - Программный код файла CalcTab.cpp
Программный код функции f тривиален и пояснений не требует. В функцию RegCikl2 в качестве входных параметров передаются по значению границы и шаг изменения аргументов, а также ссылка на список формы для вывода таблицы. Выходным параметром, возвращаемым по ссылке, является подсчитанное количество положительных значений функции Npos. Подсчитанная функцией сумма положительных значений S возвращается оператором return.
Для перебора всех сочетаний аргументов x и y организуются вложенные циклы с параметрами i и j. Для “красивого” вывода в список формы (без повторения во внутреннем цикле неизменных значений x) во внутреннем цикле организовано разветвление: при первом повторении цикла значение x выводится, при остальных – заменяется пробелами.
