Нови библиотеки на изпит? На домашна?
Здравейте!
Може ли да ми кажете, имаме ли право на изпита примерно да предадем проект с допълнително вкарана библиотека? Ще се зачете ли задачата? Същия въпрос имам и за домашната. Примерно може ли, ако си намеря подходяща библиотека в нета да я добавя и да я използвам / при положение, че библиотеката е пусната за свободно ползване /, примерно както е на Наков IO ?
EDIT: имах предвид библиотека
Имам предвид, примерно на домашната за Conditional Statements - NumberAsWords. Видях много решения в нета, които не са лоши, но изискват доста писане и то на неща, от които не всичко разбирам. Порових малко по-сериозно и намерих това https://github.com/robertgreiner/NumberText , което решава задачата с 3-4 реда, само се добавя в проекта. Замислих се, че ако на изпита задължително трябва да се предаде само един проект за дадена задача / като това никъде не го видях като условие /, не може ли този код примерно да се вкара в решението? Това ще изгърми ли, ще се приеме ли?
По същия начин и за домашната: редно ли е да се ползва такъв подход? В случая тази библиотека я няма във Visual Studio.
Имам чувството, че не знаеш как работи джъдж системата.
Решаваш някаква изпита задача и искаш да тестваш дали си я решил правилно. Копираш целия код и го поставяш в едно инпут поле за съответната задача. Оттам нататък системата го компилира и го тества, като сравнява твоите отговори с очакваните отговори. Получаваш резултат след секунда-две.
Ако случайно въпросната библиотека, която си изровил, е добавена към джъджа, можеш да й ползваш публичните методи директно. За целта добавяш using NumberText; след using System; и се надяваш да тръгне. Ако не тръгне - получаваш едно дебело съобщение за compile time error и 0 точки.
Ок, разбирам НО:
не добавям цялата библиотека примерно / using NumberText /, а копирам кода на библиотеката в решението. В конкретния случай се получава:
което, ако не се лъжа освен компилацията / която май в повечето случаи е 0.10 сек / минава в джъдж. Въпроса ми е дали това е грешен подход, позволено ли е да се прави и как се гледа на такова решение. Имам предвид решението на задачите трябва да е строго определено или каквото и да напишеш е вярно, стига да минеш през проверките. Това ми е интересно.
А и остава въпроса с домашните: грешно ли е, да го избягваме ли?
Ако получиш точки - никой не те гледа как си ги получил, стига кодът да не съвпада на 100% с този на другарчето до теб. Ако си намерил хитро решение на домашното - пращай го, но добави и малко разяснения какво си правил.
Горните две неща не важат, ако въпросното решение не е изрично забранено. Но такива забрани са много голяма рядкост и са по-скоро в условията на екипните проекти. Примерно да не се ползва някоя библиотека, защото много улеснява/обезсмисля усилието.
Благодаря!
Ще гледам да се придържам към стандартните решения, че да не се омотам в допълнителните библиотеки :)
Принципно може да хванеш кода от някоя библиотека и да го копираш директно в твоя проект, но Judge има също така и ограничение за размера на сорс кода. Т.е. би могъл да хванеш някой конкретен клас ако ти трябва и да го пейстнеш в проекта, но цяла библиотека едва ли. Не мисля, че са много външните библиотеки, които системата приема, знам само за Wintellect PowerCollections.
Аз ти препоръчвам на този етап ако намериш някоя библиотека, която ти върши работа, да разгледаш сорс кода й и да опиташ да разбереш как работи. Целта на подобни задачи е да се развие малко алгоритмично мислене и coding skills. За работа с готови библиотеки е рано още, ще им дойде и на тях времето.
Ок, Колев, благодаря!
Засега ще си цъкам на нормалните решения и няма да се опитвам да си търся лесното, че вероятността да се объркам е много по-голяма :)
Както каза, като му дойде времето, ще си търся библиотеки.
Поздрави!