Нарисовал таблицу: по вертикали фамилии, по горизонтали - специальности.
Начал вычеркивать: щапов куприянов - не пилоты, поэтому ставлю "-". Петров куприянов - не штурманы - тоже минусы. Щапов и сошин - не радисты- еще 2 минуса. Сигов и щапов - не синоптики - еще 2 минуса (ну вот тут конечно натяжка с сыном) . Петров и Щапов - не бортмеханики - еще 2 минуса. У щапова осталась одна клетка - штурман. Ставлю в нее крест, а остальным в колонке штурман - нули (ну можно тоже минусы) . Далее - куприянов и сигов - не синоптики - еще минусы (кстати - тут проверка натяжки по сыну в санатории) . У куприянова остается 2 клетки- радист и бортмеханик, но он - не радист, потому что занимается боксом, т. е. он - бортмеханик. ставим крест ему в бортмеханик и 0 - в клетку радист.
Сошину и сигову - нули в клетку бортмеханик. Сигов - боксер, поэтому - не радист. Минус в клетку и у него остается только клетка пилот. Нули в клетку пилот петрову и сошину. В столбце радист осталась свободная клетка только у Петрова. Стало быть - сошин - синоптик
Var a,b,c,min,max,s: integer;
begin
write('Ведите числo а '); readln(a);
min:=a; max:=a;
write('Ведите числo b '); readln(b);
if b<min then min:=b;
if b>max then max:=b;
write('Ведите числo c '); readln(c);
if c<min then min:=c;
if c>max then max:=c;
writeln('Сумма min + max = ',min+max);
end.
* - это все возможные названия и форматы
т. е. *. это все возможные названия файлов, и..
.* - это все возможные форматы файлов (exe, txt, dll...)
Итог *.* - все возможные названия файлов и все возможные форматы.