[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 10, 11, 12, 13, 14, ... 26, 27, 28
Автор Сообщение
Василий Писпанен

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

Мой профиль
задача http://dl.gsu.by/task.jsp?nid=1097478&cid=860
решение
unsigned __in  __bits(64) a;
unsigned __in  __bits(64) b;
unsigned __out __bits(64) y;
void main(){

	unsigned __bits(64)	t = 0;
	if ( (a&0xFF) > (b&0xFF) ) t  =(a&0xFF) - (b&0xFF);
	if ( (a&0xFF00) > (b&0xFF00) ) t  +=(a&0xFF00) - (b&0xFF00);
	if ( (a&0xFF0000) > (b&0xFF0000) ) t  +=(a&0xFF0000) - (b&0xFF0000);
	if ( (a&0xFF000000) > (b&0xFF000000) ) t  +=(a&0xFF000000) - (b&0xFF000000);
	y = t;

}


локально тесты проходит, на сервере нет. в чём ошибка?
Михаил Долинский

Темы: 2072
Сообщений: 49883

Мой профиль
25.03.2013 15:28:45 25.03.2013 15:28:48 Стародубцев Иван, Щурок Илья Архитектура вычислительных систем (М3/ПМ4) - 2013 1. Вычитание с насыщением 0 В этой задаче нельзя использовать генератор МПА psubus.prd DelTA3 at Nit3
25.03.2013 15:27:44 25.03.2013 15:27:51 Стародубцев Иван, Щурок Илья Архитектура вычислительных систем (М3/ПМ4) - 2013 1. Вычитание с насыщением 0 В этой задаче можно сдавать только сгенерированные МПА-проекты psubus.prd DelTA3 at Nit3


Это один и тот же проект.
Сначала они генерировали его по микропрограмме.
Потом решили сделать вручную
(там есть два идентичных задания - одно нужно сделать микропрограммно, другое аппаратно) - удалили сгенерированное, руками сделали, послали и получили верхнее сообщение.

Как бы сделать, чтобы признак генерации удалялся если удалили все сгенерированные элементы?
Игорь Коршунов

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

Мой профиль


Василий Писпанен:

задача http://dl.gsu.by/task.jsp?nid=1097478&cid=860
решение
unsigned __in  __bits(64) a;
unsigned __in  __bits(64) b;
unsigned __out __bits(64) y;
void main(){

	unsigned __bits(64)	t = 0;
	if ( (a&0xFF) > (b&0xFF) ) t  =(a&0xFF) - (b&0xFF);
	if ( (a&0xFF00) > (b&0xFF00) ) t  +=(a&0xFF00) - (b&0xFF00);
	if ( (a&0xFF0000) > (b&0xFF0000) ) t  +=(a&0xFF0000) - (b&0xFF0000);
	if ( (a&0xFF000000) > (b&0xFF000000) ) t  +=(a&0xFF000000) - (b&0xFF000000);
	y = t;

}


локально тесты проходит, на сервере нет. в чём ошибка? 

Задержки в тестах увеличены.

Но программа не проходит тест:
a = 0xFACE00000000
b = 0xFACE00000000
y = 0x4ACD00000000
Иван Стародубцев

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

Мой профиль
Что-то странное происходит с задачей Обучение\C-MPA\Обработка битов\К1_9 - "Парный теннис" 44321.

Я написал задачу в CMPA. Конвертирую в HLCCAD. Отправляю - не проходит тесты. Беру тесты и вручную проверяю все на CMPA - все работает. Однако, в HLCCAD всплывают 4 ошибки. В чем заключается проблема?

Код в СМPА:

unsigned __in __bits(3) in_0;
unsigned __in __bits(3) in_1;
unsigned __in __bits(3) in_2;
unsigned __in __bits(3) in_3;

unsigned __out __bits(1) out_0;
unsigned __out __bits(1) out_1;
unsigned __out __bits(1) out_2;

void main()
{
int s1 = 0;
int s2 = 0;

out_0 = 0;
out_1 = 0;
out_2 = 0;

if (in_0 != 0 && in_1 != 0){
s1 = in_0 + in_1;
}

if (in_2 != 0 && in_3 != 0){
s2 = in_2 + in_3;
}

if (s1 > s2)
out_0 = 1;
if (s1 < s2)
out_1 = 1;
if (s1 == s2)
out_2 = 1;
}
Михаил Долинский

Темы: 2072
Сообщений: 49883

Мой профиль
Ты вот здесь
Читал?
В частности
4. Неоднократное занесение значений на выходные контакты. Изменение значений на входных контактах.
http://dl/NForum/posts/topicshow/46.dl?postid=224#224
http://dl/NForum/posts/topicshow/46.dl?postid=1937#1937
http://dl/NForum/posts/topicshow/46.dl?postid=3550#3550
http://dl/NForum/posts/topicshow/46.dl?postid=34228#34228 


Возможно проблема и не в этом, но в частности, ты на выходные контакты дважды присваиваешь значения.

out_0 = 0; 
...
if (s1 > s2) 
out_0 = 1; 
...

Иван Стародубцев

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

Мой профиль


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


Возможно проблема и не в этом, но в частности, ты на выходные контакты дважды присваиваешь значения.

out_0 = 0; 
...
if (s1 > s2) 
out_0 = 1; 
...

 


Проблема оказалась именно в этом.

Такой код проходит все тесты:

unsigned __in __bits(3) in_0; 
unsigned __in __bits(3) in_1; 
unsigned __in __bits(3) in_2; 
unsigned __in __bits(3) in_3; 

unsigned __out __bits(1) out_0; 
unsigned __out __bits(1) out_1; 
unsigned __out __bits(1) out_2; 

void main() 
{ 
int s1 = 0; 
int s2 = 0; 

if (in_0 != 0 && in_1 != 0){ 
s1 = in_0 + in_1; 
} 

if (in_2 != 0 && in_3 != 0){ 
s2 = in_2 + in_3; 
} 

if (s1 > s2) {
	out_0 = 1; 
	out_1 = 0; 
	out_2 = 0; 	
}
if (s1 < s2) {
	out_0 = 0; 
	out_1 = 1; 
	out_2 = 0; 
}
if (s1 == s2) { 
	out_0 = 0; 
	out_1 = 0;
	out_2 = 1; 
}
} 

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

Темы: 2072
Сообщений: 49883

Мой профиль
Спасибо за информацию.
В общем, если ничего не помогает, прочти, наконец, ИНСТРУКЦИЮ

Иван Стародубцев

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

Мой профиль
Очередная проблема winter/hlccad.
Задача: Экзамен\Контроль практики\Программирование\8\Add-8\Проектирование\2 - "Хоккей" 84571

Мой код:
unsigned __in __bits(16) t1;
unsigned __in __bits(16) t2;

unsigned __out __bits(2) res;

void main()
{
	int t,i;
	unsigned win=0, stop=0;
	unsigned k1=t1,k2=t2;
	for (i=0; i<16; i++){
		if (((k1 & 1)) && ((k2 & 1) == 0)){
			win = 1;
			break;
		}
		if (((k2 & 1)) && ((k1 & 1) == 0)){
			win = 2;
			break;
		}
		k1 >>= 1;
		k2 >>= 1;
	}
	res = win;
}


На винтере он проходит все тесты, но на hlccad'e - ни одного.
Игорь Коршунов

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

Мой профиль


Иван Стародубцев:

Очередная проблема winter/hlccad.
Задача: Экзамен\Контроль практики\Программирование\8\Add-8\Проектирование\2 - "Хоккей" 84571

Мой код:
unsigned __in __bits(16) t1;
unsigned __in __bits(16) t2;

unsigned __out __bits(2) res;

void main()
{
	int t,i;
	unsigned win=0, stop=0;
	unsigned k1=t1,k2=t2;
	for (i=0; i<16; i++){
		if (((k1 & 1)) && ((k2 & 1) == 0)){
			win = 1;
			break;
		}
		if (((k2 & 1)) && ((k1 & 1) == 0)){
			win = 2;
			break;
		}
		k1 >>= 1;
		k2 >>= 1;
	}
	res = win;
}


На винтере он проходит все тесты, но на hlccad'e - ни одного.  

Задержки в тестах увеличены, решения перетестированы.
Михаил Долинский

Темы: 2072
Сообщений: 49883

Мой профиль


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


Максим Шурпо:

http://dl/task.jsp?nid=1115444&cid=860
не работает 34 тест.
int __in __bits(6) IN = 15;
int __out __bits(1) TWO;
int __out __bits(1) THREE;
int __out __bits(1) FOUR;
int __out __bits(1) FIVE;

void main(){
if(IN%2 == 0)
TWO = 1;
else TWO = 0;
if(IN%3 == 0)
THREE = 1;
else THREE = 0;
if(IN%4 == 0)
FOUR = 1;
else FOUR = 0;
if(IN%5 == 0)
FIVE = 1;
else FIVE = 0;



Знаковый 6-битный тип не может вместить числа больше 32. В этой задаче нужно использовать тип unsigned
Никита Лобанов

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

Мой профиль
Во время написания контрольной возник такой вопрос:
задача - http://dl/task.jsp?nid=1099480&cid=861

код

char in_str[100]="adsd#";
int __out __bits(8) x;
void main()
{
char s[5]= "*-/+=";

int i=0;
int k;

char n=in_str[i];
while(n!='#'){
i++;
n=in_str[i];}

for (k=0;k<i;k++)
if (s[k]==in_str[k])

x=1;
else {x=0;break;}
}
получил на этой строчке - ошибка синтаксиса
char s[5]= "*-/+=";
В чём ошибка?
Никита Лысенко

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

Мой профиль
быть может, ты одному символу присваиваешь целую строку ?)
Игорь Коршунов

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

Мой профиль


Никита Лобанов:


получил на этой строчке - ошибка синтаксиса
char s[5]= "*-/+=";
В чём ошибка?  

Строка занимает 6 байт (в Си в конце строки всегда ставится нулевой байт) и не может быть записана в массив из 5 байт.
Михаил Долинский

Темы: 2072
Сообщений: 49883

Мой профиль
А мы можем выдавать при таких сообщениях адекватный текст?
(примерно то, что ты выше написал)
Игорь Коршунов

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

Мой профиль
Сейчас выдается: "слишком много инициализаторов".
Для случая со строкой, наверное, не всем понятно.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, ... 10, 11, 12, 13, 14, ... 26, 27, 28
Time:0,044