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

Тип работы: Работа Лабораторная
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лабораторная работа №1
Конвертор чисел из десятичной системы счисления в систему счисления с заданным основанием
Цель: Сформировать практические навыки реализации классов на языке C#.
Задание 1
1. Реализовать преобразователь действительных чисел со знаком из десятичной системы счисления в систему счисления с заданным основанием p, в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления p принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Преобразователь чисел из десятичной системы счисления в систему счисления с заданным основанием p».
ADT Conver_10_p
Данные
Преобразователь действительных чисел из десятичной системы счисления в систему счисления с заданным основанием (тип Conver_10_p). Основание системы счисления p - это целое число, со значением, принадлежащим диапазону от 2 до 16 и целое число c, определяющее точность представления результата, выраженную в количестве разрядов.
Операции. Операции представлены в таблице 1.
Таблица 1 -Операции
Do(double n, int p, int c) Выполнитьпреобразование
 Вход: Десятичное действительное число n. Основание системы счисления p. Точность преобразования дроби, заданная числом разрядов дробной части результата c. Например: 
Do(-17.875,16,3) = “-А1.Е” .
 Процесс: Выполняет преобразование десятичного действительного числа n, в систему счисления с основанием р и точностью c.
Например:Do (”-17.875”,16,3) = “-А1.Е”.
 Выход: Строка результата.
Например: Do(”-17.875”) = “-А1.Е”.
int_to_Char(int d) Преобразовать целое значение в цифру системы счисления с основанием р.
 Вход: d – значение типа int – целое, соответствующее цифре в системе счисления с основанием р.
 Предусловия: Нет.
 Процесс: Преобразует целое d в соответствующую ему цифру в системе счисления с основанием р, значение типа Char.
  Например: int_to_Char (14) = “E”.
 Выход: Значениетипа char.
 Постусловия: Нет.
int_to_P(int n, int p) Преобразоватьцелое в строку.
 Вход: n – целое число в системе счисления с основанием 10. p – основание системы счисления результата. 
 Предусловия: Нет.
 Процесс: Преобразует целое n в строку, содержащую целое число в системе счисления с основанием p. Например:
int_to_P(161, 16) = “A1”
 Выход: Строка.
 Постусловия: Нет.
flt_to_P(double n, int p, int c) Преобразоватьдробь в строку.
 Вход: n – дробь в системе счисления с основанием 10, p – основание системы счисления, c – точность представления дроби.
 Предусловия: Нет.
 Процесс: Преобразует дробь n в строку, содержащую дробь в системе счисления с основанием p с точностью с. Например: flt_to_P(0.9375, 2, 4) «1111»
 Выход: Строка.
 Постусловия: Нет.
end Conver_10_p
Рекомендации к выполнению.
1. Тип данных реализовать, используя статический класс.
2. Тип данных сохраните в отдельном файле Conver_10_p.
Ниже представлена заготовка описания класса Conver_10_p. Вам необходимо написать код методов и протестировать методы.
namespace Конвертор
{
class Conver_10_P
{
//Преобразоватьцелоевсимвол.
public static char int_to_Char(int n) { }
//Преобразовать десятичное целое в с.сч. с основанием р.
public static string int_to_P(int n, int p) { }
//Преобразовать десятичную дробь в с.сч. с основанием р.
public static string flt_to_P(double n, int p, int c) { }
//Преобразовать десятичное 
//действительное число в с.сч. с осн. р.
public static string Do(double n, int p, int c) { }
}
}

Класс «Конвертер р_10» - преобразователь чисел из системы счисления с основанием р в десятичную систему счисления
Цель: Сформировать практические навыки реализации классов на языке C#.


СКАЧАТЬ МОЖНО ЗДЕСЬ
 
engineerklubДата: Четверг, 07.03.2019, 07:04 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 29399
Репутация: 0
Статус: Offline
Задание 2
1. Реализовать преобразователь действительных (конвертер р_10) чисел из системы счисления с основанием р в десятичную систему счисления в соответствии с приведенной ниже спецификацией, используя класс. Основание системы счисления р принадлежит диапазону значений от 2 до 16.
2. Протестировать каждый метод класса.
Спецификация класса «Конвертер р_10» - преобразователь действительных чисел со знаком из системы счисления с основанием р в десятичную систему счисления.
ADT Conver_p_10
Данные
Преобразователь действительных чисел из заданной системы счисления с основанием p в десятичную систему счисления (тип Conver_p_10). Основание системы счисления со значением, принадлежащим диапазону от 2 до 16.
Операции
Операции приведены в таблице 2.
Таблица 2 -Операции
dval(string P_num, int P) Выполнитьпреобразование
 Вход: P_num - строковое представление действительного числа в системе счисления с основанием р. Например: 
dval(“A5.E”, 16)
 Процесс: Выполняет преобразование действительного числа, представленного строкой в числовое представление.
Например:
dval(“A5.E”, 16) = -165.875.
 Выход: Вещественноечисло.
 Постусловия: Нет.
char_To_num(char ch) Преобразоватьсимвол в целое
 Вход: ch – значение типа char – символ, изображающий цифру системы счисления с основанием p.
 Предусловия: Нет.
 Процесс: Преобразует символ ch в значение целого типа.
  Например:
PCharToInt(‘A’) = 10.
 Выход: Вещественноечисло.
 Постусловия: Нет.
convert(string P_num, int P, double weight) Преобразовать строку в вещественное число.
 Вход: P_num – строка, изображающая цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя. weight – вес единицы старшего разряда целой части числа.
 Предусловия: Нет.
 Процесс: Преобразует строку P_num, содержащую цифры целой и дробной частей вещественного числа в системе счисления с основанием p без разделителя в вещественное число. Например:
convert (“A5E1”, 16, 16)
 Выход: Вещественноечисло.
 Постусловия: Нет.
endConver_p_10
Рекомендации к выполнению.
Описание класса может выглядеть следующим образом:
namespace Конвертор
{
public class Conver_P_10
{
//Преобразоватьцифрувчисло.
static double char_To_num(char ch) { }
//Преобразоватьстрокувчисло
private static double convert(string P_num, int P, double weight) { }
//Преобразовать из с.сч. с основанием р 
//в с.сч. с основанием 10.
public static double dval(string P_num, int P) { }
}
}
3. Тип данных реализовать, используя статический класс.
4. Сохраните класс в отдельном файле Conver_p_10.


СКАЧАТЬ МОЖНО ЗДЕСЬ
 
engineerklubДата: Четверг, 07.03.2019, 07:05 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 29399
Репутация: 0
Статус: Offline
Лабораторная работа №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 Конвертор
{
classEditor
{
//Поле для хранения редактируемого числа.
stringnumber = "";
//Разделитель целой и дробной частей.
conststringdelim = ".";
//Ноль.
conststringzero = "0";
//Свойствое для чтения редактируемого числа.
public string Number 
{ get { } }
//Добавитьцифру.
public string AddDigit(int n) { }
//Точность представления результата.
publicintAcc(){ }
//Добавитьноль.
publicstringAddZero(){ }
//Добавитьразделитель.
publicstringAddDelim(){ }
//Удалить символ справа.
publicstringBs() { }
//Очистить редактируемое число.
publicstringClear() { }
//Выполнить команду редактирования.
public string DoEdit(int j) { }
}
}
Класс сохраните в файле Editor. В разделе описания констант опишите следующие константы: «разделитель целой и дробной частей» строкового типа; «строковое представление нуля» строкового типа.

Класс История.
Цель: Сформировать практические навыки реализации классов средствами объектно-ориентированного программирования языка C#;использования библиотечного класса обобщённой коллекции List<> для обработки данных.
Задание 2
1. Разработать и реализовать класс History «История», используя класс языка C#. Класс отвечает за документирование выполнения пользователем переводов чисел. Объекты класса хранят исходные числа, результаты преобразования и основания систем счисления исходного числа и результата.
Атрибуты и операции класса представлены таблице 3.
Таблица 3 - Атрибуты и операции класса «История»
История
Запись(i: integer): String;
ДобавитьЗапись(a: String);
Записей(): integer
ОчиститьИсторию();
Обязанность: ввод, вывод, хранение данных введённых пользователем и полученных результатов.
2. Класс должен отвечать за ввод, вывод, хранение данных введённых пользователем и полученных результатов. Класс должен обеспечивать:
• добавление записи (ДобавитьЗапись) - строки, содержащей введённое пользователем число, результат его преобразования и основания систем счисления исходной и той, в которую число преобразовано;
• извлечение записи по её номеру в списке (Запись);
• очистка списка (ОчиститьИсторию);
• конструктор (Запись);
• текущий размер списка в числе записей (Записей);
3. Протестировать каждый метод класса.

СКАЧАТЬ МОЖНО ЗДЕСЬ
 
engineerklubДата: Четверг, 07.03.2019, 07:05 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 29399
Репутация: 0
Статус: Offline
Рекомендации к выполнению
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 [inti]{ }
public void AddRecord(int p1, int p2, string n1, string n2) { }
public void Clear() { }
public intCount() { }
public History(){ }
}


СКАЧАТЬ МОЖНО ЗДЕСЬ
 
engineerklubДата: Четверг, 07.03.2019, 07:06 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 29399
Репутация: 0
Статус: Offline
Лабораторная работа №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 - Операции
Control_ Конструктор
 Вход: Нет.
 Процесс: Создаёт объект Управление типа (тип Control_) и инициирует поля объекта начальными значениями.
DoCommand Выполнить команду.
 Вход: n - целое значение, номер выполняемой команды.
 Предусловия: Нет.
 Процесс: В зависимости от значения n и состояния (St) передаёт сообщение объекту Редактор или Преобразователь и изменяет состояние. Возвращает строку результата: либо отредактированное число, либо результат преобразования.
 Выход: Строка.
 Постусловия: Нет.
end Control_
Рекомендации к выполнению
1. Тип данных реализовать, используя класс.
2. Для записи и считывания полей «преобразователя» используйте свойства.
3. Тип данных реализуйте в отдельном файле Control_.
Пример описания класса Управление приведён ниже.
namespace Конвертор
{
class Control_
{
//Основание системы сч. исходного числа. 
const int pin = 10;
//Основание системы сч. результата. 
const int pout = 16;
//Число разрядов в дробной части результата. 
const int accuracy = 10;
public История his = new История();
public enum State {Редактирование, Преобразовано}
//Свойство для чтения и записи состояние Конвертера.
public State St { get; set; }
//Конструктор.
public Control_() 
{
St = State.Редактирование;
Pin = pin;
Pout = pout;
}
//объектредактор
public Editor ed = new Editor();
//Свойство для чтения и записи основание системы сч. р1.
public int Pin { get; set; }
//Свойство для чтения и записи основание системы сч. р2.
public int Pout { get; set; }
//Выполнить команду конвертера.
publicstringDoCmnd(intj)
{
if (j == 19)
{
double r = Conver_P_10.dval(ed.Number, (Int16)Pin);
string res = Conver_10_P.Do(r, (Int32)Pout,acc());
St = State.Преобразовано;
his.ДобавитьЗапись(Pin, Pout, ed.Number, res);
return res;
}
else 

St = State.Редактирование; 
return ed.DoEdit(j);
}

}
//Точность представления результата.
privateintacc()
{
return (int)Math.Round(ed.Acc() * Math.Log(Pin) / Math.Log(Pout) + 0.5);
}
}
}

Интерфейс приложения «Конвертор р1_р2».
Цель: Сформировать практические навыки реализации графических интерфейсов пользователя (GUI) на основе библиотеки визуальных компонентов.

СКАЧАТЬ МОЖНО ЗДЕСЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru