Пример 3. Создать процедуру, определяющую возможность построения треугольника со сторонами x, y, z

Создать процедуру, определяющую возможность построения треугольника со сторонами x, y, z. Из чисел a,b,c,d выбрать тройки таких, которые позволяют построить треугольник.

Для решения задачи используется «правило треугольника»: каждая сторона треугольника меньше суммы двух других сторон.

Решение:

Program pr3;

Var

a,b,c,d: integer;

Procedure Treug(x, y, z:integer);

Begin

if (x<y+z) and (y<x+z) and (z<x+y)

then writeln (‘Треугольник со сторонами ‘, x, ‘,’, y, ‘,’, z, ’можно построить’)

else writeln(‘Треугольник со сторонами ’ x, ‘,’, y, ‘,’, z, ‘нельзя построить ‘)

End;

Begin {основная программа}

Write('Введите a b c d: '); Readln(a,b,c,d); {ввод исходных данных}

{вызываем процедуру и проверяем возможность построения треугольника со сторонами a,b,c}

Treug(a,b,c);

{вызываем процедуру и проверяем возможность построения треугольника со сторонами a,b,d}

Treug(a,b,d);

{вызываем процедуру и проверяем возможность построения треугольника со сторонами a,c,d}

Treug(a,c,d);

{вызываем процедуру и проверяем возможность построения треугольника со сторонами b,c,d}

Treug(b,c,d);

Readln;

end.

Результат:

Введите a b c d: 1 3 4 5

Треугольник со сторонами 1,3,4 нельзя построить

Треугольник со сторонами 1,3,5 нельзя построить

Треугольник со сторонами 1,4,5 нельзя построить

Треугольник со сторонами 3,4,5 можно построить

Пример 4.

Упорядочить по возрастанию числа A, B, C, создав процедуру обмена значениями 2-х переменных.

Решение:

Program pr4;

Var

A, B, C: real;

Procedure Obmen(Var X,Y:real);

{X,Y являются и входными, и выходными данными}

Var

T: real; { T –вспомогательная переменная}

Begin

T:=X;

X:=Y;

Y:=T;

End;

begin {основная программа}

Write('A, B, C ='); Readln(A,B,C); {ввод исходных данных}

If A>B then Obmen(A,B); {если A больше B, то производим их обмен}

If A>C then Obmen(A,C); {если A больше С, то производим их обмен}

If B>C then Obmen(B,C); {если В больше С, то производим их обмен}

Writeln('A=', A:5:2,' B=', B:5:2,' C=', C:5:2); {вывод результата}

Readln;

end.

Результат:

A, B, C = 6 18 3

A= 3.00 B= 6.00 C= 18.00


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: