[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4
Автор Сообщение
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
В этой теме нужно подробно излагать обнаруженные ошибки в установке задач на DL
(обучение, индивидуальные задания, контроль практики).

Ваше сообщение будет проверено, и если Вы правы (а бывают и ложные сообщения), то ошибка исправляется, а студент получает 5 бонусов за каждое задание, исправленное с его подачи. О чем сообщается в теме "Бонусы - 2013".
Евгений Киклевич

Темы: 0
Сообщений: 38

Мой профиль
Индивидуальные задания/Проектирование цифровых устройств/Преобразование кодов (BCD/Binary)/3 [2629] BCD (16 битов) -> Binary ( http://dl.gsu.by/task.jsp?nid=1190646&cid=882 )

; test6 - 5106
Set 1,2 on i2 at 5001
Set 1,2 on i4 at 5001
Set 0,2 on i8 at 5001
Set 0,2 on i10 at 5001
Set 0,2 on i20 at 5001
Set 0,2 on i40 at 5001
Set 0,2 on i80 at 5001
Set 1,2 on i100 at 5001
Set 0,2 on i200 at 5001
Set 0,2 on i400 at 5001
Set 0,2 on i800 at 5001
Set 1,2 on i1000 at 5001
Set 0,2 on i2000 at 5001
Set 1,2 on i4000 at 5001
Set 0,2 on i8000 at 5001
Diff 1,2 on o2 at 6000
Diff 1,2 on o4 at 6000
Diff 1,2 on o8 at 6000
Diff 0,2 on o16 at 6000
Diff 0,2 on o32 at 6000
Diff 0,2 on o64 at 6000
Diff 1,2 on o128 at 6000
Diff 1,2 on o256 at 6000
Diff 1,2 on o512 at 6000
Diff 0,2 on o1024 at 6000
Diff 0,2 on o2048 at 6000
Diff 1,2 on o4096 at 6000
Diff 0,2 on o8192 at 6000
Diff 0,2 on o16384 at 6000
Diff 0,2 on o32768 at 6000

На входе BCD = 5106 = 1001111110010
Без учёта младшего бита 100111111001
На выходе Binary = 100111000111
С учётом младшего бита 1001110001110 = 5006
5006 не равно 5106
Короче говоря в тесте ошибка
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Евгений Киклевич:

Индивидуальные задания/Проектирование цифровых устройств/Преобразование кодов (BCD/Binary)/3 [2629] BCD (16 битов) -> Binary ( http://dl.gsu.by/task.jsp?nid=1190646&cid=882 )

; test6 - 5106
Set 1,2 on i2 at 5001
Set 1,2 on i4 at 5001
Set 0,2 on i8 at 5001
Set 0,2 on i10 at 5001
Set 0,2 on i20 at 5001
Set 0,2 on i40 at 5001
Set 0,2 on i80 at 5001
Set 1,2 on i100 at 5001
Set 0,2 on i200 at 5001
Set 0,2 on i400 at 5001
Set 0,2 on i800 at 5001
Set 1,2 on i1000 at 5001
Set 0,2 on i2000 at 5001
Set 1,2 on i4000 at 5001
Set 0,2 on i8000 at 5001
Diff 1,2 on o2 at 6000
Diff 1,2 on o4 at 6000
Diff 1,2 on o8 at 6000
Diff 0,2 on o16 at 6000
Diff 0,2 on o32 at 6000
Diff 0,2 on o64 at 6000
Diff 1,2 on o128 at 6000
Diff 1,2 on o256 at 6000
Diff 1,2 on o512 at 6000
Diff 0,2 on o1024 at 6000
Diff 0,2 on o2048 at 6000
Diff 1,2 on o4096 at 6000
Diff 0,2 on o8192 at 6000
Diff 0,2 on o16384 at 6000
Diff 0,2 on o32768 at 6000

На входе BCD = 5106 = 1001111110010
Без учёта младшего бита 100111111001
На выходе Binary = 100111000111
С учётом младшего бита 1001110001110 = 5006
5006 не равно 5106
Короче говоря в тесте ошибка 

Тесты исправлены, решение перетестировано.
Андрей Фурс

Темы: 0
Сообщений: 36

Мой профиль
Оценка\Индивидуальные задания\По выбору\Проектирование цифровых устройств\Вычислить выражение\8 - "Арифметика"

; 1 Found at 0 place
Set 0000,2 on a0 at 1
Diff 00010101,2 on res at 1000
;
Set 0001,2 on a0 at 1001
Diff 00011100,2 on res at 2000
; 1 Found at 0 place
Set 0011,2 on a0 at 2001
Diff 00101010,2 on res at 3000
; 1 Found at 0 place
Set 0111,2 on a0 at 3001
Diff 01000110,2 on res at 4000
;
Set 1100,2 on a0 at 5001
Diff 01101001,2 on res at 6000


a0 = 14,10 after 1
wait for 1000
assert res = 119

ошибка в тесте.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
Надо УКАЗАТЬ в каком именно тесте и АРГУМЕНТИРОВАТЬ,
почему ты так считаешь.


Михаил Долинский:

В этой теме нужно подробно излагать обнаруженные ошибки в установке задач на DL
 
Есть же выше хороший пример того как это делать - от Киклевича.
Сергей Кузеев

Темы: 0
Сообщений: 98

Мой профиль
Кажется ошибка в тесте.

Задача "Умножитель"
http://dl.gsu.by/task.jsp?nid=1174282&cid=881
На 1000 ps:
in_0=0,2 after 1 ps
in_1=1,2
in_2=0,2
in_3=1,2
in_4=0,2
in_5=1,2
in_6=0,2
in_7=1,2
assert out_0=0,2 after 1000 ps
assert out_1=0,2
assert out_2=0,2
assert out_3=1,2
assert out_4=1,2
assert out_5=0,2
assert out_6=0,2
assert out_7=1,2


Из примера 1 в той задаче видно, что старший разряд ответа должен находится "снизу", так как (из примера 1):
1111 * 1001 = 15 * 9 = 135
10000111 = 135 (в обратном порядке, если "сверху" получается больше > 135)

Во входе старший разряд вверху (4-ый и 8-ой по счету), в выходе старший разряд внизу. При перемножении из теста
0101 и 0101 (числа 5 в десятичной системе) получается 25.
(можно попробовать 1010 и 1010 это 10*10 = 100)
А выход в тесте 10011000 > 128.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Сергей Кузеев:

Кажется ошибка в тесте.

Задача "Умножитель"
http://dl.gsu.by/task.jsp?nid=1174282&cid=881
На 1000 ps:
in_0=0,2 after 1 ps
in_1=1,2
in_2=0,2
in_3=1,2
in_4=0,2
in_5=1,2
in_6=0,2
in_7=1,2
assert out_0=0,2 after 1000 ps
assert out_1=0,2
assert out_2=0,2
assert out_3=1,2
assert out_4=1,2
assert out_5=0,2
assert out_6=0,2
assert out_7=1,2


Из примера 1 в той задаче видно, что старший разряд ответа должен находится "снизу", так как (из примера 1):
1111 * 1001 = 15 * 9 = 135
10000111 = 135 (в обратном порядке, если "сверху" получается больше > 135)

Во входе старший разряд вверху (4-ый и 8-ой по счету), в выходе старший разряд внизу. При перемножении из теста
0101 и 0101 (числа 5 в десятичной системе) получается 25.
(можно попробовать 1010 и 1010 это 10*10 = 100)
А выход в тесте 10011000 > 128. 

Ошибка исправлена, решение перетестировано.
Андрей Смирнов

Темы: 0
Сообщений: 23

Мой профиль
На контрольном срезе 18,10,2013 была обнаружена ошибка в задаче № 1, на тему "Арифмитические выражения". Необходимо было поменять a*d<=0 на a*d<0 и a*d>0 на a*d>=0.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Андрей Смирнов :

На контрольном срезе 18,10,2013 была обнаружена ошибка в задаче № 1, на тему "Арифмитические выражения". Необходимо было поменять a*d<=0 на a*d<0 и a*d>0 на a*d>=0. 

Условие исправлено.
Антон Коробочкин

Темы: 2
Сообщений: 41

Мой профиль
http://dl.gsu.by/task.jsp?nid=1172288&cid=881

В 4-ом тесте ответ установлен неверно.
x hex[2]: 0fff1=-15
y dec[2]: 57
a hex: f8=-8
b hex: e9=-23
Т.к. x=-15, то идем по 2-ой ветке. 7! + x * y / (a - b) = 5040+ (-15)*57/(-8-(23)) =
= 5040+(-15)*57/15= 5040+(-15)*3=5040-45=4995. В тесте ответ 4983.
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
(-15)*57/15

Сначала нужно умножать, потом делить
Михаил Долинский

Темы: 1984
Сообщений: 47243

Мой профиль
08.11.2013 14:40:51 08.11.2013 14:40:53 Песенко Дмитрий Организация и функционирование ЭВМ (ПМ4) - 2013 4. Удалить все вхождения символа 0 [test 2]: Ошибка исполнения программы: Unknown instruction. tests.tst DelTA3 at Nit4

08.11.2013 14:09:40 08.11.2013 14:09:55 Песенко Дмитрий Организация и функционирование ЭВМ (ПМ4) - 2013 1. Вычисление длины строки 0 [test 1]: Ошибка компиляции (i86): Ошибка компилятора. tests.tst DelTA3 at DLServe

Это задания на симуляцию.
Может там входные данные генерируются некорректно?
И надо более жестко ограничить их при генерации?
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Михаил Долинский:

08.11.2013 14:40:51 08.11.2013 14:40:53 Песенко Дмитрий Организация и функционирование ЭВМ (ПМ4) - 2013 4. Удалить все вхождения символа 0 [test 2]: Ошибка исполнения программы: Unknown instruction. tests.tst DelTA3 at Nit4 

Исправил набор входных данных (в одном из вариантов не было признака конца строки).


Михаил Долинский:

08.11.2013 14:09:40 08.11.2013 14:09:55 Песенко Дмитрий Организация и функционирование ЭВМ (ПМ4) - 2013 1. Вычисление длины строки 0 [test 1]: Ошибка компиляции (i86): Ошибка компилятора. tests.tst DelTA3 at DLServe
 

Это был временный сбой тестирующей машины. После перетестирования все сработало как надо.
Сергей Кузеев

Темы: 0
Сообщений: 98

Мой профиль
Кузеев С.Е. ПМ-41

Задача http://dl.gsu.by/task.jsp?nid=1175642&cid=881

По условию
если (a*b)=6, то запомнить сумму (a+b+c+d) и подать её на выход

если (a*b)>6, то на выход подать (a+b)

если (a*b)<6, то на выход подать сумму запомненного ранее числа и d. 


Тест 2:
[test 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[1]: 0
b dec[1]: 4
c dec[1]: 2
d dec[1]: 5

Q dec[1]: 13 


a*b == 0*4=0<6
Значит q = (a + b + c + d) + d = (0 + 4 + 2 + 5) + 5 = 11 + 5 = 14
В тесте написано 13.
Виталий Коган

Темы: 1
Сообщений: 189

Мой профиль


Сергей Кузеев:

Кузеев С.Е. ПМ-41

Задача http://dl.gsu.by/task.jsp?nid=1175642&cid=881

По условию
если (a*b)=6, то запомнить сумму (a+b+c+d) и подать её на выход

если (a*b)>6, то на выход подать (a+b)

если (a*b)<6, то на выход подать сумму запомненного ранее числа и d. 


Тест 2:
[test 2]
Cycles = 1000
CheckCycles = false
Segment - 0
Offset - 0


a dec[1]: 0
b dec[1]: 4
c dec[1]: 2
d dec[1]: 5

Q dec[1]: 13 


a*b == 0*4=0<6
Значит q = (a + b + c + d) + d = (0 + 4 + 2 + 5) + 5 = 11 + 5 = 14
В тесте написано 13. 

А можно ли предъявить 1-ый тест, т.к. вероятней всего на выходе в предыдущем тесте было число 8. А из условия этой задачи следует, что если (a*b)<6, то на выход подать сумму запомненного ранее(т.е. то число, что было на выходе в предыдущем тесте)+ значение d. Тогда, если в 1-ом тесте на выходе 8, то 8+5 = 13.
И 11+5!=14, а равно 16
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4
Time:0,031