Loading...
simeon10 avatar simeon10 218 Точки

Programming Fundamentals Retake Exam - 11 September 2016 - Решения

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

Thea the Photographer - Доста стандартно решение със TimeSpan, нищо специално.

Trophon the Grumpy Cat - Първоначално бях завъртял 2 цикъла, но в последствие реших, че 2те LINQ заявки ми допадат повече. Идеята е, че при Where() заявката се извиква IsValid() и по резултата се филтрират елементите.

Portal - Доста останал код от първата идея по която тръгнах, който не е нужен на това решение. Като цяло единственото интересно е намирането на стартовата позиция.

Files - Може би най-интересното решение от всички. Като цяло задачата е решена с една LINQ заявка. Има няколко начина за оптимизиране на заявката, но това е първото решение, което мина в Judge и за това ви показвам него.

 

Споделете и вашите решения. Ако имате въпроси свързани с решенията, питайте смело.

 

Поздрави,

Симеон.

Тагове:
3
Programming Fundamentals 26/09/2016 11:04:40
Gesh4o avatar Gesh4o Trainer 305 Точки

Ето и едно неизвратено решение на 4-та задача. :)

1
13/09/2016 15:30:07
teodor_valkov avatar teodor_valkov 11 Точки

Здравейте!

В момента съм записан в курса по Programming Fundamentals - септември 2016, но реших да обърна внимание на задачите от изпита и успях да ги реша. Упражних и качването им в GItHub и бих се радвал да ми дадете някакви оценки и коментари относно решенията. smiley

1
simeon10 avatar simeon10 218 Точки

Всички решения изглеждат окей. Ако трябва да цитирам всяка задача по отделно:

1. Абсолютно окей е да правиш сметките сам, но понякога може да отнеме твърде много време, особено ако не знаеш точно до колко да закръглиш константата. При написване в Google на "c# how to get time from seconds", първия резултат, който излиза е общо взето решението на задачата. Пак казвам, няма проблем да го смяташ и сам, но това е нещо над което да помислиш.

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

3. Не разгледах кода много подробно, за да видя може ли да се оптимизира, но има нещо на което ще обърна внимание след като свърша и с 4тата задача.

4. Интересно решение, но аз лично при филтрирането по root, бих филтрирал направо и по extension, за да има логическо разделение на парчетата код.

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

if(...)
{
    continue;
}
else
{
    break;
}

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

if(...)
{
    continue;
}
break;

Същото може да бъде приложено и на други места. Като цяло обаче, когато си на изпити, гледай кода да работи, защото всичко останало няма значение, когато имаш 6 часа. :)

Поздрави,

Симеон.

0
teodor_valkov avatar teodor_valkov 11 Точки

Благодаря за бързата реакция! Нямам така да го кажа предишен "background".

Просто исках да съм наистина подготвен за обучението в СофтУни, затова през последните няколко месеца изгледах доста клипове от предишните години и изреших повечето задачи от старите формати на "Programming Basics". Взех междинния изпит в края на април, който включваше и повечето неща от "Programming Fundamentals" в момента и донякъде мисля, че се чувствам подготвен (може би) за обучението, което предстои. smiley

0
Kiril98 avatar Kiril98 66 Точки

Евалата за четвърта! Толкова дълга LINQ заявка не бях виждал..

0
dreemsuncho avatar dreemsuncho 9 Точки

Ето едно решение и от мен на 3-та Portal. http://pastebin.com/NSTEzCpx
Ако някой може да ми каже защо взимам само 30 точки ще съм много благодарен :)

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