Контрольная работа №1. Адресация памяти и коды символов




Используя программу GNU эмулятор работы ЭВМ, напишите программу с циклическим выполнением команд для обработки строк.

Вариант №1. Написать программу для замены первого и последнего символа строки произвольного числа байтов на символ ‘#’. Известно, что строка заканчивается служебным символом 0. Определить число байтов в строке, результат поместить в регистр AL. Вывести исходную строку и преобразованную. По завершению работы программы вывести сообщение «Done!». Проверить работу программы для разного числа байтов.

Вариант №2. Дана строка из произвольного числа символов. Известно, что строка заканчивается служебным кодом }. Написать программу для вывода на консоль первого и последнего байта строки. Обменять местами первый и последний байты строки. Вывести исходную строку и преобразованную. Проверить работу программы для разного числа байтов.

Вариант №3. Написать программу для сравнения двух строк из произвольного числа байтов, которые заканчиваются символом *. Известно, что строки различаются одним байтом. Вывести символ байта. Если строки одинаковые вывести на консоль сообщение «EQ!». Проверить работу программы для разного числа байтов.

Вариант №4. Дана строка с контрольным символом завершения строки ^. Написать программу, которая проверяет нахождение в строке символов «А» или «P». Вывести контрольные сообщения: Y! – есть, N! - нет. Проверить работу программы для разного числа байтов.

Вариант № 5. Задать две строки одинаковой длины, строки заканчиваются контрольным символом %. Переслать содержимое второй строки в первую. Вывести строки до перезаписи и после. В регистр DL поместить число обработанных байтов. Проверить работу программы для разного числа байтов.

 

Вариант №6. Дана строка, которая заканчивается контрольным символом <. Написать программу для замены символов строки на произвольный символ. Вывести исходную строку и преобразованную. В регистре AL вывести число обработанных байтов. Поверить работу программы для разных длин строки.

Вариант №7. Написать программу для замены первой половины символов строки на произвольный символ. В строке используются контрольные символы: $ - разделитель строки, * - конец строки. В регистр AL записать число проведенных замен. Вывести на консоль исходную строку и преобразованную. Проверить работу программы для разной длины строк.

Вариант №8. Написать программу для замены символов “A” строки на произвольный символ. Контрольный символ конца строки!. Вывести на консоль исходную строку и преобразованную. В регистр AL записать число проведенных замен. Проверить работу программы для разной длины строки.

Вариант №9. Написать программу для замены второй половины строки на произвольный символ. В строке используются служебные символы & - разделитель строки, | - конец строки. В регистр BL занести число операций с байтами. Проверить работу программы для разной длины строки.

Вариант №10. Известно, что две строки одинаковой длины имеют общий байт. Написать программу, которая выводит значение этого байта на экран. Строки заканчиваются контрольным символом ]. Проверить работу программы для разной длины строк.

Вариант №11. Дана строка байтов, строка заканчивается контрольным символом }. Заменить каждый второй байт символом ‘*’. Вывести исходную строку и преобразованную. Проверить работу программы для разной длины строк.

Вариант №12. Задать строку, число байтов четно. В строку поместить служебный символ # - признак конца строки. Выделить из строки первую часть и вторую, разделитель строки символ @. Полученные строки вывести на экран, число выведенных байтов записать в регистр BL. Проверить работу программы для разной длины строк.

Вариант №13. Задать строку. Строка заканчивается контрольным символом #. Вывести на экран строку, значение первого и предпоследнего байтов. Вывод производить в три строки. В регистр AL поместить число обработанных байтов. Проверить работу программы для разной длины строк.

Вариант №14. Задать строку с контрольным символом: в качестве признака конца строки и символом ^ - разделителем строки на две части. Вывести строку на консоль. В регистр AL поместить число символов до разделителя, в регистр BL число символов строки после разделителя. Проверить работу программы для разного положения контрольного символа – конца строки.

Вариант №15. Дана строка из произвольного числа символов. Признак конца строки символ «;». Вывести строку на консоль. Выделить из строки каждый второй байт, если он хранит символ отличный от символа A. Значение байтов выводить на консоль. В регистр AL записать число выведенных байтов.

Вариант №16. Дана строка из произвольного числа символов. В строке хранится последовательность из 0 и 1. Символ ^ - признак конца строки. Выделить из строки 0 и 1. На консоль вывести три строки: исходную строку, строку из 0, строку из 1. В регистры DL и CL записать число нулей и единиц. Проверить работу программы для разных комбинаций нулей и единиц.

Вариант №17. Дана строка. В строке используются управляющие коды % - признак конца строки и символы [ ]. Написать программу для поиска символов находящихся внутри пары квадратных скобок. В регистр BL занести число найденных символов, в регистр CL – число обработанных байтов строки. Вывести на консоль строку исходную строку символов и найденные символы. Если число символов в паре квадратных скобок равно нолю, вывести контрольное сообщение «Zero!».

Вариант №18. Дана строка символов латинского алфавита, которая заканчивается контрольным символом &. Написать программу для подсчета числа вхождений гласной U. Вывести контрольные сообщения по следующему правилу:

Zero – нет гласной

One - встречается один раз

Two – встречается два раза

Three – встречается три раза

More – более трех раз

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

Вариант №19. Дана строка, разделенная на сегменты контрольным символом #, символ используется так же как контрольный символ завершения строки. Написать программу для определения числа сегментов в строке. Полученное значение занести в регистр DL. Вывести на консоль исходную строку и построчно символы, находящиеся в сегментах. Проверить работу программы для разного числа байтов строки.

Вариант №20. Дана строка, состоящая из символов латинского алфавита. Признак завершения строки – контрольный символ $. Написать программу, которая выполняет вывод на консоль исходной строки и фильтрованной строки. Правило фильтрации: если выводится символ A, то он заменяется символов ^, если выводится символ E, то он заменяется символом #. В регистр AL занести число операций замены символа A, в регистр BL число операций замены символа E.Проверить работу программы для разного числа байтов строки.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: