Файловый ввод-вывод, реализация пользовательского интерфейса
Автор: Alexey Iclone • Февраль 18, 2022 • Лабораторная работа • 409 Слов (2 Страниц) • 238 Просмотры
Практика программирования Лабораторная работа №5
«Файловый ввод-вывод, реализация пользовательского интерфейса»
Задача 1.
Разработать программу, моделирующую заполнение виртуального гибкого диска. Общий объем памяти на диске 360 Кбайт. Файлы имеют произвольную длину. В процессе работы файлы либо записываются на диск, либо удаляются с него. В начале работы файлы записываются подряд друг за другом. После удаления файла на диске образуется свободный участок памяти, и вновь записываемый файл либо размещается на свободном участке, либо, если файл не вмещается в свободный участок, размещается после последнего записанного файла. Требуется смоделировать работу следующих команд:
1. dir – выводит список файлов на диске с указанием их размера в байтах
[pic 1]
2. info – выводит информацию о состоянии диска (размер диска, количество свободного места, количество кластеров, размер кластера, количество незанятых кластеров)
[pic 2]
Рисунок 1. Диск пуст
[pic 3]
Рисунок 2. На диске есть файлы
3. copy – записывает файл с именем filename размера size на диск
[pic 4]
5. claster – выдает графическую интерпретацию информации о свободных и занятых кластерах диска
[pic 5]
6. fullclaster - выдает графическую интерпретацию информации о свободных и занятых кластерах диска с детализацией по файлам
[pic 6]
7. del – удаляет файл с именем filename с диска
[pic 7]
8. format – форматирует диск
[pic 8]
Пример работы команды copy
[pic 9]
Рисунок 3. Диск до записи файла file2.dat
[pic 10]
Рисунок 4. Диск после записи файла file2.dat
Пояснения к задаче
1. Хранение информации о файлах, записанных на диск, можно реализовать в тесктовых файлах, по аналогии с таблицей размещения файлов (FAT – File Allocation Table).
.
[pic 11]
Рисунок 5. Список файлов на диске
Диск емкостью 360 Кбайт=368640 Байт – это 720 кластеров по 512 Байт каждый.
...