Форум программистов, компьютерный форум, киберфорум
Assembler: Windows/protected mode
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 10

Даны натуральные знаковые числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.

10.12.2016, 18:05. Показов 4624. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны натуральные знаковые числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.
Прошу что-нибудь попроще, и желательно с объяснением каждой строчки кода. Буду весьма благодарен)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2016, 18:05
Ответы с готовыми решениями:

Даны натуральные числа от -20 до 150. Напечатать те из них, которые делятся на 3, но не делятся на 5
Нужно решить эти задачи без массивов и с вхаил 1. Даны натуральные числа от -20 до 150. Напечатать те из них, которые делятся на 3, но не...

Даны натуральные числа от 20 до 50.Напечатать те из них, которые делятся на 3,но не делятся на 5.
1)Даны натуральные числа от 20 до 50.Напечатать те из них, которые делятся на 3,но не делятся на 5. 2)2 двухзначных числа,записанных...

Даны натуральные числа от 20 до 50: напечатать те из них, которые делятся на 3, но не делятся на 5
Даны натуральные числа от 20 до 50.Напечатать те из них, которые делятся на 3,но не делятся на 5 помогите ПлиЗЗ Компилирую в Тurbo C++...

14
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
12.12.2016, 13:48
Какой бы алгоритм для решения этой задачи Вы предложили ?
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.12.2016, 14:49
Assembler
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
.model small
.386
.stack 100h
.data
 
.code
 
begin: 
    mov cx,31
    mov ax,20   
next:   
    xor dx,dx
    mov bx,10
    push    ax
    push    ax
    
    div bx
    add ax,dx
    or  dx,dx
    jz  @@2
    cmp dx,5
    je  @@2
    xor dx,dx
 
    
    mov bx,3
    div bx
    or  dx,dx
    jnz @@2
    
    pop ax      
    aam 
    add ax, 3030h
    mov bx, ax  
    mov ah, 02   
    mov dl, bh   
    int 21h  
    mov dl, bl   
    int 21h
 
    mov dl,10
    mov ah,2h
    int 21h 
            
    pop     ax
@@3:
    inc ax
    loop    next
 
    mov ax, 4c00h    
    int 21h  
 
@@2:    pop ax
    pop ax
    jmp @@3
 
end begin
3
17.12.2016, 16:39

Не по теме:

мановар, как то об упрощённом преобразовании чисел в символы забыл. Всё думал, почему так упорно диапазон дают двузначных чисел. А ларчик просто открывался...

0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.12.2016, 17:41
ФедосеевПавел, наверное, что бы слишком не обременять.
1
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6808 / 2048 / 238
Регистрация: 14.12.2014
Сообщений: 4,297
Записей в блоге: 12
17.12.2016, 23:15
Ещё проще:
Assembler
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
29
30
31
32
33
34
35
36
.model tiny
.code
.startup
 
        mov     cx,50-20+1
        mov     bx,503h
    @@next:
        mov     ax,50+1
        sub     ax,cx
        push    ax
        div     bl
        test    ah,ah
        pop     ax
        jnz     @@bad
        push    ax
        div     bh
        test    ah,ah
        pop     ax
        jz      @@bad
 
        aam
        add     ax,'00'
        mov     dl,ah
        mov     ah,2
        push    ax
        int     21h
        pop     dx
        int     21h
        mov     dl,' '
        int     21h
    @@bad:
        loop    @@next
        
        int     20h
 
end
p.s. Зачем делить на 10 и проверять остаток 0 и 5, когда можно просто разделить на 5 ?
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.12.2016, 23:23
Jin X, это я по большому счету для себя, просто так захотелось, можно еще проще.
0
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 10
17.12.2016, 23:32  [ТС]
Ребят, спасибо большое за коды) но я в шапке просил "попроще")

Добавлено через 1 минуту
кстати, что с этим кодом не так? можете подредактировать? мне сказали что div неправильно работает)

Assembler
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
29
.386
.model flat, stdcall
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\debug.inc
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\debug.lib
.code
start:
 
mov eax,4
mov ebx,2
mov ecx,1
mov edx,2
 
imul eax,3
sub eax,ebx
idiv edx
imul ecx,2
add eax,ecx
add eax,1
 
PrintDec eax
end start
Вот примерно на таком же уровне должен быть второй код)
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
17.12.2016, 23:52
IDIV Деление целых чисел со знаком
Команда IDIV выполняет деление целого числа со знаком, находящегося в регистрах АХ (в случае деления на байт) или DX:AX (в случае деления на слово), на операнд-источник (целое число со знаком). Размер делимого в два раза больше размеров делителя и остатка. Оба результата рассматриваются как числа со знаком, причем знак остатка равен знаку делимого.
Для однобайтовых операций делимое помещается в регистр АХ; после выполнения операции деления частное записывается в регистр AL, остаток - в регистр АН.
Для двухбайтовых операций делимое помещается в регистры DX:AX (в DX - старшая часть, в АХ - младшая); после выполнения операции деления частное записывается в регистр АХ, остаток - в регистр DX.
В качестве операнда-делителя команды idiv можно указывать регистр данных или ячейку памяти; не допускается деление на непосредственное значение. Если делитель равен 0, или если частное не помещается в назначенный регистр, возбуждается прерывание через вектор 0. Команда не воздействует на флаги процессора.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8644 / 4479 / 1669
Регистрация: 01.02.2015
Сообщений: 13,883
Записей в блоге: 11
18.12.2016, 00:18
cosonig, и ещё раз уточните задание - ОС (DOS/Windows/Linux) и компилятор (tasm/masm/fasm/gas/kwas).
Просто вам приводят примеры для DOS+tasm, а вы - для Windows+masm.
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6808 / 2048 / 238
Регистрация: 14.12.2014
Сообщений: 4,297
Записей в блоге: 12
18.12.2016, 10:16
Ваще просто!
Assembler
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
29
30
.model tiny
.code
.startup
 
        mov     al,21
    @@next:
        push    ax
        aam     5
        test    al,al
        pop     ax
        jz      @@bad
 
        push    ax
        aam
        add     ax,'00'
        xchg    al,ah
        int     29h
        xchg    al,ah
        int     29h
        mov     al,' '
        int     29h
        pop     ax
    @@bad:
        add     al,3
        cmp     al,48
        jna     @@next
        
        ret
 
end
Добавлено через 2 минуты
Цитата Сообщение от мановар Посмотреть сообщение
Jin X, это я по большому счету для себя, просто так захотелось, можно еще проще.
На меня, наверное, какая-то мания оптимизации иногда находит
0
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
18.12.2016, 10:23
А вот это я и имел ввиду.
0
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 10
28.12.2016, 19:48  [ТС]
Windows+masm естественно, ребят)
0
Asm/C++/Delphi/Py/PHP/VBA
 Аватар для Jin X
6808 / 2048 / 238
Регистрация: 14.12.2014
Сообщений: 4,297
Записей в блоге: 12
29.12.2016, 01:47
Когда "естественно", то надо сразу говорить или размещать в соответствующем разделе. Алгоритм дан, переводи сам.
0
0 / 0 / 0
Регистрация: 10.12.2016
Сообщений: 10
30.12.2016, 20:30  [ТС]
Я в этом ну ни разу не секу, уж извините, что сразу не пояснил, я даже представить не мог что они под разные платформы и версии могут писаться) и перевести самому мне никак не удастся)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2016, 20:30
Помогаю со студенческими работами здесь

Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5
Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5. Надо сделать в программе Pascal ABC

Даны натуральные числа от 20 до 50.Напечатать те из них, которые делятся на 3, но не делятся на 5
Подскажите в чем ошибка? Консоль не выводит ни каких значений using System; using System.Collections.Generic; using System.Linq; ...

Даны натуральные числа от 1 до 50. Найти суммы тех из них, которые делятся на 5 и на 7.
Даны натуральные числа от 1 до 50.Найти суммы тех из них, которые делятся на 5 и на 7. Функция

Даны натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7
Даны натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7. Буду благодарен за решение. Кто чем поможет)

Даны натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7.
Даны натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru