[Exam] C# Basics - 7-8 Ноември 2014 - Впечатления от изпитите.
Като минаха няколко дена и евентуално емоциите са поотшумяли. Реших да отворя тема, каквато има за предишни изпити, а все още няма за последните, които минаха. Всеки да сподели впечатления, резултати и проблеми с решенията и всякакви въпроси. (C# Basics Exam Results видях и тази тема, но е в раздела "Въпроси за SoftUni" и е по-скоро с административна насоченост. Ако минава за повтарящо се триите )
Та така... Първо честито на всички справили се и с 5те задачи. И успех на останалите в класирането.
Аз бях на изпита на 8ми(събота). Като цяло съм изненадан от нещата, които направих. Реших и 5те задачи, като за мое най-голямо учудване най-лесна беше побитовата задача (ако съдя по усилията, времето и похабените нерви).
На първа задача заради обърканото условие, естествено изпуших и я оставих за по натам. Като в последствие я докарах до 100 точки.
Втора задача - лично на мен ми дойде най-трудна. Просто забих прекалено много и не можах да си разбера грешката доста дълго време. Бях оплескал двата while цикъла, които използвах... до кога да се въртят.
Трета задача ме забави малко повече от моите очаквания, защото не обърнах внимание на една особеност, часта от с ръкавите от RockLq-та... главно от разсеяност. Но не беше трудна.
Четвърта задача пак глупава грешка... Вложени цикли, всеки почва от 2 до 14 вкл. Два часа, за да разбера, че единият цикъл го въртя от 0 до 14.
Пета задача - изцяло бях решил, че ще решавам побитово и че тъпо и упорито не искам със стрингове. И много се радвам от решението си. Едно число, което трябва да направиш четири различни неща с него, според зависи команда е подадена от входа. Не беше от завътяните случаи, в които броиш от ляво на дясно или добяваш едно след друго n на брой числа. Бях си подготвил основните формули, ако е 0 да стане 1 или отбратно и за да му зададеш определена стойност.
По нататък ще кача решенията си така, както ги направих на изпита. Та тез впечатления и обяснения да не са чак толкова голословни. А по-късно тази вечер или утре ще пробвам и изпита от 7ми и за него ще провам да споделя впечатлия.
О да! Напълно споделям чувствата от изпита. Макар и да не съм бил студент до сега(както обичам да казвам: Имам три много важни и щастливи мига в моя живот. Първият: завършването на гимназията(да тинейджърските години, приятели и купоните са забава и безгрижие, и ми липсват, но гимназията като такава, беше пълна скръб). Вторият: първо кандидатстване в СУ - неуспешно и третият: второ кандитастване в СУ и във ВТУ - неуспешно).
За първи път отивам със самочувствие и желание на изпит. Плашеше ме факта, че съм прекалено спокоен. Борех се за максималното, а не просто да го взема там с някви точки, че да ме приемат. За щастие успях. Подготовката преди това ми беше забавление, а не "уф това не мога да го разбера", "кво ще правя са на изпита" и прочее познати на всички минаващи мисли.
Вечерта след изпита даже се прибрах и почнах да гледам лекци от следващите курсове които ни предстоят. И нямам търпение да идва 15 януари. Хората около мен не ме разбират. Ама явно не са имали щастието да попаднат в среда с хора занимаващи се се с това, което им е интересно и МИСЛЕЩИ ежесекундно, ако нещо не работи, как да се оправи!
Спас,
По 2-ра задача, видях и по време на самия изпит, че доста хора парсват към DateTime, което е излишно. Може да се сплитне и по точките и да се парснат денят, месецът и годината директно към числа.
5-та едва ли ще работи за 100 точки с този uint, тук трябва да е long. Нещо, което по време на изпита хората не съобразиха (докато не им подсказахме), е, че ако ни дадат достатъчно команди insert числото вече няма да е 32-битово.
Написах го с uint понеже ми е интересно дали ще мине. Винаги мога да го сменя на long, ако зависнат тестове. Имам някакъв смътен спомен, че при uint всичките битове се ползват само за положителни числа. Пуснах избирателно няколко от тестовете (7ми и 9ти мисля) и минаха. Като излезе практиса в джъджа ще се разбере :).
Може и да се излишно парсването в DateTime наистина, като замисля сега. Едно сплитване за точка, както каза, ще свърши същата работа.
Мисля, че един тест няма да мине (може би два) ако не ползваш long. Според условието на задачата, числото може да ти е максималната стойност на int, което значи, че с 2 поредни операции insert вече uint не ти върши работа. Така че, за да е коректно решението, няма алтернатива на long.
Прав си, минаха само 8 от 10 теста. По интересното стана като смених на long и пак не минаха всичките. Оказа, се че в методите работя само с 32-33 бита, смених на 64 и заспа. След това видях в авторското решение ползват отделен метод за броене на битовете, което е също доста хитро.
На втора задача с DateTime парса поради някаква причина минаха само половината тестове(другите с грешка), още по-интересното беше, че 2 от нулевите тестове, които минават на visual studio-то в джъждва гърмят с "System.FormatException". Предполагам има нещо общо с това, че датите са с точки, но не знам защо само половината не минават. Като промених кода да split-ва за точка мина всичко.