Современные технологии программирования (часть 2-я). Лабораторные работы №1-3. Для всех вариантов (2020).
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра текстовых файлов
Описание
Лабораторная работа №1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Преобразователь чисел из десятичной системы счисления в систему счисления с заданным основанием p».
ADT Conver_10_p
Данные
Преобразователь действительных чисел из десятичной системы счисления в систему счисления с заданным основанием (тип Conver_10_p). Основание системы счисления p - это целое число, со значением, принадлежащим диапазону от 2 до 16 и целое число c, определяющее точность представления результата, выраженную в количестве разрядов.
Операции. Операции представлены в таблице 1.
Таблица 1 -Операции
Do(double n, int p, int c) Выполнитьпреобразование
Вход: Десятичное действительное число n. Основание системы счисления p. Точность преобразования дроби, заданная числом разрядов дробной части результата c. Например:
Do(-17.875,16,3) = “-А1.Е” .
Процесс: Выполняет преобразование десятичного действительного числа n, в систему счисления с основанием р и точностью c.
Например: Do (”-17.875”,16,3) = “-А1.Е”.
Выход: Строка результата.
Например: Do(”-17.875”) = “-А1.Е”.
int_to_Char(int d) Преобразовать целое значение в цифру системы счисления с основанием р.
Вход: d – значение типа int – целое, соответствующее цифре в системе счисления с основанием р.
Предусловия: Нет.
Процесс: Преобразует целое d в соответствующую ему цифру в системе счисления с основанием р, значение типа Char.
Например: int_to_Char (14) = “E”.
Выход: Значение типа char.
Постусловия: Нет.
int_to_P(int n, int p) Преобразовать целое в строку.
Вход: n – целое число в системе счисления с основанием 10. p – основание системы счисления результата.
Предусловия: Нет.
Процесс: Преобразует целое n в строку, содержащую целое число в системе счисления с основанием p. Например:
int_to_P(161, 16) = “A1”
Выход: Строка.
Постусловия: Нет.
flt_to_P(double n, int p, int c) Преобразоватьдробь в строку.
Вход: n – дробь в системе счисления с основанием 10, p – основание системы счисления, c – точность представления дроби.
Предусловия: Нет.
Процесс: Преобразует дробь n в строку, содержащую дробь в системе счисления с основанием p с точностью с. Например: flt_to_P(0.9375, 2, 4) «1111»
Выход: Строка.
Постусловия: Нет.
end Conver_10_p
Класс «Конвертер р_10» - преобразователь чисел из системы счисления с основанием р в десятичную систему счисления
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 2
1. Реализовать преобразователь действительных (конвертер р_10) чисел из системы счисления с основанием р в десятичную систему счисления в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления р принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Конвертер р_10» - преобразователь действительных чисел со знаком из системы счисления с основанием р в десятичную систему счисления.
ADT Conver_p_10
Данные
Преобразователь действительных чисел из заданной системы счисления с основанием p в десятичную систему счисления (тип Conver_p_10). Основание системы счисления со значением, принадлежащим диапазону от 2 до 16.
Операции
Операции приведены в таблице 2.
Таблица 2 -Операции
dval(string P_num, int P) Выполнитьпреобразование
Вход: P_num - строковое представление действительного числа в системе счисления с основанием р. Например:
dval(“A5.E”, 16)
Процесс: Выполняет преобразование действительного числа, представленного строкой в числовое представление.
Например:
dval(“A5.E”, 16) = -165.875.
Выход: Вещественноечисло.
Постусловия: Нет.
char_To_num(char ch) Преобразоватьсимвол в целое
Вход: ch – значение типа char – символ, изображающий цифру системы счисления с основанием p.
Предусловия: Нет.
Процесс: Преобразует символ ch в значение целого типа.
Например:
PCharToInt(‘A’) = 10.
Выход: Вещественноечисло.
Постусловия: Нет.
convert(string P_num, int P, double weight) Преобразовать строку в вещественное число.
Вход: P_num – строка, изображающая цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя. weight – вес единицы старшего разряда целой части числа.
Предусловия: Нет.
Процесс: Преобразует строку P_num, содержащую цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя в вещественное число. Например:
convert (“A5E1”, 16, 16)
Выход: Вещественноечисло.
Постусловия: Нет.
endConver_p_10
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0 целыми числами от 0. При реализации интерфейса номера команд удобно хранить в свойстве Tag, которое имеется у визуальных компонентов.
Атрибуты и операции класс представлены на рисунке 10.
Рисунок 10 - Атрибуты и операции класса
2. Ответственность класса Editor (редактор) – хранение, ввод и редактирование строкового представления числа, представленного в системе счисления с основанием p. Класс должен обеспечивать: добавление символов (AddDigit), соответствующих р-ичным цифрам (р от 2 до 16); добавления нуля (AddZero()); добавление разделителя целой и дробной частей (AddDelim()); забой символа - удаление символа, стоящего справа (BS); очистку - установку нулевого значения числа (Clear); чтение строкового представления р-ичного числа (Number).
3. Протестировать каждый метод класса.
Класс История.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования языка C#;использования библиотечного класса обобщённой коллекции List<> для обработки данных.
Задание 2
1. Разработать и реализовать класс History «История», используя класс языка C#. Класс отвечает за документирование выполнения пользователем переводов чисел. Объекты класса хранят исходные числа, результаты преобразования и основания систем счисления исходного числа и результата.
Атрибуты и операции класса представлены таблице 3.
Таблица 3 - Атрибуты и операции класса «История»
История
Запись(i: integer): String;
ДобавитьЗапись(a: String);
Записей(): integer
ОчиститьИсторию();
Обязанность: ввод, вывод, хранение данных введённых пользователем и полученных результатов.
2. Класс должен отвечать за ввод, вывод, хранение данных введённых пользователем и полученных результатов. Класс должен обеспечивать:
• добавление записи (ДобавитьЗапись) - строки, содержащей введённое пользователем число, результат его преобразования и основания систем счисления исходной и той, в которую число преобразовано;
• извлечение записи по её номеру в списке (Запись);
• очистка списка (ОчиститьИсторию);
• конструктор (Запись);
• текущий размер списка в числе записей (Записей);
3. Протестировать каждый метод класса.
Лабораторная работа №3
Класс Управление для «Конвертора p1_р2».
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать Управление для «Конвертера p1_р2».
2. Протестировать каждый метод класса.
Спецификация класса Управление для «Конвертера p1_р2».
ADT Control_
Данные
Объект класса Control_ (Управление) отвечают за координацию действий между классом «Интерфейс» и классами «Редактор», «Конвертер p1_10», «Конвертер 10_p2», «История». Объект класса Control_ содержат поля: ed типа Editor, his типа История, и свойства: Pin типа int (основание системы счисления исходного числа), Pout типа int (основание системы счисления результата), St типа State (состояние конвертера). Он может находиться в одном из двух состояний: «Редактирование», «Преобразовано». Объекты этого типа изменяемы.
Операции
Операции представлены в таблице 4.
Таблица 4 - Операции
Control_ Конструктор
Вход: Нет.
Процесс: Создаёт объект Управление типа (тип Control_) и инициирует поля объекта начальными значениями.
DoCommand Выполнить команду.
Вход: n - целое значение, номер выполняемой команды.
Предусловия: Нет.
Процесс: В зависимости от значения n и состояния (St) передаёт сообщение объекту Редактор или Преобразователь и изменяет состояние. Возвращает строку результата: либо отредактированное число, либо результат преобразования.
Выход: Строка.
Постусловия: Нет.
end Control_
Интерфейс приложения «Конвертор р1_р2».
Цель: Сформировать практические навыки реализации графических интерфейсов пользователя (GUI) на основе библиотеки визуальных компонентов.
Задание 2
1. Реализовать «Интерфейс» приложения «Конвертер р1_р2», используя библиотечный класс формы и визуальные компоненты.
2. Протестировать методы класса.
Спецификация класса «Интерфейс».
Интерфейс приложения представлен на рисунке 1.
ADT TPanel_p_p
Данные
«Интерфейс» конвертера действительных чисел из системы счисления с основанием p1 в систему счисления с основанием p2 предназначен для: выбора оснований систем счисления p1, p2 из диапазона от 2..16; ввода и редактирования действительного числа со знаком в системе счисления с выбранным основанием p1; отображения результата – представления ввёдённого числа в системе счисления с основанием p2; отображения справки о приложении; отображения истории текущего сеанса работы пользователя с приложением.
«Интерфейс» несёт на себе визуальные компоненты, реализующие выполнения команд преобразователя и объект «Управление» класса Control_.
Операции. Операции представлены в таблице 5.
Таблица 5 - Операции
Наименование Пояснение
trackBar1_Scroll Обработчик события Scroll для компонента trackBar1.
Вход: objectsender, EventArgse.
sender – указатель на объект, который явился инициатором события Scroll. e - это объект базового класса для классов, содержащих данные о событии.
Предусловия: Пользователь перетаскивает бегунок компонента trackBar1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 исходного числа. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown1_ValueChanged Обработчик события ValueChanged для компонента numericUpDown1.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р1 с помощью компонента numericUpDown1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 исходного числа. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
trackBar2_Scroll Обработчик события Scroll для компонента trackBar2.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события Scroll.
Предусловия: Пользователь перетаскивает бегунок компонента trackBar2.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления p2 исходного числа. Устанавливает новое значение основания системы счисления.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown2_ValueChanged Обработчик события ValueChanged для компонента numericUpDown2.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р2 с помощью компонента numericUpDown2.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р2 результата. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown1_ValueChanged Обработчик события ValueChanged для компонента numericUpDown1.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р1 с помощью компонента numericUpDown1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 результата. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
TPanelp_p_Load Обработчик события Load для компонента TPanelp_p.
Вход: (objectsender, EventArgse). sender – указатель на объект, который явился инициатором события Load.
Предусловия: Форма загружается в память.
Процесс: Устанавливает начальные значения свойств визуальных компонентов формы после загрузки формы.
Выход: Нет.
Постусловия: Установка свойств выполнена.
DoCmnd(int j) Выполнить команду.
Вход: j значение целого типа – номер команды преобразователя.
Предусловия: Пользователь нажал командную кнопку команды с номером j.
Процесс: Передаёт сообщение объекту Управление и отображает возвращаемый им результат. Вызывается метод объекта Управление и передаётся номер набранной пользователем команды Конвертора.
Выход: Нет.
Постусловия: Обновляется состояние Интерфейса.
button_Click Обработчик события Click для командных кнопок.
Вход: object sender, EventArgs e. sender: object – указатель на объект, который явился инициатором события Click.
Предусловия: Пользователь нажал командную кнопку.
Процесс: Извлекает из свойства Tag командной кнопки номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: Нет.
Постусловия: Нет.
TPanelp_p_KeyPress Обработчик события KeyPress для алфавитно-цифровых клавиш клавиатуры.
Вход: object sender, KeyPressEventArgs e.
Предусловия: Пользователь нажал алфавитно-цифровую клавишу клавиатуры.
Процесс: Определяет по нажатой алфавитно-цифровой клавише номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: Нет.
Постусловия: Команда пользователя вызвана.
TPanelp_p_KeyDown Обработчик события KeyDown для клавиш управления клавиатуры.
Вход: (object sender, KeyEventArgs e)
Предусловия: Пользователь нажал клавишу управления клавиатуры.
Процесс: Определяет по нажатой клавише управления номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: нет.
Постусловия: Команда пользователя вызвана.
UpdateP1
Выполнить обновления связанные с изменением р1.
Вход: Нет.
Предусловия: Изменено основание с.сч. р1 исходного числа.
Процесс: Выполняет необходимые обновления при смене ос. с. сч. р1.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
UpdateP2
Выполнить обновления связанные с изменением р2.
Вход: Нет.
Предусловия: Изменено основание с.сч. р2 результата.
Процесс: Выполняет необходимые обновления при смене ос. с. сч. р2.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
UpdateButtons
Вход: Нет.
Предусловия: Изменено основание с.сч. р1 исходного числа.
Процесс: Обновляет состояния командных кнопок предназначенных для ввода цифр выбранной системы счисления p1.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
выходToolStripMenuItem_Click Команда Выход основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e.
Предусловия: Пользователь кликает мышью на пункте Выход основного меню формы.
Процесс: Завершает работу приложения.
Выход: Нет.
Постусловия: Приложение завершено.
справкаToolStripMenuItem_Click Команда Справка основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e
Предусловия: Пользователь кликает мышью на пункте Справка основного меню формы.
Процесс: Показывает окно со справкой по приложению.
Выход: Нет.
Постусловия: Отображено окно справки.
историяToolStripMenuItem_Click Команда История основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e
Предусловия: Пользователь кликает мышью на пункте История основного меню формы.
Процесс: Открывает окно История.
Выход: Нет.
Постусловия: Окно История - открыто.
endTPanel_p_p
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Преобразователь чисел из десятичной системы счисления в систему счисления с заданным основанием p».
ADT Conver_10_p
Данные
Преобразователь действительных чисел из десятичной системы счисления в систему счисления с заданным основанием (тип Conver_10_p). Основание системы счисления p - это целое число, со значением, принадлежащим диапазону от 2 до 16 и целое число c, определяющее точность представления результата, выраженную в количестве разрядов.
Операции. Операции представлены в таблице 1.
Таблица 1 -Операции
Do(double n, int p, int c) Выполнитьпреобразование
Вход: Десятичное действительное число n. Основание системы счисления p. Точность преобразования дроби, заданная числом разрядов дробной части результата c. Например:
Do(-17.875,16,3) = “-А1.Е” .
Процесс: Выполняет преобразование десятичного действительного числа n, в систему счисления с основанием р и точностью c.
Например: Do (”-17.875”,16,3) = “-А1.Е”.
Выход: Строка результата.
Например: Do(”-17.875”) = “-А1.Е”.
int_to_Char(int d) Преобразовать целое значение в цифру системы счисления с основанием р.
Вход: d – значение типа int – целое, соответствующее цифре в системе счисления с основанием р.
Предусловия: Нет.
Процесс: Преобразует целое d в соответствующую ему цифру в системе счисления с основанием р, значение типа Char.
Например: int_to_Char (14) = “E”.
Выход: Значение типа char.
Постусловия: Нет.
int_to_P(int n, int p) Преобразовать целое в строку.
Вход: n – целое число в системе счисления с основанием 10. p – основание системы счисления результата.
Предусловия: Нет.
Процесс: Преобразует целое n в строку, содержащую целое число в системе счисления с основанием p. Например:
int_to_P(161, 16) = “A1”
Выход: Строка.
Постусловия: Нет.
flt_to_P(double n, int p, int c) Преобразоватьдробь в строку.
Вход: n – дробь в системе счисления с основанием 10, p – основание системы счисления, c – точность представления дроби.
Предусловия: Нет.
Процесс: Преобразует дробь n в строку, содержащую дробь в системе счисления с основанием p с точностью с. Например: flt_to_P(0.9375, 2, 4) «1111»
Выход: Строка.
Постусловия: Нет.
end Conver_10_p
Класс «Конвертер р_10» - преобразователь чисел из системы счисления с основанием р в десятичную систему счисления
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 2
1. Реализовать преобразователь действительных (конвертер р_10) чисел из системы счисления с основанием р в десятичную систему счисления в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления р принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Конвертер р_10» - преобразователь действительных чисел со знаком из системы счисления с основанием р в десятичную систему счисления.
ADT Conver_p_10
Данные
Преобразователь действительных чисел из заданной системы счисления с основанием p в десятичную систему счисления (тип Conver_p_10). Основание системы счисления со значением, принадлежащим диапазону от 2 до 16.
Операции
Операции приведены в таблице 2.
Таблица 2 -Операции
dval(string P_num, int P) Выполнитьпреобразование
Вход: P_num - строковое представление действительного числа в системе счисления с основанием р. Например:
dval(“A5.E”, 16)
Процесс: Выполняет преобразование действительного числа, представленного строкой в числовое представление.
Например:
dval(“A5.E”, 16) = -165.875.
Выход: Вещественноечисло.
Постусловия: Нет.
char_To_num(char ch) Преобразоватьсимвол в целое
Вход: ch – значение типа char – символ, изображающий цифру системы счисления с основанием p.
Предусловия: Нет.
Процесс: Преобразует символ ch в значение целого типа.
Например:
PCharToInt(‘A’) = 10.
Выход: Вещественноечисло.
Постусловия: Нет.
convert(string P_num, int P, double weight) Преобразовать строку в вещественное число.
Вход: P_num – строка, изображающая цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя. weight – вес единицы старшего разряда целой части числа.
Предусловия: Нет.
Процесс: Преобразует строку P_num, содержащую цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя в вещественное число. Например:
convert (“A5E1”, 16, 16)
Выход: Вещественноечисло.
Постусловия: Нет.
endConver_p_10
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0 целыми числами от 0. При реализации интерфейса номера команд удобно хранить в свойстве Tag, которое имеется у визуальных компонентов.
Атрибуты и операции класс представлены на рисунке 10.
Рисунок 10 - Атрибуты и операции класса
2. Ответственность класса Editor (редактор) – хранение, ввод и редактирование строкового представления числа, представленного в системе счисления с основанием p. Класс должен обеспечивать: добавление символов (AddDigit), соответствующих р-ичным цифрам (р от 2 до 16); добавления нуля (AddZero()); добавление разделителя целой и дробной частей (AddDelim()); забой символа - удаление символа, стоящего справа (BS); очистку - установку нулевого значения числа (Clear); чтение строкового представления р-ичного числа (Number).
3. Протестировать каждый метод класса.
Класс История.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования языка C#;использования библиотечного класса обобщённой коллекции List<> для обработки данных.
Задание 2
1. Разработать и реализовать класс History «История», используя класс языка C#. Класс отвечает за документирование выполнения пользователем переводов чисел. Объекты класса хранят исходные числа, результаты преобразования и основания систем счисления исходного числа и результата.
Атрибуты и операции класса представлены таблице 3.
Таблица 3 - Атрибуты и операции класса «История»
История
Запись(i: integer): String;
ДобавитьЗапись(a: String);
Записей(): integer
ОчиститьИсторию();
Обязанность: ввод, вывод, хранение данных введённых пользователем и полученных результатов.
2. Класс должен отвечать за ввод, вывод, хранение данных введённых пользователем и полученных результатов. Класс должен обеспечивать:
• добавление записи (ДобавитьЗапись) - строки, содержащей введённое пользователем число, результат его преобразования и основания систем счисления исходной и той, в которую число преобразовано;
• извлечение записи по её номеру в списке (Запись);
• очистка списка (ОчиститьИсторию);
• конструктор (Запись);
• текущий размер списка в числе записей (Записей);
3. Протестировать каждый метод класса.
Лабораторная работа №3
Класс Управление для «Конвертора p1_р2».
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать Управление для «Конвертера p1_р2».
2. Протестировать каждый метод класса.
Спецификация класса Управление для «Конвертера p1_р2».
ADT Control_
Данные
Объект класса Control_ (Управление) отвечают за координацию действий между классом «Интерфейс» и классами «Редактор», «Конвертер p1_10», «Конвертер 10_p2», «История». Объект класса Control_ содержат поля: ed типа Editor, his типа История, и свойства: Pin типа int (основание системы счисления исходного числа), Pout типа int (основание системы счисления результата), St типа State (состояние конвертера). Он может находиться в одном из двух состояний: «Редактирование», «Преобразовано». Объекты этого типа изменяемы.
Операции
Операции представлены в таблице 4.
Таблица 4 - Операции
Control_ Конструктор
Вход: Нет.
Процесс: Создаёт объект Управление типа (тип Control_) и инициирует поля объекта начальными значениями.
DoCommand Выполнить команду.
Вход: n - целое значение, номер выполняемой команды.
Предусловия: Нет.
Процесс: В зависимости от значения n и состояния (St) передаёт сообщение объекту Редактор или Преобразователь и изменяет состояние. Возвращает строку результата: либо отредактированное число, либо результат преобразования.
Выход: Строка.
Постусловия: Нет.
end Control_
Интерфейс приложения «Конвертор р1_р2».
Цель: Сформировать практические навыки реализации графических интерфейсов пользователя (GUI) на основе библиотеки визуальных компонентов.
Задание 2
1. Реализовать «Интерфейс» приложения «Конвертер р1_р2», используя библиотечный класс формы и визуальные компоненты.
2. Протестировать методы класса.
Спецификация класса «Интерфейс».
Интерфейс приложения представлен на рисунке 1.
ADT TPanel_p_p
Данные
«Интерфейс» конвертера действительных чисел из системы счисления с основанием p1 в систему счисления с основанием p2 предназначен для: выбора оснований систем счисления p1, p2 из диапазона от 2..16; ввода и редактирования действительного числа со знаком в системе счисления с выбранным основанием p1; отображения результата – представления ввёдённого числа в системе счисления с основанием p2; отображения справки о приложении; отображения истории текущего сеанса работы пользователя с приложением.
«Интерфейс» несёт на себе визуальные компоненты, реализующие выполнения команд преобразователя и объект «Управление» класса Control_.
Операции. Операции представлены в таблице 5.
Таблица 5 - Операции
Наименование Пояснение
trackBar1_Scroll Обработчик события Scroll для компонента trackBar1.
Вход: objectsender, EventArgse.
sender – указатель на объект, который явился инициатором события Scroll. e - это объект базового класса для классов, содержащих данные о событии.
Предусловия: Пользователь перетаскивает бегунок компонента trackBar1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 исходного числа. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown1_ValueChanged Обработчик события ValueChanged для компонента numericUpDown1.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р1 с помощью компонента numericUpDown1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 исходного числа. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
trackBar2_Scroll Обработчик события Scroll для компонента trackBar2.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события Scroll.
Предусловия: Пользователь перетаскивает бегунок компонента trackBar2.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления p2 исходного числа. Устанавливает новое значение основания системы счисления.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown2_ValueChanged Обработчик события ValueChanged для компонента numericUpDown2.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р2 с помощью компонента numericUpDown2.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р2 результата. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
numericUpDown1_ValueChanged Обработчик события ValueChanged для компонента numericUpDown1.
Вход: objectsender, EventArgse. sender – указатель на объект, который явился инициатором события ValueChanged.
Предусловия: Пользователь изменяет р1 с помощью компонента numericUpDown1.
Процесс: Обновляет свойства визуальных компонентов формы, связанных с изменением основания системы счисления р1 результата. Устанавливает новое значение основания системы счисления. Обновляет состояние командных кнопок.
Постусловия: Обновления выполнены.
Выход: Нет.
TPanelp_p_Load Обработчик события Load для компонента TPanelp_p.
Вход: (objectsender, EventArgse). sender – указатель на объект, который явился инициатором события Load.
Предусловия: Форма загружается в память.
Процесс: Устанавливает начальные значения свойств визуальных компонентов формы после загрузки формы.
Выход: Нет.
Постусловия: Установка свойств выполнена.
DoCmnd(int j) Выполнить команду.
Вход: j значение целого типа – номер команды преобразователя.
Предусловия: Пользователь нажал командную кнопку команды с номером j.
Процесс: Передаёт сообщение объекту Управление и отображает возвращаемый им результат. Вызывается метод объекта Управление и передаётся номер набранной пользователем команды Конвертора.
Выход: Нет.
Постусловия: Обновляется состояние Интерфейса.
button_Click Обработчик события Click для командных кнопок.
Вход: object sender, EventArgs e. sender: object – указатель на объект, который явился инициатором события Click.
Предусловия: Пользователь нажал командную кнопку.
Процесс: Извлекает из свойства Tag командной кнопки номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: Нет.
Постусловия: Нет.
TPanelp_p_KeyPress Обработчик события KeyPress для алфавитно-цифровых клавиш клавиатуры.
Вход: object sender, KeyPressEventArgs e.
Предусловия: Пользователь нажал алфавитно-цифровую клавишу клавиатуры.
Процесс: Определяет по нажатой алфавитно-цифровой клавише номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: Нет.
Постусловия: Команда пользователя вызвана.
TPanelp_p_KeyDown Обработчик события KeyDown для клавиш управления клавиатуры.
Вход: (object sender, KeyEventArgs e)
Предусловия: Пользователь нажал клавишу управления клавиатуры.
Процесс: Определяет по нажатой клавише управления номер соответствующей ей команды. Вызывает метод DoCmnd Интерфейса и передаёт в него номер команды.
Выход: нет.
Постусловия: Команда пользователя вызвана.
UpdateP1
Выполнить обновления связанные с изменением р1.
Вход: Нет.
Предусловия: Изменено основание с.сч. р1 исходного числа.
Процесс: Выполняет необходимые обновления при смене ос. с. сч. р1.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
UpdateP2
Выполнить обновления связанные с изменением р2.
Вход: Нет.
Предусловия: Изменено основание с.сч. р2 результата.
Процесс: Выполняет необходимые обновления при смене ос. с. сч. р2.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
UpdateButtons
Вход: Нет.
Предусловия: Изменено основание с.сч. р1 исходного числа.
Процесс: Обновляет состояния командных кнопок предназначенных для ввода цифр выбранной системы счисления p1.
Выход: Нет.
Постусловия: Состояние кнопок обновлено.
выходToolStripMenuItem_Click Команда Выход основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e.
Предусловия: Пользователь кликает мышью на пункте Выход основного меню формы.
Процесс: Завершает работу приложения.
Выход: Нет.
Постусловия: Приложение завершено.
справкаToolStripMenuItem_Click Команда Справка основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e
Предусловия: Пользователь кликает мышью на пункте Справка основного меню формы.
Процесс: Показывает окно со справкой по приложению.
Выход: Нет.
Постусловия: Отображено окно справки.
историяToolStripMenuItem_Click Команда История основного меню класса TPanelp_p формы.
Вход: object sender, EventArgs e
Предусловия: Пользователь кликает мышью на пункте История основного меню формы.
Процесс: Открывает окно История.
Выход: Нет.
Постусловия: Окно История - открыто.
endTPanel_p_p
Дополнительная информация
март 2020, зачтено без замечаний
Похожие материалы
Современные технологии программирования (часть 2-я). Лабораторная работа №1. Для всех вариантов (2020).
nik200511
: 24 февраля 2021
Лабораторная работа №1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый ме
54 руб.
Лабораторная работа №1 "Современные технологии программирования (часть 2)"
Daniil2001
: 24 декабря 2024
Работа зачтена. В архиве - отчет в формате .doc (word) + папки с программами (.cpp, .exe + .sln - файл проекта для visual studio)
80 руб.
Современные технологии программирования (часть 2) Лабораторная работа 1
svladislav987
: 28 августа 2023
Лабораторная работа No1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый ме
150 руб.
Современные технологии программирования (часть 2) - Лабораторная работа 1 - Вариант 5
sarekuwa
: 20 ноября 2023
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация
800 руб.
Лабораторная работа 1 по дисциплине "Современные технологии программирования(часть 2)"
alexadubinina
: 20 ноября 2024
Лабораторная работа №1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый мет
250 руб.
Современные технологии программирования (часть 2-я). Лабораторные работы №1-3.
sibguter
: 18 февраля 2020
ВЫПОЛНЕНО НА C#!
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Задание 2
1. Реализовать преобразователь действительных (конвертер р_10) чисел из системы счисления с основанием р в десятичную систему счисления в соотве
239 руб.
Современные технологии программирования (часть 2). Лабораторная работа №2. Для всех вариантов (2020).
nik200511
: 24 февраля 2021
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0
54 руб.
Современные технологии программирования (часть 2-я). Лабораторная работа №3. Для всех вариантов (2020).
nik200511
: 24 февраля 2021
Лабораторная работа №3
Класс Управление для «Конвертора p1_р2».
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать Управление для «Конвертера p1_р2».
2. Протестировать каждый метод класса.
Спецификация класса Управление для «Конвертера p1_р2».
ADT Control_
Данные
Объект класса Control_ (Управление) отвечают за координацию действий между классом «Интерфейс» и классами «Редактор», «Конвертер p1_10», «Конвертер 10_p2», «История». Объект класса Control_
54 руб.
Другие работы
Расчетно-графическое задание. Безопасность жизнедеятельности. Вариант №13
Zenkoff
: 26 февраля 2014
1. Начертить схему электрической сети для питания электроустановок напряжением до 1000 В
2. Требуется: Определить напряжение на корпусе электроустановки при замыкании фазы на корпус в момент замыкания а) без повторного заземления нулевого провода; б) с повторным заземлением нулевого провода. 2.Определить ток короткого замыкания и проверить, удовлетворяет ли он условию ПУЭ для перегородки плавкой вставки предохранителя:
3. Представить схему расположения рабочих мест, оснащенным персональными ко
50 руб.
Клапан запорный для запорно-регулирующей арматуры-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа
lesha.nakonechnyy.92@mail.ru
: 21 января 2018
Клапан запорный для запорно-регулирующей арматуры-Клапан запірний відноситься до запірно-регулюючої арматури. Основним завданям даного типу устаткування - перекривання прохідного отвору, у випадку підвищення тиску більше ніж допустимий в конкретних умовах.
Технічна характеристика
1. Робочий тиск запірного пристрою 0,14 МПа.
2. Діаметр умовного проходу 56 мм.
3. Габаритні розміти 5723483.
4. Маса 21 кг.
5. Тип приводу — пневматичний.
6. Температура свердловинного середовища, не
більше 100° С.
7.
460 руб.
Задвижка прямоточная ЗМАД-50×70К2 Сборочный чертеж-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа
lelya.nakonechnyy.92@mail.ru
: 19 мая 2018
Задвижка прямоточная ЗМАД-50×70К2 Сборочный чертеж-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для добычи и подготовки нефти и газа-Курсовая работа-Дипломная работа
462 руб.
Контрольная работа по дисциплине: Электропитание устройств и систем телекоммуникаций. Вариант 29
Roma967
: 1 февраля 2023
Содержание
Введение 3
1. Задание 4
2. Расчет и выбор оборудования электропитающей установки 5
2.1. Расчет аккумуляторных батарей 6
2.2. Выбор типового выпрямительного устройства 8
2.3. Расчет заземляющего устройства 12
2.4 Выбор автомата защиты 16
3. Составляем функциональную схему ЭПУ и перечень элементов с указанием типов всех, используемых устройств 18
Список литературы 22
1. Задание
В контрольной работе необходимо выполнить следующее:
- рассчитать количество и емкость элементов аккумуля
800 руб.