Типични грешки, които правя, когато решавам изпитни задачи за Programming Basics
Това е много сбит преразказ на грешките, които най-често правя – изключвам най-важната – да не си дочета условието и най-глупавата – да не сложа вътрешните скоби в Console.Write/ReadLine.
Предполагам, че не съм само аз и може да помогна за някоя друга точка повече на изпита.
1. Първа важна грешка – да си мисля, че задачите са подредени по трудност във възходящ ред. Естествено, че не е така – наредени са по реда на вземане на материала. За мен втората задача обикновено съдържа най-много възможности за „дребни грешки” – най-вече защото включва доста if, форматирани изходи и Math методи. Като сложим и нещата свързани с DateTime, възможностите за грешка нарастват застрашително.
Третата е switch-case, четвъртата – for със запазване на нещо си извън цикъла, пета и шеста – все for цикли, ама различно заплетени.
2. Типова грешка – пропуснат знак “=”. Най- често при if. При това положение получавам брой точки различен от 0, 100 или 50. – това във втора, трета или четвърта задача. Ако равното липсва във for цикъл – тогава точките обикновено са 0 :)
3. Типова грешка – неправилно дефиниране на променлива, която трябва да е “double”. Уж съм забелязал правилото, че щом има деление или проценти трябва да се работи с double, но все се подвеждам по входа, че щял бил да бъде цяло число. Като стане такова нещо – обикновено дори и тестът на решението не тръгва, защото компилаторът се предпазва от възможно деление на 0.
4. Типова грешка – неправилно определяне на границата на if. От една страна else не е задължително и тогава if „обработва” някое изключение. От друга – най-си е добре, когато if, else if и else включват всички възможни варианти и тогава пропусната или не на място сложена скоба на if може да загуби часове време.
5. Типова грешка – да не се сетя коя точно променлива да извадя извън for цикъл – най-често при четвърта задача. Уж е ясно – вадим нещата, които искаме да „складираме” – натрупваме или нещо подобно извън for цикъла – най-често преди, но все се случва да не съобразя кое точно - и тогава F10 от мен до другото дърво и обратно :)
6. Типова грешка - в 6 задача, когато имам брояч, който ограничава броя изпечатани комбинации - пропускам да сложа break във всеки от вложените цикли.
Дано спестя на някого някоя минута на изпита и най-вече благодаря на Vladislav Genoff и Димитър Русков и за реакциите на мои грешки !!!