Нарисовал таблицу: по вертикали фамилии, по горизонтали - специальности. Начал вычеркивать: щапов куприянов - не пилоты, поэтому ставлю "-". Петров куприянов - не штурманы - тоже минусы. Щапов и сошин - не радисты- еще 2 минуса. Сигов и щапов - не синоптики - еще 2 минуса (ну вот тут конечно натяжка с сыном) . Петров и Щапов - не бортмеханики - еще 2 минуса. У щапова осталась одна клетка - штурман. Ставлю в нее крест, а остальным в колонке штурман - нули (ну можно тоже минусы) . Далее - куприянов и сигов - не синоптики - еще минусы (кстати - тут проверка натяжки по сыну в санатории) . У куприянова остается 2 клетки- радист и бортмеханик, но он - не радист, потому что занимается боксом, т. е. он - бортмеханик. ставим крест ему в бортмеханик и 0 - в клетку радист. Сошину и сигову - нули в клетку бортмеханик. Сигов - боксер, поэтому - не радист. Минус в клетку и у него остается только клетка пилот. Нули в клетку пилот петрову и сошину. В столбце радист осталась свободная клетка только у Петрова. Стало быть - сошин - синоптик
Program treyg; uses crt; var x1,y1,x2,y2,x3,y3 : integer; a,b,c,s,p : real; begin write('Введите координаты первой точки: '); Readln(x1,y1); write('Введите координаты второй точки: '); Readln(x2,y2); write('Введите координаты третьей точки: '); Readln(x3,y3); a:=sqrt(sqr(x1-x2)+sqr(y1-y2)); b:=sqrt(sqr(x2-x3)+sqr(y2-y3)); c:=sqrt(sqr(x3-x1)+sqr(y3-y1)); if ((a+b)>c) and ((b+c)>a) and ((c+a)>b) then writeln('Данные координаты не могут являться вершинами треугольника') else begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Площадь треугольника ',s); end end.
Начал вычеркивать: щапов куприянов - не пилоты, поэтому ставлю "-". Петров куприянов - не штурманы - тоже минусы. Щапов и сошин - не радисты- еще 2 минуса. Сигов и щапов - не синоптики - еще 2 минуса (ну вот тут конечно натяжка с сыном) . Петров и Щапов - не бортмеханики - еще 2 минуса. У щапова осталась одна клетка - штурман. Ставлю в нее крест, а остальным в колонке штурман - нули (ну можно тоже минусы) . Далее - куприянов и сигов - не синоптики - еще минусы (кстати - тут проверка натяжки по сыну в санатории) . У куприянова остается 2 клетки- радист и бортмеханик, но он - не радист, потому что занимается боксом, т. е. он - бортмеханик. ставим крест ему в бортмеханик и 0 - в клетку радист.
Сошину и сигову - нули в клетку бортмеханик. Сигов - боксер, поэтому - не радист. Минус в клетку и у него остается только клетка пилот. Нули в клетку пилот петрову и сошину. В столбце радист осталась свободная клетка только у Петрова. Стало быть - сошин - синоптик
uses crt;
var x1,y1,x2,y2,x3,y3 : integer;
a,b,c,s,p : real;
begin
write('Введите координаты первой точки: ');
Readln(x1,y1);
write('Введите координаты второй точки: ');
Readln(x2,y2);
write('Введите координаты третьей точки: ');
Readln(x3,y3);
a:=sqrt(sqr(x1-x2)+sqr(y1-y2));
b:=sqrt(sqr(x2-x3)+sqr(y2-y3));
c:=sqrt(sqr(x3-x1)+sqr(y3-y1));
if ((a+b)>c) and ((b+c)>a) and ((c+a)>b) then
writeln('Данные координаты не могут являться вершинами треугольника')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('Площадь треугольника ',s);
end
end.