Современные технологии программирования (часть 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 руб.
Основы экономики труда и социально трудовых отношений
Экономика труда и социально-трудовые отношения рассматривает труд и отношения людей в процессе материальных и духовных благ в их развитии и динамике. Данная дисциплина объединяет в себе 2 дисциплины: Экономика – наука о хозяйствовании, воспроизводстве материальных и духовных благ; Социология – наука о поведении людей в обществе себе подобных. ТРУД – это процесс сознательной деятельности человека, с помощью которого он видоизменяет предметы природы и приспосабливает их для своих потребностей.
User DocentMark : 5 ноября 2013
5 руб.
Обособленные определения. Вопросы теории и практики
Практически все школьники знают "главное правило русского языка" - необходимо обособлять причастные обороты. Правда, для сдачи экзамена по теории русского языка, этого правила недостаточно. Необходимо заметить, что обособлению подлежат не только причастные обороты (причастия с зависимыми словами), но и обороты с прилагательными. Для этого следует разобрать правило на обособление определений. Для справки: Определение – это второстепенный член предложения, называющий признак и отвечающий на вопр
User GnobYTEL : 24 июля 2013
Электромагнитные поля и волны. Лабораторная работа № 3. Вариант № 4.
ЦЕЛЬ РАБОТЫ 1. Исследование дисперсионных характеристик прямоугольного волновода: зависимости длины волны в волноводе и фазовой скорости в волноводе от частоты. 2. Исследование распределения электромагнитного поля в поперечном сечении прямоугольного волновода на примере волны Н10.
User aleks797 : 20 января 2013
100 руб.
Воздействия в электрических цепях
Воздействия в электрических цепях Классификация воздействий в электрических цепях Воздействиями в электротехнике называют различные проявления электромагнитных сил, приводящие к изменению состояния электрической цепи. Под влиянием воздействий в электрической цепи возникают реакции, которые определяются как видом воздействия, так и характеристиками самой цепи. При этом основными величинами, характеризующими состояние электрической цепи, являются электрические напряжение и ток. Все воздействия в
User alfFRED : 13 ноября 2012
10 руб.
up Наверх