Loading...
quickben avatar quickben 966 Точки

[Exam] C# Basics - 25.07.2014 - въпроси, мнения, задачи

Честито на колегите които са си постигнали целта, на останалите - "ще се видим на поправката", че и аз не постигнах резултата в който се целих и смятам да се явя на поправката да си постигна "таргета".

Също така предлагам всякакви въпроси/мнения относно изпита да се помещават в тази тема за да не спамим излишно форума.

На печелившите честито на останалите Наздраве! :)

Тагове:
7
Programming Basics
Filkolev avatar Filkolev 4482 Точки

Поздравления на всички, които се справиха с изпита днес!

Ако съдим по резултатите, задачите бяха доста лесни - ако приемем, че очакваното е 10% от явилите се да изкарат 500 точки, то днес този процент е близо 20.

Аз лично малко се затрудних с първа задача (бях със сутрешната група). Направо ме е срам да си поствам кода, ще си кача решенията сигурно утре. Останалите ги направих сравнително бързо. 

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

С 5-та нямах проблеми, благодарен съм, че си отработих задачите с битови операции последните два месеца. Доста колеги, ако погледнем резултатите, именно там не са успели да си вземат точките или най-малкото са загубили доста време.

Общо взето мнението ми е, че първите три задачи бяха една идея по-трудни от тези, давани преди, докато 4-та и 5-та бяха доста лесни. Лично усещане разбира се, няма да споря ако някой каже, че 5-та му е била неразбираема.

Вероятно действително времето за подготовка си оказа влияние и затова много хора се справиха отлично днес. Както знаете, имаме още няколко дни в които е добре който не е проверявал последните домашни да го направи, за да си вземе точките от там. Утре смятам с това да се захвана. След това един месец почивка и от септември се надявам да се видим в СофтУни.

Всъщност, ето и моите решения. Поствам точно това, което събмитнах на изпита.

01. Melons And Watermelons

Безумни неща правих тук. Очаквах преди изпита първа задача да мога да я изкодя за 10 минути, а аз половин час гледах като теле... 

02. Letters, Symbols And Numbers

03. Panda Scotland Flag

04. Morse Code Numbers

05. Bit Paths

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

Според мен сравнена с другите изпити 3-та задача наистина изискваше повече обмисляне. Единствената подобна по трудност давана задача за рисуване е Programmer DNA. Първите 2 задачи не ми се струват по-трудни. 4-та наистина е елементарна... 5-та логиката не е трудна, стига да не се обърка човек в началото и да търси грешна логика. След като се разбере логиката, кода на тази задача е много лесен и кратък. Иначе определено и ти се справи доста бързо със задачите. Беше готов малко преди мен със задачите. Поздравления!

0
Filkolev avatar Filkolev 4482 Точки

Да, като се прибрах погледнах как съм събмитвал решенията. В 10:21 съм пуснал първа задача, т.е. близо час наистина бях малко неадекватен. След това до 11:00 съм пуснал задачи 2-4 и половин час по-късно и 5-та.  Е, първия час мислих малко по всички задачи, но наистина не очкавах, особено след като видях задачите, да приключа бързо. В 10:30 настройката ми беше, че ще си увисна до късния следобяд в залата... 

Решаването на предишните теми определено мисля, че беше най-полезно като подготовка за този изпит. Понеже ние сме едва втори випуск, опасявах се, че наличните 10 теми може да не са достатъчни, все пак всеки следващ курс ще има на разположение повече материали за подготовка. Но се оказаха напълно достатъчни. Полезно ми беше да решавам и някои задачи в BGCoder, които са 1-2 идеи по-кофти от задачите, които дават в СофтУни.

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

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

Аз първите 4 задачи ги предавах доста равномерно:

1 - 09:55

2 - 10:16

3 - 10:42

4 - 11:04

5 - 12:18

Интересно ми е по-късно да ти видя решенията.

0
Achev avatar Achev 53 Точки

Здравейте колеги (надявам се), бях на 2рия изпит днес и ми се стори по-трудничък от този, който беше сутринта. Не се представих много добре. Какви ще са минималните точки според вас?

0
Filkolev avatar Filkolev 4482 Точки

Наков каза, че ако има по-трудни задачи ще се изглаждат резултатите, т.е. ще се дадат малко повече точки за тези задачи. Не знам точно как ще преценяват дали дадена задача е била по-трудна; дали по сложността/дължината на авторското решение или резултатите на кандидат-студентите.

В случая, гледайки резултатите, по-скоро няма да правят такива неща. И на двата изпита около 15% от хората имат 500 точки, така че като трудност изглежда са били близки задачите.

С колко точки ще те приемат не е ясно. Все пак ще чакаме резултатите и от следващите изпити другия месец. Днес, т.е. вчера, Наков каза, че с 2 задачи се очаква да влезе човек, т.е. 200+ точки вероятно ще са достатъчни. Но всичко зависи и от представянето на останалите - ако много хора имат високи резултати може да е по-висока летвата.

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

2
a.angelov avatar a.angelov 1316 Точки

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

0
verito898 avatar verito898 265 Точки

А някой знае ли кога горе доло ще излязат резултатите - т.е. кой приет и кой не ?

Аз малко позакъснях за изпита и изпуснах в началото каквото са говорели :/

Колкото до задачите съм безкрайно недоволна от себе си , от 1вата и 4тата не можах да изкарам максималния брой точки -70 и 80 т ,  3та задача така и не успях да я добутам до повече от 30 а до последно си играх с нея ... Колкото до др-те 2 не ми остана време да мисля в/у тях ,ноо каквото такова .

http://pastebin.com/emB90M8T ,http://pastebin.com/frh6r8DF  -това са решенията ми на 1ва и 4та задача , ще се радвам ако някой ми каже къде бъркам и защо не дава пълният брой точки.

Бих си постнала и кода от 3тата , но там е пълна каша :D  в крайна сметка нагласих буквите но след като се извъртят всички при при мен започват да се въртят отново ,но без 1вата буква та така и не успях да я доизкусоря .

 

 

0
Filkolev avatar Filkolev 4482 Точки

На 4-та задача в суичовете на 5-ти вариант нямаш "|" накрая, а трябва. Освен това циклите трябва да са с горна граница <=5, а не <5.

Понеже не мога да събмитна кода в Judge не гарантирам, че това е решението, но не виждам други проблеми.

Ще преработя малко кода ти, ще сложа коментари и ще сложа линк тук като съм готов. После ще видя и другата задача. Отново, проблем е, че не мога пускам код в Judge да видя дали всички бъгове за изчистени.

1
Hristo_Penchev avatar Hristo_Penchev 389 Точки

Здравей, Вери,

 

На първа задача това, което прави грешката, е if (counterOfTimes==d+1). Защо +1? Този ред си го сложила в края на цикъла, следователно се активира, след като командите в самия цикъл са се изпълнили. Да речем, че ядем пъпеши 10 дни. На десетия ден се наяждаме, но понеже каунтърът търси стойност 11, прекарва ни още веднъж през цикъла, ядем и 11 ден и тогава излизаме. Програмата работи добре при входни данни за d <=7, понеже i < s + d; го прекратява, но то не работи, когато периодът е повече от седмица. Ако искаш да е в края на цикъла, трябва да остане само counterOfTimes==d или ако искаш да е d+1, премести го в началото.

На втората задача по условие трябва да умножаваме числата от 0 до 5 включително, а както си задала циклите i1 < 5 ги смята от 0 до 4. Трябва да е и1<=5. Друго, което бих ти препоръчал, за да си улесниш живота, е вместо да пишеш шест суич кейса, да сложиш морзовите стрингове в един масив от шест елемента: string[] morses = {........} и после просто принтиш morses[i0], morses[]i1. Или друг вариант - с речници. Просто ще си спестиш много писане.

Надявам се да съм бил полезен. Успех!

0
verito898 avatar verito898 265 Точки

Да това се загледах и аз преди малко в циклите , не знам защо съм ги направила до <5 , явно пак недоглеждане yell .

Благодаря за бързите отговори .

0
a.angelov avatar a.angelov 1316 Точки

Поздравления за всички, които са доволни от резулатите си!

По мое мнение изпита /на сутрешната група/ беше съизмерим като трудност с даваните задачи на предходните изпити, единствено 3-та задача беше по-трудна, за сметка на 4-та задача. 

В интерес на истината очакванията ми бяха да не успея да реша всички задачи, но взех, че се опровергах и съм доволен от резултата си :)

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

Задачите реших за 3,45ч., което ме изненада при положение, че вкъщи при подготовката под 5ч. не съм падал, а в голяма част от случаите ми бяха необходими и доста над 6ч. /това го отдавам основно на по-малкото опит в началото и на по-слабата концентрация - това ще трябва да коригирам, защото в 1-во ниво натовареността на курсовете е значително по-голяма/.

Потвърждавам казаното по-горе от колега - решаването на изпитните задачи давани досега в СофтУни, както и тези от bgcoder е много важно за подготовката. Само с решаване на задачи от домашните няма как да стане.

 

Ето и моите решения, както съм ги предал в judge:

01. Melons and Watermelons

02. Letters, Symbols, Numbers

03. Panda Scotland Flag

04. Morse Code Numbers

05. Bit Paths

0
a.angelov avatar a.angelov 1316 Точки

ПС. Да попитам - някой знае ли до кога е крайният срок за проверка на домашните?

Останало ми е да правя проверки на последното домашно и мисля тази вечер да свърша тази работа, надявам се да не заключат проверяването по-рано...

0
Filkolev avatar Filkolev 4482 Точки

Ако те интересуват точките от проверяване, трябва да приключиш преди оформянето на класирането другата седмица. Не е съвсем ясен денят, когато това ще се случи, на изпита казаха, че може да се позабавят заради други изпити (подхвърли се вторник ако помня правилно). Ако да речем във вторник се хванат да ни класират, те ще гледат колко хора са ти отбелязали коментара към домашното като полезен към този момент.

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

Иначе и впоследствие може да проверяваш, но това няма да се отрази на оценката; може да го правиш ако смяташ, че ти е полезно да погледнеш още няколко домашни. Мисля, че проверяването няма да се заключи веднага. А може и въобще да не го заключат.

1
quickben avatar quickben 966 Точки

28.07.2014. Не съм сигурен за часа.

1
Filkolev avatar Filkolev 4482 Точки

Ето оптимизираното ми решение на 1-ва задача: Pastebin.

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

Идеята накратко. Смятам колко пълни седмици има в интервала от дни: int fullWeeks = numberOfDays / 7.

Всяка пълна седмица, Пешо ли там кой беше, яде по 7 дини и 7 пъпеша, затова увеличавам броя на дините и пъпешите с fullWeeks * 7.

След това остават някакви дни, които изчислявам така: int remainingDays = numberOfDays % 7.

Пускам цикъл от startingDay до startingDay + remainingDays. Т.е. този цикъл няма да се върти потенциално хиляди пъти, а най-много само 6 пъти.

Вътре декларирам променлива, която казва кой ден от седмицата е: int dayOfWeek = currentDay % 7 - currentDay ми е брояча на цикъла. Резултатът от тази сметка е, че понеделник ще е 1, вторник  - 2 и т.н. Лесно се вижда логиката в първото завъртане, когато dayOfWeek = startingDay. Тогава startingDay % 7  = startingDay, което улеснява доста логиката при switch-a след това.

Слагам един switch, в който описвам вариантите от 1-6 (0 е неделя, където нищо не се случва, така че е излишно да се слага). За всеки ден добавям съотвения брой пъпеши и дини, например:

case 1: countOfWatermelons++; break;

case 2countOfMelons += 2; break;

И т.н.

Това е най-доброто, което измислих. Не помня каква беше горната граница за броя дни, втория ред от входа; ако не е много голямо число разликата между 15000 завъртания на цикъл и 6 не е съществена, но все пак е някак по-оптимално и задоволително. Естествено на изпита бях далеч по-разпилян, но както казаха лекторите на няколко пъти - ако на изпита на задача изкараш 100, зарязваш я и минаваш нататък, ако ще решението ти да е най-грозното на света.

0
RumenVasilev avatar RumenVasilev 103 Точки

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

Аз искам друго обаче да попитам, какво стана с това момче, което припадна преди началото на сутрешния изпит? Изглеждаше добре, но си тръгна по някое време.

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

Ами казаха му да се яви Август месец. Все пак здравето е най-важно и е по-добре да отиде на лекар, за да го прегледат, отколкото да седи 6 часа в залата и да му стане нещо.

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

Преди малко пуснаха practice за двата изпита. Предполагам скоро ще качат и условията на задачите.

0
KrasimirKirilov avatar KrasimirKirilov 5 Точки
Ей това е… Прибираш се изморен след изпита. Наспиваш се добре и първото нещо, което ти идва на ума, като си се събудил е каква- БАЛАМСКА ГРЕШКА си направил на изпита …. Чувстваш се като самурай, който си е направил харакири(пробол си корема с нож) а няма кой да му отсече главата и да го довършииииииии…. Успокоявам се с факта, че като цяло съм доволен от себе си...решавам ги задачите, но много време ми отнема. Трябва да правя нещата малко по бързичко, явно повече практика ми трябва……ама защо трябваше да е толкова Баламска грешкатаааа…а и изгубих толкова ценно време да я търся. Грешката е по скоро пропуск – да сложа едно = до едно > …. :) , а аз си мислех че имам някакви пропуски и чак и из нета почнах да се ровя… :) еееее. Кофти беше, че нулевите тестове минаваха и за това не можех да я видя през дебъгера…ц.ц.ц Стават такива неща.
0
toshko93 avatar toshko93 10 Точки

Имам същата грешка и аз също се чудих от къде пък ще ми гърмят 3 теста.

Не съм съгласен с това че винаги нулевите тестове трябва да покриват всички варианти които можеш да получиш като отговор на задачата (както твърдяха някои колеги). Все пак ако имахме нулев тест, който показва че maxDiff e равен на числото което си получил от изчисленията (ако говориш за същата задача), това са си чисто подарени 30 точки които в снощния тест играят ролята на сито, което отделя шампионите от другите, все пак ако аз или ти или който и да е друг, на някои изпит хване някакъв такъв случай с просто едно "=", ще ти достави удоволствие от това че си се досетил а не просто ти е дадено по условие.

А и сега всички на които не им достигат 20-30 точки ще ги боли главата 2 дена за това че не са хванали това "=" и от там нататък, нали знаеш... учим се от грешките си.

0
toshko93 avatar toshko93 10 Точки

Изкарах 472/500 точки на вечерната група и след като прегледах авторското решение внимателно искам да ви покажа и на вас каква може да бъде разликата за 28 точки и то изгубени от абсолютно невнимание. Надявам се много от вас да се поучат от моята грешка преди да я допуснат.

На 4та задача: Nakovs Matchings след като правя проверката за това дали maxDifference не е надвишен сложих < maxDiff, а не <= maxDiff, което ми коства 28 точки. 

Има доста неща, които могат да докарат задача на която имате 50-70т. до 100т. Например аз веднага проверявам дали не съм надвишил range-а на някоя променлива, дали не съм пропуснал default отговор (Като това да сложим "No" като отговор на гореспоменатата задача при положение че няма match), а от сега на татък ще имам в предвид че някои път е нужно и "=" след "<" или">" на някои задачи.

0
mihayloff14 avatar mihayloff14 824 Точки

Честито на всички, които са се справили добре. Успех занапред и ще се видим септември ниво #1 smile

Аз бях от вечерната група, ето и моите решения на проблемите от repository-то ми от GitHub. Всички задачи са изпълнени и дават 100/100, но се съмнявам кодовете да са оптимални, тъй като не съм се занимавал да ги оправям след изпита laughing

Exam25.07.2014-evening

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