Работа с текстовыми файлами - PascalABC.NET (251669)

Узнай цену своей работы

Формулировка задачи:

1. Вывести на экран и в новый файл все символы исходного файла, предшествующие первой запятой. Предусмотреть случай, что запятой может не быть в файле. 2. Дан файл, содержащий произвольный текст. Определить, чего в нем содержится больше: русских букв или цифр. Результат записать в новый файл. Подобного решения не нашел. Не вдупляю задание 2 даже близко. В первом хожу вокруг да около, получается выводить только все слова ПОСЛЕ всех запятых. Пока получается что-то в таком роде :
null
Подобным способом вроде получается проверить нужный символ в файле и закончить проверку после 1 символа.
null
можно ли знаки вот так, через константу объявлять?
null

Решение задачи: «Работа с текстовыми файлами»

textual
Листинг программы
begin
  writeln(Arr('Русских букв больше.', 'Русских букв и цифр поровну.', 'Цифр больше.')
          [Sign(ReadAllText(ReadLnString('Имя файла:'), Encoding.UTF8).Aggregate(0, (s, ch) -> s + (ch.ToLower in ['а' .. 'я'] ? -1 : (ch in ['0' .. '9'] ? 1 : 0)))) + 1])
end.

Объяснение кода листинга программы

  1. Программа запрашивает у пользователя имя файла с помощью функции ReadLnString.
  2. Затем происходит чтение содержимого файла с помощью функции ReadAllText, указав имя файла и кодировку Encoding.UTF8.
  3. Результат чтения файла передается в функцию Aggregate, которая принимает начальное значение (в данном случае 0), а также лямбда-выражение, которое определяет порядок обработки каждого символа текста.
  4. Внутри лямбда-выражения происходит проверка, является ли символ русской буквой (ch.ToLower in ['а' .. 'я']). Если это так, то к результату добавляется -1.
  5. Если символ является цифрой (ch in ['0' .. '9']), то к результату добавляется 1.
  6. Если символ не является ни русской буквой, ни цифрой, то к результату добавляется 0.
  7. Результат функции Aggregate используется в функции writeln вместе с тремя строками, которые предварительно выводятся на экран.
  8. Последний параметр функции writeln - это значение, полученное на шаге 7, увеличенное на 1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы