Объяснение
ИнформатикаЗадание 12. Работа с файловой системой
Бесплатно

Разбор задания 12. Файловая система: количество и объём файлов — теория и разбор

Маски имён файлов (* и ?) и перевод байтов в килобайты по степеням двойки — разбор примера и проверка в Python.

Сохранить и продолжить:

Задание 12. Файловая система: количество и объём файлов — теория и разбор

В отличие от задания 11, здесь не нужно ничего читать внутри файлов — только считать сами файлы по маске имени и складывать их размеры.

Что нужно знать

Маска — это шаблон имени файла с двумя специальными символами:

  • * — любая последовательность символов (в том числе пустая);
  • ? — ровно один произвольный символ.

Маска *.docx находит все файлы с расширением .docx, независимо от того, как называется файл до точки. Маска имени файла *.docx и обозначения * и ?

Информационный объём переводится между единицами по степеням двойки, а не десяти:

1 КБ = 1024 байт, 1 МБ = 1024 КБ, 1 ГБ = 1024 МБ.

При подсчёте суммарного объёма группы файлов складываются размеры именно ТЕХ файлов, что подошли под маску — остальные файлы в папке (даже если их видно в списке) в сумму не входят.

Правило перевода: чтобы получить килобайты из байтов, делить на 1024 (а не на 1000) — и так для каждого следующего уровня (МБ, ГБ).

Разбор примера

В архиве «Отчёты» находятся файлы (размер указан в байтах):

ФайлРазмер, байт
otchet1.docx20480
otchet2.docx30720
smeta.xlsx15360
plan.docx10240
foto.jpg51200
notes.txt2048
draft.docx40960

Сколько файлов с расширением .docx содержится в архиве и каков их суммарный информационный объём в килобайтах? Таблица файлов с отбором по маске

Как думать. Сначала отбираем только файлы, подходящие под маску *.docx, игнорируя остальные расширения, затем складываем их размеры и переводим сумму в килобайты делением на 1024.

Показать решение и ответ

Под маску *.docx подходят четыре файла: otchet1.docx, otchet2.docx, plan.docx, draft.docx. Остальные (smeta.xlsx, foto.jpg, notes.txt) не подходят — у них другие расширения.

Суммарный размер: 20480 + 30720 + 10240 + 40960 = 102400 байт.

Переводим в килобайты: 102400 ÷ 1024 = 100 КБ.

Ответ: 4 файла, 100 КБ

Как решить в Python

files = {
    'otchet1.docx': 20480, 'otchet2.docx': 30720, 'smeta.xlsx': 15360,
    'plan.docx': 10240, 'foto.jpg': 51200, 'notes.txt': 2048, 'draft.docx': 40960,
}

docx_files = {name: size for name, size in files.items() if name.endswith('.docx')}

print('Количество:', len(docx_files))              # 4
print('Объём (байт):', sum(docx_files.values()))    # 102400
print('Объём (КБ):', sum(docx_files.values()) / 1024)  # 100.0
Разбор задания 12. Файловая система: количество и объём файлов — теория и разбор

По этой теме

Шпаргалка для задания 12. Файловая система
Бесплатно

Шпаргалка для задания 12. Файловая система

Компактная шпаргалка на 2 страницы по заданию 12 ОГЭ информатики «Файловая система»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 16. Программирование
Бесплатно

Шпаргалка для задания 16. Программирование

Компактная шпаргалка на 2 страницы по заданию 16 ОГЭ информатики «Программирование»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 15. Исполнитель Робот
Бесплатно

Шпаргалка для задания 15. Исполнитель Робот

Компактная шпаргалка на 2 страницы по заданию 15 ОГЭ информатики «Исполнитель Робот»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.

Шпаргалка для задания 14. Электронные таблицы
Бесплатно

Шпаргалка для задания 14. Электронные таблицы

Компактная шпаргалка на 2 страницы по заданию 14 ОГЭ информатики «Электронные таблицы»: формулы, алгоритм решения и разбор примера — держите под рукой при подготовке.