Поделитесь своими знаниями, ответьте на вопрос:
(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(); } }
будем считать, что каждое четное однозначное число это определенный алфавит, мощность которого обозначается буквой N
N=2^i, подставим вместо N 2, получаем 2=2^i запишем левую часть как степень числа 2: 2^1=2^i, отсюда i=1 бит
подставим теперь вместо N 4, получаем 4=2^i запишем левую часть как степень числа 2: 2^2=2^i, отсюда i=2 бит
подставим теперь вместо N 6, получаем 6=2^i число 6 не является точной степенью числа 2, поэтому ответ найдем по таблице неточных степеней числа 2- i=2,58 бит
подставим теперь вместо N 8, получаем 8=2^i запишем левую часть как степень числа 2: 2^3=2^i, отсюда i=3 бит
задача2
запишем условие: мощность компьютерного алфавита равна N=256
I=120 бит, К-?
решение: найдем вес одного символа 256=2^i, i=8 бит
разделим I на i и получим кол-во символов в тексте 120/8=15