• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

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

  • Автор темы 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, когда указатель файла находится в конце строки.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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