Автор |
Сообщение |
24.02.2009 14:28:22
Тема: Новые задачи
|
Екатерина Боневич
Темы: 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
Подскажите в чём тут ошибка.
|
24.02.2009 15:36:09
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Ну попробуй для начала время на тестирование увеличить
Diff 80,10 on res at 10000 (или 100000)
|
27.02.2009 10:42:40
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 1
Сообщений: 15
Мой профиль
|
Михаил Семёнович, задача полностью готова . Можно проверять.
|
27.02.2009 11:14:04
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
+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. После подготовки такой задачи (на проектирование), как у Кати,
почти задаром (в смысле потраченного времени) можно получить еще задачи типов:
- программирование микроконтроллеров
- симуляция программ
и баллы за эти задачи соответственно.
|
27.02.2009 12:49:13
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 1
Сообщений: 15
Мой профиль
|
Дополнила основной тест, написала секретный тест, исправила информацию об авторе.
Снова протестировала - работает.
|
27.02.2009 13:33:14
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Еще +5 бонусных баллов Кате Боневич за первую полностью установленную задачу.
А теперь нужно отослать letter.txt и получить основные баллы за установку новой задачи.
|
01.03.2009 20:37:42
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 1
Сообщений: 15
Мой профиль
|
Михаил Семенович, есть идея заменить существующий архив с примером новой задачи по CMPA на более полный, тк лично у меня ушло полторы недели на то, чтобы поставить наконец новую задачу. Мне кажется, что подобные проблемы возникнут у многих.
Тот пример не ставится на DL, в отличие от примера задачи по HLCCAD. В нём не хватает файла *.cfg.
Также по какой-то причине у меня не проходили архивы, названные буквами, с цифрами же было все нормально.
|
02.03.2009 09:01:27
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
+3 бонуса за идею.
Еще бонусы можешь получить за:
- подготовку своего архива
- составление инструкции "Как ставить задачи"
(внеси туда все то, что считаешь нужным)
- выступление на лекции с сообщением "Как ставить задачи"
|
09.03.2009 18:33:04
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 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. Посмотрев протокол, убедитесь, что ваше решение прошло все тесты.
После этого нужно сообщить преподавателю, что вы поставили новую задачу.
Если решение не прошло, то задачу следует удалить, зайдя в пункт меню «Удаление». Затем перепроверьте тесты и ваше решение. После устранения ошибок снова отправьте переработанный архив.
Количество отправлений не ограниченно.
|
10.03.2009 10:12:14
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Спасибо, Катя +20 бонусных баллов
|
10.03.2009 22:27:05
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 1
Сообщений: 15
Мой профиль
|
Я поставила новую задачу "Два в одном".
|
11.03.2009 15:24:15
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Боневич Катя +10 бонусных баллов за вторую новую задачу.
|
12.03.2009 11:41:40
Тема: Re:Новые задачи
|
Борис Шруб
Темы: 0
Сообщений: 29
Мой профиль
|
Поставил новую задачу. Кажись работает
|
12.03.2009 12:07:17
Тема: Re:Новые задачи
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Надо послать letter.txt на соответствующее задание в папке "Новые задачи"
|
13.03.2009 13:35:35
Тема: Re:Новые задачи
|
Екатерина Боневич
Темы: 1
Сообщений: 15
Мой профиль
|
Михаил Семенович, вы не добавили мне баллы за вторую установленную задачу.
|
|