Процедуры и функции
-
- Сообщения: 8
- Зарегистрирован: 04 июл 2010, 15:54
Даны отрезки а, b, с, d. Для каждой тройки отрезков, из которых можно построить треугольник, напечатайте площадь данного треугольника. Воспользуйтесь функциями определения возможности создания треугольника и вычисления площади.
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Вот тебе очень похожая задача. Выноси в процедуры и функции.
[syntax="pascal"]
uses crt;
var x_1,x_2,y_1,y_2,x_3,y_3:integer;
s,p,a,b,c:real;
begin
ClrScr;
writeln('Vvedite koordinaty vershin:');
readln(x_1,y_1,x_2,y_2,x_3,y_3);
a:=sqrt(sqr(x_1-x_2)+sqr(y_1-y_2));
b:=sqrt(sqr(x_2-x_3)+sqr(y_2-y_3));
c:=sqrt(sqr(x_1-x_3)+sqr(y_1-y_3));
if (a>=b+c) or (b>=a+c) or (c>=a+b)
then writeln('Nevozmozhno postroit treugolnik!')
else
begin
p:=a+b+c;
s:=sqrt(p/2*(p/2-a)*(p/2-b)*(p/2-c));
writeln('Ploschad: ',s:7:2);
writeln('Perimetr: ',p:7:2);
end;
readln
end.
[/syntax]
[syntax="pascal"]
uses crt;
var x_1,x_2,y_1,y_2,x_3,y_3:integer;
s,p,a,b,c:real;
begin
ClrScr;
writeln('Vvedite koordinaty vershin:');
readln(x_1,y_1,x_2,y_2,x_3,y_3);
a:=sqrt(sqr(x_1-x_2)+sqr(y_1-y_2));
b:=sqrt(sqr(x_2-x_3)+sqr(y_2-y_3));
c:=sqrt(sqr(x_1-x_3)+sqr(y_1-y_3));
if (a>=b+c) or (b>=a+c) or (c>=a+b)
then writeln('Nevozmozhno postroit treugolnik!')
else
begin
p:=a+b+c;
s:=sqrt(p/2*(p/2-a)*(p/2-b)*(p/2-c));
writeln('Ploschad: ',s:7:2);
writeln('Perimetr: ',p:7:2);
end;
readln
end.
[/syntax]
Нет религии выше истины
-
- Сообщения: 8
- Зарегистрирован: 04 июл 2010, 15:54
Ага я запустила её, там вопрос введите координату вершин, и че мне там набирать????
-
- Сообщения: 8
- Зарегистрирован: 04 июл 2010, 15:54
Вот посмотри код программы, но почему то он не работает???????
Program pr1;
var a,b,c,d:real;
procedure tr(x,y,z:real);
label 15,18;
var s,p:real;
begin
if (x<y+z) and (y<x+z) and (z<x+y) then goto 15 else goto 18
15 write('treygolnik so storonami',x,y,z' sushestvurt');
p:=(x+y+z)/2;
s:=sqrt((p*(p-x)*(p-y)*(p-z));
write('ploshad' etogo treugolnika=,s); goto 20
18 write('treugolnik so storonami',x,y,z' ne sushestvuet')
20 end;
begin
write('vvedite a,b,c,d'); read(a,b,c,d);
tr(a,b,c) tr(b,c,d) tr(c,d,a) tr(d,a,b);
end.
Program pr1;
var a,b,c,d:real;
procedure tr(x,y,z:real);
label 15,18;
var s,p:real;
begin
if (x<y+z) and (y<x+z) and (z<x+y) then goto 15 else goto 18
15 write('treygolnik so storonami',x,y,z' sushestvurt');
p:=(x+y+z)/2;
s:=sqrt((p*(p-x)*(p-y)*(p-z));
write('ploshad' etogo treugolnika=,s); goto 20
18 write('treugolnik so storonami',x,y,z' ne sushestvuet')
20 end;
begin
write('vvedite a,b,c,d'); read(a,b,c,d);
tr(a,b,c) tr(b,c,d) tr(c,d,a) tr(d,a,b);
end.
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Мне интересно, а как ты еще хотела задавать отрезки?Budushaya_Programmistka писал(а):Ага я запустила её, там вопрос введите координату вершин, и че мне там набирать????
Программа не работает ибо бред.
И сразу замечание: ЗАКЛЮЧАЙ КОД В ТЭГИ!
На первый раз прощаю, а в следующий раз забаню.
Нет религии выше истины
-
- Сообщения: 8
- Зарегистрирован: 04 июл 2010, 15:54
Извини, больше не буду))))....я поняла просто не до конца программу прочитала....а как теперь туда вставить процедуры и фунции???? Я просто не так уж хорошо умею составлять программы и поэтому не получается....