
- •Напишите программу, которая запрашивает у пользователя имя (максимум 10 символов) и затем трижды признаётся пользователю в любви.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран. Выполните трассировку программы.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, вводящую строку запроса и ожидающую ответ. В зависимости от ответа “y” или “n” вывести на экран ту или иную строку. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку. Количество вводимых букв ограничьте программно. Выполните трассировку программы.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Ввести с клавиатуры натуральное число. Найти сумму его первой и последней цифры и вывести на экран. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран, предварительно изменив заглавные английские буквы на строчные. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран в pамке. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку str1. Необходимо скопировать в строку str2 последний символ из str1 три раза. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую каждое слово в отдельной строке. Выполните трассировку программы.
- •Напишите программу, запрашивающую у оператора строку, а затем выводящую символы введенной строки на экран в обратном порядке. Выполните трассировку программы.
- •Ввести с клавиатуры натуральное число. Поменять порядок следования цифр в числе и вывести на экран.
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Напишите программу, которая вводит с клавиатуры слово и выводит слово лесенкой, уменьшая длину на один символ.
- •Оформите ввод пароля в рамке. Рамка расширяется при вводе символов. Для рисования рамки используйте коды символов:
- •Дополните программу: ввод пароля пока не будет введено правильное слово. При каждом неверном вводе выводите сообщение об этом.
- •Дополните программу. При верном вводе пароля он появляется на экране через временную задержку разного цвета.
- •Дополните программу. Введите строку текста и выведите его по буквам в режиме телетайпа разными по цвету буквами.
- •Дополните программу: вводите пароль 3 раза, каждый раз после ввода отображайте введенное слово и сообщайте верно или неверно введен пароль. Затем выход в dos.
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в правом верхнем углу выводите сообщение «Ха-ха, Вы ошиблись!!!»
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в правом нижнем правом углу выводите сообщение «Ха-ха, Вы ошиблись!!!»
- •Дополните программу: измените цвет выводимых на экран символов и при неверном вводе пароля в центре экрана выводится сообщение «Ха-ха, Вы ошиблись!!!»
- •Введите две строки. В случае если они одинаковые. Выводится сообщение о том что строки совпали, в противном случае выводится сообщение, о том что строки не совпадают.
- •Напишите программу, которая получает строку и слово. С помощью макроса определить входит ли данное слово в строку.
- •Напишите программу, в которой вводятся целые числа а, b. Напишите макрокоманду определения min.
- •Напишите программу, в которой вводятся целые числа c, d. Напишите макрокоманду определения max.
- •Напишите программу, в которой вводятся целые числа а, b, c, d. Найти max{min(a, b), min(c, d)}, для чего написать макрокоманды определения max и min.
- •Вывести на экран своё имя, фамилию и группу, используя макрокоманду.
- •Написать программу, которая спрашивала бы сокращенное имя, а печатала бы полное. В случае незнакомого имени – печатать "я с Вами не знакома".
- •Int 21h ; Вызов 21 прерывания dos
- •Int 21h ; Вызов 21 прерывания dos
- •Ввести с клавиатуры натуральное число. Проверить будут ли его цифры все различны. Вывести на экран сообщение. Преобразование строки в число производить в макрокоманде.
- •Ввести с клавиатуры два натуральных числа. Проверить есть ли у них одинаковые цифры. Если да, вывести их на экран. Преобразование строки в число произвести с помощью макрокоманды
- •Напишите программу, в которой вводится массив целых чисел. С помощью макроса отсортируйте массив любым известным алгоритмом.
- •Дана длина ребра куба. Найти площадь грани.
- •Дана длина ребра куба. Найти площадь полной поверхности этого куба.
- •Дана длина ребра куба. Найти объем этого куба.
Л/р №2
Напишите программу, которая запрашивает у пользователя имя (максимум 10 символов) и затем трижды признаётся пользователю в любви.
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin: call start
message db 'Dobri den, vvedite svoe imia: ', '$'
message2 db 13,10,'I love you!!! ','$'
string label byte ;Список параметров
symb db 19 ;Максимальная длина
real db ? ;Реальная длина
all db 20 dup (?),'$' ; Введенные символы
start proc near
mov ah, 00h ;Установка видеорежима
mov al, 03h ; Стандартный цветной текст 80х25
int 10h
mov dh, 01 ; Установка позиции курсора
mov dl, 01
mov bh, 00
mov ah, 02h ; Вызов функции установки курсора
int 10h
mov ah, 09h ; Вызов функции вывода
lea dx, message ; Загрузка адреса строки сообщения
int 21h ; Вызов 21 прерывания DOS
lea dx, string ; Загрузка адреса списка параметров
mov ah, 0ah ; Запрос функции ввода
Int 21h ; Вызов 21 прерывания dos
mov dh, 03 ; Установка позиции курсора
mov dl, 01
mov bh, 00
mov ah, 02h ; Вызов функции установки курсора
int 10h
mov cx, 3 ; цикл
povtor:
lea dx, message2 ; добавляю
mov ah, 09h ; Запрос функции ввода
Int 21h ; Вызов 21 прерывания dos
mov bl,real ; Поместить указатель на конец строки
mov bh,00
mov all[bx],'$'
lea dx, string+2
mov ah, 09h
Int 21h ; Вызов 21 прерывания dos
loop povtor
mov ah,4ch ; Выход в DOS в 21 прерывании
int 21h
Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран. Выполните трассировку программы.
codesg segment para 'code'
assume cs:codesg, ds:codesg, ss:codesg, es:codesg
org 100h
begin: call start
message db 'Vvedite stroky: ', '$'
string label byte ;Список параметров
symb db 19 ;Максимальная длина
real db ? ;Реальная длина
all db 20 dup (?),'$' ; Введенные символы
start proc near
mov ah, 00h ;Установка видеорежима
mov al, 03h ; Стандартный цветной текст 80х25
int 10h
mov dh, 01 ; Установка позиции курсора
mov dl, 01
mov bh, 00
mov ah, 02h ; Вызов функции установки курсора
int 10h
mov ah, 09h ; Вызов функции вывода
lea dx, message ; Загрузка адреса строки сообщения
Int 21h ; Вызов 21 прерывания dos
lea dx, string ; Загрузка адреса списка параметров
mov ah, 0ah ; Запрос функции ввода
Int 21h ; Вызов 21 прерывания dos
mov dh, 03 ; Установка позиции курсора
mov dl, 01
mov bh, 00
mov ah, 02h ; Вызов функции установки курсора
int 10h
mov bl,real ; Поместить указатель на конец строки
mov all[bx],'$'
lea dx, string+2
mov ah, 09h