Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2022, 18:10   #1
ckasa4396
Новичок
Джуниор
 
Регистрация: 27.09.2022
Сообщений: 1
По умолчанию Помогите сделать лабораторную работу.

Целой переменной h присвоить третью с конца цифру в записи положительного
целого числа k.
* Определить, может ли окружность радиуса R пройти прямоугольное отверстие со
сторонами a, b.
* Рассчитайте 𝑦 = 𝑛(𝑛 + 1)/2 , где n – произвольное целое число, вводимое из
клавиатуры;
* Рассчитайте
𝑧1 = cos 𝛼 + sin 𝛼 + 𝑐𝑜𝑠 3𝛼 + sin 𝛼
𝑧2 = 2√2 cos 𝛼 ∙ sin(
𝜋
4
+ 2&#120572
* Выполнить задание 5 (страница 20) согласно варианту по таблице 1.
ckasa4396 вне форума Ответить с цитированием
Старый 27.09.2022, 18:37   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от ckasa4396 Посмотреть сообщение
Целой переменной h присвоить третью с конца цифру в записи положительного
целого числа k.
Код:
format ELF
entry $
mov eax, 3
xor ebx, ebx
lea ecx, [number_buffer]
mov edx, number_buffer.Length
int 128 ; Вызов функции ввода из консоли
test eax, eax
js error_input ; Функция ввода вернула код ошибки
mov ebx, ecx
mov ecx, eax
@@:
mov dl, [ebx + ecx - 1]
sub dl, '0'
cmp dl, 10
sbb dl, dl
loopnz @b ; Петля проверки ввода (ввели число)
test dl, dl
jnz error_input ; Введено не число
lea edx, [h]
mov cl, [ebx + eax - 3]
mov [edx], ecx ; Присвоили переменной h
mov eax, 1
xor ebx, ebx
int 128
segment readable writeable
h rd ?
number_buffer rb 64
number_buffer.Length = $ - number_buffer
Цитата:
Сообщение от ckasa4396 Посмотреть сообщение
* Определить, может ли окружность радиуса R пройти прямоугольное отверстие со сторонами a, b.
Код:
format ELF
entry $
call @f
mov eax, 1
xor ebx, ebx
int 128
@@:
mov eax, [a]
mov edx, [R]
cmp eax, [b]
cmovg eax, [b]
add edx, edx
cmp eax, edx
mov eax, 4
mov ebx, 1
jc @f
lea ecx, [otvet0]
mov edx, otvet0.Length
int 128
retn

otvet0 db 'Окружность проходит через отверстие'
otvet0.Length = $ - otvet0

@@:
lea eсx, [otvet1]
mov edx, otvet1.Length
int 128
retn

otvet1 db 'Окружность не проходит через отверстие'
otvet1.Length = $ - otvet1

segment readable writeable
a dd 10
b dd 20
R dd 25
Цитата:
Сообщение от ckasa4396 Посмотреть сообщение
* Рассчитайте �� = ��(�� + 1)/2 , где n – произвольное целое число, вводимое из клавиатуры;
Код:
format ELF
entry $
mov eax, [n]
imul eax
add eax, [n]
adc edx, 0
shrd eax, edx, 1
shr edx, 1
mov dword [y + 0], eax
mov dword [y + 4], edx
mov eax, 1
xor ebx, ebx
int 128

n dd 512

segment readable writeable
y rq ?
Цитата:
Сообщение от ckasa4396 Посмотреть сообщение
* Рассчитайте
��1 = cos �� + sin �� + ������ 3�� + sin ��
��2 = 2√2 cos �� ∙ sin(
��
4
+ 2��)
Код:
format ELF
entry $
fld [��]
fld st0
fadd st0, st0
fadd st0, st1
fcos
fxch st1
fsincos
faddp st2, st0
fadd st0, st0
faddp st1, st0
fstp [z1]
mov eax, 1
xor ebx, ebx
int 128

�� dd 0.05

segment readable writeable
z1 rd 1
Код:
; формула не читается
Цитата:
Сообщение от ckasa4396 Посмотреть сообщение
* Выполнить задание 5 (страница 20) согласно варианту по таблице 1.
Код:
Задание 5. Учебник математики за 2 класс: Выучить таблицу умножения до 10 - невозможно выполнить команду "забыть таблицу умножения".

Последний раз редактировалось macomics; 27.09.2022 в 20:32.
macomics вне форума Ответить с цитированием
Старый 27.09.2022, 19:51   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

А оно ему надо - на ассемблере ?
digitalis вне форума Ответить с цитированием
Старый 27.09.2022, 20:07   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Раз язык не указал, тогда выбор языка за мной. Не такие уж и длинные программы получились на ассемблере.
macomics вне форума Ответить с цитированием
Старый 28.09.2022, 10:57   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

По опыту знаю: асм изучают только на IT-специальностях, а всякие там машиностроители или мукомольные довольствуются Дельфи или С несплюснутыми - "оно мне и не надо вроде, но пусть будет" .
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сделать лабораторную работу на Paskal'е по теме «Разветвляющиеся алгоритмы» (IF, CASE..DOC) xad777 Помощь студентам 2 26.12.2012 23:38
Сделать лабораторную работу Homakk Общие вопросы C/C++ 1 09.10.2012 23:36
Сделать лабораторную работу Homakk Помощь студентам 1 08.10.2012 22:46