Loading...
a_rusenov avatar a_rusenov 1103 Точки

[Exam] PHP Basics - 5 септември 2014 - условия, тестове, решения и резултати

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

Задачите от PHP Basics поправката са качени в страницата на курса и са отворени за упражнение в Judge системата. Можете да обсъждате и задавате въпроси по задачите в тази тема.

https://softuni.bg/trainings/coursesinstances/details/5

http://judge.softuni.bg/Contests/32/PHP-Basics-Exam-5-September

 

4
PHP Web Development Basics 06/09/2014 19:39:02
a.angelov avatar a.angelov 1316 Точки

Малко офтопик за което се извинявам, но да помоля да пуснете за практикуване и задачите от поправката по Java Basics :)

1
a_rusenov avatar a_rusenov 1103 Точки

Готово, заедно с JavaScript могат да се практикуват. :)

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

Да имаше само и условията на задачите..., но предполагам като се върнат/върнете от Пирин ще ги качите :)

0
Valleri avatar Valleri 304 Точки

Както каза колегата Влади Г. в началото - полезен ще е този изпит и интересен. :) Така беше, само че не можах да разгадая тестовете на Computer Shop i Facebook задачата, особено последната - идея си нямам защо само 28...Едно от положителните неща е че в последния половин час сглобих някакъв регекс, които ми даде 100/100 на 2-ра. С друго не мога да се похваля.
Това беше за първо ниво, които натрупал точки е окей, останалите да не се притесняват, за всички ще има работа : )))

Еррор логер - извеждането на екрана е боза, но нямаше много време

Computer Store - нвм

2
06/09/2014 00:13:37
deyanr avatar deyanr 17 Точки

Хубав изпит :)

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

Най-много ме е яд, че на Computer Shop при "почистването" на дебъгващо echo, затрих и един break...

Това ми "изяде" 2/3 от точките.

А PHPStorm-a "пищи" за грешката, но с бежов ???  цвят и аз я проспах :(

1
06/09/2014 02:29:36
valeri.kostov avatar valeri.kostov 1 Точки

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

 

ето я 4. Computer Shop, ще съм много благодарен ако някой даде идея кое не е наред :)

 

благодаря :)

0
deyanr avatar deyanr 17 Точки

Аз ползвах решенията на tosilv от стандартните изпити и коментарите им.

Решенията му са изчистени, поучителни и приспособими...

Особено яка е "magic" функцията за сортиране на по няколко индекса на многомерен масив, която е открил (и е цитирал източника).

Сега ще погледна и твоя код и ако видя проблема ще ти пиша.

1
06/09/2014 01:23:50
Karlie avatar Karlie 438 Точки

Част от авторското решение: цената трябва да се изведе с number_format($pr[3], 2, '.', '').

Освен това, почти съм сиурна, че htmlspecialchars преобразуването ти не е наред, не знам защо, но и аз имах 37 точки без да съм използвала htmlspecialchars, като сложих него и number_format вдинах точките на 50... Пак не са 100, но дори с авторско решение, не виждам къде повече да поправям. А да разгадавам какво ми липсва до 100 вече нямам и нерви... Ще чакам да видя дали вие ще измислите нещо. Време е за ваканция! ;)

Редакция: Оф, и аз бях написала едни глупости... така е, като четеш чужд код след максимално изтрещяване на изпита в 2 през нощта :)

0
06/09/2014 08:28:01
deyanr avatar deyanr 17 Точки

Не извеждаш четвърти компонент (тест 2).

Аз ползвам:

foreach(explode(", ", $sorted[$i]['comp']) as $k => $l) {
echo '<li class="component">';
echo htmlspecialchars($l);
echo '</li>';
}

където $sorted ми е сортирания масив (при теб $itemList),

$l е текста на компонента (при теб $item->components[x]),

а $i ми е id-то (при теб $item->line).

1
06/09/2014 01:50:05
Aleksiev avatar Aleksiev 133 Точки

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

01. Rainbow Letters
02. Error Logger
03. Facebook Posts
04. Computer Shop

Втората задача ме затрудни най-много, но я пренаписах 3-4 пъти и проработи..

2
06/09/2014 02:58:56
Vasilsk avatar Vasilsk 109 Точки

Пускам и моите решения от изпита, всички дават 100/100 в джъдж-а.

На мен също 2ра ми отне най-много време, може би защото нямах ясна представа как ще я реша и в последствие, след като я преправих 2-3 пъти, вече имах някакъв алгоритъм. Както се вижда от задачата, съм сплитвал с помощта на скобите, но на място не се сетих да ползвам positive lookahead (?=), за да разкарвам скобата още при сплитването. Това наложи допълнителни форийчове за всеки масив, което ми удължи кода двойно, но пък даде 100/100 и реших да не я мотам повече :)

 

01. RainbowLetters

02. ErrorLogger

03. FacebookPosts

04. ComputerShop

0
Matrix avatar Matrix 1092 Точки

Нулевите тестове минаваха, обаче нататъкаа.... :D  :D :D

10
Samuil.Petrow avatar Samuil.Petrow 1550 Точки

По същия начин се чувствах, преди всяко изпратено решение бях:

"Аре дай точки, бе!" :D

2
rvmladenov avatar rvmladenov 293 Точки

Някой може ли да метне условията на задачките, защото първия линк горе не бачка, а още не са качени в judge-а ?

0
coaster avatar coaster 412 Точки

Работи, но сайтът си добавя разни неща след http://softuni.bg/. Като махнеш частта forum/questions/ и се получава.

А сега за по-бързо: условията.

2
06/09/2014 17:04:59
coaster avatar coaster 412 Точки

Някой може ли да ми каже откъде идва грешката в решението ми на 2-ра задача (Error Logger)? Подозирам, че се крие някъде в малкото симпатично pattern-че, но не успях да го поправя.

Въпросното "патърнче" :D

(Exception in thread[\s\"\'a-z\.]+[A-Za-z\.]+([A-Za-z\.]+):\s*\d*)\s*(at\s*([A-Za-z_-]+\.([a-zA-Z]+)+)\(([A-Za-z_-]+\.[a-zA-Z\d]+):(\d+)\))

Решението ми (гърмят четвърти и седми тест).

0
Aleksiev avatar Aleksiev 133 Точки

На седми тест, на ппървия exception ти вади "Controllers.MasterControllerFactorySelectException" като име на ексепшъна, а трябва да е без "Controllers."


На четвърти тест като име на thread-a е "ubuntuCLI", вместо "main". В него има главни букви, а в патърна ти проверяваш само за малки.. от там идва проблема.

1
06/09/2014 16:35:33
Vasilsk avatar Vasilsk 109 Точки

Да, грешката ти е в "патърнчето". Ето това "патърнче" дава 100/100 :)

$exceptionPattern = '/(Exception in thread[\s\"A-Za-z\.]+[A-Za-z\.]+\.([A-Za-z\.]+):\s*\d*)\s*(at\s*([A-Za-z_-]+\.([a-zA-Z]+)+)\(([A-Za-z_-]+\.[a-zA-Z\d]+):(\d+)\))/';

Не знам за какво служи ето това - \'  в началото на патърна ти, но го махнах. Също така добавих проверка за главни букви в първите и вторите квадратни скоби и добавих една точка като символ (т.е. ексейпната с \) преди кръглите скоби за ексепшъна.

1
petrovaliev95 avatar petrovaliev95 358 Точки

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

Не искам да обидя никого, но съм много разочарован от условията на 2-ра и 3-та задача.

Имаше много пропуснати неща.

 

П.С. Разгледах тестовете и вашите решения на 2-ра задача и разбрах къде греша. Там където е "Exception in thread "main" " това "main"(или нещото в кавичките може да бъде и с главни букви).

ЕТО моето скромно и елегантно решение от изпита, което дава 100/100.


Поздрави, Даниел

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