• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

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

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