• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Не могу прогу написать....

  • Автор темы Guest_
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_

Задание такое: Написать программу, которая моделирует заполнение магнитного диска.
Полный объём 360Кб. Файлы имеют произвольную длину от 18 до 32Кб. Файлы либо записываются либо удаляются.
В начале работы файлы последовательно записываются друг за другом. После удаления файла на пустое место записывается новый(если места не хватает выдаётся авварийное сообщение).Требование на запись и удаление( задаётся в командной строке) которое содержит Имя файла, размер в байтах и признак записи/удаления.Программа должна выдавать сведения о свободных и занятых участках диска.
 
Z

zubr

Можно сделать так:
1. В качестве эмулятора диска создать файл размером 360 Кб.
2. Выделить в начале файла-эмулятора место под файловую таблицу, где должны сохраняться данные о файлах (имя, размер), а также информацию о свободных участках файла (номера байтов).
3. Ваша программа должна будет записывать файлы в файл-эмулятор диска с заголовком, в котором будут указаны имя файла, размер файла, номер байта с которого записан данный кусок файла.
4. При удалении файла, программа должна читать заголовки, чтобы занести номера байт освободившихся участков в файловую таблицу.
5. При записи файла, программа должна вычитывать из файловой таблицы информацию о свободных участках, проверить хватит ли места на этих свободных участках, если да то разместить в них записываемый файл, в противном случае, выдать сообщение о нехватке места.
 
G

Guest_

А как же всё это реализовать в паскале?
 
Z

zubr

Используя файловые функции AssignFile, Reset, Rewrite, Append, Seek, SeekEof, SeekEoln, Read, Write.
 
A

Artexoid

zubr
А я в разговор со своим вопросом впишусь <_< !!
Знаю все функции кроме одной "SeekEoln". Что она делает ???
 
Z

zubr

Artexoid
function SeekEoln [ (var F: Text) ]: Boolean;
Результат функции = True, когда указатель файла находится в конце строки.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!