Ю2.2

Задача: Треугольник задан длинами своих сторон: a, b, c. Определить, является ли он тупоугольным, прямоугольным или остроугольным.

Тесты:

угол №1 угол №2 угол №3 Результат Комментарий
30 60 90 треугольник прямоугольный тест пройден
60 60 60 треугольникостроугольный равностороннийравнобедренный тест пройден
70 70 40 треугольникостроугольный равнобедренный тест пройден
45 90 45 треугольник прямоугольный равнобедренный тест пройден
80 20 80 треугольникостроугольный равнобедренный тест пройден
30 120 30 треугольник тупоугольный равнобедренный тест пройден
50 90 150 треугольник не существует тест пройден
120 150 160 треугольник не существует тест пройден

Код программы:

 

Решение задачи:

1) Вводим данные стороны a,b,c;

2) Вводим условия для выполнимости определения треугольников (ограничения для углов):

а) для остроугольных

б) для равносторонних

в) для прямоугольных

г) пишем условие, при котором выполняется для тупоугольных треугольников

д) для равнобедренных

е) если ни одно из условий не выполняется, значит треугольника не существует

Посмотреть и протестировать программу можно на этом сайте: http://ideone.com/uAyr4x

 

Related Images:

Ю1.25

Задача Ю 1.25

Задача: Найти внутренние углы треугольника abc по точкам, заданным на координатной плоскости и полученные значения углов перевести из радиан в градусы.

тесты:

x1 y1 x2 y2 x3 y3 результат №1 результат №2 результат №3 комментарий
0 0 1 0 0 1 45 90 45 тест пройден
1 3 1 1 2 1 63,4 26,5 90 тест пройден
1 4 2 3 1 1 26,5 45 108,4 тест пройден
1 2 1 1 2 1 45 45 90 тест пройден

 

 Идея решения задачи: В начале программы мы объявляем нужные библиотеки, затем после оператора double перечисляем все используемые переменные, после этого, с помощью оператора  scanf  объявляем те переменные, которые нужно будет вводить для выполнения программы, далее пишем формулы:

1) Для вычисления длин сторон по координатам точек

 

 

 

2) Для вычисления углов в радианах

3) Для перевода значений углов из радиан в градусы.

После этого, с помощью оператора printf   перечисляем переменные, которые программа будет вычислять и показывать нам. После компиляции вводим в строчку stdin значения координат точек, и в поле stdout программа выдает нам значения углов.

Чтоб посмотреть и протестировать программу, пройдите по этой ссылке: http://ideone.com/7YLyBt

Related Images:

Ю1.2

Задача Ю1.2 : Из радианов в градусы. Угол  [latex]\alpha[/latex]  задан в радианах. Найти его величину в градусах, минутах и секундах

rad deg m s
3 171 53 14
-2.5 -143 14 22
21 123 12 41
-9.1 -161 23 30

Решение:

Код программы на C++:

Ссылка на ideone Java: http://ideone.com/PTbhOy

 

Для вычисления градусов из радиан пользовался формулой:

[latex]Deg=Rad\frac{180}{\pi }[/latex]

Далее ищу остаток от деления на   [latex]360[/latex] т.к. угол  [latex]\alpha < 360[/latex].

Для вычисления минут отбрасываю от градусов целую часть (округляя вниз) и умножаю на [latex]60[/latex]

Для вычисления секунд отбрасываю от минут целую часть (округляя вниз) и умножаю на [latex]60[/latex]

секунды округляю функцией round

Ответ выводит в градусах минута и секундах

Related Images:

Ю1.1

Задача.

Из градусов в радианы. Угол α задан в градусах, минутах и секундах. Найти его величину в радианах(с максимально возможной точностью).

Тесты.

Ввод Вывод
градусы(grad) минуты(min) Секунды(sec) радианы(rad)
0 0 0 0
90 0 0 1.570796326794897
179 59 60 3.141592653589793
-270 0 0 -4.7123889803847

 

 

 

 

Решение.

Обозначим через переменные grad, min,  sec  число градусов, минут, секунд.

1 градус= 60 минут= 3600 секунд.

Сначала проверяем число градусов больше 3600  или нет. Если меньше то ничего не меняем, а если больше то от числа градусов отнимаем 360 до тех пор пока оно не станет меньше 360. После используем формулы перевода градусов, минут и секунд в радианы:

[latex]\mathit{rad=grad\frac{\pi }{180}}[/latex]

 

[latex]\mathit{rad=min\frac{\pi }{180}/60}[/latex]

 

[latex]\mathit{rad=sec\frac{\pi }{180}/3600}[/latex]

Если число градусов положительно то используем конечную формулу:

[latex]\mathit{rad=grad\frac{\pi }{180}+min\frac{\pi }{180}/60+sec\frac{\pi }{180}/3600}[/latex]

Если же оно отрицательно то используем другую формулу:

[latex]\mathit{rad=grad\frac{\pi }{180}-min\frac{\pi }{180}/60-sec\frac{\pi }{180}/3600}[/latex]

 

Related Images: