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

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

Мой профиль
написала новую задачу. методом проб и ошибок удалось добиться того, что DL её приняло. теперь пытаюсь её проверть: отправляю моё решение, в протоколе вижу ошибку
Ошибка: Несовпадение res:0=80 [1 ns]
в винтере моя программа работает корректно, видимо я неверно составила файл тестов.
вот мой код
unsigned __in __bits(10) x;
unsigned __in __bits(10) y;

unsigned __out __bits(7) res;

void main()
  {  res=0;
    unsigned __bits(10) K=0;
    unsigned __bits(1) a=0;
	unsigned __bits(7) b=0;
  	int i;
	K=~(x^y);
    for(i=0;i<10;i++){
	 a=K;
	 if(a==1) b+=10;
	 K>>=1;
	}
	res=b;
  }

вот файл тестов

;
Set 0000000011,2 on x at 1
Set 0000000000,2 on y at 1
Diff 80,10 on res at 1000
;
Set 0000000000,2 on x at 1001
Set 0000000000,2 on y at 1001
Diff 100,10 on res at 2000
;
Set 0000000000,2 on x at 2001
Set 1111111111,2 on y at 2001
Diff 0,10 on res at 3000

Подскажите в чём тут ошибка.
Михаил Долинский

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

Мой профиль
Ну попробуй для начала время на тестирование увеличить

Diff 80,10 on res at 10000 (или 100000)
Екатерина Боневич

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

Мой профиль
Михаил Семёнович, задача полностью готова . Можно проверять.
Михаил Долинский

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

Мой профиль
+5 бонусов за пионерство - Катя первая из потока попыталась поставить задачу.
Но пока задача не принята.

Вот замечания:

1) Недостаточно полный тестовый файл

; 1 Found at 0 place
Set 0000000011,2 on x at 1
Set 0000000000,2 on y at 1
Diff 80,10 on res at 10000
;1 Found at 0 place
Set 0000000000,2 on x at 20001
Set 0000000000,2 on y at 20001
Diff 100,10 on res at 30000
;1 Found at 0 place
Set 0000000000,2 on x at 40001
Set 1111111111,2 on y at 40001
Diff 0,10 on res at 50000

Всего три теста - МАЛО.
Например, не тестируется ситуация совпадения 1 и 1.
То есть, можно написать программу, которая будет считать совпадение только нулей - и она пройдет все тесты.

2. Отсутствует файл с секретными тестами.
Секретный тест должен называться: "_secret.tst" и содержать тесты в том же виде, что и в основном файле, но содержательно другие. Секретный файл не отдается студенту при получении ошибки на нем. Это защита от обманщиков. Но все ситуации, которые проверяются в секретном тесте, должны быть и в основном тесте, который отдается в случае ошибок.

3. Просьба ко всем избегать легенд
Например, "Есть две 10-битных последовательности. Требуется ... "
Катя можешь не менять условие.

4. В поле автор ОБЯЗАТЕЛЬНО надо писать группу и дату установки задачи
То есть не
Боневич Екатерина
а
Боневич Екатерина, ПМ-41, февраль 2009

5. После подготовки задачи и утверждения ее в форуме для получения БАЛЛОВ за ее установку необходимо отослать на тестирование файл letter.txt на нужную задачу (в папке "Новые задачи"):
1. Проектирование цифровых устройств 
2. Симуляция схем 
3. Программирование микроконтроллеров 
4. Симуляция программ  
5. Флеш-тест на выбранную тему 
6. Идеи флеш-заданий 
7. Тест на выбранную тему 
8. Программирование TCPU 
9. Симуляция TCPU-программ

6. После подготовки такой задачи (на проектирование), как у Кати,
почти задаром (в смысле потраченного времени) можно получить еще задачи типов:
- программирование микроконтроллеров
- симуляция программ
и баллы за эти задачи соответственно.
Екатерина Боневич

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

Мой профиль
Дополнила основной тест, написала секретный тест, исправила информацию об авторе.
Снова протестировала - работает.
Михаил Долинский

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

Мой профиль
Еще +5 бонусных баллов Кате Боневич за первую полностью установленную задачу.
А теперь нужно отослать letter.txt и получить основные баллы за установку новой задачи.
Екатерина Боневич

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

Мой профиль
Михаил Семенович, есть идея заменить существующий архив с примером новой задачи по CMPA на более полный, тк лично у меня ушло полторы недели на то, чтобы поставить наконец новую задачу. Мне кажется, что подобные проблемы возникнут у многих.
Тот пример не ставится на DL, в отличие от примера задачи по HLCCAD. В нём не хватает файла *.cfg.
Также по какой-то причине у меня не проходили архивы, названные буквами, с цифрами же было все нормально.
Михаил Долинский

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

Мой профиль
+3 бонуса за идею.
Еще бонусы можешь получить за:
- подготовку своего архива
- составление инструкции "Как ставить задачи"
(внеси туда все то, что считаешь нужным)
- выступление на лекции с сообщением "Как ставить задачи"
Екатерина Боневич

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

Мой профиль
Установка задач по C-MPA на DL

Эта инструкция
Архив задачи "Анкета"

Чтобы установить новую задачу на DL необходимо:
1. Придумать условие задачи и ее решение.
2. Составить архив.
3. Подписаться на курс «Новые задачи» на DL.
4. Отправить архив.
Поясним подробно каждый пункт.
Придумать условие задачи и ее решение.Новая задача должна быть на тему «Обработка битов». Проще говоря, нужно чтобы при решении задачи использовались побитовые логические операции и сдвиги.
Рекомендуются условия вида «Дана 16-битная последовательность, требуется …».
Заранее продумайте необходимый размер входных и выходных данных. До написания программы приведите примеры входных данных и ожидаемых для них результатов.
В среде Winter на C-MPA напишите решение вашей задачи. Составьте HLCCAD проект по полученному решению, продумав заранее название проекта и входного устройства.
Примечание: При написании программы на C-MPA рекомендуется избегать сдвигов на переменное число бит, а также лучше переприсвоить входные и выходные переменные внутренним.
Составить архив.Архив формируется из следующих файлов (далее объяснение идет по примеру архива задачи «Анкета»):
• anketa.mpc
• Task.cfg
• Task.htm
• anketa.prd
• anketa.tst
• _secret.tst
• Task.xml
Примечание: во избежание ошибок рекомендуется не создавать новые файлы, а внести коррективы в файлы примера архива (кроме anketa.prd).
Файл anketa.mpc содержит решение задачи на C-MPA (содержимое файла src.mpc).
В файле Task.cfg следует указать имя вашего входного устройства и название проекта вашей задачи, а также время на тестирование (указывается после составления файла тестов). Остальной текст оставить без изменения.
TYPE = USERS
CHECKER = 'D:\Delta\CHECKERS\HLCCAD\BIN\checker.cmd anketa 80000 anketa.prd $MAXPOINT$ $SOLUTION$ >nul'
CHECKFILES = {*.TST}
CHECKSUBJECT = FILE
EXTTYPE = 'Пользовательская'
Примечание: В примере имя проекта anketa.prd, имя входного устройства anketa, время на тестирование 80000ps.
ФайлTask.htm должен содержать условие вашей задачи с одним или несколькими примерами входных данных и ответами, таблицу типов и размерностей входных и выходных переменных, имена проекта и входного устройства.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="taskstyle.css">
</head>
<body>
<p align="right"><b>Имя HLCCAD проекта:</b>anketa.prd<br>
<b>Входное устройство:</b>anketa</p>
<p>
</p>

<table cellpadding="2" cellspacing="0" border="1" width="214">
<tr>
<td align="center" width="73"><font face="Tahoma,Arial,Helvetica" size="-1"><b>Название</b></font></td>
<td align="center" width="87"><font face="Tahoma,Arial,Helvetica" size="-1"><b>Размерность</b></font></td>
<td align="center" width="48"><font face="Tahoma,Arial,Helvetica" size="-1"><b>Тип</b></font></td>
</tr>
<tr>
<td align="center" width="73"><font face="Tahoma,Arial,Helvetica" size="-1">x<br>y<br>res</font></td>
<td align="center" width="87"><font face="Tahoma,Arial,Helvetica" size="-1">10<br>10<br>7</font></td>
<td align="center" width="48"><font face="Tahoma,Arial,Helvetica" size="-1">вход<br>вход<br>выход</font></td>
</tr>
</table>
<br>
Текст условия задачи<br>
<br>
Примеры</body>
</html>
Примечание: В файле task.htm синим цветом шрифта выделены места для изменения. Напомним, тег <br> - переход на новую строку.
Файл anketa.prd – HLCCAD проект вашего решения.
Файлы anketa.tst и _secret.tst содержат тесты. Они формируются одинаково. Отличие лишь в том, что файл с секретными тестами никогда не будет показываться пользователю.
; 1 Found at 0 place
Set 0000000011,2 on x at 1
Set 0111100000,2 on y at 1
Diff 40,10 on res at 10000
Тест можно интерпретировать так: установить значение 0000000011 в двоичной системе исчисления на контакт x на 1 ps, установить значение 0111100000 в двоичной системе исчисления на контакт y на 1 ps, получить ответ 40 в десятичной системе на контакт res на 10000 ps.
Файл тестов должен быть полным и учитывать все крайние случаи. Тестов в каждом из файлов должно быть не менее пяти.
Время окончания тестирования внесите в файл task.cfg.
Файл Task.xml содержит информацию о русском и английском названиях задачи, авторе, количестве баллов, начисляемых за решение задачи, а также тип = 2, так как задачам по C-MPA присвоен тип 2.
<task name="Anketa" ename="" author="Боневич Екатерина, ПМ-41, февраль 2009 " cost="100" type="2"/>
Когда все файлы готовы, заархивируйте их.

Подписаться на курс «Новые задачи» на DL.
Войдите в систему DL. Зайдите в выбор курсов и подпишитесь на курс «Новые задачи».

Отправить архив.Войдите в курс «Новые задачи». В колонке меню слева выберите «Редактор», укажите в обзоре архив со своей задачей и отправьте его. Если в архиве не было ошибок, то задача установится.
Далее следует в меню выбрать раздел «Задачи», где появилась ваша только что отправленная задача. Протестируйте ее, отправив уже написанное вами решение *.prd. Посмотрев протокол, убедитесь, что ваше решение прошло все тесты.
После этого нужно сообщить преподавателю, что вы поставили новую задачу.
Если решение не прошло, то задачу следует удалить, зайдя в пункт меню «Удаление». Затем перепроверьте тесты и ваше решение. После устранения ошибок снова отправьте переработанный архив.
Количество отправлений не ограниченно.
Михаил Долинский

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

Мой профиль
Спасибо, Катя +20 бонусных баллов
Екатерина Боневич

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

Мой профиль
Я поставила новую задачу "Два в одном".
Михаил Долинский

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

Мой профиль
Боневич Катя +10 бонусных баллов за вторую новую задачу.
Борис Шруб

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

Мой профиль
Поставил новую задачу. Кажись работает
Михаил Долинский

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

Мой профиль
Надо послать letter.txt на соответствующее задание в папке "Новые задачи"
Екатерина Боневич

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

Мой профиль
Михаил Семенович, вы не добавили мне баллы за вторую установленную задачу.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3
Time:0,051