Автор |
Сообщение |
16.12.2021 14:07:59
Тема: Re:Вопросы и ответы по задачам
|
Никита Обухов
Темы: 1
Сообщений: 16
Мой профиль
|
Экзамен\Индивидуальные задания\Проектирование цифровых устройств\По таблицам истинности\5 - "Степень" 44247 Алексин Александр, ПОИТ-26, май 2006
На выход подать IN_0 в степени IN_1. P.S. Любое число в нулевой степени равно единице
один из тестов подозреваю ложным
;
Set 11,2 on IN_0 at 9001
Set 00,2 on IN_1 at 9001
Diff 00011,2 on OUT_0 at 12000
;
число 3 возвели в нулевую степень, должна стать 1. По тестам, должна остаться тройкой. Но это противоречит условию "Любое число в нулевой степени равно единице"
|
28.02.2022 19:25:34
Тема: Re:Вопросы и ответы по задачам
|
Андрей Михалев
Темы: 0
Сообщений: 31
Мой профиль
|
Здравствуйте. У меня возник вопрос по задаче https://dl.gsu.by/task.jsp?nid=2175801&cid=1256. В моем решении все до последней пересылки работает хорошо. А при выполнении последней пересылки результат становится знаковым. И, если в ответе число, большее 127, то с учетом корректировки знака ответ становится неверным (например, вместо 235 в переменную z заносится -21). Возможно ли это как-то исправить?
jmp start
x dw 55535
z db 0
start: mov bx,x
mov cx,-1
met: add cx,1
mov ax,cx
mul ax
cmp ax,bx
jbe met
sub cx,1
pend: mov z,cl
jmp pend;E$
|
01.03.2022 12:03:46
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Андрей Михалев:
Здравствуйте. У меня возник вопрос по задаче https://dl.gsu.by/task.jsp?nid=2175801&cid=1256. В моем решении все до последней пересылки работает хорошо. А при выполнении последней пересылки результат становится знаковым. И, если в ответе число, большее 127, то с учетом корректировки знака ответ становится неверным (например, вместо 235 в переменную z заносится -21). Возможно ли это как-то исправить?
jmp start
x dw 55535
z db 0
start: mov bx,x
mov cx,-1
met: add cx,1
mov ax,cx
mul ax
cmp ax,bx
jbe met
sub cx,1
pend: mov z,cl
jmp pend;E$
В 1 байте хранятся числа:
от 0 до 255, если мы считаем их беззнаковыми.
от -128 до +127, если мы считаем их знаковыми.
Это вопрос интерпретации битового представления числа.
Если без знака +235, если со знаком -21, хотя на самом деле в памяти компьютера в обоих случаях 11101011.
|
01.03.2022 13:11:54
Тема: Re:Вопросы и ответы по задачам
|
Андрей Михалев
Темы: 0
Сообщений: 31
Мой профиль
|
Я понимаю. Дело в том, что после последней пересылки в переменную z всегда сохраняется знаковое число, даже если в cl хранилось до этого беззнаковое. И в результате выполнения программы в cl остается, например, 255, в то время как в z заносится значение -1.
|
01.03.2022 15:25:08
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Андрей Михалев:
Я понимаю. Дело в том, что после последней пересылки в переменную z всегда сохраняется знаковое число, даже если в cl хранилось до этого беззнаковое. И в результате выполнения программы в cl остается, например, 255, в то время как в z заносится значение -1.
255 = 11111111
-1 = 11111111
255 и -1 это одно и то же.
|
02.03.2022 13:44:32
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Андрей Михалев:
Здравствуйте. У меня возник вопрос по задаче https://dl.gsu.by/task.jsp?nid=2175801&cid=1256. В моем решении все до последней пересылки работает хорошо. А при выполнении последней пересылки результат становится знаковым. И, если в ответе число, большее 127, то с учетом корректировки знака ответ становится неверным (например, вместо 235 в переменную z заносится -21). Возможно ли это как-то исправить?
jmp start
x dw 55535
z db 0
start: mov bx,x
mov cx,-1
met: add cx,1
mov ax,cx
mul ax
cmp ax,bx
jbe met
sub cx,1
pend: mov z,cl
jmp pend;E$
Здесь проблема при самых больших значениях х.
Например, при х=65535 цикл становится бесконечным, т.к.
максимальный квадрат числа помещающийся в AX это 65025 (квадрат 255). Квадрат 256 уже не помещается в AX и старшая часть записывается в DX.
Нужно добавить дополнительную проверку на большие числа х.
|
02.03.2022 13:48:39
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Никита Обухов:
Экзамен\Индивидуальные задания\Проектирование цифровых устройств\По таблицам истинности\5 - "Степень" 44247 Алексин Александр, ПОИТ-26, май 2006
На выход подать IN_0 в степени IN_1. P.S. Любое число в нулевой степени равно единице
один из тестов подозреваю ложным
;
Set 11,2 on IN_0 at 9001
Set 00,2 on IN_1 at 9001
Diff 00011,2 on OUT_0 at 12000
;
число 3 возвели в нулевую степень, должна стать 1. По тестам, должна остаться тройкой. Но это противоречит условию "Любое число в нулевой степени равно единице"
В тесте я вижу вот это:
;
Set 11,2 on IN_0 at 9001
Set 00,2 on IN_1 at 9001
Diff 00001,2 on OUT_0 at 12000
;
Т.е. все правильно.
|
04.03.2022 12:57:05
Тема: Re:Вопросы и ответы по задачам
|
Диана Кравцова
Темы: 0
Сообщений: 10
Мой профиль
|
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Командные олимпиады\Программирование\Подготовка к контрольному срезу\Контроль\Ассемблер\1 - "Задача №1" (5593)
http://dl.gsu.by/task.jsp?nid=2175917&cid=1256
У меня ответ такой, как и в тесте. Решение не принимается.
4.3 12:53 1. Задача №1 0 / 100 [test 1]: Тест не прошел: res hex[2]: 0FFFF. 11.i86 DelTA3 at NIT0 Winter i86
jmp begin
a dw 4
b dw -2
res dw 0
c db -3
d db -1
begin:
mov al,d
cbw
imul a
cmp ax,0
jl y1
jmp y2
y1:
mov ax,a
cwd
idiv b
mov bx,ax
mov al,c
cbw
add bx,ax
mov al,d
cbw
imul a
sub bx,ax
mov res,ax
jmp halt
y2:
mov ax,a
idiv d
cbw
mov cx,ax
mov al,c
cbw
add ax,cx
imul b
mov bx,b
sub bx,ax
mov res,bx
halt: jmp halt ;$e
|
04.03.2022 14:58:10
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2186
Мой профиль
|
Диана Кравцова:
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Командные олимпиады\Программирование\Подготовка к контрольному срезу\Контроль\Ассемблер\1 - "Задача №1" (5593)
http://dl.gsu.by/task.jsp?nid=2175917&cid=1256
У меня ответ такой, как и в тесте. Решение не принимается.
4.3 12:53 1. Задача №1 0 / 100 [test 1]: Тест не прошел: res hex[2]: 0FFFF. 11.i86 DelTA3 at NIT0 Winter i86
jmp begin
a dw 4
b dw -2
res dw 0
c db -3
d db -1
begin:
mov al,d
cbw
imul a
cmp ax,0
jl y1
jmp y2
y1:
mov ax,a
cwd
idiv b
mov bx,ax
mov al,c
cbw
add bx,ax
mov al,d
cbw
imul a
sub bx,ax
mov res,ax
jmp halt
y2:
mov ax,a
idiv d
cbw
mov cx,ax
mov al,c
cbw
add ax,cx
imul b
mov bx,b
sub bx,ax
mov res,bx
halt: jmp halt ;$e
Ответ нужно смотреть в переменной res.
В конце первой ветки ошибка.
sub bx,ax
mov res,ax
Результат вычитания заносится в BX, но в res записывается значение из AX.
|
02.04.2022 00:07:38
Тема: Re:Вопросы и ответы по задачам
|
Андрей Михалев
Темы: 0
Сообщений: 31
Мой профиль
|
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Командные олимпиады\Программирование\Символьные строки\Контроль\Числовые массивы\6 - "Строка факториала" (54618)
http://dl.gsu.by/task.jsp?nid=2175856&cid=1256
У меня не прошел секретный тест. Что это за тест и можно ли его чисто теоретически посмотреть? Я думал, что он состоит в том, что 0!=1#, учел этот вариант, но результат тот же самый
jmp start
n db 0
c db 48
ten db 10
out_str db 100 dup(?)
start:
mov ch,'*'
mov dl,'#'
mov dh,'='
mov bh,'!'
lea di,out_str
mov bl,n
cmp bl,0
je spec
mov cl,1
mov al,n
cmp al,10
jl met3
cbw
idiv ten
add al,c
mov [di],al
inc di
add ah,c
mov [di],ah
inc di
mov [di],bh
inc di
mov [di],dh
inc di
jmp cikl
met3: add al,c
mov [di],al
inc di
mov [di],bh
inc di
mov [di],dh
inc di
cikl: cmp cl,10
jl met1
mov al,cl
cbw
xor ah,ah
idiv ten
add al,c
mov [di],al
inc di
add ah,c
mov [di],ah
inc di
mov [di],ch
inc di
jmp met2
met1: mov al,cl
add al,c
mov [di],al
inc di
mov [di],ch
inc di
met2: inc cl
cmp cl,n
jle cikl
dec di
mov [di],dl
jmp pend
spec: add bl,c
mov [di],bl
inc di
mov[di],bh
inc di
mov [di],dh
inc di
mov bl,n
add bl,1
add bl,c
mov[di],bl
inc di
mov[di],dl
inc di
pend:
jmp pend;E$
|
02.04.2022 10:14:34
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Андрей Михалев:
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Командные олимпиады\Программирование\Символьные строки\Контроль\Числовые массивы\6 - "Строка факториала" (54618)
http://dl.gsu.by/task.jsp?nid=2175856&cid=1256
У меня не прошел секретный тест. Что это за тест и можно ли его чисто теоретически посмотреть? Я думал, что он состоит в том, что 0!=1#, учел этот вариант, но результат тот же самый
n dec: 1
OUT_STR str: 1!=1#
[TEST2]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
n dec: 13
OUT_STR str: 10!=1*2*3*4*5*6*7*8*9*10*11*12*13#
[TEST3]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
n dec: 11
OUT_STR str: 11!=1*2*3*4*5*6*7*8*9*10*11#
|
02.04.2022 11:00:20
Тема: Re:Вопросы и ответы по задачам
|
Андрей Михалев
Темы: 0
Сообщений: 31
Мой профиль
|
Михаил Долинский:
Андрей Михалев:
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Командные олимпиады\Программирование\Символьные строки\Контроль\Числовые массивы\6 - "Строка факториала" (54618)
http://dl.gsu.by/task.jsp?nid=2175856&cid=1256
У меня не прошел секретный тест. Что это за тест и можно ли его чисто теоретически посмотреть? Я думал, что он состоит в том, что 0!=1#, учел этот вариант, но результат тот же самый
n dec: 1
OUT_STR str: 1!=1#
[TEST2]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
n dec: 13
OUT_STR str: 10!=1*2*3*4*5*6*7*8*9*10*11*12*13#
[TEST3]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
n dec: 11
OUT_STR str: 11!=1*2*3*4*5*6*7*8*9*10*11#
Во втором тесте слева перед равно стоит 10! вместо 13!
|
02.04.2022 11:52:43
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Исправил ошибку в тесте. Спасибо.
Перетестировал твоё решение - прошло.
01.04.2022 23:58:32 02.04.2022 11:51:34 Михалев Андрей Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022 6. Строка факториала 1 Все тесты пройдены (основной + секретный). 1.i86 DelTA3 at NIT0
|
08.04.2022 15:38:45
Тема: Re:Вопросы и ответы по задачам
|
Вероника Козликовская
Темы: 0
Сообщений: 12
Мой профиль
|
как пройти секретный тест
Организация и функционирование ЭВМ (ПО2/ИТ2/ПИ1) - 2022
Контрольные срезы\9\Программирование\Обработка строк (простая)\19 - "Перевертыш" (54422)
http://dl.gsu.by/task.jsp?nid=2174047&cid=1256
|
08.04.2022 15:39:06
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 1984
Сообщений: 47224
Мой профиль
|
Report = report.txt
StopOnError = false
Statistics = false
WatchReport = false
ShowReport = false
[Test1]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
str str: aaaaaa#
out1 str: yes
[Test2]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
str str: aaataaaa#
out1 str: no
[Test3]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
str str: cooc#
out1 str: yes
[Test4]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
str str: sssaaass#s
out1 str: no
[Test5]
Cycles = 1000
CheckCycles = true
Segment - 0
Offset - 0
str str: yarray#
out1 str: yes
|
|
|