Если надо составить программу, которая будет подбирать катеты, чтобы площадь была максимальной
На бейсике
SMax = 0
For A = 0 To 5 Step 0,01
B = sqrt (25 - A^2)
S = A*B/2
If S > SMax Then SMax = S
Next A
Print "A = ", A, ", B = ", B, ", SMax = ", SMax
На Паскале
SMax := 0
A := 0
While A < 5 Do
Begin
B := sqrt (25 - A^2)
S := A*B/2
If S > SMax Then SMax := S
A := A + 0,01
End
Writeln "A = ", A, ", B = ", B, ", SMax = ", SMax
Если просто по математике решить, то это функция B = sqrt (25 - A^2)
S = A*B/2 = A*sqrt (25 - A^2)/2 -> Max
S ' = [sqrt (25 - A^2) + (-2A)*A/(2sqrt (25 - A^2))]/2 = (25 - A^2 - A^2)/(2sqrt (25 - A^2)) = 0
(25 - 2A^2)/(2sqrt (25 - A^2)) = 0
25 - 2A^2 = 0
A^2 = 25/2
A = 5/V(2) = 5V(2)/2
B = sqrt (25 - A^2) = sqrt (25 - 25/2) = sqrt (25/2) = 5V(2)/2 = A
S = A*B/2 = 5V(2)/2*5V(2)/2*1/2 = 25/2
Треугольник должен быть прямоугольным и равнобедренным
Другие языки программирования и технологии
Имеется треугольник с известной гипотенузой(c=5).Найти размеры катетов при которых треугольник имеет наибольшую площадь.
Задача решается аналитически.
Прощадь треугольника s = ½·a·b (половина площади соответствующего прямоугольника) , где a и b - длины катетов.
По пифагору a² + b² = c².
Выражаем b:
b = √(c² - a²)
a*b = a·√(c² - a²) → max
находим производную по a, приравниваем нулю, находим положительный корень:
a = b = c·√½
Всё. Хотя тут и ежу понятно: когда один из катетов имеет минимальную длину, площадь становится минимальной => максимум получаем тогда, когда катеты равны.
Прощадь треугольника s = ½·a·b (половина площади соответствующего прямоугольника) , где a и b - длины катетов.
По пифагору a² + b² = c².
Выражаем b:
b = √(c² - a²)
a*b = a·√(c² - a²) → max
находим производную по a, приравниваем нулю, находим положительный корень:
a = b = c·√½
Всё. Хотя тут и ежу понятно: когда один из катетов имеет минимальную длину, площадь становится минимальной => максимум получаем тогда, когда катеты равны.
const c=5;
begin
writeln(sqrt(sqr(c)/2));
end.
begin
writeln(sqrt(sqr(c)/2));
end.
Похожие вопросы
- C# Дан массив размера N. Найти 2 элемента массива, сумма которых наиболее близка к максимуму массива и поменять
- Как вы считаете? C# 5.0
- Помогите решить задачу C++. Найти номер строки, для которой среднее арифметическое значение ее элементов максимальна
- Помогите написать на ассемблере програму для вычисления виражения y=(c-(d/2)+33 )/(2*a*a-1). c=5,d=6,a=3.
- Из входной строки напишите программу, чтобы найти самый длинный палиндром, который существует. C++
- программирование C++. Помогите найти ошибку
- C++ помогите найти ошибочку в коде
- C# трудно выучить как первый язык и основной? Имеет смысл? или джава лучше?
- c++ Borland. Найти количество не отрицательных нечетных элементов двумерного массива.
- c++ помогите найти ошибку