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

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

Мой профиль


Вячеслав Романенко:

Аналогичная ситуация с задачей Экзамен\Индивидуальные задания\Проектирование цифровых устройств\По таблицам истинности\6 - "Делится ли на 2.3.4.5" 28920
unsigned __in __bits(6) in;

unsigned __out __bits(1) two;
unsigned __out __bits(1) three;
unsigned __out __bits(1) four;
unsigned __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;

}

Выдает
Ошибка: Несовпадение FOUR:0=1 [100 ps]  

Хотя при ручной прогонке в WInter'е все правильно 

Тесты исправлены - задачу можно пересдать.
Игорь Коршунов

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

Мой профиль


Максим Аксютик:

http://dl.gsu.by/task.jsp?nid=322772&cid=597

замечательная задача ) 

Задача исправлена.

Замечание: надо не стесняться указывать в чем именно "замечательность" той или иной задачи.
Екатерина Боневич

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

Мой профиль


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


Екатерина Боневич:

В задаче
сконвертировать задания на проектирование/вычислить выражение/умножение
неправильный тест№7 там 129*156=12700, что не верно 

Исправлено. 

в тесте попрежнему ошибка
там нужно вместо 16-ричной системы поставить десятичную
Екатерина Боневич

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

Мой профиль
и в задаче
сконвертировать задания на проектирование/вычислить выражение/вычислить выражение-2
тоже проблемы с тестами
Михаил Долинский

Темы: 1985
Сообщений: 47299

Мой профиль
тоже проблемы с тестами  

Катя, если Вы хотите чтобы мы их решали - ПИШИТЕ КОНКРЕТНО какие проблемы и с какими тестами. Так как написали в первом случае.
Дмитрий Моисеенко

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

Мой профиль
Почему выдаёт ошибку "Проект создан в старой версии HLCCAD"? Два дня назад отправлял лабораторные выполненные в этой же версии программы и никакой ошибки не было.
Михаил Долинский

Темы: 1985
Сообщений: 47299

Мой профиль
Теперь (в новой версии) на DL ведется КОНТРОЛЬ - была ли схема сгенерирована по С-МПА или нарисована вручную. Старая версия такого не умела. Вам нужно взять НОВУЮ версию (диск E:\SPRL\download).
Максим Аксютик

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

Мой профиль


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

Теперь (в новой версии) на DL ведется КОНТРОЛЬ - была ли схема сгенерирована по С-МПА или нарисована вручную. Старая версия такого не умела. Вам нужно взять НОВУЮ версию (диск E:\SPRL\download). 


А в сконвертированных заданиях надо все-таки вручную схему делать или на с-мпа? ...
Михаил Долинский

Темы: 1985
Сообщений: 47299

Мой профиль
Конечно на С-МПА. Конвертирование использовалось для АВТОМАТИЧЕСКОГО увеличения количества задач для студентов. А то некоторые жаловаться стали, что им мало задач ...
Борис Шруб

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

Мой профиль


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

Конечно на С-МПА. Конвертирование использовалось для АВТОМАТИЧЕСКОГО увеличения количества задач для студентов. А то некоторые жаловаться стали, что им мало задач ... 

Ага, отлично, только если бы они ещё работали, так было бы вообще хорошо. БОльшая часть этих задача из трёх новых "сконвертированных" разделов - вообще непонятно что. Отправляю программу, перепроверенную 10 раз, или даже отправляю программу, которая сразу прилагается к заданию - НЕ ПРОХОДИТ!!! То пишет, что неправильные ответы (хотя как может быть неправильный ответ, если в задаче всего-то надо а и b сложить), то пишет вообще загадочную фразу "Достигнут указанный предел моделирования". В общем, из каждого раздела решаемы 3-4 задачи, и они уже методом простого перебора решены. Что делать? Даже энтузиазм пропал решать задачи, раз ничего не работает.
Борис Шруб

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

Мой профиль
Или вот такое (задача Unit из раздела Проектирование цифровых устройств/Логические элементы):
unsigned __in __bits(64) In;

unsigned __out __bits(1) Out;
void main()
{
  unsigned __bits(8) temp=0;
  unsigned __bits(8) k=0;
  unsigned __bits(1) t;
  for (temp=0;temp<64;temp++) {
	t=In>>temp;
	if (t==1) k++;
  }
  if (k&1) Out=1;
  else Out=0;
}

Как на такой простой программе может мне писать "чекер снят по времени"??? Ну купите новый чекер, не знаю...
Михаил Долинский

Темы: 1985
Сообщений: 47299

Мой профиль
Ага, отлично, только если бы они ещё работали, так было бы вообще хорошо. БОльшая часть этих задача из трёх новых "сконвертированных" разделов - вообще непонятно что. Отправляю программу, перепроверенную 10 раз, или даже отправляю программу, которая сразу прилагается к заданию - НЕ ПРОХОДИТ!!! То пишет, что неправильные ответы (хотя как может быть неправильный ответ, если в задаче всего-то надо а и b сложить), то пишет вообще загадочную фразу "Достигнут указанный предел моделирования". В общем, из каждого раздела решаемы 3-4 задачи, и они уже методом простого перебора решены. Что делать? Даже энтузиазм пропал решать задачи, раз ничего не работает.  
Опять НЫТЬЕ вместо КОНКРЕТНОГО указания проблем.
Задания генерировались автоматически - то есть ПРОГРАММОЙ.
Конечно, там могут быть ошибки - укажите их конкретно, мы разберемся и исправим.

Кроме того, надо правильно понимать задания:

1. Сконвертированные задания на проектирование по программе
Было задание на разработку программы.
Из него сделано задание на проектирование схемы.
То есть:
- Вам предъявляется АВТОРСКОЕ решение задачи
- Вы должны понять, что делает эта программа
- и спроектировать СХЕМУ (с помощью С-МПА), которая делает тоже самое
Тесты от первой задачи ко второй конвертировались тоже автоматически - могут быть проблемы - укажите - исправим и тесты, и программу - конвертор.

2. Сконвертированные задания на проектирование
Было задание на разработку программы.
Из него сделано задание на проектирование схемы.
То есть,
- Вам показывается оригинальное условие (на разработку программы)
- добавлено, как называть проект и устройство (номер задачи)
- контакты называть как назывались переменные программы
- Вы должны спроектировать схему (с помощью С-МПА), которая делает то же самое

3. Сконвертированные задания на программирование
Было задание на разработку схемы.
Из него сделано задание на разработку программы
То есть
- Вам дается оригинальное задание на разработку схемы
- Вы должны написать программу (на С-МПА), которая делает то же самое
- переменные надо называть как в оригинале названы контакты
Михаил Долинский

Темы: 1985
Сообщений: 47299

Мой профиль
Или вот такое (задача Unit из раздела Проектирование цифровых устройств/Логические элементы):
unsigned __in __bits(64) In;
 
 unsigned __out __bits(1) Out;
 void main()
 {
   unsigned __bits(8) temp=0;
   unsigned __bits(8) k=0;
   unsigned __bits(1) t;
   for (temp=0;temp<64;temp++) {
 	t=In>>temp;
 	if (t==1) k++;
   }
   if (k&1) Out=1;
   else Out=0;
 }
Как на такой простой программе может мне писать "чекер снят по времени"??? Ну купите новый чекер, не знаю...  
Боря надо пытаться ВНИКАТЬ в суть проблем. По этой программе генерируется схема. Игорь Викторович Коршунов (разработчик программы генератора схем) ответит более точно, или поправит меня, если я не прав.
По-моему, проблема в том, что в программе используется СДВИГ НА ПЕРЕМЕННОЕ ЧИСЛО разрядов.
t=In>>temp;

Именно в этом случае программа генерации "производит на свет" схему, которая затем долго компилируется. Надеюсь Игорь Викторович просветит нас ПОЧЕМУ так происходит и можно ли оптимизировать его программу - генератор схем. А пока ты Борис ДОЛЖЕН переписать эту программу на БОЛЕЕ ЭФФЕКТИВНУЮ, не использующую сдвиг на переменное число разрядов (а Ты можешь такую схему реализовать в HLCCAD-е)? Попробуй СПРОЕКТИРОВАТЬ схему, решающую эту задачу - а уж потом напиши программу, которая делает то же самое что и схема.

ЭТО И ЕСТЬ ОБУЧЕНИЕ ....
Борис Шруб

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

Мой профиль
Ну конечно я нытик, как же. Тогда ещё немного поплачу:
1.Проектирование цифровых устройств/Логические элементы, задача "Подпоследовательность". Пишет "Чекер снят по времени" за программу
unsigned __in __bits(8) In;
unsigned __in __bits(4) S;

unsigned __out __bits(1) Out;
void main()
{
  unsigned __bits(8) temp=0;
  unsigned __bits(1) k=0;
  for (temp=0;temp<5;temp++)
    {
	  if ((In>>temp)==S) k=1;
	}
	Out=k;
}

2. Проектирование цифровых устройств/По логическим функциям, задача "Логика". Надо вычислить выражение:
out_0 = ~( ~((~in_0 & in_1) + (in_2 V in_0)) + ~((~in_2 & in_1) + in_2)) V (in_0 & in_1 & in_2)
Программа:
unsigned __in __bits(1) in_0;
unsigned __in __bits(1) in_1;
unsigned __in __bits(1) in_2;

unsigned __out __bits(1) out_0;
void main()
{
  out_0=~(~((~in_0&in_1)^(in_2|in_0))^~((~in_2&in_1)^in_2))|(in_0&in_1&in_2);
}

Тест:
set 1,2 on in_0 at 9001
set 1,2 on in_1 at 9001
set 1,2 on in_2 at 9001
diff 0,2 on out_0 at 10000

А моя программа выдаёт 1. Программа вроде бы правильная, не представляю, где мог бы ошибиться. Тесты кривые?

3. Из сконвертированных заданий думаю что все, оставшиеся сейчас нерешёнными, неправильные. Перечислю только те, что у меня не прошли:
Схема по программе 81713
Схема по программе 81730
Схема по программе 81731
Схема по программе 81715
Схема по программе 81722

Я не нытик, просто я не могу прорешать вс DL в поисках неглючных задач.
Борис Шруб

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

Мой профиль


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


Боря надо пытаться ВНИКАТЬ в суть проблем. По этой программе генерируется схема. Игорь Викторович Коршунов (разработчик программы генератора схем) ответит более точно, или поправит меня, если я не прав.
По-моему, проблема в том, что в программе используется СДВИГ НА ПЕРЕМЕННОЕ ЧИСЛО разрядов.
t=In>>temp;

Именно в этом случае программа генерации "производит на свет" схему, которая затем долго компилируется. Надеюсь Игорь Викторович просветит нас ПОЧЕМУ так происходит и можно ли оптимизировать его программу - генератор схем. А пока ты Борис ДОЛЖЕН переписать эту программу на БОЛЕЕ ЭФФЕКТИВНУЮ, не использующую сдвиг на переменное число разрядов (а Ты можешь такую схему реализовать в HLCCAD-е)? Попробуй СПРОЕКТИРОВАТЬ схему, решающую эту задачу - а уж потом напиши программу, которая делает то же самое что и схема.

ЭТО И ЕСТЬ ОБУЧЕНИЕ .... 

Попробую написать. Мне кажется, обучение состоит в том, чтобы заранее узнать о правилах игры, а не методом тыка выяснять, что и на какие величины можно сдвигать. В лекциях я не видел информации о том, что нельзя сдвигать на переменное число бит, догадаться сам не мог - в Винтере-то работает. Это обучение? Это поиск ошибок в HLC-CADе, или в тестах на DL-ке, но никак не обучение. Я ничего полезного из знания, что HLCCAD генерирует плохие схемы при сдвиге на переменное число бит, не получил, и в жизни это знание навряд ли будет полезным.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, ... 9, 10, 11
Time:0,063