Предмет: Информатика, автор: ЗНАНА

ЗАДАЧА ПАСКАЛЬ
Во входном файле in.txt записаны данные в формате: фамилия, оценка за русский язык, оценка за математику, оценка за обществознание. Вывести в файл out.txt фамилии учеников, зачисленных в 10 профильный класс (условие зачисления - нет ни одной тройки).

Ответы

Автор ответа: Аноним
0
Пусть строки файла 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.
Приложения:
Автор ответа: Аноним
0
Пожалуйста
Похожие вопросы