Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2011, 11:07   #1
Pchelka1992
Пользователь
 
Регистрация: 02.04.2011
Сообщений: 14
По умолчанию Операторы цикла

Здравствуйте, помогите пожалуйста решить эту задачу через операторы цикла.
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.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.06.2011 в 11:31.
Pchelka1992 вне форума Ответить с цитированием
Старый 09.06.2011, 11:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

может быть, здесь хотят такой цикл:

Код:
repeat
  writeln('Esli nugno nayti ploshad treugolnika po:');
  .....
  writeln('Dlia vihoda najmite |0|');
  readln(num);
   case num of
   1:
      ....
   2:
      .... 
   3:
      .... 
   end;
   if num<>0 then
         writeln('Ploshad = ',s:4:2);
until Num=0;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.06.2011, 17:31   #3
foxy342
Пользователь
 
Регистрация: 11.07.2009
Сообщений: 18
По умолчанию

может быть так?
Код:
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);

if (num=1) then
begin
  write('vvedite dlinu osnovania: ');
  readln(a);
  write('vvedite visotu: ');
  readln(h);
  s:=a*h/2;
end;
if (n=2) then
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;
if (n=3) then
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;
writeln('Ploshad = ',s:4:2);
readln;
end.
foxy342 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операторы цикла yana33311 Паскаль, Turbo Pascal, PascalABC.NET 3 01.03.2011 09:20
Операторы цикла stud3nt Паскаль, Turbo Pascal, PascalABC.NET 0 26.06.2010 20:13
Операторы цикла Asira Помощь студентам 0 21.12.2009 00:04
операторы цикла pilot76 Помощь студентам 4 10.09.2009 19:08
операторы цикла semennn Помощь студентам 5 19.05.2009 17:44