Страницу Назад
Поискать другие аналоги этой работы
150 Современные технологии программирования (часть 2) Лабораторная работа 2ID: 238934Дата закачки: 28 Августа 2023 Продавец: svladislav987 (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Сдано в учебном заведении: ДО СИБГУТИ Описание: Лабораторная работа №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? Комментарии: зачет Размер файла: 24,1 Кбайт Фаил: (.rar)
Скачано: 1 Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:Современные технологии программирования(часть 1). Лабораторная работа 1,2,3.Современные технологии программирования (часть 1-я). Лабораторная работа №1,2,3. Современные технологии программирования(часть 1). Лабораторная работа 7,8. Современные технологии программирования(часть 1). Лабораторная работа 9,10. Современные технологии программирования(часть 1). Лабораторная работа 4,5,6 ЛАБОРАТОРНЫЕ РАБОТЫ №1-3 по дисциплине «Современные технологии программирования (часть 2)». Вариант общий. 2019 год. Контрольная и Лабораторные работы 1-3 по дисциплине: Современные технологии в программировании (часть 1). Вариант №16 Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Современные технологии программирования / Современные технологии программирования (часть 2) Лабораторная работа 2
Вход в аккаунт: