Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 5
1

Найти произведение цифр двухзначного числа

19.06.2012, 07:17. Показов 2650. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
nujnapomsh' s zadachami na assembler. esli mojno s detal'nimi poyasneniyami. ya novichok v etoy oblasti.
vot zadachi:
1) dano dvuznachnoye chislo. nayti proizvedeniye ego cifr.
2) dani radius kruga i storona kvadrata. u kakoy figuri ploshad' bol'she?
zaranee blagodarna
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2012, 07:17
Ответы с готовыми решениями:

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

Определить парность цифр двухзначного числа
Помогите, не знаю что уже делать, дебагер выдаёт деление на ноль, перепробовал всё что знал (Где...

Найти сумму всех чисел натурального ряда чисел от 1 до двухзначного беззнакового целого числа
Найти сумму всех чисел натурального ряда чисел от 1 до двухзначного беззнакового целого...

Определить произведение нечетных цифр числа
Здрасьте. Очень срочно нужно сдать задание на ассемблере, пока не отчислили =-O Кто может...

10
3 / 3 / 0
Регистрация: 03.02.2012
Сообщений: 32
19.06.2012, 08:33 2
Первая задача
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var a,b,d,c:integer;
begin
readln(a);
b:=10;
asm
mov ax,a
idiv b
mov c,ax
imul b
mov bx, ax
mov cx,a
sub cx,bx
mov ax,c
imul cx
mov d,ax
end;
writeln(d);
readkey; end.
1
magirus
19.06.2012, 10:40
  #3
 Комментарий администратора 
JD_GIRL, translit.ru на будущее...
0
16 / 10 / 0
Регистрация: 14.06.2012
Сообщений: 25
19.06.2012, 11:26 4
Всё намного проще:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses Crt;
var a, b : byte;
 
begin
ClrScr;
Write('Enter a number: ');
Readln(a);
asm
  xor ax, ax        {очистка регистра}
  mov al, a
  aam                {преобразование числа в al из 16-чного формата в неупакованное BCD-число}
  mov cl, ah        {десятки переносим в cl, единицы остаются в al}
  mul cl
  mov b, al
end;
Writeln('Result: ', b);
Readln
end.
1
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 5
19.06.2012, 11:39  [ТС] 5
magirus буду иметь ввиду. извиняюсь

Добавлено через 5 минут
DarkVeiL, а вторую можешь решить?
0
16 / 10 / 0
Регистрация: 14.06.2012
Сообщений: 25
19.06.2012, 12:17 6
Площадь круга pR2 отличается от площади квадрата R2 ровно в p раз. Поэтому, если радиус равен стороне квадрата, площадь круга всегда будет больше. Если радиус круга и сторона квадрата - разные значения, вот программа, вычисляющая большую площадь:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses Crt;
var
   a, b : integer;
   rez1, rez2: double;
 
begin
ClrScr;
Write('Enter a radius: ');
Readln(a);
Write('Enter a side of a square: ');
Readln(b);
asm
  finit
  fild a
  fmul st, st
  fldpi
  fmulp
  fstp rez1
  fild b
  fmul st, st
  fstp rez2
end;
if (rez1 < rez2) then
  Writeln(rez1:0:4, ' < ', rez2:0:4)
else
  Writeln(rez1:0:4, ' > ', rez2:0:4);
Readln
end.
Чтобы она откомпилировалась, в редакторе паскаля в настройках Options -> Compiler необходимо включить режим сопроцессора 8087.
0
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 5
19.06.2012, 12:27  [ТС] 7
Pascal
1
2
3
4
5
6
7
8
9
10
11
asm
  finit
  fild a
  fmul st, st
  fldpi
  fmulp
  fstp rez1
  fild b
  fmul st, st
  fstp rez2
end;
Добавлено через 46 секунд
а можешь эту часть разъяснить?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
19.06.2012, 12:32 8
JD_GIRL, а самой попробовать разобраться? учебник полистать, гуглом воспользоваться...
Assembler
1
2
3
4
5
6
7
8
9
finit; инициализазация сопроцессора
  fild a; берем радиус
  fmul st, st; возводим его в квадрат
  fldpi; загружаем число Пи
  fmulp; перемножаем
  fstp rez1; переменная rez1:=a*a*pi площадь круга
  fild b; площадь квадрата вычисляется по аналогии
  fmul st, st
  fstp rez2
0
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 5
19.06.2012, 12:45  [ТС] 9
Mikl___, по времени не успеваю. мне эти программы сдать надо, а потом уже сяду и разберусь. спасибо за помощь
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
19.06.2012, 12:49 10
Цитата Сообщение от JD_GIRL Посмотреть сообщение
Mikl___, по времени не успеваю. мне эти программы сдать надо, а потом уже сяду и разберусь...
Morgen, morgen, nur nicht heute, sagen alle faulen Leute
0
0 / 0 / 0
Регистрация: 19.06.2012
Сообщений: 5
19.06.2012, 12:54  [ТС] 11
увы, сессия не дает отвлекаться на изучение нового материала.
0
19.06.2012, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2012, 12:54
Помогаю со студенческими работами здесь

[NASM+DOS+COM] Вывод двухзначного шестнадцатеричного числа
Народ выручайте, в коде вроде все правильно и по идее должен вывести 3f а выводит 33, может кто...

Определить произведение четных цифр числа, стоящих в нечетных позициях
Создание программ неленейной структуры с использыванием команд условного перехода и цыкла Задано...

Преобразование двухзначного шестнадцатеричного числа в символьном виде в двоичное представление. Обработать и строчные.
Всем привет, совсем нуб в ассемблере. Нужно дописать программу преобразования двухзначного...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru