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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2012, 02:58   #1
patrik14
 
Регистрация: 13.12.2012
Сообщений: 4
Восклицание натуральные числа

Задано натуральное число,диапазон значений слово.Определите сумму первой и последней цифры числа
patrik14 вне форума Ответить с цитированием
Старый 13.12.2012, 04:38   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

patrik14
диапазон значений слово -- значит от 0 до 65535 -- значит может содержать от одного разряда до пяти
1. сравниваем число с 9, если меньше или равно -- умножаем число на 2 -- это и будет сумма первой и последней цифры числа
2. если больше 9 -- сравниваем с 99, если меньше или равно, тогда число двухразрядное, делим его на 10 -- частное первое число, остаток последнее, складываем их
3. если больше 99 -- сравниваем с 999, если меньше или равно, тогда число трехразрядное, делим его на 10 -- в остаток последнее число, делим на десять еще раз -- в частном первое число
4. если больше 999 -- сравниваем с 9999, если меньше или равно, тогда число четырехразрядное, делим его на 10 -- в остаток последнее число, делим на 100 -- в частном первое число
5. если больше 9999 тогда число пятиразрядное, делим его на 10 -- в остаток последнее число, делим на 1000 -- в частном первое число
6. программу пиши сам!
Mikl___ вне форума Ответить с цитированием
Старый 13.12.2012, 19:41   #3
patrik14
 
Регистрация: 13.12.2012
Сообщений: 4
По умолчанию

можете пожалуйста показать эта программа выглядит на ассемблере...?
patrik14 вне форума Ответить с цитированием
Старый 13.12.2012, 21:04   #4
vadimych
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 325
По умолчанию

patrik14, держи, не жалко. Уж начало и конец программы сам сделай.

Код:
mov ax,value
mov bx,10
xor dx,dx
div bx
mov cx,dx

@@:
test ax,0fff0h
jz @f
xor dx,dx
div bx
jmp @b

@@:
add ax,cx ; в ax - искомая сумма

Последний раз редактировалось vadimych; 13.12.2012 в 21:16.
vadimych вне форума Ответить с цитированием
Старый 14.12.2012, 06:02   #5
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Код:
; masm dos exe #
.286
.model small
.code
start:	mov ax,@data
	mov ds,ax
	mov bx,10
	mov ax,value
	xor dx,dx
	div bx
	mov si,dx
	test ax,ax
	jz exit
a1:	xor dx,dx
	div bx
	test ax,ax
	jnz a1
exit:	add dx,si
	mov ax,dx
	aam
	xchg ah,al
	add sum,ax
	mov ah,9
	mov dx,offset string
	int 21h
	mov ah,0
	int 16h
	mov ah,4Ch
	int 21h
.data
value dw 19785
string db 'сумма первой и последней цифры равна '
sum dw '00','$'
end start
Mikl___ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны натуральные числа k,n, действительные числа... (Pascal) Макс Мел Помощь студентам 0 04.06.2012 13:43
Даны натуральные числа n и m. Получить сумму m последних цифр числа n pahanzona Microsoft Office Excel 11 27.02.2011 02:17
Даны натуральные числа n,p, целые числа a1 , ... ,an. Наталья111 Фриланс 10 09.11.2010 20:09
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m Sparky Помощь студентам 2 22.11.2009 21:59
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22