Грешно зададени условия

При решаване на задачи за упражнения в сайта, забелязах разминаване между описанието на задачата /description/ и търсеният отговор. Примерно на задача “Rotate list” /C#/ е записано “Output :On the only line of output, print the numbers separated by a space.”

Всъщност когато изходният резултат е формиран с празно място между стойностите /separated by a space/ както е описано в заданието - Системата оценява резултата като грешен.

Когато изходният резултат е форматиран със запетайка между стойностите - системата дава два варианта :

  • при формат char на разделителната запетая, отново връща грешка.

  • Едва когато формата е със запетайка - форматирана като “string” - тогава системата отчита правилен отговор.

Ако задачите са с грешно поставено условие, на каква база ще бъде извършвана оценката изпита?

Също така това “отгарване” на търсеният резултат ни губи доста време, което няма как да се компенсира.
В конкретния случай, бързо може да се хване къде е проблема, но не всеки път се намира бързо.

Здравей Марин,
Благодаря, че ни съобщи за тази нередност. Условието на задачата е оправено.

image

Независимо от какво естество е проблемът, умението за бързо намиране на правилно решение е едно от най-високо ценените качествата във всеки, който се занимава с разработка на софтуер.
Разгледах решенията ти и ми хареса, че си достигнал до правилното решение изключително бързо.

image

Един от начините за намалянето на броя догатки е винаги да четеш грешката, която дава системата.

На първия си submission си получил Wrong Answer (WA | C#), защото си се водил от условието, в което, в случая, е имало грешка и си използвал Console.WriteLine(string.Join(" ", array));

На следващия си submission си получил Compilation Error (CE | C#), защото си използвал Console.WriteLine(string.Join(',', array));.

По-детайлно изследване на съобщението за грешка дава насоки какво и къде да бъде променено.

/tmp/tmpi1Nv3b/00404rotatelist.cs(39,38): error CS1502: The best overloaded method match for string.Join(string, params string[]) has some invalid arguments

/tmp/tmpi1Nv3b/00404rotatelist.cs(39,43): error CS1503: Argument #1 cannot convert 'char' expression to type 'string'

Надявам се да ти е било полезно и отново благодаря, че ни писа.

Поздрави,
Кирил

2 Likes

Здравейте,
В задачите на Java също има няколко, при които критериите на автоматизираните тестове за оценяване на отговорите, се различават от условията. На прима виста се сещам за задача 11 “Find Maximum Value” от раздел “Loops”. Даже мислех да питам дали и на изпита ще има такива подводни камъчета… :slight_smile:
Това на шега, разбира се. Мога да проверя кои бяха другите проблемни задачи и да пиша.