Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



1. Разработать подпрограмму, которая заменяет все точки во введенной строке на запятые. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) выводит строки, выполнив в них указанные замены.

2. Разработать две подпрограммы, одна из которых сравнивает две строки по лексикографическому порядку, а другая обменивает значения двух строк. Разработать программу, которая вводит с клавиатуры шесть строк и сортирует их в порядке, обратном лексикографическому.

3. Разработать подпрограмму, которая преобразует заданное двоичное число в шестнадцатеричную систему счисления. Разработать программу, которая вводит с клавиатуры строку двоичных цифр и выводит на экран её эквивалент в шестнадцатеричной системе счисления. Если строка не является числом, то сообщает об этом.

4. Разработать подпрограмму, которая определяет, сколько раз символ «ю» стоит после символа «у» в заданной строке. Разработать программу, которая вводит с клавиатуры две строки и определяет, различное ли число раз символ «ю» в этих строчках стоит после символа «у». Выведите соответственно «Да» или «Нет».

5. Разработать подпрограмму, которая удаляет из строки все пробелы перед и после знака тире «-». Разработать программу, которая вводит с клавиатуры строку и выводит ее без лишних пробелов.

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

7. Разработать подпрограмму, которая определяет, сколько содержится шестнадцатеричных цифр (в формате XХh) во введенной строке. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и выводит ту, в которой содержится меньше шестнадцатеричных цифр.

8. Разработать подпрограмму, которая убирает все пробельные символы (пробелы и табуляции) вначале строки. Разработать программу, которая вводит с клавиатуры три строки и выводит их без пробелов вначале.

9. Разработать подпрограмму, которая определяет, сколько раз содержатся последние две буквы заданной строки в другой заданной строке. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и выводит ту, в которой содержится больше всего последних двух букв из первой введенной строки.

10. Разработать две подпрограммы, одна из которых преобразует любую заданную букву в заглавную (для английских букв), а другая преобразует букву в строчную. Разработать программу, которая вводит с клавиатуры строку и замещает все строчные буквы, стоящие на нечетных позициях заглавными, а заглавные, стоящие на нечетных позициях – строчными.

11. Разработать две подпрограммы, одна из которых заменяет все буква «к» на нечетных местах в заданной строке на буквы «и», а другая выполняет обратное действие. Разработать программу, которая вводит с клавиатуры число N, затем вводит несколько строк (конец ввода пустая строка) и в строке, длина которой равна N символов – заменяет буквы «к» на нечетных позициях на буквы «и», для остальных строк выполняет обратное действие.

12. Разработать подпрограмму, которая определяет, сколько символов «я» содержится в заданной строке. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и выводит номер той строки, в которой содержится столько же символов «я», сколько и во второй строке.

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

14. Разработать подпрограмму, которая преобразует заданное восьмеричное число в шестнадцатеричную систему. Разработать программу, которая вводит с клавиатуры строку, состоящую из восьмеричных цифр, и выводит на экран её эквивалент в шестнадцатеричной системе. Если строка не является двоичным числом, то сообщает об этом.

15. Разработать подпрограмму, которая каждой букве ставит в соответствие ее ASCII код. Разработать программу, которая вводит с клавиатуры строку и выводит через числа, кодирующие введённую строку символов (каждое число с новой строки).

16. Разработать подпрограмму, которая определяет, сколько содержится в заданной строке пробельных символов после знака «.». Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и выводит только те, в которых нет пробелов после точки.

17. Разработать две подпрограммы, одна из которых заменяет все цифры на пробелы, другая – удаляет лишние пробелы (между словами все пробельные символы заменяются на один). Разработать программу, которая вводит с клавиатуры строку и удаляет все цифры из нее, заменяя на все подряд идущие на один пробел.

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

19. Разработать подпрограмму, которая определяет, сколько гласных букв в строке (для русского текста). Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и выводит номер той, гласных в которой столько же, сколько и в первой строке.

20. Разработать подпрограмму, которая подсчитывает, сколько раз символ «п» встречается в строке. Разработать программу, которая вводит с клавиатуры строки (конец ввода – пустая строка) и число N и выводит строки, в которых символов «п» ровно в два раза больше N.

21. Разработать подпрограмму, которая преобразует заданное десятичное число в систему счисления с основанием N (N – вводится с клавиатуры). Разработать программу, которая вводит с клавиатуры строку десятичных цифр и выводит на экран её эквивалент в системе счисления с основанием N. Если строка не является числом, то сообщает об этом.

22. Разработать подпрограмму, которая заменяет все сочетания «ку» на «мур». Разработать программу, которая вводит с клавиатуры строку и выводит ее с указанными изменениями.

23. Разработать две подпрограммы, одна из которых преобразует любую заданную русскую букву в ее ASCII код, записанный в двоичной системе счисления. Разработать программу, которая вводит с клавиатуры строку и выводит с новой строки двоичное представление ASCII кода каждого ее символа.

24. Разработать подпрограмму, которая заменяет все символы «w» во введенной строке на знаки табуляции. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода – пустая строка) и число N и выводит строки, длина которых в три раза больше N, произведя в них указанные преобразования.

25. Разработать две подпрограммы, одна из которых находит второе вхождение буквы «т» в строке, а другая – обрезает строку с указанной позиции и до конца. Разработать программу, которая вводит с клавиатуры несколько строк (конец ввода пустая строка) и выводит их до второго вхождения буквы «т».

Контрольные вопросы

1. Что такое «ближние» и «дальние» подпрограммы?

2. Как определить «ближний» или «дальний» вариант команды call использован в программе?

3. Какие способы используются для передачи параметров в подпрограммы?

4. Может ли массив быть параметром подпрограммы?

5. Можно ли использовать для чтения из стека параметров регистр sp вместо bp?

6. Что означает операнд команды ret?

7. Какой последовательностью команд можно заменить команду ret 8?


Лабораторная работа №7 «Обработка прерываний»

Цель работы: изучить дополнительные сведения о структуре DOS и BIOS, научиться использовать прямое обращение к памяти, буфер клавиатуры и значение системного таймера при написании программ на языке Ассемблер.

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





Дата публикования: 2014-11-28; Прочитано: 705 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...