Loading...
akiprov avatar akiprov 20 Точки

Document Object Model - Number Convertor - Feedback

Умопомрачен съм от начина, по който се извършва тестването на нашите решения в Judge.
Пиша във връзка с поредна задача от това домашно и този път, най-накрая, успях да се натъкна на нулев тест, който ме светна какво всъщност се случва.

Проверките в Judge са толкова ограничени, толкова hardcode-нати, че ако студента не пусне точно това решение, за което написалия теста си е мислил, автоматично получава 0 точки.

Давам пример с въпросната задача от заглавието.
Първоначално я реших като зад всяка опция от падащия списък за целева бройна система сложих цяло число, което да представлява базата на съответната система (двоична -> 2, шестнадесетична -> 16):

<option value="2">Binary</option>
<option value="16">Hexadecimal</option>

Това прави последващи изчисления базирани на стойността на select menu-то много кратки и лесни. Но не би.
Видите ли, след като това прекрасно решение изгърмя тотално в Judge и погледнах нулевия тест, бях втрещен от това какво се търси.

<option value="binary">Binary</option>
<option value="hexadecimal">Hexadecimal</option>

Вместо да се възползваме от възможността да скрием числа зад етикетите "Binary" и "Hexadecimal", проверяващия очаква от нас да сложим същите символни низове като стойности на опциите. И по незнайна за мен причина те трябва да са не с изцяло главни, не с първа главна и останали малки, а с изцяло малки букви от край до край.
И разбира се, оттам нататък следват едни допълнителни switch-case или if-else проверки, едни parse-вания, за да може да продължим с калкулациите на базата на текст!?!

Къде е алгоритмичното мислене тук?
Защо хората, които се стараят да мислят и пишат практично, да се възползват напълно от всички удобства, които един език за програмиране им предлага, биват наказвани когато дойде време за оценяване на труда им?
Онзи ден колеги изразиха опасения от това дали ще могат да си вземат изпита. Склонен съм да се присъединя към тях. Ако тестовете към изпитните задачи са такива, спукана ни е работата.

Това не е първия курс в SoftUni, при който проверките на домашните в Judge късат нервите на студентите.
И аз за пореден път ще кажа, че щом тестовете не могат да бъдат написани така, че да приемат повече от 1-2 верни решения (а те понякога са дузина), то трябва Input и Output винаги да са видими за студентите.
Не може и не е редно да учим синтаксис в рамките на 4 часа и после в продължение на 40 да гадаем какво точно иска Judge от нас.

Криенето на изискванията не ни прави по-добри програмисти. Няма случай от реалността, в който клиент да дойде при нас и да ни каже "Искам да ми напишеш една програма, но няма да ти кажа кой и как ще я ползва. Ама ти почвай да пишеш...".
И не, условията на задачите за домашно не покриват всички възможни варианти и не могат да ни подготвят за абсурдни случаи като този описан по-горе. Да не говорим, че понякога и в тях има правописни и логически грешки.
И в тази връзка пускането на анкети се обезсмисля, защото тези неща не се променят с години.
Наскоро мой познат се записа в SoftUni. Преминавайки през същите курсове, които аз вече съм карал, се натъкна на същите стари грешки по условия и презентации, които си бяха там и през 2016г. Що за апатия е това? Как може един преподавател или асистент като види грешка в документ по време на презентация, да не посегне да я поправи и да запази промяната за идните курсове?

Тагове:
0
JavaScript Fundamentals
snaikeee avatar snaikeee 54 Точки

Ако не беше тази тема и аз не знам как щях да се сетя че value трябва да цялото с малки букви

0
vib1336 avatar vib1336 0 Точки

Здравейте колеги, да не отварям нова тема ще ползвам тази. Кода работи според примерите в задачата, съдията дава 0 т. Като цъкна да видя техния input ми пише че трябва да получа 'yes', а пък в моя output пише: Unexpected error: Cannot read property 'addEventListener' of null. Като цъкна да видя какъв input вкарват пише, че конвертират 20 to binary и получават 10100, а при мен също се получава. Не разбирам къде бъркам и защо получавам 0 т. 

https://pastebin.com/BEbuCvQ2

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.