ЗАДАЧА ПАСКАЛЬ Во входном файле in.txt записаны данные в формате: фамилия, оценка за...

0 голосов
32 просмотров

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


Информатика (154 баллов) | 32 просмотров
0

Могу на Python написать, сойдет?

0

нам сказали именно через паскаль дедать:(

0

да

Дан 1 ответ
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.


Скачать вложение Текст (TXT)
Скачать вложение Текст (TXT)
(150k баллов)
0

БОЛЬШОЕ СПАСИБО