[Logo] Форум DL
  [DL]  Back to home page 
Forum Index ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, ... 9, 10, 11
Author Message
Igor Korshunov

Topics: 7
Messages: 2186

My Profile


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

Аналогичная ситуация с задачей Экзамен\Индивидуальные задания\Проектирование цифровых устройств\По таблицам истинности\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'е все правильно 

Тесты исправлены - задачу можно пересдать.
Igor Korshunov

Topics: 7
Messages: 2186

My Profile


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

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

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

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

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

Topics: 1
Messages: 15

My Profile


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


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

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

Исправлено. 

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

Topics: 1
Messages: 15

My Profile
и в задаче
сконвертировать задания на проектирование/вычислить выражение/вычислить выражение-2
тоже проблемы с тестами
Mihail Dolinskiy

Topics: 1985
Messages: 47286

My Profile
тоже проблемы с тестами  

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

Topics: 0
Messages: 10

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

Topics: 1985
Messages: 47286

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

Topics: 0
Messages: 18

My Profile


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

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


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

Topics: 1985
Messages: 47286

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

Topics: 0
Messages: 29

My Profile


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

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

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

Topics: 0
Messages: 29

My Profile
Или вот такое (задача 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;
}

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

Topics: 1985
Messages: 47286

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

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

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

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

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

Topics: 1985
Messages: 47286

My Profile
Или вот такое (задача 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-е)? Попробуй СПРОЕКТИРОВАТЬ схему, решающую эту задачу - а уж потом напиши программу, которая делает то же самое что и схема.

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

Topics: 0
Messages: 29

My Profile
Ну конечно я нытик, как же. Тогда ещё немного поплачу:
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 в поисках неглючных задач.
Boris Shrub

Topics: 0
Messages: 29

My Profile


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


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

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

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

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