Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

инфа / Отчет лаба 5

.docx
Скачиваний:
32
Добавлен:
27.04.2015
Размер:
33.58 Кб
Скачать

Лабораторная работа №5

Выполнил студент группы БРТ 1301: Иванов Иван

  1. Тема работы: «Классы»

  1. Текст задания: Определить углы треугольника, длины сторон которого (a, b,c) заданы.

Применить теорему половинного угла:

tg(Y/2)=sqrt((p-a)*(p-b)/(p*(p-c))) где p=(a+b+c)/2

Y-угол, принадлежащей стороне C

  1. Формализация задачи: Определить углы треугольника, длины сторон которого (a, b,c) заданы.

Структурированный исходный текст программы:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Laba5

{

class Ramp

{

public double a, b, c;

public double ua, ub, uc;

public bool ok = true;

public double ugol(int n)

{

double a1, b1, c1;

switch (n)

{

case 1: { a1 = a; b1 = b; c1 = c; break; }

case 2: { a1 = c; b1 = a; c1 = b; break; }

default: { a1 = c; b1 = b; c1 = a; break; }

}

// Console.WriteLine("n="+n+" a1="+a1+" b1="+b1+" c1="+c1);

double p, y, t;

p = ((a1 + b1 + c1) / 2);

t = ((p - a1) * (p - b1) / (p * (p - c1)));

t = Math.Sqrt(t);

y = Math.Atan(t); ;

y = 2 * y;

return (y);

}

public double DAMN(double x)

{

return (180 * x) / Math.PI;

}

public Ramp(double a, double b, double c)

{

if ((a < b + c && b < a + c && c < a + b))

{

this.a = a;

this.b = b;

this.c = c;

}

else

ok = false;

}

}

class Program

{

static void Main(string[] args)

{

double a, b, c;

Console.WriteLine("Введите a,b,c");

a = Convert.ToDouble(Console.ReadLine());

b = Convert.ToDouble(Console.ReadLine());

c = Convert.ToDouble(Console.ReadLine());

Ramp ugli = new Ramp(a, b, c);

Console.WriteLine("Исходные данные: a=" + a + " b=" + b + " c=" + c);

if (ugli.ok)

{

ugli.ua = ugli.DAMN(ugli.ugol(1));

ugli.ub = ugli.DAMN(ugli.ugol(2));

ugli.uc = ugli.DAMN(ugli.ugol(3));

Console.WriteLine("Для сторон a=" + ugli.a + " b=" + ugli.b + " c=" + ugli.c);

Console.WriteLine("Углы равны a1=" + ugli.ua + " a2=" + ugli.ub + " a3=" + ugli.uc);

}

else

Console.WriteLine("Неверные данные");

Console.ReadLine();

}

}

}

Результаты тестирования программы:

Соседние файлы в папке инфа