Введите три числа. Если они могут быть сторонами равностороннего треугольника, то найдите его периметр и площадь.
Merlin,
Это надо делать через " IF"
Ну так и сделай. IF стороны у треугольника рывны THEN считаем площадь.
Ты это имел в виду ? Ну а ввести наверняка, чтобы это был равносторонний можно например вот так :
repeat
readln(a,b,c);
until (a=b)and(b=c);
М | А именно: Если они могут быть сторонами равностороннего треугольника, то найдите его периметр и площадь. Altair |
To: klem4
Опять не пойдет... Внимательно читай задание...
Вот так надо:
writeln(' Ввод A, B, C: ');
readln( A, B, C );
if ( A = B ) and ( A = C ) then {ищем периметр и площадь...}
Ну ведь я так и написал :
Введите три числа. Если они могут быть сторонами равностороннего треугольника, то найдите его периметр и площадь.
Подскажите почему вылезает ошибка, может я в операторе (do begin ) что то не то сделал ?
Program tr;
Var a,b,c,P,S:real;
begin
repeat
writeln('Введите три стороны треугольника');
readln(a,b,c);
until (a>0) and (b>0) and (c>0);
if (a=b) and (a=c) then do begin
writeln('Треугольник равносторонний ');
P:=a+b+c;
S:1/2*a*b*sin 60;
else writeln('Треугольник не равносторонний, повторите ввод');
writeln('площадь треугольника S=' , S:8:3);
writeln('периметр треугльника P=' , P:8:3);
end;
readln;
end.
if (a=b) and (a=c) then {do} begin
begin
repeat
writeln('Введите три стороны треугольника');
readln(a,b,c);
until (a>0) and (b>0) and (c>0);
if (a=b) and (a=c) then begin
writeln('Треугольник равносторонний ');
P:=a+b+c;
S:=1/2*a*b*sin(60);
writeln('площадь треугольника S=' , S:8:3);
writeln('периметр треугльника P=' , P:8:3);
end
else writeln('Треугольник не равносторонний, повторите ввод');
readln;
end.
Спасибо за всю помощь, вроде со всеми задачами справился...
найти площадь и периметр равностороннего треугольника, если известна одна из его длин?
P = 3 * длина стороны
S = длина стороны в квадрате умножить на квадратный корень из 3 и всё разделить на 4.