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

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

Мой профиль


Евгений Бова:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Командные олимпиады\Особенности архитектуры МП Intel 80486/Pentium\Проектирование\Микропрограммно\1 - "Команда BSWAB/Intel 80486 (микропрограммно)" (131792)
http://dl.gsu.by/task.jsp?nid=2244707&cid=1282

Выдает неверный ответ на сайте. Локально все работает.


unsigned __in __bits(32) IN;

unsigned __out __bits(32) OUT;

void main()	{
  unsigned a = IN;
  unsigned b = 0;
  unsigned c = 0;
  if (a) {
  	unsigned mask = 0x01;
	for (int i = 0; i < 4; i++) {
	  for (int j = 0; j < 8; j++) {
	    if ((a & (mask << j)) == (mask << j)) {
		  b = b | (mask << j);
		}
	  }
	  c = c | (b << (32 - 8 * (i + 1)));
	  b = 0;
	  a = a >> 8;
	}
  }
  OUT = c;
}
 

Программа правильная, но работает слишком медленно. Для этой задачи нужен более быстрый алгоритм.
Игорь Коршунов

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

Мой профиль


Егор Короткевич:

Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Проектирование\Устройства памяти и представление чисел \Устройства памяти\Контроль\12 - "Косинус" (56117)
http://dl.gsu.by/task.jsp?nid=2232823&cid=1283

Почините тесты:
; 1 Found at 0 place
Set 104,10 on alpha at 301
Diff 50,10 on res at 400
-------------------------
cos(1,04) = 0,50622025723 = 0,50?

; 1 Found at 0 place
Set 63,10 on alpha at 401
Diff 81,10 on res at 500
-------------------------
cos(0,63) = 0,80802750831 = 0,81?????

Почему в первом случае не округляем а во втором округляем??
Решил задачу подгонкой округления при остатке >= 0.65 

Тесты исправлены.
Игорь Коршунов

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

Мой профиль


Илья Либуркин:

Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Программирование\Арифметические выражения\Контроль\Без подсказок\6 - "Квадрат числа" (54330)
http://dl.gsu.by/task.jsp?nid=2232944&cid=1283


20.10 15:04 6. Квадрат числа 0 / 1 Секретный тест не прошел. sqr.i86 DelTA3 at NIT8 Winter i86 

Основной тест дополнен.
Владислав Хамков

Темы: 9
Сообщений: 68

Мой профиль
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\7\Add-7\Программирование\1 - "Replace (программа)" (82981)
http://dl.gsu.by/task.jsp?nid=2249013&cid=1282

По условию задачи размерность всех переменных = 10 бит, но исходя из тестов видно, что размерность на самом деле должна быть равна 16 бит

Update:
Кажется такая же проблема есть во всех задачах с пометкой "Конвертированная задача (HLCCAD to Winter(ASM))"
Игорь Коршунов

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

Мой профиль


Владислав Хамков:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\7\Add-7\Программирование\1 - "Replace (программа)" (82981)
http://dl.gsu.by/task.jsp?nid=2249013&cid=1282

По условию задачи размерность всех переменных = 10 бит, но исходя из тестов видно, что размерность на самом деле должна быть равна 16 бит

Update:
Кажется такая же проблема есть во всех задачах с пометкой "Конвертированная задача (HLCCAD to Winter(ASM))" 

Диапазон чисел для 10 бит без знака: 0 - 1023.
Покажи пример теста, где значения вне диапазона.
Владислав Хамков

Темы: 9
Сообщений: 68

Мой профиль


Игорь Коршунов:


Владислав Хамков:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\7\Add-7\Программирование\1 - "Replace (программа)" (82981)
http://dl.gsu.by/task.jsp?nid=2249013&cid=1282

По условию задачи размерность всех переменных = 10 бит, но исходя из тестов видно, что размерность на самом деле должна быть равна 16 бит

Update:
Кажется такая же проблема есть во всех задачах с пометкой "Конвертированная задача (HLCCAD to Winter(ASM))" 

Диапазон чисел для 10 бит без знака: 0 - 1023.
Покажи пример теста, где значения вне диапазона. 


Я уже не помню задачу и чем я был в ней недоволен(а система не дала мне посмотреть моё решение), но я отвечу.
Количество бит - это количество бит и оно не изменится от того, что некоторые биты я использовать не буду. Это верно для почти всех языков, на которых мы пишем на dl-ке. В тестах переменные обладают размерностью 16 бит и сколько бит там не равны нулю не меняет количества бит выделяемого под переменную.
Например, в первом тесте все переменные равны 3, т.е. занимают всего два бита, поэтому я мог бы выделить под них меньше 16 бит памяти, но тогда я бы получил ошибку типо "Размерность переменной должна быть не такой как у вас". Если бы во всех тестах все значения были бы от 0 до 255, то это не значило бы, что все переменные однобайтовые.
Если я правильно всё понимаю, то нужно делать размерность точно по условию и если сделать на один байт меньше или больше, то тестер будет ругаться и кидаться ошибками даже если там нет теста, который использует больше двух бит. Поэтому в этой задаче нужно использовать 16 бит независимо от диапазона чисел, а условие говорит об обратном. Если в условии подразумевается, что на вводе будут числа в каком-то диапазоне, то там так и должно быть сказано "переменные занимают два байта, но в тестах используются только числа из диапазона 0..1023".
П.с. возможно я просто неправильно интерпретирую сообщение об ошибке "Размерность переменной должна быть такой-то, а не такой-то" и оно значит совсем не то, что я думаю.
Михаил Долинский

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

Мой профиль


Владислав Хамков:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\7\Add-7\Программирование\1 - "Replace (программа)" (82981)
http://dl.gsu.by/task.jsp?nid=2249013&cid=1282

По условию задачи размерность всех переменных = 10 бит, но исходя из тестов видно, что размерность на самом деле должна быть равна 16 бит

Update:
Кажется такая же проблема есть во всех задачах с пометкой "Конвертированная задача (HLCCAD to Winter(ASM))" 


11:37:31 27.10.2022 11:37:38 Хамков Владислав Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022 1. Replace (программа) 100 Все тесты пройдены (основной + секретный). src.mpc DelTA3 at NIT8

unsigned short x, res;

void main() {
	res = 0;
	for (int i = 0; i < 10; i++)
		res += ((x >> i) & 1) << (9 - i);
}



27.10.2022 11:35:27 27.10.2022 11:35:33 Хамков Владислав Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022 1. Replace (программа) 0 [test 1]: Тест не прошел: Размерность переменной res должна быть 2 байта. src.mpc DelTA3 at NIT0

unsigned __bits(10) x, res;

void main() {
	res = 0;
	for (int i = 0; i < 10; i++)
		res += ((x >> i) & 1) << (9 - i);
}

Игорь Коршунов

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

Мой профиль


Владислав Хамков:


Игорь Коршунов:


Владислав Хамков:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\7\Add-7\Программирование\1 - "Replace (программа)" (82981)
http://dl.gsu.by/task.jsp?nid=2249013&cid=1282

По условию задачи размерность всех переменных = 10 бит, но исходя из тестов видно, что размерность на самом деле должна быть равна 16 бит

Update:
Кажется такая же проблема есть во всех задачах с пометкой "Конвертированная задача (HLCCAD to Winter(ASM))" 

Диапазон чисел для 10 бит без знака: 0 - 1023.
Покажи пример теста, где значения вне диапазона. 


Я уже не помню задачу и чем я был в ней недоволен(а система не дала мне посмотреть моё решение), но я отвечу.
Количество бит - это количество бит и оно не изменится от того, что некоторые биты я использовать не буду. Это верно для почти всех языков, на которых мы пишем на dl-ке. В тестах переменные обладают размерностью 16 бит и сколько бит там не равны нулю не меняет количества бит выделяемого под переменную.
Например, в первом тесте все переменные равны 3, т.е. занимают всего два бита, поэтому я мог бы выделить под них меньше 16 бит памяти, но тогда я бы получил ошибку типо "Размерность переменной должна быть не такой как у вас". Если бы во всех тестах все значения были бы от 0 до 255, то это не значило бы, что все переменные однобайтовые.
Если я правильно всё понимаю, то нужно делать размерность точно по условию и если сделать на один байт меньше или больше, то тестер будет ругаться и кидаться ошибками даже если там нет теста, который использует больше двух бит. Поэтому в этой задаче нужно использовать 16 бит независимо от диапазона чисел, а условие говорит об обратном. Если в условии подразумевается, что на вводе будут числа в каком-то диапазоне, то там так и должно быть сказано "переменные занимают два байта, но в тестах используются только числа из диапазона 0..1023".
П.с. возможно я просто неправильно интерпретирую сообщение об ошибке "Размерность переменной должна быть такой-то, а не такой-то" и оно значит совсем не то, что я думаю. 

Это конвертированные задачи. Если для схемы размерность 10 бит, то в asm-программе переменная должна быть 2 байта.

Для mpc программ можно указать 10 бит так:
unsigned __bits(10) x, __bits(10) res;
или так:
unsigned __bits(10) x;
unsigned __bits(10) res;

Но можно использовать и 16 бит.

Если написать так
unsigned __bits(10) x, res;
то res будет иметь размерность по умолчанию (32 бита).
Роман Мицура

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

Мой профиль
Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\9\9 - "НОД" (42375)
http://dl.gsu.by/task.jsp?nid=2249112&cid=1282

10.11 11:24 9. НОД 0 / 400 Секретный тест не прошел. DelTA3 at NIT8 Winter mpc
Михаил Долинский

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

Мой профиль
Report = report.txt
StopOnError = true
Statistics = false
WatchReport = false
ShowReport = false

[TEST1]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 12
b dec[2]: 10

nod dec[2]: 2

[TEST2]
Cycles - 1000
CheckCycles - false
Segment - 0
Offset - 0


a dec[2]: 22
b dec[2]: 7

nod dec[2]: 1

[TEST3]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 45
b dec[2]: 100

nod dec[2]: 5

[TEST4]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 100
b dec[2]: 25

nod dec[2]: 25

[TEST5]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 1
b dec[2]: 1

nod dec[2]: 1

[TEST6]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 42
b dec[2]: 21

nod dec[2]: 21

[TEST7]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 1
b dec[2]: 4

nod dec[2]: 1

[TEST8]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 45
b dec[2]: 35

nod dec[2]: 5

[TEST9]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 45
b dec[2]: 9

nod dec[2]: 9

[TEST10]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 25
b dec[2]: 15

nod dec[2]: 5

[TEST11]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 3
b dec[2]: 13

nod dec[2]: 1

[TEST12]
Cycles - 1000
CheckCycles - true
Segment - 0
Offset - 0


a dec[2]: 15
b dec[2]: 12

nod dec[2]: 3

Игорь Коршунов

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

Мой профиль


Роман Мицура:

Архитектура вычислительных систем (ПО4/ИТ3/ПИ2) - 2022
Экзамен\Контроль практики\Программирование\9\9 - "НОД" (42375)
http://dl.gsu.by/task.jsp?nid=2249112&cid=1282

10.11 11:24 9. НОД 0 / 400 Секретный тест не прошел. DelTA3 at NIT8 Winter mpc  

Дополнил тесты.
Максим Пармон

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

Мой профиль
Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Микропрограммный автомат\Операционный автомат\Контроль\Тесты\Тесты от Марии Литовченко\15 - "ОА - вопрос 15" (41784)
http://dl.gsu.by/task.jsp?nid=2233347&cid=1283

7ой и 10ый тест не проходит при любых значениях первых операндов в 4ой и 5ой операции.(Скорее всего там должен быть операнд "Регистр А")
Игорь Коршунов

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

Мой профиль


Максим Пармон:

Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Микропрограммный автомат\Операционный автомат\Контроль\Тесты\Тесты от Марии Литовченко\15 - "ОА - вопрос 15" (41784)
http://dl.gsu.by/task.jsp?nid=2233347&cid=1283

7ой и 10ый тест не проходит при любых значениях первых операндов в 4ой и 5ой операции.(Скорее всего там должен быть операнд "Регистр А") 

Исправил. Попробуй еще раз "Регистр А".
Кирилл Солдатенко

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

Мой профиль
Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Микропрограммный автомат\Управляющий автомат с программируемой логикой\Симуляция\УАПЛ от Марии Литовченко\1 - "УАПЛ (блок управления) - симуляция" (43538)
http://dl.gsu.by/task.jsp?nid=2233713&cid=1283
на последнем 10 тесте не работаю поля ввода, из-за чего невозможно ввести значения и верно сдать задание.
Игорь Коршунов

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

Мой профиль


Кирилл Солдатенко:

Организация и функционирование ЭВМ (ПМ4/ПО2) - 2022
Командные олимпиады\Микропрограммный автомат\Управляющий автомат с программируемой логикой\Симуляция\УАПЛ от Марии Литовченко\1 - "УАПЛ (блок управления) - симуляция" (43538)
http://dl.gsu.by/task.jsp?nid=2233713&cid=1283
на последнем 10 тесте не работаю поля ввода, из-за чего невозможно ввести значения и верно сдать задание.
 

У меня все работает (в поле нужно вводить с лидирующими нулями).

Вот десятый тест:

in_0=010,2 after 1 ps
in_1=01,2 after 1 ps
in_2=00100,2 after 1 ps
in_3=0,2 after 1 ps
assert out_0=0010000,2 after 90 ps
assert out_1=011,2 after 90 ps
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8, 9
Time:0,049