VI.Макроассемблер.
Примечания к заданиям:
- Все повторяющиеся фрагменты должны быть выполнены в виде макросов.
- Вычисления проводятся до пятого знака после запятой.
6-1 Дано натуральное число n. Вычислить: (1-1/22)(1-1/32)(1-1/42)…(1-1/n2)
6-2 Дано натуральное число n. Вычислить: (1-1/22)(1-1/33)(1-1/44)…(1-1/nn)
6-3 Дано натуральное число n. Вычислить: (1-1/2n)(1-1/3n)(1-1/4n)…(1-1/nn)
6-4 Дано натуральное число n. Вычислить: (1-1/2!)(1-1/3!)(1-1/4!)…(1-1/n!)
6-5 Используя разложение в ряд Тейлора найти значение sin(x) с заданной точностью .
6-6. Используя разложение в ряд Тейлора найти значение cos(x) с заданной точностью .
6-7 Используя разложение в ряд Тейлора найти значение ch(x) с заданной точностью .
6-8. Используя разложение в ряд Тейлора найти значение tg(x) с заданной точностью .
6-9 Используя разложение в ряд Тейлора найти значение exp(x) с заданной точностью .
6-10 Используя разложение в ряд Тейлора найти значение ln(x) с заданной точностью .
6-11 Используя разложение в ряд Тейлора найти значение sh(x) с заданной точностью .
6-12 Реализуйте программу умножения двух квадратных матриц размером 4х4, поиск отдельного элемента итоговой матрицы должен быть описан как макрос.
6-13 Дана текстовая строка, состоящая из символов 0..9. Реализуйте программу получения из данной строки соответствующего числа. Нахождение цифры по ее ASCII коду должно быть реализовано в виде макроса.
6-14 Задана строка символов. Напечатать строку из символов, ASCII коды которых получаются прибавлением заданного k к ASCII кодам символов исходной строки. Нахождение ASCII кодов и получение нового ASCII кода должно быть оформлено в виде макросов.
6-15 Задана строка символов. Удалить из этой строки символы, ASCII коды которых превышают заданное k. Нахождение ASCII кодов и сравнение с k должно быть оформлено в виде макросов.
6-16 Задана строка из русских и латинских символов, заменить в ней все латинские буквы на значок “*”, а все русские на “+”, остальные символы заменяются нулями. Нахождение ASCII кодов и определение принадлежности к алфавиту должно быть оформлено в виде макросов.
6-17 Задана строка символов. Посчитать количество, ASCII коды которых лежат в заданном интервале. Нахождение ASCII кодов и проверка принадлежности интервалу должны быть оформлено в виде макросов.
6-18 Дано натуральное число n. Вычислить:
(1-1/2!)(1+1/3!)(1-1/4!)…(1-(-1)n-1/n!)
6-19 Дано натуральное число n. Вычислить:
(1-1/2n)(1+1/3n)(1-1/4n)…(1-(-1)n-1/nn)
6-20 Дано натуральное число n. Вычислить:
(1-1/22)(1+1/33)(1-1/44)…(1-(-1)n-1/nn)
VII.Модульное программирование.
Примечания к заданиям:
- В модуле команды должны быть реализованы в виде макросов.
7-1 Реализовать модуль, подключение которого позволяет осуществлять ввод с клавиатуры символьной строки и вывод на экран символьной строки.
7-2 Реализовать модуль, подключение которого позволяет открывать файл, закрывать файл и выводить содержимое файла на экран. Предусмотреть листинг, если файл большой.
7-3 Реализовать модуль, подключение которого позволяет открывать файл, закрывать файл и читать запись в файле по номеру позиции.
7-4 Реализовать модуль, подключение которого позволяет открывать файл, закрывать файл и делать запись в файле по номеру позиции.
7-5 Реализовать модуль, подключение которого позволяет создавать файл, открывать файл, закрывать файл, и автоматически записывающий в открытый файл его собственное имя.
7-6 Реализовать модуль, подключение которого позволяет производить одной командой следующие пересылки данных:
непосредственный операнд в любой регистр (в том числе сегментный),
m8m8,
m16m16,
r8r8 (r8 - один из байтов любого регистра, а не только общего назначения).
7-7 Реализуйте модуль, подключение которого позволяет запрашивать строку, содержащую действительное число, и преобразовывать его в числовой формат. Модуль должен содержать два макроса: запрос строки через прерывания и преобразование в число.
7-8 Реализуйте модуль, подключение которого позволяет осуществлять форматный вывод действительного числа, то есть целую часть и заданное количество знаков после запятой.
7-9 Реализуйте модуль, содержащий два макроса выделения целой и дробной частирационального числа.
7.10 Реализуйте модуль, подключение которого позволяет вычислять значение выражения «пятизначное число + пятизначное число» вводимого как строка с клавиатуры. Распознавание числа и вывод результата реализуйте как макросы.
7.11 Реализуйте модуль, подключение которого позволяет вычислять значение выражения «пятизначное число * пятизначное число» вводимого как строка с клавиатуры. Распознавание числа и вывод результата реализуйте как макросы.
7.12 Реализуйте модуль записывающий в файл первые пять строк треугольника Паскаля. Операции открытие файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.13 Реализуйте модуль читающий из файла строку длиной 10 символов и записывающий эту строку в обратном порядке в тот же файл. Операции открытие файла, чтение из файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.14 Реализуйте модуль читающий из файла строку длиной 10 символов и проверяющий встречается ли в прочитанной строке заданное с клавиатуры сочетание из трех букв. Операции открытие файла, чтение из файла и закрытие файла реализуйте в виде макросов.
7.15 Реализуйте модуль читающий из файла строку из 10 цифр и подсчитывающий в ней количество инверсий. Операции открытие файла, чтение из файла и закрытие файла реализуйте в виде макросов.
7.16 Реализуйте модуль записывающий в файл сначала русский, а затем латинский алфавит. Причем каждая буква идет два раза, сначала заглавная, потом строчная (Аа Бб и т.д). Операции открытие файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.17 В файле заданы два числа: первый член геометрической прогрессии и ее множитель. Реализуйте модуль записывающий в этот же файл первые N членов геометрической прогрессии. Операции открытие файла, чтение из файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.18 В файле заданы два числа: первый член арифметической прогрессии и ее разность. Реализуйте модуль записывающий в этот же файл первые N членов арифметической прогрессии. Операции открытие файла, чтение из файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.19 В файле заданы два числа. Реализуйте модуль записывающий в этот же файл первые N членов последовательности определяемой рекуррентным соотношением аn+1=an+an-1. Операции открытие файла, чтение из файла, запись в файл и закрытие файла реализуйте в виде макросов.
7.20 Реализуйте модуль, который по вводимому с клавиатуры числу, записывает в файл все его простые делители. Операции открытие файла, запись в файл и закрытие файла реализуйте в виде макросов.