philosoff's.community.forum

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » philosoff's.community.forum » Учеба и ВМК. » Второе задание по проку


Второе задание по проку

Сообщений 1 страница 12 из 12

1

Выкладываю свои 25 тестовых программ ля второго задания + скрипт полуавтоматического тестирования.

Моя вариантная часть:
- if без else
- сишный for
- break
- унарный + и -

Соответственно тесты расчитаны на этот вариант. Тесты включают 24 коротких программы, содержащих по одной разной ошибке в каждой и одну большую корректную программу.
В комплект входит скрипт runtests.sh выполняющий все эти тесты и дающий вывод, по которому удобно проверять правильность работы анализатора. Ваш анализатор должен называться cmp и лежать в той же директории, что и скрипт, ну или поправьте скрипт. Тесты должны лежать в директории tests, или поправьте скрипт.

Виндузятникам желаю приятного набивания сотен команд ручками.
ЗЫ Буду рад, если кто-то удосужится дополнить этот набор тестов. У меня фантазия на 25 исчерпалась.
ЗЗЫ Архивчик - это tar.bz2 файл, переименовать его надо будет.
ЗЗЗЫ Для тех, у кого вылетит куча крякозябр на экран. Вот эту хрень надо просто сохранить в файл.

0

2

Вообще-то, часть с операторами перехода делать не надо было... то есть ни break, ни continue. И она и я об этом говорили неоднократно. Более того, я точно не помню, но по-моему она говорила, что за них, как и за присутсвие в программе типа real могут быть приняты карательные меры в виде отправки программы на доработку...

0

3

Набор тестов очень прикольный. Вот только я не понял сакрального смысла тестов 21 и 23...  :)

Отредактировано DiMan (2007-05-13 08:41:23)

0

4

Набор тестов очень прикольный. Вот только я не понял сакрального смысла тестов 21 и 23...  :)

В 21 надо int вместо boolean, а 23 корректный, но оставить его стоит, он у меня баг нашел. Слово not - служебное слово, но обрабатывается правилами для выражения, а не для других служебных слов, а потому требует отдельного тестирования.

0

5

Еще один тест:

Код:
program {
int for;
}

Народ, вот уже 29 человек скачало, и никто из них своих тесто не писал чтоли? Особенно интересуют забористые корректные тесты с хитрыми математическими выражениями.
PS break я в своей программе убрал, в корректном тесте надо тоже брейк убрать.

0

6

Обновленный набор тестов. Исправлены 21 и корректный, 23 перенесен в корректные, добавлен еще один ошибочный тест, добавлено разделение и значительно переделан скрипт тестирования.
Внимание, анализатор должен возвращать 0 в случае корректной программы и 1 в случае наличия ошибки в программе. Тогда в конце получите статистику:

Код:
                /************************\
                |  Testing acomplished.  |
                \************************/
Error tests executed    24
Error tests failed      0

Correct tests executed  2
Correct tests failed    0

0

7

Вот мой :laugh: :

Код:
program
{
	int i, j=+3, k=-5;
	bool a=true, b=false, c, d;
	string p="asd", q="qwe", r="asdqwe";

	if(a and b or (c and not d))
	{
  p=r="zxc";
  while( i*j-k%12 >-35536)
  	if(i%j!=j%i*0) r="dfg";                  /*   |     |_ () \/ E      P /-\ S C /-\ |_  */
  	else if(not a and not a or not b and c )
                                      while(d) {i=k/23+j*32; while(true) read(p); }
  i=-712*-83%j--589-+453+-988;               /*  /-\ |\| |)    |\| |_| /\/\ B ER     7958221 */
  j=i+-2*-2*k;
	}

/* asd312940e o2389*(^@5 39469936249  49346tg  << /* Psychodelic comment :-) */
} 


Отредактировано DiMan (2007-05-13 16:27:29)

0

8

У нас логический тип называется boolean а не bool.

0

9

Я знаю, Лёх, просто когда я это заметил, программа уже была почти готова, и во избежание появления глюков я решил ничего не менять...  :)

0

10

Спасибо Диме и Лехе!! Ваши тесты мне очень помогли  :)

0

11

[OFFTOP]

Виндузятникам желаю приятного набивания сотен команд ручками.

виндузятники тоже скрипты для командной строки писать умеют (bat-файлы) http://0bb.ru/uploads/philosoff/post-14-1142765790.gif
правда, функциональности там поменьше  :(
[/OFFTOP]

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

Она не заметит))) Как и насчет лишних брейков и континью. Главное их не вставлять в прогу, на которой ей демонстрировать будете ;)

0

12

[OFFTOP]
Она не заметит))) Как и насчет лишних брейков и континью. Главное их не вставлять в прогу, на которой ей демонстрировать будете ;)

виндузятники тоже скрипты для командной строки писать умеют (bat-файлы)
правда, функциональности там поменьше

там такой скрипт не напишешь. И потом, это у них в крови.

0


Вы здесь » philosoff's.community.forum » Учеба и ВМК. » Второе задание по проку