Воскресенье, 01.12.2024, 07:23
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Современные технологии программирования (часть 2).
engineerklubДата: Понедельник, 14.03.2022, 08:40 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 28633
Репутация: 0
Статус: Offline
Современные технологии программирования (часть 2). Вариант общий для вссех 

Тип работы: Работа Лабораторная

Описание:
Лабораторная работа №1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Преобразователь чисел из десятичной системы счисления в систему счисления с заданным основанием p».
ADT Conver_10_p
Данные
Преобразователь действительных чисел из десятичной системы счисления в систему счисления с заданным основанием (тип Conver_10_p). Основание системы счисления p - это целое число, со значением, принадлежащим диапазону от 2 до 16 и целое число c, определяющее точность представления результата, выраженную в количестве разрядов.
Операции. Операции представлены в таблице 1.
Таблица 1 - Операции

Рекомендации к выполнению.
1. Тип данных реализовать, используя статический класс.
2. Тип данных сохраните в отдельном файле Conver_10_p.
Ниже представлена заготовка описания класса Conver_10_p. Вам необходимо написать код методов и протестировать методы.
namespace Конвертор

Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Видимость идентификаторов в описании класса?
7. В чём особенности статических методов?
8. В чём особенности статических классов?
Класс «Конвертер р_10» - преобразователь чисел из системы счисления с основанием р в десятичную систему счисления
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 2
1. Реализовать преобразователь действительных (конвертер р_10) чисел из системы счисления с основанием р в десятичную систему счисления в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления р принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Конвертер р_10» - преобразователь действительных чисел со знаком из системы счисления с основанием р в десятичную систему счисления.
ADT Conver_p_10
Данные
Преобразователь действительных чисел из заданной системы счисления с основанием p в десятичную систему счисления (тип Conver_p_10). Основание системы счисления со значением, принадлежащим диапазону от 2 до 16.
Операции
Операции приведены в таблице 2.
Таблица 2 - Операции

Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Видимость идентификаторов в описании класса?
7. В чём особенности статических методов?
8. В чём особенности статических классов?
9. Как вызываются статические методы?


Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0 целыми числами от 0. При реализации интерфейса номера команд удобно хранить в свойстве Tag, которое имеется у визуальных компонентов.
Атрибуты и операции класс представлены на рисунке 10.

СКАЧАТЬ
 
engineerklubДата: Понедельник, 14.03.2022, 08:40 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 28633
Репутация: 0
Статус: Offline
2. Ответственность класса Editor (редактор) – хранение, ввод и редактирование строкового представления числа, представленного в системе счисления с основанием p. Класс должен обеспечивать: добавление символов (AddDigit), соответствующих р-ичным цифрам (р от 2 до 16); добавления нуля (AddZero()); добавление разделителя целой и дробной частей (AddDelim()); забой символа - удаление символа, стоящего справа (BS); очистку - установку нулевого значения числа (Clear); чтение строкового представления р-ичного числа (Number).
3. Протестировать каждый метод класса.
Рекомендации к выполнению
Описание класса может выглядеть следующим образом:

Класс сохраните в файле Editor. В разделе описания констант опишите следующие константы: «разделитель целой и дробной частей» строкового типа; «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. В чём состоит особенность раздела описания класса с уровнем доступа protected?
2. В чём состоит особенность раздела описания класса с уровнем доступа private?
3. В чём состоит особенность раздела описания класса с уровнем доступа public?
4. В чём состоит особенность инициализации полей ссылочного типа и констант в конструкторе?
5. Что такое this?
6. Как описываются поля в классах?
7. Какой операцией создаются объекты классов?
8. Как вызвать нестатический метод класса?
Класс История.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования языка C#; использования библиотечного класса обобщённой коллекции List<> для обработки данных.
Задание 2
1. Разработать и реализовать класс History «История», используя класс языка C#. Класс отвечает за документирование выполнения пользователем переводов чисел. Объекты класса хранят исходные числа, результаты преобразования и основания систем счисления исходного числа и результата.
Атрибуты и операции класса представлены таблице 3.
Таблица 3 - Атрибуты и операции класса «История»

2. Класс должен отвечать за ввод, вывод, хранение данных введённых пользователем и полученных результатов. Класс должен обеспечивать:
• добавление записи (ДобавитьЗапись) - строки, содержащей введённое пользователем число, результат его преобразования и основания систем счисления исходной и той, в которую число преобразовано;
• извлечение записи по её номеру в списке (Запись);
• очистка списка (ОчиститьИсторию);
• конструктор (Запись);
• текущий размер списка в числе записей (Записей);
3. Протестировать каждый метод класса.
Рекомендации к выполнению
1. Создайте консольное приложение, в которое добавьте класс History и сохраните его в файле History.
2. В этот же файл добавьте структуру (struct) Record с четырьмя полями для хранения исходного числа, результата и оснований их систем счисления. В структуру добавьте конструктор и метод ToString() для преобразования значения в формат строки.
3. Класс History, постройте на основе библиотечного класса коллекции List<Record> из пространства имён System.Collections.Generic.
4. В классе History опишите поле List<Record> L – список значений типа Record. Для поля опишите уровень доступа private.
5. Следующие операции класса опишите с уровнем доступа public:
•  добавить запись (AddRecord) - строку, содержащую введённое пользователем число, результат его преобразования и основания их систем счисления;
• извлечь запись по её номеру из списка L;
• очистить историю (Clear);
• конструктор (History);
• текущий размер списка в числе записей (Count);
Описание структуры Record и класса History могут иметь следующий вид:

СКАЧАТЬ
 
engineerklubДата: Понедельник, 14.03.2022, 08:41 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 28633
Репутация: 0
Статус: Offline
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. В чём состоит особенность обобщённой коллекции List< >?
2. В чём состоит отличие типа struct от типа class?
3. Как создаются объекты типа struct?
4. В чём состоит особенность раздела описания класса с уровнем доступа private?
5. В чём состоит особенность раздела описания класса с уровнем доступа public?
6. В чём состоит особенность инициализации полей ссылочного типа и констант в конструкторе?
7. Что такое this?
Лабораторная работа №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 - Операции

Рекомендации к выполнению
1. Тип данных реализовать, используя класс.
2. Для записи и считывания полей «преобразователя» используйте свойства.
3. Тип данных реализуйте в отдельном файле Control_.
Пример описания класса Управление приведён ниже.

Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. Что такое инкапсуляция?
2. Как синтаксически представлено поле в описании класса?
3. Как синтаксически представлен метод в описании класса?
4. Как синтаксически представлено простое свойство в описании класса?
5. Особенности описания методов класса?
6. Особенности описания и назначение конструктора класса?
7. Видимость идентификаторов в описании класса?
8. Особенности вызова методов применительно к объектам класса?
Интерфейс приложения «Конвертор р1_р2».
Цель: Сформировать практические навыки реализации графических интерфейсов пользователя (GUI) на основе библиотеки визуальных компонентов.
Задание 2
1. Реализовать «Интерфейс» приложения «Конвертер р1_р2», используя библиотечный класс формы и визуальные компоненты.
2. Протестировать методы класса.
Спецификация класса «Интерфейс».
Интерфейс приложения представлен на рисунке 1.
ADT TPanel_p_p
Данные
«Интерфейс» конвертера действительных чисел из системы счисления с основанием p1 в систему счисления с основанием p2 предназначен для: выбора оснований систем счисления p1, p2 из диапазона от 2..16; ввода и редактирования действительного числа со знаком в системе счисления с выбранным основанием p1; отображения результата – представления ввёдённого числа в системе счисления с основанием p2; отображения справки о приложении; отображения истории текущего сеанса работы пользователя с приложением.
«Интерфейс» несёт на себе визуальные компоненты, реализующие выполнения команд преобразователя и объект «Управление» класса Control_.
Операции. Операции представлены в таблице 5.
Таблица 5 - Операции

Рекомендации к выполнению.
1. Интерфейс приложения будет состоять из трёх форм: основная форма класс TPanel_p_p, HistoryForm – форма для отображения истории, AboutBox – форма, информирующая о приложении. Все они наследники класса Form.
2. Для реализации интерфейса приложения разместите на форме компоненты, описанные в таблице 6.
Таблица 6 - Компоненты

СКАЧАТЬ
 
engineerklubДата: Понедельник, 14.03.2022, 08:42 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 28633
Репутация: 0
Статус: Offline
Для этого перейдите на вкладку Конструктор формы окна редактора и сделайте форму активной. Добавьте на форму из вкладки «Панели элементов» из раздела «Все формы Windows Forms» командные кнопки Button. Кнопки помещайте на форму снизу вверх слева направо, начиная с 0. Порядок добавления кнопок на форму должен совпадать с порядком их нумерации. Выделите все кнопку и в окне Свойства на закладке Свойства раскройте свойство Font (Шрифт) и установите требуемые вам свойства для шрифта. Затем в свойство Text (Текст) занесите соответствующие цифры. Затем в свойство Tag каждой кнопки занесите целое число соответствующее кнопке: кнопки для ввода цифр нумеруйте от 0 до 15; кнопка разделитель целой и дробной части – 16; удалить крайний символ слева (BS) - 17; очистить всё (CL) – 18; выполнить ( Enter) - 19. Измените размер кнопок (свойство Size), если это необходимо.
Добавьте на форму два компонента TrackBar из вкладки «Панель элементов» из раздела «Все формы Windows Forms». С помощью окна «Свойства» установите в их свойства Minimum значение 2, а в Maximum - значение 16. Рядом с каждым из них разместите компонент NumericUpDown «числовое поле со стрелками вверх/вниз». Добавьте на форму два компонента Label. В одном будем отображать основание системы счисления р1, в другом – подпись к нему. Добавьте на форму ещё два компонента Label для основания системы счисления результата р2.
Добавьте на форму компонент MenuStrip из вкладки «Панель элементов» из раздела «Все формы Windows Forms». Добавьте в компонент MenuStrip три пункта меню MenuItem. С помощью окна «Свойства» установите в их свойства Text значение Выход, История, Справка. Полученная форма будет иметь вид, как представлено на рис.18 .
Для настройки отклика приложения на действия пользователя необходимо создать обработчики событий для тех компонент интерфейса, которыми будет манипулировать пользователь. Обработчик события для выделенного компонента создаётся с помощью окна «Свойства» закладки «События». Правее выбранного события в свободном поле необходимо сделать двойной клик мышью и в классе формы появится текст шаблона обработчика этого события. Затем вам необходимо описать в обработчике необходимые вам действия. Обработчики событий для компонентов главной формы приведены в таблице 7.
Таблица 7 - Обработчики событий для компонентов главной формы

Теперь можно запустить приложение и протестировать работу командных кнопок для ввода цифр действительного числа, представленного в выбранной системе счисления. А также для изменения оснований систем счисления исходного числа и результата. Ниже приведён текст модуля главного окна приложения.

Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования методов класса.
Контрольные вопросы
1. Назначения компонентов класса Button?
2. Назначения компонентов класса Label?
3. Назначения компонентов класса TextBox?
4. Назначения компонентов класса TrackBar?
5. Назначения компонентов класса numericUpDown?
6. Когда возникает событие Load?
7. Когда возникает событие Click?
8. Когда возникает событие Scroll?
9. Когда возникает событие ValueChanged?
10. Когда возникает событие KeyPress?
11. Когда возникает событие KeyDown?

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru