Пусть строки файла in.txt имеют видФАМИЛИЯ X Y Zгде X,Y,Z - оценки.
1. Современное решение в пять строчек (по сути - один оператор)// PascalABC.NET 3.3, сборка 1540 от 16.09.2017// Внимание! Если программа не работает, обновите версию!begin WriteAllText('out.txt',ReadLines('in.txt'). Select(s->s.Split).Where(x->(x[1]<>'3') and (x[2]<>'3') and (x[3]<>'3')). Select(x->x[0]).JoinIntoString(NewLine))end.
2. Классическое "школьное решение" в стиле языка Турбо Паскаль тридцатилетней давностиvar s,f:string; p:integer; f1,f2:Text;begin Assign(f1,'in.txt'); Assign(f2,'out.txt'); Reset(f1); Rewrite(f2); while not Eof(f1) do begin Readln(f1,s); p:=Pos(' ',s); f:=Copy(s,1,p-1); if (s[p+1]<>'3') and (s[p+3]<>'3') and (s[p+5]<>'3') then Writeln(f2,f) end; Close(f1); Close(f2)end.