Софтуерно Инженерство
Loading...
KatyaMarincheva avatar KatyaMarincheva 572 Точки

[Exam Preparation] Advanced C# тема за обмяна на идеи и решения по задачите

Здравейте колеги,

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

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

Advanced C# Exam Problems Practice

01. Plus-Remove

02. String-Matrix-Rotation

03. Extract-Hyperlinks

04. Query-Mess

05. Semantic-HTML

06. X-Removal

07. Vladko's-Notebook

08. Text-Gravity

09. Uppercase-Words

10. Clearing-Commands

10. Clearing-Commands-2

11. Little-John

12. Phone-Numbers

13. Sum-Of-All-Values

14. Matrix-Shuffle

15. The-Numbers

16. Parachute

17. Biggest-Table-Row

18. PIN-Validation

19. Chat-Logger

20. OhMyGirl

21. IT-Village

Exam Preparation Problems from Homeworks and Labs

26. Prime-Factorization

27. Sieve-Of-Eratosthenes

28. Insertion-Sort

29. Binary-Search

30. Pyramid

31. Pythagorean-Numbers

32. Lego-Blocks

33. Stuck-Numbers

34. Terrorists-Win

35. To-The-Stars!

36. Activity-Tracker

37. Letters-Change-Numbers

38. Use-Your-Chains-Buddy

40. Disk

41. Paint-Ball

42. Couples-Frequency

43. Labyrinth-Dash

44. Office-Stuff

45. Debugging-Be-Positive

46. Debugging-Instruction-Set

28
C# Advanced 22/06/2015 14:47:15
moholovka avatar moholovka 168 Точки

На SumOfAllValues си търсих стойностите с lookbehind и lookahead и го докарах до 90 точки. Преглеждайки тестовете и решението на Катя (мерси) видях защо става така (мачваше ми едно число повече), но според мен не е коректно спрямо условието: "Print at the console the sum of ALL values (only floating-point numbers with dot as a separator are considered valid) in the text string, between a start key and an end key.

Тест 4

gosho34gosho не трябва ли да е също към резултатът?

Ако съм прав променете теста, ако не съм ще се радвам да ми обясните къде ми е грешката при търсенето.

1
29/05/2015 01:36:54
pataroka avatar pataroka 319 Точки

Не може да е към резултата, защото се овърлапват ключовете по този начин. Няма как ключа веднъж да е затварящ и след това да е и отварящ.  Имаш:

wrethtfjhdgfsgosho123goshoasghjmhgfbdvcgosho12gosho34gosho2.34gosho

123 + 12 + 2.34 = 137.34

Частен случай, в който имената на ключовете съвпадат.

Търси се регекс от тоя тип: ^([A-Za-z_]+)(?=\d).*(?<=\d)([A-Za-z_]+)$

и после още един такъв group1 + "(.*?)" + group2

сигурно може и един да се направи, ама аз си го направих с два.

П.П. Абе, що колор кодинга не бачка?

1
29/05/2015 02:10:46
moholovka avatar moholovka 168 Точки

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

0
NikolayUzunov avatar NikolayUzunov 7 Точки

Аз се чудя след като по условие трябва да се мачват само числа с запетая защо трябва да се хващат и 123 и 12 ? Попринцип нямат десетична запетая .

1
malkstor avatar malkstor 348 Точки

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

"only floating-point numbers with dot as a separator are considered valid"

2
pataroka avatar pataroka 319 Точки

Ще дойдете вие на мойто, че авторите на задачите трябва първо да минават курс по езикознание и после да пишат условия...wink

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

Със съжаление наблюдавам как в последните години българите стават все по-неграмотни и най-страшното е, че тази тенденция се насърчава и от езиковедите на БАН, които съставят речници и регулират правилата за правопис и правоговор. Не знам дали знаете, но "колежка", "докторка", "полицайка" и т.н. вече са книжовни форми защото липсата на форми в женски род за някои названия на професии носела сексистко послание. Така скоро ще махнем пълния член, ще спрем да слагаме запетайки и всякакви препинателни знаци и в учебниците по литература ще влязат за изучаване стихотворенията: "Тигре, тигре", "Радка - пиратка", "Рибна фиеста", "Баровец" и т.н.

И дано, като Плевнелиев и Наков осъществят мечтата си България да стане "силициевата долина" на Европа, поне да я напълнят с програмисти, който знаят как да напишат името си и на роден език не само на "1337".

Да живее и пребъде България!!!
3
29/05/2015 15:18:58
malkstor avatar malkstor 348 Точки

Имаш право за доста неща, колега, но..

"... с програмисти, който знаят как да напишат ..."

 

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

0
29/05/2015 16:21:20
moholovka avatar moholovka 168 Точки

В условието пише ALL VALUES, в скобите е уточнено само кои са валидните с десетична запетая, а не че трябва да се търсят само те.

1
malkstor avatar malkstor 348 Точки

Много благодаря за пояснението, колега smiley Задачата е направо приятна, след като човек знае какво се иска от него.

0
pataroka avatar pataroka 319 Точки

malkstor Аз още не съм програмист, така че ми е простено...laughwink а и смятам знаеш какво е разстоянието между i и j.

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

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

1
29/05/2015 19:43:03
KatyaMarincheva avatar KatyaMarincheva 572 Точки

Някои от останалите идваме от "едни такива академии" дето ако им видиш условията на задачите .........

Техните условия на задачи приличаха на дефеницията за съвършения password: да изглежда така сякаш котка е спала върху клавиатурата и се е въртяла насън......

И при тук-таме някой леко двусмислен детайл в условията на здачите на СофтУни - задачите тук ни изглеждат съвършени :)

-2