Срочное написание простой программы на языке c#
849 UAHНеобходимо выполнить лабораторную для сдачи в университете. Выполнить нужно очень срочно, сегодня.Реализовать один из вариантов на выбор .
Лабораторная работа №2: Объекты и операции над ними
Задача: реализовать арифметические операции - сложение, вычитание, умножение и деление для математических объектов.
А также преобразование в строковое представление и обратно.
Пользовательский интерфейс - командная строка. Необходимо реализовать следующие команды:
add - сложение
sub - вычитание
mul - умножение
div - деление
Каждая из команд принимает два параметра - комплексные или рациональные числа соответственно (в соответствующих строковых представлениях, см комментарий к методу ToString).
Сессия работы программы может выглядеть примерно так:
Вариант 1
$ add 5:7 1.4:5
2.18:35
$ div 5:7 9:5
25:63
Вариант 2
$ add 45.7+44.5i 34.3-45.5i
80-i
$ mul 1+i 2+i
1+3i
Арифметические операции
Приведение типа
Вариант 1: к/из целому числу
Вариант 2: к/из действительному числу
Работа считается выполненной полностью если
Соответствует соглашениям о коде
Все арифметические действия выполняются корректно
Корректно работают TryParse и ToString
Корректно обрабатываются ошибки пользовательского ввода
Ниже приведены интерфейсы классов, необходимо реализовать методы и свойства.
Вариант 1: Рациональные числа - числа, представимые в виде дроби M/N где M и N - целые числа. Нужно реализовать операции
public struct Rational{
/// Числитель дроби
public int Numerator { get; set; }
/// Знаменатель дроби
public int Denominator { get; set; }
/// Целая часть числа Z.N:D, Z. получается делением числителя на знаменатель и
/// отбрасыванием остатка
public int Base { get {} }
/// Дробная часть числа Z.N:D, N:D
public int Fraction { get {} }
/// Операция сложения, возвращает новый объект - рациональное число,
/// которое является суммой чисел c и this
public Rational Add(Rational c) {}
/// Операция смены знака, возвращает новый объект - рациональное число,
/// которое являтеся разностью числа 0 и this
public Rational Negate() {}
/// Операция умножения, возвращает новый объект - рациональное число,
/// которое является результатом умножения чисел x и this
public Rational Multiply(Rational x){}
/// Операция деления, возвращает новый объект - рациональное число,
/// которое является результатом деления this на x
public Rational DivideBy(Rational x){}
/// Вовзращает строковое представление числа в виде Z.N:D, где
/// Z — целая часть N и D — целые числа, числитель и знаменатель, N < D
/// '.' — символ, отличающий целую часть от дробной,
/// ':' — символ, обозначающий знак деления
/// если числитель нацело делится на знаменатель, то
/// строковое представление не отличается от целого числа
/// (исчезает точка и всё, что после точки)
/// Если Z = 0, опускается часть представления до точки включительно
public override string ToString(){}
/// Создание экземпляра рационального числа из строкового представления Z.N:D
/// допускается N > D, также допускается
/// Строковое представления рационального числа
/// Результат конвертации строкового представления в рациональное
/// число
/// true, если конвертация из строки в число была успешной,
/// false если строка не соответствует формату
public static bool TryParse(string input, out Rational result){}
/// Приведение дроби - сокращаем дробь на общие делители числителя
/// и знаменателя. Вызывается реализацией после каждой арифметической операции
private void Even(){}
}
Вариант 2: Комплексные числа - числа, представимые в виде R+i×I где I и R - действительные числа, i - мнимая единица, i×i = -1
public struct Complex {
/// Действительная часть числа
public double Real { get; set; }
/// Мнимая часть числа
public double Imaginary { get; set; }
/// Модуль комплексного числа
public double Measure { get; }
/// Угол, который образует вектор комплексного числа с осью абсцисс
public double Angle { get; }
/// Операция сложения, возвращает новый объект - комплексное число,
/// которое является суммой чисел c и this
public Complex Add(Complex c) {}
/// Операция смены знака, возвращает новый объект - комплексное число,
/// которое являтеся разностью числа 0 и this
public Complex Negate() {}
/// Операция умножения, возвращает новый объект - комплексное число,
/// которое является результатом умножения чисел x и this
public Complex Multiply(Complex x){}
/// Операция деления, возвращает новый объект - комплексное число,
/// которое является результатом деления this на x
public Complex DivideBy(Complex x){}
/// Вовзращает строковое представление числа в виде R+Ii, где
/// R и I - строковые представления действительной и мнимой части числа
/// 'i' - символ, обозначающий мнимую единицу
/// Если мнимая или действительная часть числа равны нулю, они опускаются
/// и принимают вид
/// R (мнимая часть равна 0)
/// Ii (действительная часть равна 0)
/// если мнимая часть равна 1, множитель перед 'i' опускается: 1+1i => 1 + i
public override string ToString(){}
/// Создание экземпляра комплексного числа
/// из строкового представления R+Ii (см. ToString())
/// Строковое представление комплексного числа
/// Результат конвертации из строкогого представления
/// true, если удалось сконвертировать строковое представление в
/// комплексное число, false в случае несоответствия формату
public static bool TryParse(string input, out Complex result){}
}
Отзыв заказчика о сотрудничестве с Орестом Бощенко
Срочное написание простой программы на языке c#Очень быстро и качественно выполнил заказ на написание кода на с#. Рекомендую к сотрудничеству , хороший мастер
![]()
Отзыв фрилансера о сотрудничестве с заказчиком
Срочное написание простой программы на языке c#Очень хороший заказчик. Четкое ТЗ и очень приятная в общении. Рекомендую всем!
Актуальные фриланс-проекты в категории C#
Доопрацювання 1С УТ 11 для ТСД Zebra (RDP): різні звукові сигнали при скануванні
1000 UAH
Конфигурация: 1С УТ 11 Адресный склад ТСД Zebra TC26 Работа через RDP Сканирование товаров выполняется в документах приемки, размещения, отбора и других складских операциях. Текущая проблема: Кладовщики работают через ТСД Zebra. При сканировании не всегда замечают сообщения на… C#, Базы данных и SQL ∙ 2 дня 20 часов назад ∙ 6 ставок |