Методичка по Системному программированию (лабораторные работы с 3 по 6) (551680), страница 3
Текст из файла (страница 3)
Восьмеричные и десятичные коды символов АЗСП и содержимое файла ЗР152.ОАТ даны в приложениях 1 и 2. Варианты задания 2: 1 Дополнить двусвязный список, дескриптор которого указывает на адрес 2, элементом с символом «-» между 3-м и 4-м элементами списка. Вывести содержимое информационных полей полученного списка в виде строки символов, начиная с последнего элемента. 19 2. Создать новый двусвязный список, информационные поля которого содержат символы слова «ДРАЙВЕР». Вывести содержимое сформированного массива и содержимое сформированного списка (информационных полей и полей указателей), начиная с последнего элемента.
3. Удалить двусвязный список, дескриптор которого указывает на адрес 25. Вывести содержимое сформированного массива. 4. Определить все элементы, не относящиеся ни к одному списку (дескрипторы списков содержат прямые адреса 1,2,25,30) и не помеченные как свободные. Перевести эти элементы в разряд свободных и вывести их адреса. 5. Удалить из двусвязного списка, дескриптор которого указывает на обратный адрес 39, пятый элемент списка. Вывести содержимое списка в виде строки символов, начиная с последнего элемента.
6. Определить все элементы, не относящиеся ни к одному списку (дескрипторы списков содержат обратные адреса 20,15,39, 33) и не помеченные как свободные. Перевести эти элементы в разряд свободных и вывести их адреса. 7. Дополнить двусвязный список, дескриптор которого указывает на обратный адрес 20, элементом с символом «-» между 3-м и 4-м элементами списка. Вывести содержимое информационных полей полученного списка в виде строки символов. 6.4. Пример реализации функций ввода-вывода на языке РОКТКАг!-1Ч (ЭВМ «Электроника МС0585») а) Для односвязных списков . Скопировать файл данных ЗР!81.!)АТ в рабочий файл данных: .СОРУ ЗР181.ОАТ $03519.ОАТ где 803519 - имя программы пользователя на языке РОКТКАХ-1Ч.
Пе- ред запуском программы необходимо дать назначение: .АЯ 803519.ОАТ 1 Затем оттранслировать и запустить программу, содержащую фрагменты, аналогичные следующим: ВУТЕ А(2,50),В(50),О(4) !Массив, резервирующий область С памяти структур, выходной массив, массив дескрипторов ПАТА П/1,2,25,30/ !Значения дескрипторов ЕЕАО (1,1) А !Загрузить начальное содержимое 1 РОЕМАТ (2003) ! области списков ТУРЕ 2,А !Вывести на экран начальное со- 2 РОЕМАТ (10(Х,А1,Х,12)) !держимое области списков А(1,10) ='Д' А(1,11) = «103 !Занести в информационныс поли !элементов списка коды символов !«Д» и «С» (103 ) С Здесь в массиве «В» формирустся последовательность информв~!и- С онных полей требуемого списка.
19 — длина списка %ИТЕ (6,3) (В(1),1=1,14) !Вывод содержимого информационного 3 РОКМАТ ('-~-',А1,$) !поля списка длиной 19 %ИТЕ (6,") !Перевести строку для след. списка где 803519 - имя программы пользователя на языке РОККА!4-1Ч. Перед запуском программы необходимо дать назначение .АЗ 803519.0АТ 1 Затем оттранслировать и запустить программу, содержащую фрагмен- ты, аналогичные следующим: ВУТЕ А(3,50),В(50),Р(4) !Массив, резервирующий область С памяти структур, выходной массив, массив дескрипторов ПАТА Р/1,2,25,30/ !Значения дескрипторов АЛЕЛО (1,1) А !Загрузить начальное содержнмос 1 РОКМАТ (2003) ! области списков ТУРЕ 2,А !Вывести на экран начальное со- 2 РАМАТ (10(Х,А1,Х,12,Х,12)!держимое области списков А(1, 10) ='Д' А(1,11) =«103 !Занести в информационные поля ! элементов списка коды символов ! «Д» и «С» (103в) С Здесь в массиве «В» формируется последовательность информаци- С онных полей требуемого списка.
14 — длина списка. %ИТЕ (6,3) (В(1),1=1,19) !Вывод содержимого информационного 3 РОКМАТ ('+',А1Д) !поля списка длиной 19 %ИТЕ (6,*) !Перевести строку для след. списка б) Для двусвязных списков. Скопировать файл данных ЗР182.ОЛТ в рабочий файл данных: .СОРУ ЗР182.ОАТ 803519.0АТ 20 2! ПРИЛОжКНИК 2 Содержимое файла давних ВР13!.ВАТ Содержимое Файла данама БР1$2ЛЫТ Примечание. Значения числовых полей даны в десятичной си- стеме счисления.
Символ «» обозначает пробел. .