Loading...
vvulevv avatar vvulevv 51 Точки

[Exam Problems] PHP Basics - Sample Exam - Variant 3 + Решенията от подготовката

Здравейте. Може ли да ми помогнете с решението на тази задача? И по - точно имате ли идея защо в judge-a ми дава 40/100 за това решение -- > Problem 1 Computer Smuggler ?

П.П. Аз сам си открих първата грешка - вместо elseif трябва да са ми отделни if-ове. Сега дава 90/100, но последните 10 не се сещам от къде идват.. 

П.П.2 Разбрах къде ми е другата грешка - в default-ния случай на switch-a. Не рябва да има нищо там. Доста глупави грешки съм направил. :) Малко сам си пописах.. laughing

1
PHP Web Development Basics 28/08/2014 21:21:04
kiko144 avatar kiko144 795 Точки
Best Answer

Здравей, колега, надявам се да са ти харесали задачките. Опитахме да ги направим малко по-трудни от тези, които евентуално Ще се паднат на изпита, за да може да е по-лесно на всички след това. Понеже има вече отворена тема, аз няма да отварям нова, а искам да призова хората, ако имат някакви въпроси, критики или забележки по условието да питаш тук и ще им бъде отговорено :) Току що се качи и видеото от подготовката, така че тези който са на изпит утре ще имат тази вечер и евентуално утре да гледат и да се подготвят. Както сигурно вече сте видели има авторски решения в архив в раздела на кура. Не са написани много красиво, но доста бързахме с колежката  Яна Славчева. 

ЛИНК КЪМ YOUTUBE КЛИПА

ЛИНК КЪМ КОДА НА ЗАДАЧИТЕ, КОИТО РЕШИХМЕ ЗАЕДНО ДНЕС:

ЗАДАЧА 4 - PESHO THE PHARMACIST

ЗАДАЧА 2 - SOFTUNI SQL

2
28/08/2014 20:31:38
alexxdim94 avatar alexxdim94 33 Точки

Надявам се наистина да са малко по-лесни задачите на изпита от тези, които сте измислили, 'щото ми причинихте главоболие днес ... а предполагам и не само на мен, хахаха. laughing

4
28/08/2014 20:26:39
jabalka avatar jabalka 960 Точки

Колеги, ето ЛИНК и към всички авторски решения на задачите, HTML-и, условия в GitHub. Също както говорихме и може би вече сте видели, решенията ги има и на страницата на КУРСА ПО PHP BASICS - ДИРЕКТЕН ЛИНК.

Успех на изпита на всички!

 

п.п. EDIT - Ето и ЛИНК към видеото от камерата

3
30/08/2014 12:15:44
tsv.georgieva avatar tsv.georgieva 35 Точки

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

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

2
arsoman avatar arsoman 419 Точки

Здравейте, моля да се обърне внимание на следното НЕУТОЧНЕНИЕ в условието на 4-та задача Problem 4 – Pesho the Pharmacist! В него НИКЪДЕ, не е казано, че след "lv" ще има точка, както е в тестовете, и кода ми дава 0/100. В примера към задачата, това е дадено без точка след "lv"! Моля, уточнявайте нещата добре, защото губим часове в проверка на правилно работещ код?!

1
jabalka avatar jabalka 960 Точки

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

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

0
arsoman avatar arsoman 419 Точки

Благодаря за бързия отговор и за пожеланието за изпита, утре ми предстои! Успех и много здраве на всички!

0
jabalka avatar jabalka 960 Точки

Вече може да бъде изтеглено обновеното условие както от Judge-a, така и от сайта в раздела за курса по PHP - обяснили сме по-добре какви формати могат да бъдат очаквани в input-a.

Поздрави!

0
arsoman avatar arsoman 419 Точки

Извинете отново, но ми се струва, че във тест №2 от задача Problem-4-Pesho-the-Pharmacist, в изходния файл има грешен резултат в този ред

</li></ul><ul><li><p>Peshopharm</p>

според мен и както разбирам условието, не би трябвало да има </ul><ul> групата на това място, иначе всичко ми е точно, само това е като грешка и ми дава по-малко точки. Моля за проверка, поне да знам дали е при мен проблема, ако не е, се надявам на изпита да няма подобни ситуации. Благодаря!

0
kiko144 avatar kiko144 795 Точки

На този ред се случва така, че се затваря един ul и се отваря друг. Тоест в една дата можеш да имаш повече от 1 ul за различните компании. Можеш да си копираш целия тест и да си го стартираш в браузара за да видиш как изглежда :) .

Главният лист съдържа като li-та всички дати; всяка дата съдържа толкова ul-и колкото компании имаш в нея; и във всяка компания имаш друг ul в който имаш лекарствата и общата цена. 

1
30/08/2014 19:09:12
arsoman avatar arsoman 419 Точки

Ясно, абе и без това ми беше тъмен output-a, явно затова! Благодаря ти!

0
Valleri avatar Valleri 304 Точки

Здравейте, менове.
Имам проблеми с задачите. Pri Pesho the pharmacist съм hardcode стойностите като масив и получавам верния резултат локално, no w judge ми изкарва само един ред: 

<ul><li><p>23/01/2014</p><ul><li><p>Actavis</p><ul><li><p>Paracetamol-7.54lv.</p></li></ul></li></ul></ul>

Ето кода: http://pastebin.com/bJZjkjNp

На IT Village получавам верни отговори на 7-ми тест и на някои от другите тестове локално, а в judge гърмят. Също така не е ясно, кое условие е с по-голям прецедент - да ти свършат парите или да ти свършат ходовете.

Ето кода: http://pastebin.com/Zhzr18Ac

SoftUniSQL  се получава същото на 10 тест, na 5,6,7 също, проверих в diff-checker 
http://pastebin.com/2iAg9MBH

Ако ми помогнете да открия проблема ще съм благодарен :)

 

1
RoYaL avatar RoYaL Trainer 6849 Точки

invoices ключа не идва като array, най-вероятно не го експлоудваш или не го експлоудваш правилно. Ако се опиташ да перформнеш array_filter върху текста има голям шанс да фейлнеш :)

0
Valleri avatar Valleri 304 Точки

При Пешо фармацевта, ако сплитна на запетая дава следното:

PHP Warning:  explode() expects parameter 2 to be string, array given...
0
kiko144 avatar kiko144 795 Точки

Реално вече ти е даден масив, в който имаш различни елементи - всеки от които е фактура. Тоест invoices[0] ти е първата въведена фактура, invoices[1] - втората и т.н. Трябва да си си сплитваш само по вертикална черта отделните редове и да си ги обработваш!

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

Здравейте,

искам да помоля някой, който има възможност, да погледне РЕШЕНИЕТО ми на четвърта задача "Pesho-the-Pharmacist" и евентуално да ми каже какво бъркам, за да получавам "Грешка по време на изпълнение" в judge - 

PHP Fatal error:  Uncaught exception 'Exception' with message 'D...

Благодаря предварително! smile

0
10/12/2014 19:33:09
RoYaL avatar RoYaL Trainer 6849 Точки

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

Почнах да слагам exit()-ове от ред на ред, докато не хвърли ексепшън. За щастие хвърли още на 3тия ред след new DateTime(); Оградих го в try catch и var_dump()-нах ексепшънах:

"DateTime::__construct(): Failed to parse time string (27/08/2014) at position 0 (2): Unexpected character"

Тук можеш да видиш какви са валидните формати, които можеш да подадеш на DateTime:

http://php.net/manual/en/datetime.formats.date.php

Няколко евентуални решения:

http://stackoverflow.com/questions/24466794/fatal-error-uncaught-exception-exception-with-message-datetime-construct

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

        $td = str_replace('/', '.', $_GET['today']);
        $today = new DateTime($td);

1
10/12/2014 21:09:23
a.angelov avatar a.angelov 1316 Точки

Благодаря ти @RoYaL! smile

Да ме пита човек, защо съм оставил $today = new DateTime($_GET['today']); foot-in-mouth и то при положение, че вече бях видял, че е проблемно това парсване на дата по-надолу в кода...

По този начин вече ми дава 50-те точки, сега ще търся другите къде се губят:

$today = DateTime::createFromFormat('d/m/Y', $_GET['today']);

Благодаря отново! 

ПС. Пропуснах да кажа, че датите са ми най-мътното нещо във всички езици, които сме учили до момента...

0
10/12/2014 21:59:42
a.angelov avatar a.angelov 1316 Точки

Обаче още ми е странно и неясно защо като пусках програмата и var_dump-вах променливата имах правилно парснат Datetime обект аналогичен на обекта, който се създава и с коригирания вече код?

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