Современные технологии программирования (часть 2) Лабораторная работа 2
Состав работы
|
|
|
|
|
|
|
|
|
|
Работа представляет собой 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?
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования 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)"
Daniil2001
: 24 декабря 2024
Работа зачтена. В архиве - отчет, файлы с программами (написаны на c++) + .exe-файлы. Есть также ответы на контрольные вопросы
80 руб.
Современные технологии программирования (часть 2) - Лабораторная работа 2 - Вариант 5
sarekuwa
: 20 ноября 2023
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команд
800 руб.
Современные технологии программирования (часть 2). Лабораторная работа №2. Для всех вариантов (2020).
nik200511
: 24 февраля 2021
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команды добавить 0
54 руб.
Лабораторная работа 2 (3 вариант) По дисциплине: Современные технологии программирования (часть 2)
alexadubinina
: 20 ноября 2024
Лабораторная работа №2.
Редактор чисел в системе счисления с основанием р.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с команд
250 руб.
Современные технологии программирования (часть 2)
Илья272
: 5 ноября 2023
Лабораторные работы
ПРИЛОЖЕНИЕ 1 ПРАКТИЧЕСКИЕ ЗАДАНИЯ ДЛЯ ЗАКРЕПЛЕНИЯ. ПРИЛОЖЕНИЕ КОНВЕРТОР Р1_Р2.......................2
Лабораторная работа №1..................................................................................................................................9
Лабораторная работа №2................................................................................................................................15
Лабораторная работа №3.................................................
1300 руб.
Лабораторная работа №2 по Современные технологии программирования
zalexz95
: 17 октября 2017
Лабораторная работа. Абстрактный тип данных «комплексное число»
1. Реализовать абстрактный тип данных «комплексное число», используя класс Object Pascal, С++, в соответствии с приведенной ниже спецификацией.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
3. Протестировать тип данных в целом.
Спецификация типа данных «комплексное число».
ADT TComplex
200 руб.
Лабораторная работа №2. Современные технологии программирования
Lampa
: 14 января 2014
на тему «Абстрактный тип данных (ADT) p – ичная память»
Задание
1. В соответствии с приведенной ниже спецификацией реализовать абстрактный тип данных «р-ичная память», используя класс
• Object Pascal,• C++.
2. Протестировать каждую операцию, определенную на типе данных одним из методов тестирования.
Спецификация типа данных «р-ичная память».
ADT TMemory
Данные
Р-ичная память (тип TMemory, в дальнейшем - память) - это память для хранения объекта «р-ичное число» (тип TPNumber) и значения «состоя
39 руб.
Лабораторная работа №2 по дисциплине: Современные технологии в программировании (часть 2)
zzzzzzz
: 8 января 2020
Тема работы: «Редактор чисел в системе счисления с основанием р»
Класс Editor
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного языка программирования C#.
Задание 1:
1. Разработать и реализовать класс Editor «Редактор действительных чисел представленных в системе счисления с основанием р», используя класс языка высокого уровня. Основание системы счисления р принимает значение из диапазона 2..16. Все команды редактора удобно пронумеровать, начиная с
100 руб.
Другие работы
Тепломассообмен СЗТУ Задача 5 Вариант 93
Z24
: 21 февраля 2026
По паропроводу, внутренний диаметр которого d1, движется пар со средней температурой, равной tж1, коэффициент теплоотдачи от пара к стенке α1, а температура окружающей среды tж2=20 ºС. Коэффициент теплопроводности стенки λст=48 Вт/(м·К),толщина стенки δст.
Определить тепловые потери в следующих случая:
а) при оголенном паропроводе, непосредственно охлаждаемом окружающей средой; интенсивность теплоотдачи от паропровода к среде определяется величиной коэффициента теплоотдачи α2;
б) при по
150 руб.
Математическое моделирование потребностей регионов в педагогических кадрах
Lokard
: 12 августа 2013
Потребность некоторого региона в педагогических кадрах зависит от сочетания различных факторов демографического и социально-экономического характера. Эти факторы подвержены изменениям, которые влияют на количество учителей, работающих в школах региона, поэтому количество учителей может быть недостаточным, избыточным или соответствующим потребности в них. Соотношения между количеством работающих учителей и потребностью в них могут регулироваться за счет изменения некоторых параметров, численно вы
10 руб.
Вычислительная техника и информационные технологии. Лабораторная работа №2. 8-й вариант
Bbespehn
: 22 мая 2021
Лабораторная работа №2
По дисциплине: Вычислительная техника
Цель работы :
Изучение свойств комбинационных цифровых устройств: шифратора, дешифратора, сумматора, мультиплексора и приобретение навыков выполнения арифметических микроопераций.
Подготовка к работе
2.1. Изучить правила перевода чисел из десятичной системы счисления в двоичную и наоборот.
2.2. Принципы построения шифраторов, дешифраторов, мультиплексоров на логических элементах.
2.3. Построение одноразрядных и многоразрядных с
350 руб.
Процессы и аппараты пищевых производств УрГЭУ Задача 1.7
Z24
: 20 октября 2025
Определить объёмный расход, при котором произойдет изменение режима течения жидкости в трубе диаметром 5 мм. Плотность жидкости 1500 кг/м³, коэффициент динамической вязкости 2∙10-3 Па∙с.
150 руб.