Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗБИК1953_лр2.docx
Скачиваний:
1
Добавлен:
11.02.2023
Размер:
372.91 Кб
Скачать

Ордена Трудового Красного Знамени федеральное государственное

бюджетное образовательное учреждение высшего образования

Московский технический университет связи и информатики

Предмет: Языки программирования

Лабораторная работа №2 по теме:

«Программирование алгоритмов регулярных циклических структур»

Проверил(а): Саркисова И.О.

2 курс, факультет ЦЗОПБ

Группа БИК1953

Вариант 24

Москва, 2020

Оглавление

  1. Тема и название работы

Программирование алгоритмов циклических структур с управляющими параметрами– Формирование таблицы и вычисление произведения значений функции y=f(x) при y>0 на отрезке [a;b] с шагом h.

  1. Задание на разработку проекта и вариант задания

Создать проект с именем YaP-LR-02C для формирования таблицы значений функции при изменении x на отрезке [a;b] с шагом h. Кроме того, найти произведение значений функции y=f(x) при y>0. Пусть a=-3, b=0, и шаг h=0,15. Значения a, b, h вводятся в элементы управления TextBox. Значения аргумента и значения функции, при выводе их на форму необходимо разместить в элементах управления ListBox. Произведение значений функции следует поместить в элементах TextBox, а надписи в элементах Label.

Разработать приложение для решения задачи и получить результаты.

  1. Формализация задания

Для решения задачи табуляции функции на заданном интервале следует использовать алгоритмическую структуру регулярного типа, т. к. заданы начальное и конечное значение аргумента, а также шаг его изменения, то есть в этом случае можно заранее определить количество вычисленных значений. Данная задача решается с помощью функции «void Calculate(double a, double b, double h, out int n, out double multiple)», которая получив в качестве входных параметров границы интервала (a и b) и шаг (h) изменения аргумента, табулирует функцию и выводит результаты табуляции в ListBox и возвращает в качестве выходных параметров количество итераций и произведение положительных значений функции. Функция «void Calculate(double a, double b, double h, out int n, out double multiple)» вызывает функцию «void Func(double x)», которая вычисляет значение функции по заданному аргументу x. Саму же функцию «void Calculate(double a, double b, double h, out int n, out double multiple)» вызывает функция «void buttonCalculate_Click(object sender, EventArgs e)», которая сохраняет вывод этой функции в переменных и выводит их с помощью вызова функции «void Output(int n, double Multiple)» в которую передаёт в качестве аргументов переменные в которых сохранён вывод функции «void Calculate(double a, double b, double h, out int n, out double multiple)», а «void Output(int n, double Multiple)» в свою очередь осуществляет вывод полученных параметров в текстовые поля TextBox. Для представления информации в виде одноуровневого списка в используется элемент управления ListBox (окно списка). Этот элемент позволяет хранить не одно значение, а список значений, на нем также автоматически появляется полоса прокрутки, если элементов в списке оказывается больше, чем можно разместить на экране. Значения элементов в списке ListBox имеют строковый тип String, поэтому ими могут быть не только числа (которые для размещения в ListBox надо предварительно преобразовать в строковый тип), но и символы, например, фамилии, названия предметов или любая другая символьная информация.

  1. Разработка проекта

    1. Разработка графического интерфейса пользователя

Разработанная форма интерфейса пользователя приведена на рис. 4.1.

Анализируя задание на разработку проекта, можно сделать вывод, что для организации ввода и вывода данных можно использовать пять элементов управления. Для ввода начального и конечного значения и шага используется объект TextBox. Для вывода количества итераций и произведений значений функции больших нуля так же используется объект TextBox только с установленным свойством ReadOnly в true что бы поле предназначенное для вывода нельзя было изменить вручную. Для отображения текстовой информации и для указания за что отвечают поля ввода и вывода используются объекты Label. Для вывода аргументов и значений функции используются объекты ListBox которые позволяют выводить информацию в виде списка, так же если количество элементов больше, чем может показать окно списка то появляется полоса прокрутки, с помощью которой можно просмотреть все элементы, добавленные в список. Манипулирование элементами списка осуществляется с помощью свойства Items, для добавления используется метод Add() который в качестве аргумента может принимать строки, а для очистки списка используется метод Clear(). Так же элементы можно добавлять на стадии разработки, для этого надо поместить элементы списка в свойство Items, которое имеется в окне Properties элемента управления ListBox, щелкнув кнопку с тремя точками и составив нужный список в открывшемся диалоговом окне. Каждая строка этого свойства задает один элемент, для перехода на следующую строку надо нажать клавишу <Enter>, после набора всех элементов – щелкнуть ОК. Для объединения ListBox отвечающие за аргументы и значения функции используется объект Panel.

Для вызова функций расчёта и выхода из программы используются объекты Button которые запускают соответствующие функции при нажатии на них.

Рис. 4.1

Соседние файлы в предмете Языки программирования