Автор |
Сообщение |
17.04.2019 16:37:02
Тема: Re:Вопросы и ответы по задачам
|
Дмитрий Логойда
Темы: 0
Сообщений: 19
Мой профиль
|
Михаил Долинский:
Дмитрий Логойда:
Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\2 - "Задача №2" (5594)
http://dl.gsu.by/task.jsp?nid=1823701&cid=1120
Не получается сдать задачу. Думаю из-за того что в тесте опечатка.
Конкретнее поясни свою мысль - докажи.
Решили: 323
Думаю, вероятнее, что ошибка у тебя.
Но если будет твоё доказательство, проще будет понять, в чём именно ты ошибаешься
При прохождении этого теста в Winter он выдаёт:
[тест 4]: не объявлена переменная b.
С такой ошибкой ещё не сталкивался и поэтому думаю что опечатка в тесте (по ссылке выше скриншоты теста)
|
17.04.2019 18:21:09
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
В протоколе я вижу такую ошибку
17.04.2019 15:29:04 17.04.2019 15:29:09 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 2. Задача №2 0 [test 4]: Тест не прошел: res sgn[2]: -2482. 2.i86 DelTA3 at NIT8
17.04.2019 15:22:27 17.04.2019 15:22:34 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 2. Задача №2 0 [test 4]: Тест не прошел: res sgn[2]: -2482. 2.i86 DelTA3 at NIT5
Если у тебя такая ошибка,
[тест 4]: не объявлена переменная b.
наверно ты не тот тест подключаешь или не к той программе.
Это твой исходник
jmp begin
a dw -1
b dw -1
c db -1
d db -1
RES dw 9
begin:
mov ax,b
cmp ax,0
jg met1
mov al,c
cbw
cmp ax,0
jg met1
mov ax,a
imul b
mov bx,ax
mov al,c
cbw
add bx,ax
mov al,d
cbw
imul bx
mov si,ax
mov al,d
cbw
imul a
mov bx,ax
mov al,d
cbw
add bx,ax
mov al,c
cbw
imul bx
sub si,ax
mov ax,si
cwd
idiv b
mov RES,ax
jmp halt
met1:
mov al,c
cbw
mov bx,ax
mov ax,a
cwd
idiv b
cwd
idiv bx
mov si,ax
mov al,d
imul c
mov di,ax
mov al,d
cbw
cwd
idiv b
sub di,ax
mov ax,di
imul a
add si,ax
mov RES,si
jmp halt
halt:
jmp halt;$E
А это тест который ты должен подключить
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = true
[test 1]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a dec[2]: 600
b dec[2]: 1
c sgn: -2
d sgn: -10
res dec[2]: 17700
[test 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a dec[2]: 3
b sgn[2]: -2
c dec: 3
d dec: 100
res dec[2]: 1050
[test 3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a dec[2]: 100
b sgn[2]: -100
c dec: 0
d dec: 3
res sgn[2]: 300
[test 4]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a dec[2]: 500
b sgn[2]: -2
c sgn: -3
d dec: 10
res sgn[2]: -2482
[test 5]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a sgn[2]: 1000
b sgn[2]: 2
c sgn: 4
d sgn: 5
res sgn[2]: 18125
[test 6]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
a sgn[2]: 100
b sgn[2]: 15
c sgn: -5
d sgn: 45
res sgn[2]: -22801
|
17.04.2019 18:24:19
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
А возможно ошибка появилась в результате выполнения первых трёх тестов.
Попробуй только 4-ый выполнить вручную.
|
17.04.2019 20:49:53
Тема: Re:Вопросы и ответы по задачам
|
Дмитрий Логойда
Темы: 0
Сообщений: 19
Мой профиль
|
Михаил Долинский:
А возможно ошибка появилась в результате выполнения первых трёх тестов.
Попробуй только 4-ый выполнить вручную.
А может быть такое, что тесты сбоят, ибо решаю следующую задачу (http://dl.gsu.by/task.jsp?nid=1823702&cid=1120) и снова не проходит 4 тест (тестовый файлы разные), там в тесте смещается D dec:20 (как я понял это должно быть с новой строки). В прошлой и этой задаче я прогнал вручную и всё вычисляет как нужно. Что с этим делать ?
/*******************
[тест 4]
Циклы = 1000
CheckCycles = false
Сегмент-0
Смещение-0
a dec[2]: 200
B dec[2]: 2
c dec: 10D dec: 20
res dec[2]: 1000
********************/
|
17.04.2019 21:07:32
Тема: Re:Вопросы и ответы по задачам
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Решили: 459
И снова, вероятнее всего, ошибка у тебя.
Напиши на бумажке вычисления последовательно.
А потом также последовательно найди все эти ответы в своей программе.
Если не получается самому - надо попросить помощи у кого-то из одногруппников.
Ну или в понедельник на моих занятиях будем разбираться.
|
22.04.2019 16:01:45
Тема: Re:Вопросы и ответы по задачам
|
Дмитрий Логойда
Темы: 0
Сообщений: 19
Мой профиль
|
Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\3 - "Задача №3" (5595)
http://dl.gsu.by/task.jsp?nid=1823702&cid=1120
отправил на проверку 22.4 14:02 3. Задача №3 0 / 100 [test 4]: Тест не прошел: res dec[2]: 1000. DelTA3 at NIT5 Winter i86
выгрузил тест, и тест также не прошло в Winter. Когда подставил значения вручную - ответ правильный
подставлял значения a=200 b=2 c=10 d=20 res=1000
[MD] Его решение можно взять здесь
22.04.2019 14:02:28 22.04.2019 14:02:33 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 3. Задача №3 0 [test 4]: Тест не прошел: res dec[2]: 1000. 3.i86 DelTA3 at NIT5
|
22.04.2019 17:22:28
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Дмитрий Логойда:
Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019
Оценка\Индивидуальные задания\Обязательные\Программирование на ассемблере (WInter)\Арифметические выражения\3 - "Задача №3" (5595)
http://dl.gsu.by/task.jsp?nid=1823702&cid=1120
отправил на проверку 22.4 14:02 3. Задача №3 0 / 100 [test 4]: Тест не прошел: res dec[2]: 1000. DelTA3 at NIT5 Winter i86
выгрузил тест, и тест также не прошло в Winter. Когда подставил значения вручную - ответ правильный
подставлял значения a=200 b=2 c=10 d=20 res=1000
[MD] Его решение можно взять здесь
22.04.2019 14:02:28 22.04.2019 14:02:33 Логойда Дмитрий Организация и функционирование ЭВМ (ПО2/ИТ2) - 2019 3. Задача №3 0 [test 4]: Тест не прошел: res dec[2]: 1000. 3.i86 DelTA3 at NIT5
В самом начале программы:
begin:
mov al,d
cbw
mov ax,b
cmp ax,bx
jge met1
b загружается в ax, хотя должно в bx.
В результате при выполнении сравнения используется неинициализированный регистр bx. После чего оператор перехода работает случайным образом.
Можно было несколько раз запустить тестирование и увидеть, что ошибка проявляется рандомно в разных тестах. Из чего сразу понятно, что в программе используются неинициализированные переменные.
|
24.10.2019 10:33:22
Тема: Re:Вопросы и ответы по задачам
|
Александр Городков
Темы: 0
Сообщений: 15
Мой профиль
|
Архитектура вычислительных систем (ПО4/ИТ3) - 2019
Контрольные срезы\24 октября\Программирование\Одномерные числовые массивы\27 - "Статистика" (58584)
http://dl.gsu.by/task.jsp?nid=1852315&cid=1145
Неплохо бы добавить в условие, что такое "выборочная неисправленная дисперсия".
|
24.10.2019 15:46:19
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Александр Городков:
Архитектура вычислительных систем (ПО4/ИТ3) - 2019
Контрольные срезы\24 октября\Программирование\Одномерные числовые массивы\27 - "Статистика" (58584)
http://dl.gsu.by/task.jsp?nid=1852315&cid=1145
Неплохо бы добавить в условие, что такое "выборочная неисправленная дисперсия".
Добавил.
|
19.12.2019 01:07:43
Тема: Re:Вопросы и ответы по задачам
|
Дмитрий Логойда
Темы: 0
Сообщений: 19
Мой профиль
|
Задача Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Цифры числа\10 - "Сумма цифр числа" 26553 Бондаловский Д.А., ПОИТ-26, февраль 2005
http://dl.gsu.by/task.jsp?nid=1844562&cid=1145
unsigned __in __bits(16)x;
unsigned __out __bits(8)y;
void main(){
unsigned b = 0;
unsigned a = x;
unsigned mas[15];
unsigned i = 0;
while(a > 0){
unsigned k = a % 10;
mas[i] = k;
i++;
b++;
a = a/10;
}
unsigned min = mas[0];
unsigned max = mas[0];
for (i = 0; i < b; i++){
if (min > mas[i])min = mas[i];
if (max < mas[i])max = mas[i];
}
y = max+min;
}
Не проходит [test3]
[test3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
x dec[2]: 0
y dec: 0
В Winter ответ даёт верный. Проверил все тесты, и везде верный ответ. Помогите понять в чём ошибка.
|
19.12.2019 08:49:20
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Дмитрий Логойда:
Задача Экзамен\Индивидуальные задания\Программирование микроконтроллеров\Цифры числа\10 - "Сумма цифр числа" 26553 Бондаловский Д.А., ПОИТ-26, февраль 2005
http://dl.gsu.by/task.jsp?nid=1844562&cid=1145
unsigned __in __bits(16)x;
unsigned __out __bits(8)y;
void main(){
unsigned b = 0;
unsigned a = x;
unsigned mas[15];
unsigned i = 0;
while(a > 0){
unsigned k = a % 10;
mas[i] = k;
i++;
b++;
a = a/10;
}
unsigned min = mas[0];
unsigned max = mas[0];
for (i = 0; i < b; i++){
if (min > mas[i])min = mas[i];
if (max < mas[i])max = mas[i];
}
y = max+min;
}
Не проходит [test3]
[test3]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0
x dec[2]: 0
y dec: 0
В Winter ответ даёт верный. Проверил все тесты, и везде верный ответ. Помогите понять в чём ошибка.
В случае x = 0 не происходит инициализации mas[0], соответственно минимальное и максимальное значение получаются случайными.
|
01.01.2021 22:38:39
Тема: Re:Вопросы и ответы по задачам
|
Максим Громыко
Темы: 2
Сообщений: 26
Мой профиль
|
https://dl.gsu.by/task.jsp?nid=1936300&cid=1189
как в этой задаче при заданных n = 10, k = 10, res получается = 4? (7 тест)
это я чего-то не понимаю или что-то не так с последними 2-мя тестами?
|
09.03.2021 09:36:36
Тема: Re:Вопросы и ответы по задачам
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Максим Громыко:
https://dl.gsu.by/task.jsp?nid=1936300&cid=1189
как в этой задаче при заданных n = 10, k = 10, res получается = 4? (7 тест)
это я чего-то не понимаю или что-то не так с последними 2-мя тестами?
Тесты исправлены, решение перетестировано.
|
13.09.2021 11:36:17
Тема: Re:Вопросы и ответы по задачам
|
Иван Бобр
Темы: 1
Сообщений: 6
Мой профиль
|
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2021
Командные олимпиады\Архитектура учебного процессора TCPU \Ассемблирование\5 - "TCPU ASM - 01" (53110)
http://dl.gsu.by/task.jsp?nid=2028071&cid=1230
В условии задачи написано, что в данном случае не надо использовать выравнивание по NOP. В файле "Инструкции по решению задач\Инструкция по решению задач на ассемблирование для процессора TCPU" (https://dl.gsu.by/theory.jsp?id=4573&cid=594) сказано, что для включения режима выравнивания нужно использовать директиву
.align. По этому мы просто не дописываем .align.
|
20.09.2021 11:33:50
Тема: Re:Вопросы и ответы по задачам
|
Владислав Громыко
Темы: 2
Сообщений: 8
Мой профиль
|
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2021
Командные олимпиады\Архитектура микропроцессора Intel 8086\Симуляция ASM-программ\3 - "Строка" (44922)
http://dl.gsu.by/task.jsp?nid=2028182&cid=1230
В данной задачи нет условия, есть лишь входные и выходные данные
|
|