Программа ** Паскале Дан текстовый файл f, каждая строка которого состоит из слов,...

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

Программа на Паскале
Дан текстовый файл f, каждая строка которого состоит из слов, разделённых одним и более пробелами. Записать все строки, в которых количество слов минимально, но больше нуля, в новый файл g.

Можно не писать прогу, но объяснить, что, откуда и зачем. И написать как взаимодействовать с файлами.


Информатика (155 баллов) | 29 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ReadAllLines('Pushkin.txt');
  Writeln('*** Текст в файле ***',NewLine);
  a.Println(NewLine);
  var n:=a.Select(s->s.ToWords.Count).Where(k->k>0).Min;
  a:=ReadLines('Pushkin.txt').Where(s->s.ToWords.Count=n).ToArray;
  WriteLines('Result.txt',a);
  Writeln(NewLine,'*** Новый файл ***',NewLine);
  ReadLines('Result.txt').Println(NewLine)
end.

Пример:

*** Текст в файле ***

Если жизнь тебя обманет,
Не печалься, не сердись!
В день уныния смирись:
День веселья, верь, настанет.

Сердце в будущем живет;
Настоящее уныло:
Всё мгновенно, всё пройдет;
Что пройдет, то будет мило.
   (А.С. Пушкин, 1825)

*** Новый файл ***

Настоящее уныло:

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

Мини-конспект: Как взаимодействовать с файлами

1) Файлы нужно создать (: text)

2.1) Исходный файл нужно открыть для чтения (reset())
2.2) Считывать информацию из файла можно так: (read/readln (файла>, a, b, c...))

3.1) Конечный файл нужно открыть для записи (rewrite())
3.2) Записывать информацию в файл можно так: (write/writeln (файла>, a, b, c...))

4) По окончании работы с файлами их нужно закрыть (close())

(3.8k баллов)
0

Если честно, пока не сильно это почувствовал. По-привычке, пишу на FPC

0

*на всяких там заумных олимпиадах, но в основном локальных

0

Я не спорю, что ABC.Net актуальнее всяких FPC и BP, и я скорее бы писал на именно на ABC.Net, однако не всегда есть такая возможность (пример: ВОШ по программированию в этом году). Потому, приходится переходить на C#, Python, Java и т.п.