{"paper":{"id":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny","subject":"e14","category":"egzamin-zawodowy","year":2018,"month":"czerwiec","level":null,"variant":null,"exam_pdf":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny/e14-2018-czerwiec-egzamin-zawodowy-praktyczny.pdf","key_pdf":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny-zasady-oceniania/e14-2018-czerwiec-egzamin-zawodowy-praktyczny-zasady-oceniania.pdf","question_count":1,"source_label":"E14 · Egzamin zawodowy · czerwiec 2018","subject_label":"e14","category_label":"Egzamin zawodowy"},"questions":[{"id":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny/zad/PE","paper_id":"e14-2018-czerwiec-egzamin-zawodowy-praktyczny","number":"PE","points":null,"ptype":"open","subject":"e14","category":"egzamin-zawodowy","year":2018,"month":"czerwiec","level":null,"text":"Zadanie egzaminacyjne\nWykonaj aplikację internetową restauracji. Wykorzystaj pakiet XAMPP oraz edytor tekstowy zaznaczający\nskładnię.\nAby wykonać zadanie, zaloguj się na konto Egzamin bez hasła. Na pulpicie znajdziesz archiwum ZIP\no nazwie zad1.zip zabezpieczone hasłem: Wykon@jTo\nArchiwum należy rozpakować.\nPo skończonej pracy wyniki zapisz w folderze stworzonym na pulpicie konta Egzamin. Jako nazwy folderu\nużyj swojego numeru PESEL. Rozpakowane pliki umieść w tym folderze.\nOperacje na bazie danych\nTabele wykorzystane w zadaniu są przedstawione na obrazie 1.\nObraz 1. Baza danych\nPole typ z tabeli dania odpowiada rodzajom dań: 1 - zupy, 2 - mięsne, 3 - przekąski, 4 - napoje.\nPole stanowisko z tabeli pracownicy odpowiada stanowiskom: 1 - kucharz, 2 - pomoc, 3 - kelner, 4-barman.\nUruchom usługi MySQL i Apache z XAMPP Control Panel. Za pomocą narzędzia phpMyAdmin wykonaj\noperacje na bazie danych:\n Utwórz nową bazę danych o nazwie baza\n Zaimportuj do bazy tabele z pliku baza.sql, z wcześniej rozpakowanego archiwum\n Wykonaj zrzut ekranu po imporcie. Zrzut zapisz w folderze z numerem PESEL, w formacie\nJPEG i nazwij zad1. Nie kadruj zrzutu. Zrzut powinien obejmować cały ekran, z widocznym paskiem\nzadań. Na zrzucie powinny być widoczne elementy wskazujące na poprawnie wykonany import tabel\n Zapisz i wykonaj zapytania SQL działające na bazie. Wykonaj zrzuty ekranu przedstawiające wyniki\ndziałania kwerend. Zrzuty zapisz w folderze z numerem PESEL, w formacie JPEG i nadaj im nazwy\nkw1, kw2, kw3, kw4. Zrzuty powinny obejmować cały ekran monitora z widocznym paskiem zadań.\nZapytania zapisz w pliku kwerendy.txt, w folderze z numerem PESEL\n Zapytanie 1: wstawiające do tabeli rezerwacje rekord z danymi: numer stolika = 1,\ndata=„2017-07-04”, liczba osób = 4, numer telefonu = „111222333”\n Zapytanie 2: wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych\n Zapytanie 3: wybierające z tabeli dania jedynie pole nazwa dla takich przekąsek, których cena jest\nmniejsza od 15 zł\n Zapytanie 4: edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni\nsą jako kelner, należy dokonać zmiany stanowiska na barman\nWitryna internetowa\nObraz 2. Witryna internetowa\nCechy witryny:\n Nazwa pliku: restauracja.html lub restauracja.php\n Zastosowany właściwy standard kodowania polskich znaków\n Tytuł strony widoczny na karcie przeglądarki: „Restauracja Wszystkie Smaki”\n Arkusz stylów w pliku o nazwie styl1.css prawidłowo połączony z kodem strony\n Podział strony na bloki: baner, panele lewy i prawy, dolny, stopka zrealizowany za pomocą znaczników\nsekcji tak, aby po uruchomieniu w przeglądarce wygląd był zgodny z obrazem 2\n Zawartość banera: nagłówek pierwszego stopnia o treści: Witamy w restauracji „Wszystkie Smaki”\n Zawartość panelu lewego: obraz menu.jpg (wypakowany z archiwum) z tekstem alternatywnym\no treści: „Nasze danie”\n Zawartość panelu prawego:\n Nagłówek czwartego stopnia o treści: „U nas dobrze zjesz!”\n Lista punktowana z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje od 20 zł\n Zawartość panelu dolnego:\n Nagłówek drugiego stopnia o treści: „Zarezerwuj stolik on-line”\n Formularz zgodny z obrazem 2, wysyłający dane do pliku rezerwacja.php metodą POST. Zawiera\npodpisy i pola:\n „Data (format rrrr-mm-dd)”, poniżej pole tekstowe\n „Ile osób?”, poniżej pole typu numerycznego\n „Twój numer telefonu:”, poniżej pole tekstowe\n Pole typu checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”\n Przycisk „WYCZYŚĆ”, po jego wciśnięciu formularz jest czyszczony\n Przycisk „REZERWUJ”, po jego wciśnięciu dane przesyłane są z formularza do skryptu\n Zawartość stopki: napis o treści: „Stronę internetową opracował: ”, dalej wstawiony Twój numer\nPESEL, numer PESEL powinien być zapisany pochyloną czcionką\nStyl CSS witryny internetowej\nPlik styl1.css zawiera formatowanie:\n Całej strony: kolor tła #F6E5DC, krój czcionki Tahoma\n Banera: kolor tła #2F180C, wyrównanie tekstu do środka, biały kolor czcionki, wysokość 60 px\n Panelu lewego: szerokość 60%\n Panelu prawego: rozmiar czcionki 200%, marginesy wewnętrzne 50 px\n Panelu dolnego: kolor tła #D0B6A8, wyrównanie tekstu do środka, marginesy wewnętrzne 30 px\n Stopki: kolor tła #2F180C, biały kolor czcionki, wysokość 60 px\n Obrazu: wysokość 400 px\n Listy punktowanej: okrąg jako styl punktora\nSkrypt połączenia z bazą\nW tabeli 1 podano wybór funkcji PHP do obsługi bazy danych. Wymagania dotyczące skryptu:\n Napisany w języku PHP, w osobnym pliku o nazwie rezerwacja.php. Skrypt jest uruchamiany po\nwypełnieniu formularza i wciśnięciu przycisku REZERWUJ. Nie jest wymagane sprawdzenie\npoprawności wpisanych w formularz danych\n Skrypt wypisuje tekst „Dodano rezerwację do bazy”\n Skrypt łączy się z serwerem bazodanowym na localhost, użytkownik root bez hasła, baza danych\no nazwie baza\n Nie jest wymagane sprawdzenie, czy operacja na bazie danych powiodła się\n Skrypt pobiera dane z formularza\n Skrypt wysyła do bazy danych zapytanie wstawiające rekord do tabeli rezerwacje z danymi pobranymi\nz formularza bez wypełnionego numeru stolika (zmodyfikowane zapytanie 1, patrz punkt „Operacje na\nbazie danych\")\n Na końcu działania skrypt zamyka połączenie z serwerem\nTabela 1. Wybór funkcji języka PHP do obsługi bazy MySQL i MariaDB\nUWAGA: Po zakończeniu pracy utwórz plik tekstowy. Zapisz w nim nazwę przeglądarki internetowej,\nw której weryfikowałeś poprawność działania witryny. Plik zapisz w folderze z Twoim numerem PESEL jako\nprzeglądarka.txt. Nagraj płytę z rezultatami pracy. W folderze z numerem PESEL powinny się znajdować\npliki: kw1.jpg, kw2.jpg, kw3.jpg, kw4.jpg, kwerendy.txt, menu.jpg, przeglądarka.txt, restauracja.php (lub\nrestauracja.html), rezerwacja.php, styl1.css, zad1.jpg, ewentualnie inne przygotowane pliki. Po nagraniu\npłyty sprawdź poprawność nagrania. Opisz płytę swoim numerem PESEL i pozostaw na stanowisku,\nzapakowaną w pudełku wraz z arkuszem egzaminacyjnym.\nCzas przeznaczony na wykonanie zadania wynosi 150 minut.\nOcenie będą podlegać 4 rezultaty:\n operacje na bazie danych,\n witryna internetowa,\n styl CSS witryny internetowej,\n skrypt połączenia z bazą.\nFunkcje biblioteki mysql\nFunkcje bilioteki mysqli\nZwracana wartość\nmysql_connect(serwer, użytkownik,\nhasło)\nmysqli_connect(serwer, użytkownik,\nhasło, nazwa_bazy)\nid połączenia lub FALSE, gdy\nniepowodzenie\nmysql_select_db\n('nazwa_bazy' [,id_polaczenia])\nmysqli_select_db(id_polaczenia,\nnazwa_bazy)\nTRUE/FALSE w zależności od stanu\noperacji\nmysql_error([id_polaczenia])\nmysqli_error(id_polaczenia)\nTekst komunikatu błędu\nmysql_close([id_polaczenia])\nmysqli_close(id_polaczenia)\nTRUE/FALSE w zależności od stanu\noperacji\nmysql_query(zapytanie [,id_polaczenia]) mysqli_query(id_polaczenia,\nzapytanie)\nWynik zapytania\nmysql_fetch_row(wynik_zapytania)\nmysqli_fetch_row(wynik_zapytania)\nTablica numeryczna odpowiadająca\nwierszowi zapytania\nmysql_fetch_array(wynik_zapytania)\nmysqli_fetch_array(wynik_zapytania) Tablica zawierająca kolejny wiersz\nz podanych w wyniku zapytania lub\nFALSE, jeżeli nie ma więcej wierszy\nw wyniku zapytania\nmysql_num_rows(wynik_zapytania)\nmysqli_num_rows(wynik_zapytania)\nLiczba wierszy /kolumn w podanym\nzapytaniu\nmysql_num_fields (wynik_zapytania)\nmysqli_num_fields(wynik_zapytania)\nLiczba wierszy /kolumn w podanym\nzapytaniu\nWypełnia zdający\nDo arkusza egzaminacyjnego dołączam płytę CD opisaną numerem PESEL\nktórej jakość nagrania została przeze mnie sprawdzona.\nWypełnia Przewodniczący ZN\nPotwierdzam, że do arkusza egzaminacyjnego dołączona jest płyta CD, opisana numerem PESEL zdającego.\nCzytelny podpis Przewodniczącego ZN\n,","answer":null,"answer_text":"Nazwa\nkwalifikacji:\nTworzenie aplikacji internetowych i baz danych oraz administrowanie bazami\nOznaczenie\nkwalifikacji:\nE.14\nNumer zadania:\n01\nKod arkusza:\nE.14-01-18.06\nLp.\nElementy podlegające ocenie/kryteria oceny\nR.1\nRezultat 1: Operacje na bazie danych\nW przypadku oceny zrzutów ekranu należy uznać za prawidłowe, jeżeli widoczny jest cały obszar ekranu, a zapytanie ma charakter uniwersalny dla\nkażdego zestawu danych.\nNie należy oceniać wykadrowanych zrzutów ekranu\nR.1.1\nWykonano import tabel do bazy danych o nazwie baza, czynność udokumentowano plikiem o nazwie zad1 w formacie JPEG\nR.1.2\nZapisano plik tekstowy kwerendy z zapytaniami SQL\nR.1.3\nUtworzono zapytanie 1 wstawiające do tabeli rezerwacje rekord z danymi: 1, '2017-07-04', 4, 111222333\nINSERT INTO rezerwacje (lista pól) VALUES (lista wartości) albo INSERT INTO rezerwacje VALUES\n(lista wartości) albo INSERT INTO rezerwacje SET (lista_przypisań) lub\nwynik działania udokumentowano zrzutem, na którym widoczne są zapytanie i komunikat o pomyślnym jego zrealizowaniu\nZapytanie INSERT INTO uznaje się za prawidłowe również w przypadku, gdy w polu Id nie uwzględniono autonumerowania, a\nprzypisano stałą wartość liczbową.\nR.1.4\nUtworzono zapytanie 2 wybierające z tabeli dania jedynie pola nazwa i cena dla dań mięsnych\n(typ = 2). W pliku z kwerendami istnieje zapis np.:\nSELECT nazwa, cena FROM dania WHERE typ = 2\nlub wynik działania udokumentowano zrzutem, na którym widoczne są jedynie pola nazwa i cena dla rekordów: Kaczka i owoc,\nKurczak pieczony, wieprzowy przysmak, Mintaj w panierce, Alle kotlet\nR.1.5\nUtworzono zapytanie 3 wybierające z tabeli dania jedynie pole nazwa dla przekąsek (typ=3), których cena jest mniejsza od 15 zł.\nW pliku z kwerendami istnieje zapis np.:\nSELECT nazwa FROM dania WHERE typ = 3 and cena < 15\nlub wynik działania udokumentowano zrzutem, na którym widoczne sa jedynie nazwy: Orzechy i chipsy, Bukiet warzyw\nR.1.6\nUtworzono zapytanie 4 edytujące dane w tabeli pracownicy. Dla wszystkich pracowników, którzy zatrudnieni są jako kelner\n(stanowisko = 3), należy dokonać zmiany stanowiska na barman (stanowisko = 4). W pliku z kwerendami istnieje zapis np.:\nUPDATE pracownicy SET stanowisko = 4 WHERE pracownicy.stanowisko = 3\nlub wynik działania udokumentowano zrzutem, na którym widoczny jest komunikat o zmodyfikowaniu dwóch rekordów oraz\nprawidłowe zapytanie\nR.2\nRezultat 2: Witryna internetowa\nUwaga: W napisach widocznych na stronie dopuszcza się drobne błędy literowe (nie zmieniające sensu tekstu), błędy wielkości liter i znaków\ndiakrytycznych, tekst może być pisany w cudzysłowach lub bez\nJeśli witryna nie uruchamia się z powodu błędów PHP - sprawdzić wg kryteriów w kodzie źródłowym strony\nW przypadku, gdy R.2.3 nie jest spełniony, w rezultatach R.2.4, R.2.5, R.2.7, R.2.8, R.2.10 wystarczy, że nazwy bloków zgadzają się z kodem źródłowym, a\nnie z wyglądem witryny np. <div id=\"baner\">\nR.2.1\nWitrynę internetową zapisano w pliku restauracja oraz w kodzie strony zastosowano standard kodowania polskich znaków\nR.2.2\nNadano tytuł strony: \"Restauracja Wszystkie Smaki”\nR.2.3\nWygląd strony zdefiniowano dzieląc stronę na baner, panele lewy i prawy, dolny oraz stopkę. Zastosowano znaczniki sekcji (div, section,\nheader, nav, aside, footer, article, ) i strona po uruchomieniu w przeglądarce ma układ bloków zgodny z układem na obrazie 2 w arkuszu\nR.2.4\nW banerze zapisano nagłówek h1: \"Witamy w restauracji \"Wszystkie Smaki\"”, w panelu prawym zapisano nagłówek h4 \"U nas dobrze zjesz!\",\nw panelu dolnym zapisano nagłówek h2 o treści \"Zarezerwuj stolik on-line\"\nR.2.5\nW panelu lewym umieszczono obraz menu.jpg\nR.2.6\nZdefiniowano dla obrazu tekst alternatywny \"Nasze danie\"\nR.2.7\nW panelu prawym zapisano listę punktowaną (znaczniki <ul>, </ul> i <li>) z trzema elementami: Obiady od 40 zł; Przekąski od 10 zł; Kolacje\nod 20 zł\nR.2.8\nW panelu dolnym zapisano formularz odwołujący się do pliku rezerwacja.php oraz zawierający dwa przyciski typu reset i submit (dopuszcza\nsię dowolną inną, działającą implementację przycisku czyszczącego formularz)\nR.2.9\nNa stronie umieszczono cztery pola z podpisami, kolejno: \"Data (format rrrr-mm-dd):\" - pole tekstowe; \"Ile osób?\" - pole numeryczne; \"Twój\nnumer telefonu:\" - pole tekstowe; pole checkbox z napisem: „Zgadzam się na przetwarzanie moich danych osobowych”\nR.2.10\nW stopce zapisano napis o treści: „Stronę internetową opracował: ”, dalej wstawiony numer PESEL, przynajmniej numer PESEL jest\npochylony\nR.3\nRezultat 3: Styl CSS witryny internetowej\nW kryteriach od R.3.2 do R.3.10 należy ocenić styl CSS z pliku.\nStyl musi działać na stronie. W przypadku nie spełnienia R.3.1 kryteria od R.3.2 do R.3.10 należy ocenić w kodzie CSS. Składnia CSS musi być\nprawidłowa.\nR.3.1\nStyl CSS zapisano w pliku styl1.css (lub styll.css) , formatowanie witryny z rezultatów R.3.2 do R.3.10 pochodzi wyłącznie od stylów\nzdefiniowanych w pliku CSS\nR.3.2\nUstawiono kolor tła dla całej strony (lub kontenera wszystkich sekcji) na #F6E5DC, banera i stopki na #2F180C; panelu dolnego: #D0B6A8.\nDopuszcza się zapis dziesiętny kolorów.\nR.3.3\nUstawiono wyrównanie tekstu do środka dla banera i panelu dolnego\nR.3.4\nUstawiono biały kolor czcionki dla banera i stopki\nR.3.5\nUstawiono krój czcionki Tahoma dla całej strony lub kontenera wszystkich sekcji lub wszystkich bloków\nR.3.6\nUstawiono wysokość banera i stopki na 60px, obrazu na 400px\nR.3.7\nUstawiono szerokość panelu lewego na 60%\nR.3.8\nUstawiono marginesy wewnętrzne dla panelu prawego na 50px, dla panelu dolnego na 30px\nR.3.9\nUstawiono rozmiar czcionki na 200% dla panelu prawego\nR.3.10\nUstawiono styl listy punktowanej na circle\nR.4\nRezultat 4: Skrypt połączenia z bazą\nJeśli skrypt nie wykonuje się z powodu błędów, kryteria od R.4.1 do R.4.6 należy ocenić w kodzie strony\nR.4.1\nSkrypt napisano w języku PHP\nR.4.2\nSkrypt realizuje połączenie z serwerem bazy danych na localhost, użytkownik root, bez hasła\nR.4.3\nSkrypt realizuje wybór bazy danych o nazwie baza\nR.4.4\nPo wykonaniu operacji na bazie zastosowano funkcję zamknięcia bazy\nR.4.5\nSkrypt wypisuje tekst: \"Dodano rezerwację do bazy\"\nR.4.6\nUżyto metody POST do pobierania danych z formularza np. $telefon = $_POST['tel'];\nR.4.7\nSkrypt wysyła do bazy zapytanie wstawiające rekord w tabeli rezerwacje o wartościach podanych w formularzu. Należy sprawdzić czy rekord\nzostał dodany do bazy w phpMyAdmin","solution":null,"image":"img/e14-2018-czerwiec-egzamin-zawodowy-praktyczny/zad-PE.webp","solution_image":null,"topics":null,"page_from":2,"source":"ocr","answer_source":null,"answer_text_source":"ocr","solution_source":null,"text_source":"ocr","source_label":"E14 · Egzamin zawodowy · czerwiec 2018","subject_label":"e14","category_label":"Egzamin zawodowy"}]}