Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Примеры задач СПС 2014

.doc
Скачиваний:
8
Добавлен:
27.03.2015
Размер:
33.79 Кб
Скачать

Задачи по курсу "Системные программные средства"

Задание 1

Задать в памяти массив четырехбайтовых целых чисел со знаком. Количество чисел автоматически определяется в виде константы по числу инициализирующих значений в директиве определения переменной.

Вычислить восьмибайтовую сумму чисел. Вычесть из суммы максимальное из исходных чисел. Результат записать в память. Контролировать переполнения.

Задание 2

Задать в памяти массив многозначных десятичных чисел со знаком, представленных в виде строк десятичных цифр (возможно, разной длины). В перевести числа в упакованный формат и найти из них максимальное. Результат вывести на экран.

Задание 3

Написать программу по следующему алгоритму:

- очищается экран,

- в верхней строке экрана выводится произвольная строка символов,

- курсор устанавливается в начало строки

- вводится один символ с клавиатуры. Если текущий символ на экране

(над курсором) совпадает с введенным, то он заменяется на пробел.

- курсор перемещается по строке в следующую позицию

- при достижении конца строки все оставшиеся в строке символы смещаются влево (из строки удаляются пробелы)

- цикл повторяется до тех пор, пока в верхней строке не останется символов.

Задание 4

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

Задание 5

Написать макрокоманду инициализации массива из N одинаковых элементов. Аргументы макрокоманды: имя массива, его тип, количество элеменотв N и инициализирующее значение. В теле макрокоманды контролировать правильность заданных фактических параметров.

По умолчанию принимается тип WORD и значение 0.

Описать допустимые типы фактических параметров.

Привести пример использования макрокоманды в программе.

Задание 6

Написать процедуру сортировки массива четырехбайтовых элементов.

Адрес массива и число элементов передаются через стек.

Оформить процедуру в отдельном модуле с полными директивами сегментации для компоновки с самостоятельной головной программой. Изобразить на рисунке состояние стека при обращении к параметрам.

Написать головную программу, вызывающую процедуру сортировки массива.

Задание 7

Написать программу, в которой формируется последовательность двухбайтовых чисел x(i) (i=0,1…N) по алгоритму

x(i+1) = ax(i)-bx(i-1)

при заданных начальных значениях x(0), x(1) и коэффициентах a и b.

Найти максимальное значение в последовательности.

Контролировать переполнения.

Изобразить состояние стека при вызове процедуры.

Задание 8

Написать макрокоманду, в которой производится поиск заданного

слова в прямоугольной области экрана. Через аргументы в макрокоманду передаются координаты области экрана и заданное слово, а возвращаются координаты найденного слова или признак его отсутствия на экране.

По умолчанию поиск делать на всем экране.

Оформить программу с применением макрокоманды. Описать допустимые типы фактических аргументов.

Задание 9

Написать макрокоманду, которая выполняет сложение или вычитание матриц размерности (m x n). Адреса массивов, размерности и тип операции передаются через аргументы. В макрокоманде контролируются типы фактических аргументов.

С использованием макрокоманды составить программу, которая вычисляет среднее значение кодов символов в каждом столбце экрана.

Задание 10

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

Написать программу с вызовом данной процедуры.

Задание 11

Написать процедуру поиска в заданной области физической памяти заданной последовательности байтов. Адреса области памяти и последовательности байтов передаются в процедуру через стек, а возвращается признак результата поиска.

Написать программу с использованием процедуры для поиска строки символов «AWARD» в начальном сегменте физической памяти. По результату поиска вывести на экран сообщение.

Изобразить на рисунке состояние стека при обращении к параметрам процедуры.