User Tools

Site Tools


Sidebar






Old

project_3_sergeenkov

Чекер для работы с файловой системой - вычисление выражения

Задача

Общая постановка задачи

Задана иехархия папок и файлов по следующим правилам:

  • Название папок может быть только “add” или “mul”
  • В папках могут находиться другие вложенные папки и/или текстовые файлы
  • Текстовые файлы имеют произвольное имя с расширением .txt
  • Содержимое текстовых файлов представляет собой строку, в которой через пробел записано некоторое количество целых чисел

Требуется написать программу, которая запускается в корневой дирректории, содержащей одну папку с именем “add” или “mul”, вычисляет и выводит на экран результат выражения состоящего из чисел в поддиректориях по следующим правилам:

  1. Если в папке находится один или несколько текстовых файлов, то математическая операция определяемая названием папки (add = сложение, mul = умножение) применяется ко всем числам всех файлов в этой папке
  2. Если в папке находится еще одна или несколько папок, то сначала вычисляются значения выражений, определяемые ими, а после используются уже эти значения

Пример

(Программа в момент запуска находится в дирректории root)

file.txt: 1 file1.txt: 10 file2.txt: 2 2 file3.txt: 7 file4.txt: 1 2 3 file5.txt: 3 -1

Решение:

226

Выражение в данном случае имеет вид:

(((1+1))+((1+2+3+3+-1)*7*2*2))
project_3_sergeenkov.txt · Last modified: 2020/08/27 09:51 (external edit)