var
a,b,c,S:double;
begin
{ ... }
if ((a+b)<=c) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
{ ... }
end.
Даны 3 отрезка abc. Найти S треугольника abc.
Задача: Даны 3 отрезка abc. Найти S треугольника abc. Проверить, можно ли из этих отрезков сделать треугольник.
Как я понял длину отрезков задаешь сам.
Код:
Надеюсь, что с этим вы справитесь.
Цитата: max_dark
Код:
var
a,b,c,S:double;
begin
{ ... }
if ((a+b)<=c) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
{ ... }
end.
a,b,c,S:double;
begin
{ ... }
if ((a+b)<=c) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
{ ... }
end.
Надеюсь, что с этим вы справитесь.
Спасибо огромное. Знал, что программа простая, а как написать не в курсе был... Сейчас все работает:D
Цитата: max_dark
Код:
if ((a+b)<=c) then
writeln('Указанные отрезки не могут составлять треугольник')
writeln('Указанные отрезки не могут составлять треугольник')
Код:
if (a+b<=c) or (b+c<=a) or (c+a<=b) then ...
Код:
Program Treygolnik
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
доработайте прогу пж
Цитата:
Код:
Program Treygolnik
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
доработайте прогу пж
Код:
Program Treygolnik
label povtor;
var
a,b,c,S:double;
begin
povtor:
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник');
readkey; clrscr;
writeln('Повторите ввод!');
goto povtor;
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
label povtor;
var
a,b,c,S:double;
begin
povtor:
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник');
readkey; clrscr;
writeln('Повторите ввод!');
goto povtor;
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
В своих лабах по паскалю я так сделал (и не ругайте что лабелы юзаюб это невсегда вредно)
Цитата:
Код:
Program Treygolnik
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
доработайте прогу пж
Код:
Program Treygolnik
label povtor;
var
a,b,c,S:double;
begin
povtor:
Writlen('A=, B=, C=');
readln(a,b,c)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
begin
writeln('Указанные отрезки не могут составлять треугольник');
readkey; clrscr;
writeln('Повторите ввод!');
goto povtor;
end
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
label povtor;
var
a,b,c,S:double;
begin
povtor:
Writlen('A=, B=, C=');
readln(a,b,c)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
begin
writeln('Указанные отрезки не могут составлять треугольник');
readkey; clrscr;
writeln('Повторите ввод!');
goto povtor;
end
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
В своих лабах по паскалю я так сделал (и не ругайте что лабелы юзаюб это невсегда вредно)
Цитата: agum_aan
Подведу итог и добавлю пару строчек, у мну такая же задача была
доработайте прогу пж
Код:
Program Treygolnik
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
var
a,b,c,S:double;
begin
Writlen('A=, B=, C=');
readln(a,b,c)
Как сделать проверку данных, чтоб прога при вводе неверных данных не закрывалась, ждала когда введут верные данные (циклически)
if (a+b<=c) or (b+c<=a) or (c+a<=b) then
writeln('Указанные отрезки не могут составлять треугольник')
else begin
p:=(a+b+c)/2.0;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
write("Площадь = ",S);
end;
end.
доработайте прогу пж
Использование goto в нынешнем програмировании считается не очень грамотным) (это про предыдущее решение).
Мой вариант проверки
Код:
{...}
repeat //поскольку цикл должен выполнится хотя бы 1 раз
readln(a,b,c);
if not((a+b<=c) or (b+c<=a) or (c+a<=b)) then
writeln ('Повторите ввод');
until (a+b<=c) or (b+c<=a) or (c+a<=b);
{...}
repeat //поскольку цикл должен выполнится хотя бы 1 раз
readln(a,b,c);
if not((a+b<=c) or (b+c<=a) or (c+a<=b)) then
writeln ('Повторите ввод');
until (a+b<=c) or (b+c<=a) or (c+a<=b);
{...}