C# Программирование Выполните следующие шаги:
1 Создайте новый проект - консольное приложение
2 Создайте в проекте новый файл, класс. Назовите его Cat. (Проект - Добавить класс)
3 Добавьте в класс Cat публичное свойство типа string с именем Name.
4 Добавьте в класс Cat публичный конструктор с параметром типа string с именем name. В
конструкторе значение параметра должно копироваться в значение свойства Name
5Добавьте в класс Cat публичный метод типа void с именем MakeNoise без параметров. Пусть в методе будет вывод в консоль строки следующего формата: "[имя] мяукает". В строке должно выводиться имя кошки из свойства Name.
6 В классе Program в методе Main создайте экземпляр класса Cat с произвольным именем и вызовите на экземпляре метод MakeNoise.
7 Добавьте в класс Cat еще одно свойство типа DateTime с именем Birthday. Это будет дата рождения кошки.
8 В существующий конструктор Cat добавьте еще один параметр типа DateTime с именем birthday. Его значение должно присваиваться в свойство Birthday
9 Добавьте в класс Cat метод типа int с именем GetAge. Метод должен возвращать возраст кошки на текущий момент.
10 В классе Program в методе Main дополните создание экземпляра произвольной датой рождения кошки. После вызова метода MakeNoise добавьте вызов метода GetAge и вывод на консоль его результата в формате "Кошке по имени [имя] уже [возраст] лет"
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
int main()
{
setlocale(LC_ALL, "rus");
double x, y, z, result;
std::cout << "Введите x,y,z: \n";
std::cin >> x >> y >> z;
result = tan(x + y) - pow(M_E, y - z) * sqrt(cos(pow(x, 2)) + sin(pow(z, 2)));
std::cout << "Результат: " << result;
}
Этот код не проверяет корректность введённых данных.
То есть если x+y будет равен π/2 или выражение под корнем будет отрицательным, будет ошибка приложения
Такой вариант с обработкой исключений
#define _USE_MATH_DEFINES
#include <iostream>
#include <math.h>
int main()
{
setlocale(LC_ALL, "rus");
double x, y, z, result, result2;
std::cout << "Введите x,y,z: \n";
std::cin >> x >> y >> z;
try
{
result2 = cos(pow(x, 2)) + sin(pow(z, 2));
if (result2 < 0) throw "подкоренное выражение меньше нуля";
if ((x + y) == M_PI_2) throw "тангенс не определён";
result = tan(x + y) * pow(M_E, y - z) * sqrt(result2);
std::cout << "Результат: " << result;
}
catch(const char* exception)
{
std::cout << "Результат не может быть вычислен поскольку " << exception;
}
}
Объяснение:
Сжатие данных без потерь (англ. lossless data compression) — класс алгоритмов сжатия данных (видео, аудио, графики, документов, представленных в цифровом виде, программ на языках программирования и в машинных кодах и многих других видов данных), при использовании которых закодированные данные однозначно могут быть восстановлены с точностью до бита, пикселя, вокселя и т.д. При этом оригинальные данные полностью восстанавливаются из сжатого состояния. Этот тип сжатия принципиально отличается от сжатия данных с потерями. Для каждого из типов цифровой информации, как правило, существуют свои оптимальные алгоритмы сжатия без потерь.
Сжатие данных без потерь используется во многих приложениях. Например, оно используется во всех файловых архиваторах. Оно также используется как компонент в сжатии с потерями.
Сжатие без потерь используется, когда важна идентичность сжатых данных оригиналу. Обычный пример — исполняемые файлы и исходный код. Некоторые графические файловые форматы (например PNG) используют только сжатие без потерь, тогда как другие (TIFF, FLIF или GIF) могут использовать сжатие как с потерями, так и без потерь.