Решить по икт. 39. составьте программу вычисления длины боковой стороны равнобедренного треугольника, у которого площадь равна s, а длина основания в три раза больше длины высоты, опущенной на него.
Площадь треугольника - s = a*h/2 a = 3*h ⇒ s = 3*h*h/2 ⇒ h = √(2*s/3) Искомая боковая сторона треугольника - это гипотенуза треугольника со сторонами a/2 (=3*h/2) и h ⇒ b^2 = (3*h/2)^2+h^2
var s,b,h:real; begin readln(s); h:=sqrt(2*s/3); //s:=3*h*h/2 b:=sqrt(13)*h/2; // b^2 =(3*h/2)^2+h^2 writeln('a = ',3*h:5:2,' h = ',h:5:2); writeln('b = ',b:5:2); end.
1) файл паскаля приложен. 2) код на c# static void Main(string[] args) { int a, b; a = Convert.ToInt32(Console.ReadLine()); b = Convert.ToInt32(Console.ReadLine()); if (a > 2) { Console.WriteLine(a / 2); Console.WriteLine(b - 1); } } 3) Код на vb dim a as integer = 0 dim b as integer = 0 a = cint(console.readline()) b = cint(console.readline()) if a > 2 then console.writeline( a / 2) console.writeline(b - 1) end if
// PascalABC.Net 3.0, сборка 1066 // PascalABC.Net 3.0, сборка 1066 const nn=50; mm=50; var a:array[1..mm,1..nn] of integer; i,j,m,n,k:integer; begin Write('Введите число строк и столбцов массива: '); Read(m,n); Write('Введите значение, заменяемое нулем: '); Read(k); Randomize; Writeln('*** Исходный массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4) end; Writeln end; Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin if i+j=k then a[i,j]:=0; Write(a[i,j]:4) end; Writeln end end.
a = 3*h ⇒ s = 3*h*h/2 ⇒ h = √(2*s/3)
Искомая боковая сторона треугольника - это гипотенуза треугольника со сторонами a/2 (=3*h/2) и h ⇒ b^2 = (3*h/2)^2+h^2
var s,b,h:real;
begin
readln(s);
h:=sqrt(2*s/3); //s:=3*h*h/2
b:=sqrt(13)*h/2; // b^2 =(3*h/2)^2+h^2
writeln('a = ',3*h:5:2,' h = ',h:5:2);
writeln('b = ',b:5:2);
end.
Пример:
16
a = 9.80 h = 3.27
b = 5.89