Obsługa formularzy HTML i praca z teks
Transkrypt
Obsługa formularzy HTML i praca z teks
Politechnika Białostocka Skrypt do pracowni specjalistycznej z przedmiotu TECHNOLOGIE INTERNETOWE 4 Zadanie 1 – Obsługa formularzy HTML i praca z tekstem opracował mgr inż. Grzegorz Kraszewski BIAŁYSTOK 2009 1. Cel ćwiczenia Ponieważ jest to pierwsze ćwiczenie z tego przedmiotu, celem realizowanym jako pierwszy jest oswojenie się ze środowiskiem pracy i językiem PHP w praktyce. Studenci na początku zapoznają się z pracą na koncie zdalnym poprzez klienta FTP lub połączenie terminalowe SSH. Kolejnym krokiem jest przećwiczenie podstawowych zasad umieszczania kodu PHP w dokumentach HTML, sposobu zgłaszania błędów przez interpreter PHP oraz ich usuwania. Po części wstępnej studenci mogą przejść do właściwego tematu ćwiczenia, a więc praktycznego zapoznania się z obsługą w PHP danych wprowadzanych przez formularze HTML, oraz przetwarzania tekstów w języku PHP. 2. Opis zadania Zadanie polega na napisaniu aplikacji WWW generującej statystykę występowania par liter we wprowadzonym tekście. Aplikacja powinna generować prosty formularz HTML pozwalający na wprowadzenie tekstu z klawiatury i wysłanie go do przetwarzania. Zakładamy, że tekst może być długi (np. kilkadziesiąt kB), dlatego formularz powinien używać metody POST do wysłania danych do serwera. Następnym krokiem jest zanalizowanie tekstu pod kątem częstości występowania par liter w wyrazach. Przykładowo w wyrazie „kasa” mamy trzy pary liter „ka”, „as” i „sa”. Pod uwagę brać należy wyłącznie pary w całości znajdujące się w jednym wyrazie. Wszystkie znaki nie będące literami, należy traktować jako spacje (a więc każdy taki znak wewnątrz wyrazu rozdziela go na dwa mniejsze). W czasie liczenia duże i małe litery powinny być traktowane tak samo (pary „as”, „As” i „aS”, to jedna i ta sama para). Wersja minimalna programu może obsługiwać tylko litery alfabetu angielskiego. W tym przypadku litery specyficzne dla języka polskiego powinny być traktowane jak swoje bezogonkowe odpowiedniki. Zalecana jest jednak pełna obsługa polskich znaków. Program powinien zgromadzić dane na temat 20 najczęściej występujących par, a następnie narysować histogram słupkowy ich występowania. Histogram jest tworzony w trybie tekstowym. Cały histogram musi być jednym ciągiem tekstu wewnątrz znacznika <pre>. 20 par znaków powinno być posortowane od najczęściej do najrzadziej występującej pary. W przypadku, gdy dwie, lub więcej par wystąpiło taką samą ilość razy, należy je posortować alfabetycznie. 20 kolejnych słupków, stworzonych ze znaków „#” odpowiada 20 parom, które wypisane mają być jako etykiety osi poziomej. Oś pionowa ma być wyskalowana w procentach wszystkich znalezionych par. Histogram należy wyskalować w pionie tak, aby pierwszy słupek, odpowiadający najczęstszej parze, miał wysokość całego wykresu, a wysokość ta wynosi 20 linii tekstu. Pod wykresem umieszczamy tabelę podającą ilość wystąpień (w sztukach i w % w stosunku do wszystkich par) dla każdej z 20 par. Oprócz tego niezbędne jest wypisanie łącznej ilości wszystkich znalezionych par. Dla przykładowego krótkiego tekstu „kakao proroka” mamy 10 par, których częstotliwość występowania przedstawia się następująco: Para Wystąpienia Procentowo ka ro ak ao ok or pr 3 2 1 1 1 1 1 30% 20% 10% 10% 10% 10% 10% Pary, które wystąpiły tylko raz, zostały zgodnie z warunkami zadania posortowane alfabetycznie. Łącznie w tekście wystąpiło 10 par liter. W histogramie pierwszy słupek, dla pary „ka” będzie miał wysokość 20 linii, drugi dla pary „ro” będzie miał po zaokrągleniu 13 linii, pozostałe 7 linii. Przykładowy wykres przedstawiono powyżej. 30% # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ka ro ak ao ok or pr 3. Literatura 1. Materiały z wykładów (http://teleinfo.pb.edu.pl/krashan/techint4.html). 2. Dokumentacja języka PHP (http://www.php.net). 3. Dokumentacja HTML (http://www.w3.org/TR/html401/).