русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Контрольная работа по теме №3


Дата добавления: 2015-06-12; просмотров: 511; Нарушение авторских прав


Задание 3.1 Пусть задан одномерный массив IntVec, имитирующий таблицу векторов прерываний – специальную структуру данных, организуемую в памяти ПК и содержащую множество векторов прерываний - адресов программ обработки прерываний, записанных в так называемой сегментной форме. Векторы прерываний расположены в таблице в порядке возрастания соответствующих им номеров прерываний [2]. Элементами массива IntVec являются целочисленные скаляры, каждая пара соседних элементов определяет один адрес: младший (четный) элемент представляет смещение, а старший (нечетный) элемент - номер сегмента.

Разработать пользовательскую функцию, получающую массив IntVec и номер прерывания N, и возвращающую вектор прерывания, соответствующий его номеру.

Результат представить в форме:

Вариант 1: двухэлементного вектора, в котором первый элемент – номер сегмента, а второй – смещение;

Вариант 2: числового скаляра, представляющего линейный адрес, соответствующий найденному в массиве сегментному адресу;

Вариант 3: строки данных, представляющей сегментный адрес номером сегмента и величиной смещения, разделенных двоеточием.

Задание 3.2 Пусть заданы три массива: матрица PAR, вектор FAT и матрица DIR, имитирующие (с некоторыми непринципиальными упрощениями) структуру системной области логического диска, реализованную в FAT-ориентированных файловых системах [2].

Матрица PAR (рисунок 25) представляет таблицу параметров формата диска: первый столбец содержит наименования параметров (скаляры строкового типа), а второй - значения соответствующих параметров (целочисленные скаляры). Параметр B_sect – размер сектора в байтах, S_clust – размер кластера в секторах, All_clust – общее количество кластеров, Max_dir – максимальное число регистрационных записей в каталоге.

Вектор FAT представляет таблицу расположения файлов, основное назначение которой – хранение информации о номерах кластеров, занятых файлами. Длина этого вектора задается значением параметра All_clust матрицы PAR. Каждый элемент вектора FAT может быть скаляром числового типа и содержит информацию о кластере с таким же номером. Если FATk = 0, то k-й кластер считается свободным; если FATk содержит любое другое допустимое число, то это число – номер следующего кластера, занятого файлом; если FATk содержит число 777777, то k-й кластер является последним в цепочке кластеров, занятых файлом; если FATk содержит число -1, то k-й кластер считается недоступным ("сбойным").



Матрица DIR (рисунок 26) представляет каталог – структуру данных, содержащую регистрационные записи о файлах. Первая строка матрицы – это заголовок, содержащий имена полей регистрационных записей (строковые скаляры), а остальные строки – это регистрационные записи, содержащие значения полей (целочисленные или строковые скаляры). Число строк в матрице DIR задается значением параметра Max_dir матрицы PAR. Для "пустых" строк матрицы DIR элемент Name содержит символ "*", два других элемента - нули.

Поле Name содержит имя файла, поле Size – размер файла в байтах, а поле Clust – номер начального кластера в цепочке кластеров, занятых соответствующим файлом.

Разработать группу пользовательских функций, обеспечивающих:

Вариант 1: определение размера кластера в байтах;

Вариант 2: определение информационной емкости диска в мегабайтах;

Вариант 3: поиск номера начального кластера по имени файла;

Вариант 4: поиск имени файла по номеру начального кластера;

Вариант 5: поиск в массиве DIR по заданному имени файла (name) любого из двух других параметров, указанного пользователем;

Вариант 6: определение количества кластеров, необходимых для хранения файла заданного размера;

Вариант 7: определение количества кластеров, занятых файлом;

Вариант 8: определение количества свободных кластеров на диске;

Вариант 9: определение количества "сбойных" кластеров на диске;

Вариант 10: проверку возможности размещения файла заданного размера на логическом диске;

Вариант 11: определение цепочки номеров кластеров, занятых файлом.



<== предыдущая лекция | следующая лекция ==>
Контрольная работа по теме №2 | Контрольная работа по теме №4


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.106 сек.