(c#)В данном коде надо обьеденить все методы и вывести на консоль результат. Если что, то вот само задание, половину я уже сделал:
Описати клас, що представляє трикутник. Передбачити методи для
створення об'єктів, переміщення на площині, зміни розмірів і обертання на
заданий кут. Описати властивості для отримання стану об'єкта. При
неможливості побудови трикутника викидається винятки.
Описати клас – спадкоємець, застосувати абстрактні методи /класи
/властивості, віртуальні методи /властивості.
Написати програму, яка демонструвала б усі розроблені елементи
класу.
class Point
{
public float x, y;
public Point(float _x, float _y)
{
x = _x;
y = _y;
}
}
class Triangle
{
public Point a { set; get; }
public Point b { set; get; }
public Point c { set; get; }
public Triangle(Point _a, Point _b, Point _c) //конструктор
{
a = _a;
b = _b;
c = _c;
}
public void sd_right(float w1) //сдвиг вправо
{
a.x = +w1; b.x = +w1; c.x = +w1;
}
public void sd_left(float w2) //сдвиг влево
{
a.x = -w2; b.x = -w2; c.x = -w2;
}
public void sd_up(float w3) //сдвиг верх
{
a.y = +w3; b.y = +w3; c.y = +w3;
}
public void sd_down(float w4) //сдвиг вниз
{
a.y = -w4; b.y = -w4; c.y = -w4;
}
public float R(Point _a, Point _b)
{
return Convert.ToSingle(Math.Sqrt(Math.Pow(_a.x - _b.x, 2) + Math.Pow(_a.y - _b.y, 2)));
}
public void sd_alfa(float d) //поворот на угол d
{
Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
a.x = M.x + Convert.ToSingle(R(M, a) * Math.Cos(d));
a.y = M.y - Convert.ToSingle(R(M, a) * Math.Sin(d));
b.x = M.x + Convert.ToSingle(R(M, b) * Math.Cos(d));
b.y = M.y - Convert.ToSingle(R(M, b) * Math.Sin(d));
c.x = M.x + Convert.ToSingle(R(M, c) * Math.Cos(d));
c.y = M.y - Convert.ToSingle(R(M, c) * Math.Sin(d));
}
public void sd_rad(float r) //увелiчение на r
{
float d = 0;
Point M = new Point((a.x + b.x + c.x) / 3, (a.y + b.y + c.y) / 3);
a.x = Convert.ToSingle((R(M, a) + r) * Math.Cos(d));
a.y = -Convert.ToSingle((R(M, a) + r) * Math.Sin(d));
b.x = Convert.ToSingle((R(M, b) + r) * Math.Cos(d));
b.y = -Convert.ToSingle((R(M, b) + r) * Math.Sin(d));
c.x = Convert.ToSingle((R(M, c) + r) * Math.Cos(d));
c.y = -Convert.ToSingle((R(M, c) + r) * Math.Sin(d));
}
public void show() //вывод координат
{
Console.WriteLine("a(x,y)={0},{1}\nb(x,y)={2},{3}\nc(x,y)={4},{5}", a.x, a.y, b.x, b.y, c.x, c.y);
}
};
class Program
{
static void Main(string[] args)
{
Point a = new Point(1, 1);
Point b = new Point(3, 3);
Point c = new Point(3, 1);
float r = 6;
double d= 0.5;
float w1 = 1;
float w2 = 0;
float w3 = 0;
float w4 = 0;
Triangle T = new Triangle(a, b, c);
T.show();
Console.ReadLine();
}
}
a) 5 * 2 - 4
Решение:
Умножение имеет более высокий приоритет, чем вычитание. Поэтому, сначала выполним вычисление умножения: 5 * 2 = 10.
Затем, выполним вычитание: 10 - 4 = 6.
Ответ: 6.
б) 7 * х + 2
Решение:
Умножение имеет более высокий приоритет, чем сложение. Поэтому, сначала выполним вычисление умножения: 7 * х = 7х.
Затем, выполним сложение: 7х + 2.
Ответ: 7х + 2.
в) 8 * х - 3 * (х + у)
Решение:
Выполним умножение: 8 * х = 8х и 3 * (х + у) = 3х + 3у.
Затем, выполним вычитание: 8х - (3х + 3у).
Для выполнения операции в скобках, умножение 3 на каждый из элементов внутри скобок:
8х - 3х - 3у = 5х - 3у.
Ответ: 5х - 3у.
г) v^2 * х * у^2 * х * у
Решение:
По правилам алгебры, умножение можно проводить в любом порядке.
Выполним умножение: v^2 * х = v^2х, у^2 * х = у^2х, v^2х * у^2х = (vх * у)^2х.
Ответ: (vх * у)^2х.
2. Переведем запись с языка Pascal в нормальную форму:
f = (3 * x + 4 * y)/(2 * sqr(к) - 4 * t / y)
Решение:
Нормализация выражения подразумевает разделение на более простые составляющие.
Заменим sqr(к) на к^2, чтобы выразить возведение в квадрат в общепринятой форме:
f = (3 * x + 4 * y)/(2 * к^2 - 4 * t / y)
Затем, выполним умножение и деление в числителе и знаменателе:
f = (3 * x + 4 * y)/(2к^2 - (4 * t) / y)
Ответ: f = (3 * x + 4 * y)/(2к^2 - 4t/y).
Таким образом, мы записали выражения по правилам языка Pascal и перевели запись с языка Pascal в нормальную форму.
- Высокая стоимость: это неверное утверждение. Электронные книги обычно стоят дешевле, чем печатные, или даже могут быть бесплатными.
- Изменение размеров шрифта: это верное утверждение. Одним из преимуществ электронных книг является возможность изменения размера шрифта, что делает чтение более комфортным для пользователей с разными потребностями.
- Переходы по гиперссылкам: это верное утверждение. Электронные книги обычно содержат гиперссылки, которые позволяют быстро перемещаться по разным разделам книги или переходить к другим источникам информации.
- Компактность хранения: это верное утверждение. Электронные книги занимают мало места на устройстве хранения (например, на компьютере или смартфоне), поэтому их можно легко собирать в большом количестве без затрат на физическое пространство.
- Возможность озвучивать текст: это верное утверждение. Некоторые электронные книги имеют функцию озвучивания текста, что позволяет пользователю слушать книгу вместо чтения.
- Высокая чувствительность к физическому воздействию: это неверное утверждение. В отличие от печатных книг, электронные книги более устойчивы к физическому воздействию, такому как механические повреждения или загрязнения.
2. Основные функции текстового редактора:
- Строгое соблюдение правописания: это неверное утверждение. Хотя текстовые редакторы обычно имеют функцию проверки правописания, это не является их основной функцией.
- Копирование, перемещение, сортировка текста: это верное утверждение. Одной из основных функций текстового редактора является возможность копирования, перемещения или сортировки текста внутри документа.
- Создание, редактирование, сохранение, печать текстов: это верное утверждение. Текстовый редактор позволяет создавать новые документы, редактировать уже существующие, сохранять их в файлы и печатать текст на бумаге.
- Автоматическая обработка информации, имеющейся в текстовом файле: это верное утверждение. Современные текстовые редакторы могут предоставлять функции автоматической обработки информации в текстовом файле, такие как поиск и замена, подсчет слов или символов и другие операции.
3. Пропущенное звено в ряду "Символ – слово – … – фрагмент текста":
- Абзац: это верное утверждение. Абзац является промежуточным звеном между словом и фрагментом текста. Он представляет собой блок текста, содержащий одну или несколько связанных мыслей или идей, отделенных от остального текста пустыми строками или отступами.
5. Текстовый редактор входит в состав:
- Прикладного программного обеспечения: это верное утверждение. Текстовый редактор является одной из основных программ, входящих в состав прикладного программного обеспечения, которое предназначено для выполнения конкретных задач пользователем (например, создания и редактирования текстовых документов).
6. Названия разделов разных уровней составляют:
- Оглавление: это верное утверждение. Оглавление представляет собой список разделов и подразделов документа вместе с указанием их страниц или номеров, что позволяет пользователю быстро найти нужную информацию или перемещаться по документу.