Loading...
TrifonApov avatar TrifonApov SoftUni Team Trainer 131 Точки

[Exam] C# Basics - 7-8 Ноември 2014 - Впечатления от изпитите.

Като минаха няколко дена и евентуално емоциите са поотшумяли. Реших да отворя тема, каквато има за предишни изпити, а все още няма за последните, които минаха. Всеки да сподели впечатления, резултати и проблеми с решенията и всякакви въпроси. (C# Basics Exam Results видях и тази тема, но е в раздела "Въпроси за SoftUni" и е по-скоро с административна насоченост. Ако минава за повтарящо се триите smile )

Та така... Първо честито на всички справили се и с 5те задачи. И успех на останалите в класирането.

Аз бях на изпита на 8ми(събота). Като цяло съм изненадан от нещата, които направих. Реших и 5те задачи, като за мое най-голямо учудване най-лесна беше побитовата задача (ако съдя по усилията, времето и похабените нерви).

На първа задача заради обърканото условие, естествено изпуших и я оставих за по натам. Като в последствие я докарах до 100 точки. 

Втора задача - лично на мен ми дойде най-трудна. Просто забих прекалено много и не можах да си разбера грешката доста дълго време. Бях оплескал двата while цикъла, които използвах... до кога да се въртят. 

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

Четвърта задача пак глупава грешка... Вложени цикли, всеки почва от 2 до 14 вкл. Два часа, за да разбера, че единият цикъл го въртя от 0 до 14.

Пета задача - изцяло бях решил, че ще решавам побитово и че тъпо и упорито не искам със стрингове. И много се радвам от решението си. Едно число, което трябва да направиш четири различни неща с него, според зависи команда е подадена от входа. Не беше от завътяните случаи, в които броиш от ляво на дясно или добяваш едно след друго n на брой числа. Бях си подготвил основните формули, ако е 0 да стане 1 или отбратно и за да му зададеш определена стойност.

По нататък ще кача решенията си така, както ги направих на изпита. Та тез впечатления и обяснения да не са чак толкова голословни. А по-късно тази вечер или утре ще пробвам и изпита от 7ми и за него ще провам да споделя впечатлия.

Тагове:
5
Programming Basics
Kamigawa avatar Kamigawa 750 Точки

Аз бях на изпит в петъка. Доста се поизмъчих, но съм доволен от резултата.

Първата задача не беше нищо особено, реших я на автопилот (някъде към 3 часа, понеже започнах от другите задачи). Същото се отнася и за втората. Даже сега като гледам авторското решение осъзнавам, че е можело да си спестя малко код. Четвъртата задача също беше доста лесна. Като я написах и пуснах даже бях изненадан, че трябват само 5 цикъла и един брояч - определено като отидох на изпита очаквах, че четвъртата ще ми бъде най-трудна и ще се мъча на нея. Петата задача още от началото реших, че най-лесно ще я реша с битовите операции, но за жалост надробих една малка каша - както пише в учебника за въведение в програмирането - спагети. Самите променливи ми бяха с доста малоумни имена, което ме оплете и загубих прилично време. Накрая реших, че само си губя времето и си направих нов проект и започнах на новo да я пиша вече с адекватни променливи. Разбираемо след като знаех какво искам да направя и как да го направя стана бързичко и лесно. На първото пускане 70 точки, видях, че не съм обърнал внимание на ако се работи с едно и също число - написах един бърз if и всичко заспа. Дотук добре. Нарочно не споменах нищо за третата задача досега, понеже имам доста да я коментирам нея :). Реших, че самолета не е много сложен и започнах да правя изпита с него - голяма грешка. Още при първото писане на кода мина нулевите тестове и бях сигурен, че съм готов с тази задача. Ах колко грешах. Пуснах кода в джъджа и изненада - 0/100. Минава нулевите тестове и гърми. Почнах да си броя чаровете по екрана като идиот. Малки промени по кода тук, малки промени по кода там - нищо от никъде. Пуснах още 2-3-4 опита - 0/100. Минах на първа задача, реших я. Малко промени по кода тук, малко промени по кода там на самолета - пак нищо от никъде. Втора, четвърта, пета. Като през цялото време между задачите се връщах на самолета и нищо от никъде. Този самолет го сънувам вече втора вечер. Накрая взе, че мина и даде 100 точки. Не мога да опиша усещането. Грешката ми е била в една проверка, която принтира средната част на самолета - там където трябва да се вадят по 2 точки, не по 1 (ще го видите, ако не сте били на изпита ). Един ред ми е влизал не там където трябва и при големи стойности самолета е ставал грешен, докато при малките си е ок. След всичко това вече беше към 5 и половина. Погледнах кода на задачите и прецених, че е достатъчно красив и не желая да го пипам повече и си тръгнах. Като цяло можех да пипна малко на втора и пета, защото имаше дублиращ се код, ама дали щях да го оправя или да сътворя други спагети след 5 часа „мислене“ не знам.

Ето задачите ми от изпита, вчера малко ги пипнах(предимно имена на променливи): https://github.com/Vutov/SoftUni/tree/master/CSharp%20Basics/Exams/Exam-07-November

Едит: Преди малко реших и тези от 8ми:

https://github.com/Vutov/SoftUni/tree/master/CSharp%20Basics/Exams/Exam-08-November

Изпита като цяло беше уникален. Страхотно изживяване, обстановка и квестори. Като се замисля определено ми беше по-труден от държавният изпит за бакалавърска степен, нямам търпение да се явя пак на изпит - колкото и странно да звучи.

4
11/11/2014 18:50:15
TrifonApov avatar TrifonApov SoftUni Team Trainer 131 Точки

О да! Напълно споделям чувствата от изпита. Макар и да не съм бил студент до сега(както обичам да казвам: Имам три много важни и щастливи мига в моя живот. Първият: завършването на гимназията(да тинейджърските години, приятели и купоните са забава и безгрижие, и ми липсват, но гимназията като такава, беше пълна скръб). Вторият: първо кандидатстване в СУ - неуспешно и третият: второ кандитастване в СУ и във ВТУ - неуспешно).

За първи път отивам със самочувствие и желание на изпит. Плашеше ме факта, че съм прекалено спокоен. Борех се за максималното, а не просто да го взема там с някви точки, че да ме приемат. За щастие успях. Подготовката преди това ми беше забавление, а не "уф това не мога да го разбера", "кво ще правя са на изпита" и прочее познати на всички минаващи мисли. 

Вечерта след изпита даже се прибрах и почнах да гледам лекци от следващите курсове които ни предстоят. И нямам търпение да идва 15 януари. Хората около мен не ме разбират. Ама явно не са имали щастието да попаднат в среда с хора занимаващи се се с това, което им е интересно и МИСЛЕЩИ ежесекундно, ако нещо не работи, как да се оправи!

2
Filkolev avatar Filkolev 4482 Точки

Спас,

По 2-ра задача, видях и по време на самия изпит, че доста хора парсват към DateTime, което е излишно. Може да се сплитне и по точките и да се парснат денят, месецът и годината директно към числа. 

5-та едва ли ще работи за 100 точки с този uint, тук трябва да е long. Нещо, което по време на изпита хората не съобразиха (докато не им подсказахме), е, че ако ни дадат достатъчно команди insert числото вече няма да е 32-битово.

1
Kamigawa avatar Kamigawa 750 Точки

Написах го с uint понеже ми е интересно дали ще мине. Винаги мога да го сменя на long, ако зависнат тестове. Имам някакъв смътен спомен, че при uint всичките битове се ползват само за положителни числа. Пуснах избирателно няколко от тестовете (7ми и 9ти мисля) и минаха. Като излезе практиса в джъджа ще се разбере :).

Може и да се излишно парсването в DateTime наистина, като замисля сега. Едно сплитване за точка, както каза, ще свърши същата работа.

0
12/11/2014 01:04:09
dtroyanov avatar dtroyanov 25 Точки

Ами аз бях на изпита на 7ми и съм доста доволен и изненадан донякъде от себе си, че изкарах максимума. Най-много се мъчих с пета задача, което не е учудващо като се има предвид, че почти не ми остана време да упражнявам побитовите операции и в крайна сметка с малко помощ от Google и възможно най-тъпия вариант(проверих всички възможни варианти ръчно с if-ове, защото вече бях изпушил, а и не ми оставаше много време) някак си се справих!cool  Останалите задачи смея да твърдя, че бяха относително лесни, като може би 3-та задача с рисуването с конзолата, беше малкоо не толкова по-сложна, колкото по-пипкава в сравнение с останалите подобни, които съм решавал. Сега само чакаме класирания и след това 1-во ниво!

2
SimeonStoykov avatar SimeonStoykov 114 Точки

Здравейте. Аз бях се явих на изпита на 7-ми. Ето как протече изпита при мен:

Започнах от първата задача, като там просто трябваше да намерим правилните формули, които бяха добре описани в примера долу, но докато аз писах кода си хардкоднах една от променливите (по невнимание) и след това от нулевите тестове само един минаваше. Кода беше 20-30 реда и реших да не дебъгвам а директно да погледна и да видя къде е грешката и почти веднага установих, че на едно място вместо дадена променлива бях сложил просто 10 във формулата (защото с 10 е примера долу). Задачата като цяло ми отне около 15 минути и ми даде 100/100 от първия събмит.

След като реших първа смело скочих на 3-та, защото, въпреки че изглеждаше гадна, от задачите за рисуване почти нямаше такава, която да ме затрудни от даваните досега изпити. Писах, търсих зависимости, писах и накрая докарах 1-2 от нулевите тестове ама нещо не работеше както трябва и реших да я зарежа за момента и да се върна на 2-ра. Втора я написах малко като на автопилот (реших да я напиша набързо и да видя дали ще проработи, а не да пиша постепенно и да проверявам дали всяка част от кода работи) и тя взе, че тръгна но даде 80 точки от първия събмит. Проверих нулевите тестове и видях, че съм забравил да печатам едно “No”, което е нужно да се напише в някои от случаите. Дописах си кода да го печата и познайте: Пак 80 точки :D Тогава се усъмних в логиката на програмата ми, но реших да я оставя засега така и да не губя време като отида пак на 3-та. След 10-тина минути квесторите казаха, че имало 2 сгрешени теста и, който имал 80 точки на 2-ра задача имал реално 100 и се успокоих. Погледнах пак в Judge и видях, че всичките ми събмити вече дават по 100 точки (дори този, в който не принтирах в нито един от случаите „No“), така че от там разбрах, че явно този случай не е включен в тестовете на задачата.

Върнах се на прословутата 3-та и писах, писах, писах и познайте – любимия ми случай: всички нулеви тестове минаваха, но нито един от тези, които носят точки не минаваше. Веднага си помислих, че може би пак има грешка в тестовете, но като пробвах кода с други входни данни, разбрах че грешката не е в тестовете, а в програмата :D Като цяло логиката на прескачането на звездичките и другите неща ме затормози, но в последствие след около 30 минути пробване на какви ли не алгоритми просто установих една зависимост, която приложих с 3 switch-case-а и тя ми помогна да реша задачата. Със сигурност има и по-прост начин да се реши тази задача, но на изпита просто не можах да достигна до зависимостите на този по-прост начин. 3-та задача ми отне най-много от времето и ми се стори най-гадна.

След като взех 100/100 на трета отидох на 4-та като там в началото ми беше малко трудно да разбера как се променят различните комбинации и каква логика следват, но след 10-тина минути ми се изясни и я направих за 10-15 минути цялата задача, защото нямаше кой знае какво да се съобразява (само това, че комбинациите се броят от 0).

При пета написах набързо кода като предварително си бях измислил идея как да я решя – проверявам първите 4 бита, които трябва да се swap-нат с маска от четири единици (15) и правя същото и за вторите. След това зачиствам (нулирам) битовете на числата, които трябва да се swap-нат и просто давам побитовото или на зачистените битове с тези, които трябва да се swap-нат. Написах всичко това пускам го и 70 точки. Гръмна ми нулев тест и веднага разбрах къде ми е грешката – че не взимам предвид случая, когато битовете, които се swap-ват са от едно число. Пооправих малко кода и даде 100/100.

Бях готов с всички задачи в 13:15, реших ги за 2 часа и 15 минути, което ме учуди, защото очаквах да остана почти до края. Бях изрешил всички давани досега изпити в SoftUni и то 2 пъти + изпитите давани в Telerik и не ми се беше случвало да реша някой от тези изпити за толкова кратко време, но ето, че и това стана и то само заради здравата подготовка. Едно много интересно изживяване си беше изпита и се надявам цялото обучение в СофтУни да е такова.

Ето и решенията на задачите, които съм предал на изпита (всички дават 100/100):

Problem 1 - Budget

Problem 2 - Odd or Even Counter

Problem 3 - Plane

Problem 4 - Weird Combinations

Problem 5 - Bit Swapper

 

2
10/11/2014 20:19:45
desislavaTsvetkova6 avatar desislavaTsvetkova6 3 Точки

На втория ден гледам, че малко момченце е станало първи - брааааво! Много ме зарадва wink

0
Filkolev avatar Filkolev 4482 Точки

Следихме го през целия изпит и стискахме палци всички квестори :) Беше 2-рият човек с 500 (по време на приключване), а до края само още 2-ма се пребориха.

1
TrifonApov avatar TrifonApov SoftUni Team Trainer 131 Точки

Забелязах го момчето, учудих се. Но някак си не знам защо реших, че е с някой. Са като разбрах, супер много се изкефих! Браво на младежа! :)

0
desislavaTsvetkova6 avatar desislavaTsvetkova6 3 Точки

Страхотно, похвално! ^_^ Разбива задачките от малък и ни засрамва нас :D

-1
Nukem avatar Nukem 6 Точки

Аз реших 3 здачи, 300точки, 3-тата ми отне не повече от 5мин, очаквах нещо по-сложно, примерн0 като задачата със спиралата на ДНК.

1-та с грешното условие, след като го оправиха си излезна моя отговор, направих 6 масивав за нея, но си миля че може и без тях.

2-та ме измъчи повече защото си мислех че се разделя примерно 14.03,1990 и Panayot на първата част инт и втората стринг, а се оказа че може да има и цифри и в текста, след като коригирах това и се замотах с while накрая я направих.

Единствено ме е яд че не остана на времето за мойте любими побитови задачи, а 5-тата беше лесна, но съм от провинцията и пътувахме с други хора и трябваше към 22.00 часа да тръгваме!

Чакам да пуснат задачите от предния ден да си ги пререша за мен си.

0
dtroyanov avatar dtroyanov 25 Точки

Задачите ги има вече качени и в страницата на курса и в Judge, колега.

0
Nukem avatar Nukem 6 Точки

Сега направих 1-те 3 задачи от 7-ми!

Първата е директна препратка към изпитните задачи Football и Volleyball, нищо интересно. 

Третата е една идея по-трудна от Роклята от нашия изпит.

2-та е по-лесна, за решението за пъри път пробвай нестед лист и се получи, доволен съм:

http://pastebin.com/bBqswqDD

0
12/11/2014 23:23:33
tkutsarov avatar tkutsarov 3 Точки

Аз бях на изпит на 07.11. и успях да реша и петте задачи. 

Започнах от първата, която ми се видя доста лесна, обаче за моя изненада ми даваше 90/100 точки и в продължение на 10 минути се опитвах да разбера къде съм сгрешил, за да не ми изкарва верен отговор на един от тестовете. Бях включил всичко от условието на задачата. Та след 10 мин. блъскане на главата успях да си открия невероятната правописна грешка в изписването на Exact Budget на конзолата, в бързината съм го написал с j вместо с g и от там ми се губеха 10 точки. Доста тъпа грешка. 

Втората задача я направих за по малко от 20 минути, но ми даде 80 от 100 точки и след като си проверих няколко пъти кода и качих още едно решение със същия резултат продължих към трета задача. По късно се оказа, че са сгрешени два от тестовете и всъщност решението ми даде 100/100 без да го променям допълнително.

Третата задача за рисуване на самолет ми беше доста пипкава и ми отне малко повече време, но получих 100/100 от първия път. 

Четвъртата стана най- бързо и отново 100/100 от първия път. Преди началото на изпита очаквах най- много да се затрудня с нея и пета.

След като тъпо и упорито се старах да реша пета задача с побитови операции почти час, така се бях оплел, че реших да си направя нов проект и да я реша със стрингове. Второто решение ми даде 80/100 от първия път, защото бях взел входните данни с int и по- големите числа не се събираха, след като го оправих вече имах 100/100 и на тази задача, но за съжаление решена със стрингове.

Имах още около час и половина до края на изпита, но реших да не променям повече задачите след като имам максимума точки и някои от тях останаха с не много приятен за четене формат. Повече се стараех да ги реша отколкото да давам възможно най- добри имена и да са добре подредени.

0
12/11/2014 00:11:13
Filkolev avatar Filkolev 4482 Точки

Аз бях квестор само на втория изпит, така че не знам как е протекъл първият. Разбрах, че е имало грешни тестове на една задача на изпита от 7-ми; на 8-ми също имаше по един грешен тест на две задачи, както и объркано условие на 1-ва, заради което изпитът беше удължен до 23 ч.

Задачите от 7-ми ги реших днес - ЛИНК.

Не ми се струват особено трудни. Трета ме измъчи най-много, просто изисква повече мислене докато се открият някои зависимости. Кодът ми не е особено прегледен по нея. По 2-ра също има място за подобрение. Пета задача я обърках в един момент, но просто я преписах начисто и като цяло не ми отне много време.

От 8-ми съм решавал 1, 2 и 4 задачи. 3-та пак е леко завъртяна, но ще я подхвана утре. 5-та ми се стори сравнително трудна, защото е реално 3 задачи в едно. Ще пробвам утре да я реша и нея; дано скоро отворят изпита и в Judge, за да може да се тестват решенията. Като цяло от 8-ми задачите мисля, че са малко по-трудни.

EDIT: Ето решенията ми и от втория изпит - C# Basics Exam 08.11.2014.

1
13/11/2014 16:44:08
Kamigawa avatar Kamigawa 750 Точки

Пета не е особено сложна, поне според мен. Завъртането на битове е един ред, а вкарването и премахването става с един и същи код, който трябва просто да се рециклира лекичко. Аз я реших днес сравнително бързо.

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Реших да погледна задачите, които са ви дали и по-точно на 7-ми, като ги и реших (роднина беше на изпит тогава и от любопитство...).

Първа задача си е стандартната, която дават и примера показва всички формули.

Втора по-различното е използването на switch. Проверката за odd и even е ясна.

От всичките задачи 3-та ми се струва най-куца като на нея трябва да се отдели време за разгадаване на логиката. 

На 4-та задача принтирането на "No" го изнесох преди циклите, просто защото логиката на задачата го позволява и така се пести време от излишни изчисления. 

Винаги последната задача се решава най-лесно с битове. Примера е много ясен, така че логиката е лесна за разбиране. Аз лично предпочитам използването на while цикъл (но задължително с условие, а не безкраен). 

7 Ноември 2014

1. Budget

2. OddEvenCounter

3. Plane

4. WeirdCombinations

5. BitSwapper

п.п Колеги, когато има задачи с възможен output "No" не е лоша идея преди да започнете същинското и решаване да пуснете в judge един код, който в main има само Console.WriteLine("No"). Особено ако пък времето на изпита свършва, а вие не сте започнали тези задачи. Логиката е, че първо ще получите веднага някакви точки. Вторият плюс е, че ще разберете на кои тестове output-a е "No" и ако ви гърмят след това ще знаете.

 

 

2
12/11/2014 00:57:40
Filkolev avatar Filkolev 4482 Точки

На 4-та виждам, че си сложил един return и след принтирането на резултата. Винаги намираш начин да оптимизираш :)

1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Еми излишно е да върти напразно след това :)

1
djumi91 avatar djumi91 6 Точки

Здравейте,

Аз се явих на изпита от 8-ми. Успях да реша 1-ва и 3-та напълно за около 2 часа и след това направих най-голямата грешка която през цялото време лекторите ни повтаряха да внимаваме за това. Тръгнах да реша 2 -ра задача докарах програмата до някъде пуснах я в Judge - a  80 точки. От тук нататък почна голямата мъка за мен вместо да я оставя за после и да си погледна останалите две задачи аз продължих с 2-ра и така докато блокирах напълно и не-успях да измисля нищо за 4-та и 5-та. Моят съвет към всички които ще се явят от тук нататък на изпит е: НЕ  СИ ГУБЕТЕ ВРЕМЕТО С ЕДНА ЗАДАЧА АКО СТЕ Я ДОКАРАЛИ ДО НЯКЪДЕ ПРОСТО ПРЕМИНЕТЕ КЪМ СЛЕДВАЩАТА ЗАДАЧА!!!

Въдях че задачите от 7-ми вече са пуснати в Judge-a и реших да ги споделя. Не са най-оригиналните решения но все пак :)

01.Budget

02.Odd Even Counter

03.Plane

04.Weird Combinations

5-та все още не съм готов с решението :)

 

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