Современные технологии программирования (часть 2) Лабораторная работа 2

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon Editor.cs
material.view.file_icon History.cs
material.view.file_icon Документ Microsoft Word.docx
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

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

Рисунок 10 - Атрибуты и операции класса
2. Ответственность класса Editor (редактор) – хранение, ввод и редактирование строкового представления числа, представленного в системе счисления с основанием p. Класс должен обеспечивать: добавление символов (AddDigit), соответствующих р-ичным цифрам (р от 2 до 16); добавления нуля (AddZero()); добавление разделителя целой и дробной частей (AddDelim()); забой символа - удаление символа, стоящего справа (BS); очистку - установку нулевого значения числа (Clear); чтение строкового представления р-ичного числа (Number).
3. Протестировать каждый метод класса.
Рекомендации к выполнению
Описание класса может выглядеть следующим образом:
namespace Конвертор
{
class Editor
{
//Поле для хранения редактируемого числа.
string number = "";
//Разделитель целой и дробной частей.
const string delim = ".";
//Ноль.
const string zero = "0";
//Свойствое для чтения редактируемого числа.
public string Number
{ get { } }
//Добавить цифру.
public string AddDigit(int n) { }
//Точность представления результата.
public int Acc(){ }
//Добавить ноль.
public string AddZero(){ }
//Добавить разделитель.
public string AddDelim(){ }
//Удалить символ справа.
public string Bs() { }
//Очистить редактируемое число.
public string Clear() { }
//Выполнить команду редактирования.
public string DoEdit(int j) { }
}
}
Класс сохраните в файле Editor. В разделе описания констант опишите следующие константы: «разделитель целой и дробной частей» строкового типа; «строковое представление нуля» строкового типа.
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. В чём состоит особенность раздела описания класса с уровнем доступа protected?
2. В чём состоит особенность раздела описания класса с уровнем доступа private?
3. В чём состоит особенность раздела описания класса с уровнем доступа public?
4. В чём состоит особенность инициализации полей ссылочного типа и констант в конструкторе?
5. Что такое this?
6. Как описываются поля в классах?
7. Какой операцией создаются объекты классов?
8. Как вызвать нестатический метод класса?
Класс История.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования языка C#; использования библиотечного класса обобщённой коллекции List<> для обработки данных.
Задание 2
1. Разработать и реализовать класс History «История», используя класс языка C#. Класс отвечает за документирование выполнения пользователем переводов чисел. Объекты класса хранят исходные числа, результаты преобразования и основания систем счисления исходного числа и результата.
Атрибуты и операции класса представлены таблице 3.
Таблица 3 - Атрибуты и операции класса «История»
История
Запись(i: integer): String;
ДобавитьЗапись(a: String);
Записей(): integer
ОчиститьИсторию();
Обязанность: ввод, вывод, хранение данных введённых пользователем и полученных результатов.
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 могут иметь следующий вид:
public struct Record
{
int p1;
int p2;
string number1;
string number2;
public Record(int p1, int p2, string n1, string n2) { }
public override string ToString() { }
}
public class History
{
List<Record> L;
public Record this[int i] { }
public void AddRecord(int p1, int p2, string n1, string n2) { }
public void Clear() { }
public int Count() { }
public History() { }
}
Содержание отчета
1. Задание.
2. Текст программы.
3. Тестовые наборы данных для тестирования класса.
Контрольные вопросы
1. В чём состоит особенность обобщённой коллекции List< >?
2. В чём состоит отличие типа struct от типа class?
3. Как создаются объекты типа struct?
4. В чём состоит особенность раздела описания класса с уровнем доступа private?
5. В чём состоит особенность раздела описания класса с уровнем доступа public?
6. В чём состоит особенность инициализации полей ссылочного типа и констант в конструкторе?
7. Что такое this?

Дополнительная информация

зачет
Лабораторная работа №2 "Современные технологии программирования (часть 2)"
Работа зачтена. В архиве - отчет, файлы с программами (написаны на c++) + .exe-файлы. Есть также ответы на контрольные вопросы
User Daniil2001 : 24 декабря 2024
80 руб.
Лабораторная работа №2 "Современные технологии программирования (часть 2)"
Современные технологии программирования (часть 2) - Лабораторная работа 2 - Вариант 5
Лабораторная работа №2. Редактор чисел в системе счисления с основанием р. Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#. Задание 1 1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команд
User sarekuwa : 20 ноября 2023
800 руб.
Современные технологии программирования (часть 2) - Лабораторная работа 2 - Вариант 5
Современные технологии программирования (часть 2). Лабораторная работа №2. Для всех вариантов (2020).
Лабораторная работа №2. Редактор чисел в системе счисления с основанием р. Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#. Задание 1 1. Разработать и реализовать класс Editor «Редактор чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0
User nik200511 : 24 февраля 2021
54 руб.
Лабораторная работа 2 (3 вариант) По дисциплине: Современные технологии программирования (часть 2)
Лабораторная работа №2. Редактор чисел в системе счисления с основанием р. Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#. Задание 1 1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команд
User alexadubinina : 20 ноября 2024
250 руб.
Современные технологии программирования (часть 2)
Лабораторные работы ПРИЛОЖЕНИЕ 1 ПРАКТИЧЕСКИЕ ЗАДАНИЯ ДЛЯ ЗАКРЕПЛЕНИЯ. ПРИЛОЖЕНИЕ КОНВЕРТОР Р1_Р2.......................2 Лабораторная работа №1..................................................................................................................................9 Лабораторная работа №2................................................................................................................................15 Лабораторная работа №3.................................................
User Илья272 : 5 ноября 2023
1300 руб.
Лабораторная работа №2 по Современные технологии программирования
Лабораторная работа. Абстрактный тип данных «комплексное число» 1. Реализовать абстрактный тип данных «комплексное число», используя класс Object Pascal, С++, в соответствии с приведенной ниже спецификацией. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. 3. Протестировать тип данных в целом. Спецификация типа данных «комплексное число». ADT TComplex
User zalexz95 : 17 октября 2017
200 руб.
Лабораторная работа №2 по Современные технологии программирования
Лабораторная работа №2. Современные технологии программирования
на тему «Абстрактный тип данных (ADT) p – ичная память» Задание 1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «р-ичная память», используя класс • Object Pascal,• C++. 2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования. Спецификация типа данных «р-ичная память». ADT TMemory Данные Р-ичная память (тип TMemory, в дальнейшем - память) - это память для хранения объекта «р-ичное число» (тип TPNumber) и значения «состоя
User Lampa : 14 января 2014
39 руб.
Лабораторная работа №2 по дисциплине: Современные технологии в программировании (часть 2)
Тема работы: «Редактор чисел в системе счисления с основанием р» Класс Editor Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#. Задание 1: 1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с
User zzzzzzz : 8 января 2020
100 руб.
Клапан электромагнитный КЭ.36.00.00 ЧЕРТЕЖ
Клапан электромагнитный КЭ.36.00.00 Электромагнитный клапан предназначен для управления подачей жидкости (топлива) в систему. При прохождении тока через катушку 1 сердечник 8 втягивается и перемещает упор 10, который воздействует на мембрану 3, закрывает канал подвода жидкости. Клапан электромагнитный КЭ.36.00.00 сб Клапан электромагнитный КЭ.36.00.00 спецификация Клапан электромагнитный КЭ.36.00.00 3д модель Клапан электромагнитный КЭ.36.00.00 чертежи Катушка КЭ.36.00.00 сб Крышка КЭ.36.00.01
User coolns : 23 августа 2023
350 руб.
Клапан электромагнитный КЭ.36.00.00 ЧЕРТЕЖ promo
Спроектировать участок по восстановлению колес на базе КФХ «Нектарный» с разработкой устройства для подьема и перемещения коробок диапазона скоростей
СОДЕРЖАНИЕ 1.БИЗНЕС-ПЛАН НА РЕМОНТ КОЛЕС В КФХ «НЕКТАРНЫЙ» 2 РАЗРАБОТКА ТЕХНОЛОГИИ ВОССТАНОВЛЕНИЯ 3. ТЕХНОЛОГИЯ РЕМОНТА КОЛОДОК АВТОМОБИЛЕЙ ГАЗ-53 4 РАЗРАБОТКА КОНСТРУКЦИИ УСТРОЙСТВА ДЛЯ ПОДЪЕМА И ПЕРЕМЕЩЕНИЯ КОРОБОК ДИАПАЗОНОВ СКОРОСТЕЙ 5. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА 6. ТЕХНИКО-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА ЗАКЛЮЧЕНИЕ БИБЛИОГРАФИЧЕСКИЙ СПИСОК
User Рики-Тики-Та : 8 декабря 2015
825 руб.
Мировые рыбные промыслы. Увеличение мирового производства продовольствия за счет увеличения уловов и разведения рыбы
Содержание Вводная часть Морское право Рыболовство. Способы лова Районы мировых рыбных промыслов Рыбоводство Кризис Мирового рыбного промысла Заключительная часть Список литературы Приложение Вводная часть Освоение пространств и ресурсов Мирового океана – одно из главных направлений развития мировой цивилизации в третьем тысячелетии. Сущность национальной политики ведущих морских держав и большинства государств мирового сообщества в обозримом будущем составят самостоятельная деятельно
User Slolka : 9 ноября 2013
5 руб.
Теплотехника МГУПП 2015 Задача 1.2 Вариант 96
Газ массой М с начальными параметрами (давлением р1 и температурой t1) изотермически расширяется до увеличения объема в ε раз, а затем адиабатно сжимается до первоначального объема. Определить: первоначальный объем и объем в конце изотермического расширения; давление в конце изотермического расширения и адиабатного сжатия; температуру в конце адиабатного сжатия; изменение энтропии в процессе изотермического сжатия; работу изотермического расширения и адиабатного сжатия. Изобразить данные
User Z24 : 7 января 2026
200 руб.
Теплотехника МГУПП 2015 Задача 1.2 Вариант 96
up Наверх