Помощь - Поиск - Пользователи - Календарь
Полная версия: Условный оператор
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Guest
program test; uses crt;
label m1, m2, m3;
var
a,b,c:real;
begin clrscr;
writeln('Введите числа');readln(a,b,c);
if (a+b>0) and (a+c>0) and (b+c>0) then
if (sqr(a)+sqr(B)=sqr©) or (sqr(a)+sqr©=sqr(B)) or (sqr(B)+sqr©=sqr(a)) then
begin
writeln('Прямоугольный');
goto m1;
end;
if (sqr(a)+sqr(B)<sqr©) or (sqr(a)+sqr©<sqr(B)) or (sqr(B)+sqr©<sqr(a)) then
begin
writeln('Тупоугольный');
goto m3;
end;
if (sqr(a)+sqr(B)>sqr©) or (sqr(a)+sqr©>sqr(B)) or (sqr(B)+sqr©>sqr(a)) then
begin
writeln('Остроугольный');
goto m2;
end;
end
else
begin
writeln('Такого треугольника нет');
end;
readkey;
m1: m2: m3:
end.


Не подскажите в чем ошибка выдает Undefined label in preceding statement part (m2)
volvo
У тебя нарушена последовательность begin ... end:
writeln('Введите числа');readln(a,b,c);
if (a+b>0) and (a+c>0) and (b+c>0) then BEGIN { <--- добавь begin}
klem4
может так ?

Код
uses crt;
var a,b,c:single;

begin
  clrscr;
  write('a='); readln(a);
  write('b='); readln(b);
  write('c='); readln(c);

  if (a+b>0)and(a+c>0)and(b+c>0) then
   begin
      if sqr(a)+sqr(b)=sqr(c) then
       writeln('Прямоугольный')
      else
       if sqr(a)+sqr(b)>sqr(c) then
        writeln('Остроугольный')
       else
        writeln('Тупоугольный');
   end
  else
   writeln('Это не треугольник');

  readln;

end.


ps если блоксхема твоя вчерашняя то это ен совсем сходится.
Guest
volvo
Спасибо.

klem4
Блок схема моя. Я задачу не до конца тогда сделал...

Тему можно закрывать
klem4
Еще один совет, старайся обходиться без меток, метки - зло.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.