Операторы цикла
Здравствуйте, помогите пожалуйста решить эту задачу через операторы цикла.
1. Имеется серия изменений элементов треугольника. Группы элементов пронумерованы. В серии в произвольном порядке могут встречаться такие группы элементов треугольника:
1) основании и высота;
2) две стороны и угол между ними ( угол задан в градусах );
3) три стороны.
Составить программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве номера группы введен 0.
Вот посмотрите у меня решено,но только не через операторы цикла.
Var a,b,c,alpha,h,s:real;
num:byte;
begin
writeln('Esli nugno nayti ploshad treugolnika po:');
writeln(' 1)osnovaniyu i visote najmite |1|');
writeln(' 2)po dwum storonam i uglu najmite |2|');
writeln(' 3)po trem storonam najmite |3|');
writeln('Dlia vihoda najmite |0|');
readln(num);
case num of
0:exit;
1:
begin
write('vvedite dlinu osnovania: ');
readln(a);
write('vvedite visotu: ');
readln(h);
s:=a*h/2;
end;
2:
begin
write('vvedite dlinu odnoy storoni: ');
readln(a);
write('vvedite dlinu drugoy storoni: ');
readln(b);
write('vvedite ugol v radianah: ');
readln(alpha);
s:=a*b*sin(alpha)/2;
end;
3:
begin
write('vvedite dlinu pervoy storoni: ');
readln(a);
write('vvedite dlinu vtoroy storoni: ');
readln(b);
write('vvedite dlinu tretiey storoni: ');
readln(c);
alpha:=(a+b+c)/2;
s:=sqrt(alpha*(alpha-a)*(alpha-b)*(alpha-c));
end;
end;
writeln('Ploshad = ',s:4:2);
readln;
end.
Здравствуйте, помогите пожалуйста решить эту задачу через операторы цикла.
1. Имеется серия изменений элементов треугольника. Группы элементов пронумерованы. В серии в произвольном порядке могут встречаться такие группы элементов треугольника:
1) основании и высота;
2) две стороны и угол между ними ( угол задан в градусах );
3) три стороны.
Составить программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве номера группы введен 0.
Вот посмотрите у меня решено,но только не через операторы цикла.
Var a,b,c,alpha,h,s:real;
num:byte;
begin
writeln('Esli nugno nayti ploshad treugolnika po:');
writeln(' 1)osnovaniyu i visote najmite |1|');
writeln(' 2)po dwum storonam i uglu najmite |2|');
writeln(' 3)po trem storonam najmite |3|');
writeln('Dlia vihoda najmite |0|');
readln(num);
case num of
0:exit;
1:
begin
write('vvedite dlinu osnovania: ');
readln(a);
write('vvedite visotu: ');
readln(h);
s:=a*h/2;
end;
2:
begin
write('vvedite dlinu odnoy storoni: ');
readln(a);
write('vvedite dlinu drugoy storoni: ');
readln(b);
write('vvedite ugol v radianah: ');
readln(alpha);
s:=a*b*sin(alpha)/2;
end;
3:
begin
write('vvedite dlinu pervoy storoni: ');
readln(a);
write('vvedite dlinu vtoroy storoni: ');
readln(b);
write('vvedite dlinu tretiey storoni: ');
readln(c);
alpha:=(a+b+c)/2;
s:=sqrt(alpha*(alpha-a)*(alpha-b)*(alpha-c));
end;
end;
writeln('Ploshad = ',s:4:2);
readln;
end.