Софтуерно Инженерство
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 1317 Точки

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

1
a_rusenov avatar a_rusenov 1103 Точки

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

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

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

0
Valleri avatar Valleri 292 Точки

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

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

Computer Store - нвм

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

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

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

Най-много ме е яд, че на 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 16 Точки

Аз ползвах решенията на 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 16 Точки

Не извеждаш четвърти компонент (тест 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 1087 Точки

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

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

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

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

2
rvmladenov avatar rvmladenov 293 Точки

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

0
coaster avatar coaster 415 Точки

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

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

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

Някой може ли да ми каже откъде идва грешката в решението ми на 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