ebook img

Kwalifikacja INF.03. Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych. Część 3. Programowanie aplikacji internetowych. Podręcznik do nauki zawodu technik informatyk i technik programista PDF

321 Pages·2020·4.063 MB·Polish
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Kwalifikacja INF.03. Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych. Część 3. Programowanie aplikacji internetowych. Podręcznik do nauki zawodu technik informatyk i technik programista

(cid:3)(cid:125)(cid:152)(cid:171)(cid:141)(cid:0)(cid:204) (cid:16)(cid:117)(cid:114)(cid:106)(cid:117)(cid:100)(cid:112)(cid:114)(cid:122)(cid:100)(cid:113)(cid:108)(cid:104)(cid:0)(cid:100)(cid:115)(cid:111)(cid:108)(cid:110)(cid:100)(cid:102)(cid:109)(cid:108)(cid:0) (cid:108)(cid:113)(cid:119)(cid:104)(cid:117)(cid:113)(cid:104)(cid:119)(cid:114)(cid:122)(cid:124)(cid:102)(cid:107) (cid:11)(cid:122)(cid:100)(cid:111)(cid:108)(cid:131)(cid:110)(cid:100)(cid:102)(cid:109)(cid:100)(cid:0)(cid:9)(cid:14)(cid:6)(cid:221)(cid:211)(cid:204) (cid:20)(cid:122)(cid:114)(cid:117)(cid:125)(cid:104)(cid:113)(cid:108)(cid:104)(cid:0)(cid:108)(cid:0)(cid:100)(cid:103)(cid:112)(cid:108)(cid:113)(cid:108)(cid:118)(cid:119)(cid:117)(cid:114)(cid:122)(cid:100)(cid:113)(cid:108)(cid:104)(cid:0)(cid:0) (cid:118)(cid:119)(cid:117)(cid:114)(cid:113)(cid:100)(cid:112)(cid:108)(cid:0)(cid:108)(cid:0)(cid:100)(cid:115)(cid:111)(cid:108)(cid:110)(cid:100)(cid:102)(cid:109)(cid:100)(cid:112)(cid:108)(cid:0)(cid:108)(cid:113)(cid:119)(cid:104)(cid:117)(cid:113)(cid:104)(cid:119)(cid:114)(cid:122)(cid:124)(cid:112)(cid:108)(cid:0) (cid:114)(cid:117)(cid:100)(cid:125)(cid:0)(cid:101)(cid:100)(cid:125)(cid:100)(cid:112)(cid:108)(cid:0)(cid:103)(cid:100)(cid:113)(cid:124)(cid:102)(cid:107) (cid:16)(cid:114)(cid:103)(cid:117)(cid:152)(cid:102)(cid:125)(cid:113)(cid:108)(cid:110)(cid:0)(cid:103)(cid:114)(cid:0)(cid:113)(cid:100)(cid:120)(cid:110)(cid:108)(cid:0)(cid:125)(cid:100)(cid:122)(cid:114)(cid:103)(cid:120) (cid:119)(cid:104)(cid:102)(cid:107)(cid:113)(cid:108)(cid:110)(cid:0)(cid:108)(cid:113)(cid:105)(cid:114)(cid:117)(cid:112)(cid:100)(cid:119)(cid:124)(cid:110)(cid:0)(cid:108)(cid:0)(cid:119)(cid:104)(cid:102)(cid:107)(cid:113)(cid:108)(cid:110)(cid:0)(cid:115)(cid:117)(cid:114)(cid:106)(cid:117)(cid:100)(cid:112)(cid:108)(cid:118)(cid:119)(cid:100) (cid:10)(cid:114)(cid:111)(cid:100)(cid:113)(cid:119)(cid:100)(cid:0)(cid:16)(cid:114)(cid:110)(cid:114)(cid:117)(cid:118)(cid:110)(cid:100) Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Joanna Zaręba Projekt okładki: Jan Paluch Fotografia na okładce została wykorzystana za zgodą Shutterstock. Helion SA ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: [email protected] WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie?inf033_ebook Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. ISBN: 978-83-283-7054-8 Copyright © Helion 2020 (cid:120) Poleć książkę na Facebook.com (cid:120) Księgarnia internetowa (cid:120) Kup w wersji papierowej (cid:120) Lubię to! » Nasza społeczność (cid:120) Oceń książkę Spis treści Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Rozdział 1. Podstawy programowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1. Zasady programowania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2. Proste algorytmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3. Środowiska programistyczne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.4. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Rozdział 2. Aplikacje internetowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2. Wzorce projektowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.3. Serwery aplikacji internetowych . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4. Pakiet XAMPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Rozdział 3. Język JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2. Struktura języka JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3. Składnia języka JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4. Instrukcje sterujące . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5. Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.6. Obiekty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.7. Obiekty wbudowane języka JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.8. Obiekty DOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.9. Obsługa zdarzeń . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.10. Wykorzystanie skryptów na stronie internetowej . . . . . . . . . . . . . . . . . . . . . . . . . . 103 3.11. Walidacja formularzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.12. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Rozdział 4. Biblioteka jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.1. Opis biblioteki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.2. Zdarzenia biblioteki jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 4.3. Zastosowanie biblioteki jQuery na stronie internetowej . . . . . . . . . . . . . . . . . . . . . 136 3 Spis treści 4.4. Walidacja formularzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.5. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Rozdział 5. Inne biblioteki języka JavaScript . . . . . . . . . . . . . . . . . . . . . . . . 157 5.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 5.2. Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.3. React.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 5.4. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Rozdział 6. Język PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 6.2. Struktura języka PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 6.3. Składnia języka PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 6.4. Instrukcje sterujące . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 6.5. Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 6.6. Funkcje wbudowane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 6.7. Funkcje obsługi plików . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 6.8. Obsługa formularzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 6.9. Pliki cookies i sesje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 6.10. Bazy danych w PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 6.11. Biblioteka PDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 6.12. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 Rozdział 7. Walidacja kodu aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 7.1. Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 7.2. Testy aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 7.3. Debugowanie aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 7.4. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Rozdział 8. Dokumentowanie aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 8.1. Komentarze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 8.2. Tworzenie dokumentacji programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 8.3. Automatyczne generowanie dokumentacji użytkownika . . . . . . . . . . . . . . . . . . . . . 309 8.4. Pytania i zadania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Skorowidz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 4 Wstęp Szybki rozwój internetu i pojawienie się nowych technologii pozwoliły na tworzenie aplikacji internetowych, z których można korzystać za pomocą przeglądarki interneto- wej. Aplikacje webowe stały się narzędziem do nowoczesnego zarządzania firmą, umoż- liwiły także stałą kontrolę nad procesami biznesowymi z każdego miejsca na świecie. Nauka zawodów technik informatyk i technik programista pozwala na pogłębienie wie- dzy z zakresu projektowania i tworzenia aplikacji internetowych. Zdobyte kwalifikacje dają możliwość szybkiego znalezienia bardzo atrakcyjnej pracy. Podręcznik Kwalifikacja INF.03. Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych. Część 3. Programowanie aplikacji internetowych. Podręcznik do nauki zawodu technik informatyk i technik programista zawiera treści przeznaczone dla osób kształcących się w zawodach technik informatyk i technik programista. Podręcznik został opracowany zgodnie z nową podstawą programową, obowiązującą od 1 września 2019 r., i obejmuje materiał kwalifikacji INF.03. Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych w zakresie programowania aplikacji internetowych. W publikacji zostały omówione zagadnienia teoretyczne z zakresu programowania apli- kacji webowych. Zamieszczono też liczne ćwiczenia, które ułatwią nabycie umiejętności praktycznych, a proponowane rozwiązania pomogą w ugruntowaniu zdobytej wiedzy. Podręcznik składa się z ośmiu rozdziałów. Ich budowa pozwala na realizację treści programowych w sposób wybrany przez nauczyciela oraz umożliwia samodzielne roz- wijanie umiejętności przez uczniów. Rozdział 1., „Podstawy programowania”, zawiera omówienie podstawowych zagadnień z zakresu programowania i algorytmiki. Dotyczy efektów związanych z przestrzeganiem zasad programowania. Efektami tymi są: stosowanie zasad programowania struktural- nego, analiza problemów programistycznych i korzystanie z algorytmów. Rozdział 2., „Aplikacje internetowe”, zawiera omówienie podstawowych zagadnień z zakresu użycia aplikacji internetowych. Dotyczy efektów związanych z tworzeniem oraz wykorzystywaniem aplikacji webowych. Efektami tymi są: rozpoznawanie techno- logii działających po stronie klienta i serwera, identyfikowanie wzorców projektowych, korzystanie z frameworków, instalowanie serwerów WWW. Rozdział 3., „Język JavaScript”, zawiera omówienie zagadnień z zakresu stosowania skryptów wykonywanych po stronie klienta przy tworzeniu aplikacji internetowych. Dotyczy efektów związanych ze stosowaniem funkcji, obiektów i metod w języku Java- Script, z tworzeniem własnych funkcji, obiektów i metod oraz testowaniem powstającej aplikacji i modyfikowaniem jej kodu źródłowego. Efektami tymi są: identyfikowanie operatorów arytmetycznych, bitowych i logicznych, stosowanie obsługi zdarzeń myszy 5 Wstęp i klawiatury, definiowanie skryptów obsługujących formularze i kontrolki HTML, wyko- rzystywanie mechanizmów walidacji formularzy HTML, korzystanie z funkcji modelu DOM, analizowanie poprawności tworzonych obiektów i metod. Rozdział 4., „Biblioteka jQuery”, zawiera omówienie zagadnień z zakresu wykorzysta- nia biblioteki jQuery do tworzenia własnych aplikacji. Dotyczy efektów związanych ze stosowaniem funkcji, metod i obiektów biblioteki jQuery, tworzeniem własnych funkcji, obiektów i metod z użyciem biblioteki jQuery oraz wykorzystywaniem ich na stronie internetowej. Efektami tymi są: identyfikowanie i stosowanie instrukcji, metod, obiektów i zdarzeń biblioteki jQuery, używanie odpowiednich instrukcji, pro- cedur i metod biblioteki jQuery do tworzenia efektów na stronie internetowej oraz do walidacji formularzy. Rozdział 5., „Inne biblioteki języka JavaScript”, zawiera omówienie zagadnień z zakre- su wykorzystania bibliotek Angular i React do tworzenia własnych aplikacji. Dotyczy efektów związanych z przygotowaniem środowiska uruchomieniowego tych bibliotek oraz stosowaniem ich do tworzenia strony internetowej. Efektami tymi są: dobieranie środowisk programistycznych do określonych zadań, tworzenie programów w wybranych środowiskach programistycznych, instalowanie i konfigurowanie środowisk programi- stycznych, korzystanie z bibliotek i frameworków języka JavaScript. Rozdział 6., „Język PHP”, zawiera omówienie podstawowych zagadnień z zakresu stosowania skryptów wykonywanych po stronie serwera przy tworzeniu aplikacji internetowych. Dotyczy efektów związanych z wykorzystaniem wbudowanych typów danych, stosowaniem funkcji i tworzeniem własnych funkcji w języku PHP oraz testo- waniem powstającej aplikacji i modyfikowaniem jej kodu źródłowego. Efektami tymi są: identyfikowanie operatorów arytmetycznych, bitowych i logicznych, tworzenie włas- nych typów danych, stosowanie instrukcji i funkcji języka PHP do określonych zadań, wykorzystywanie operacji na plikach i katalogach, tworzenie i walidacja formularzy, wysyłanie danych z formularza, używanie plików cookie i sesji, stosowanie bibliotek do obsługi bazy danych, analizowanie poprawności tworzonych aplikacji. Rozdział 7., „Walidacja kodu aplikacji”, zawiera omówienie zagadnień z zakresu testo- wania i debugowania kodu aplikacji internetowej. Dotyczy efektów związanych z ana- lizą testów tworzonej aplikacji oraz sposobami debugowania aplikacji. Efektami tymi są: analiza błędów w kodzie źródłowym programu, poprawianie błędów, stosowanie debugera w przeglądarce internetowej, rozpoznawanie rodzajów testów. Rozdział 8., „Dokumentowanie aplikacji”, zawiera omówienie zagadnień z zakresu dokumentowania tworzonej aplikacji. Dotyczy efektów związanych z opracowywaniem dokumentacji programu. Efektami tymi są: identyfikowanie sposobów dokumento- wania powstającej aplikacji, tworzenie dokumentacji programu, przygotowywanie instrukcji użytkownika, stosowanie komentarzy w celu automatycznego generowania dokumentacji użytkownika. 6 1 Podstawy programowania 1.1. Zasady programowania Język programowania służy do tworzenia programów komputerowych, których zada- niem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów. Może zawierać konstrukcje składniowe do manipulowania strukturami danych i zarządzania prze- pływem sterowania. Niektóre języki programowania mają specyfikację swojej składni i semantyki, inne zdefiniowane są jedynie przez oficjalne implementacje. Elementy języka: q Składnia — zbiór reguł opisujących sposób definiowania struktur danych, rodzaje dostępnych słów kluczowych i symboli oraz zasady, według których symbole mogą być łączone w większe struktury. q Semantyka — zbiór reguł definiujących znaczenie słów kluczowych i symboli oraz ich funkcji w programie. q Typy danych — dostępne typy danych, ich właściwości oraz operacje, które mogą być wykonane na wartościach danego typu. Przykładami używanych obecnie języków programowania są: C, C++, C#, Java, PHP, Perl, Python, Ruby. Niektóre z tych języków wywodzą się z języka C, na przykład C++ czy C#. Języki Java i Python są popularne, gdyż pozwalają na bardzo szybkie tworzenie aplikacji. Wy- dajniejsze języki, takie jak C czy C++, posłużyły do napisania programów biurowych typu edytory tekstu czy edytory grafiki. Języki PHP i Java są popularne w aplikacjach internetowych. Python bywa wykorzystywany w administrowaniu systemami i do tworzenia aplikacji. Wybór języka programowania może zależeć od przeznaczenia końcowej aplikacji, indywidualnych upodobań lub strategii firmy tworzącej oprogramowanie. Najlepszym 7 Rozdział 1. t Podstawy programowania wyjściem jest wybór języka programowania najbardziej dostosowanego do rozwiązy- wanego zadania i istniejącej infrastruktury. Kod źródłowy programu jest tworzony i zapisywany w formacie tekstowym. Rozszerzenie pliku zależy od wybranego języka programowania. Identyfikuje ono język, w którym program został napisany, na przykład c dla języka C, cpp dla C++, java dla Javy, cs dla C#. Niezależnie od rozszerzenia plik zawierający kod źródłowy programu można ot- worzyć w dowolnym edytorze tekstu. 1.1.1. Paradygmaty programowania Paradygmat programowania to pewien wzorzec określający sposób pisania i wykonania programu komputerowego. Języki programowania korzystają z różnych paradygmatów. Paradygmaty programowania opisują między innymi programowanie: q strukturalne, q funkcyjne, q obiektowe, q uogólnione. q proceduralne, Różnice polegają na różnych strukturach programów oraz na różnym podejściu do problemu. Najbardziej rozpowszechniony jest paradygmat strukturalny (programowanie struktu- ralne) oraz obiektowy (programowanie zorientowane obiektowo). W programowaniu strukturalnym następuje dzielenie kodu na bloki (procedury i funk- cje). Instrukcje są pobierane ze stosu i są wykonywane z wykorzystaniem pętli i instrukcji warunkowych. W większości języków można programować strukturalnie. W programowaniu obiektowym programy definiowane są za pomocą obiektów. Pro- gram napisany zgodnie z zasadami programowania obiektowego składa się ze zbioru obiektów, które komunikują się między sobą, aby wykonać określone zadania. W programowaniu proceduralnym program dzielony jest na procedury, czyli fragmenty wykonujące ściśle określone operacje. Procedury nie powinny korzystać ze zmiennych globalnych, lecz wszystkie dane powinny być pobierane i przekazywane jako parametry wywołania. W programowaniu uogólnionym kod programu powstaje bez wcześniejszej znajomości typów danych, na których będzie pracował. Do języków programowania wykorzystu- jących uogólnienia należą: C++, Java. Określony język może wspierać różne paradygmaty programowania. Może przykładowo zawierać elementy programowania proceduralnego, obiektowego i uogólnionego. Wtedy jest to język hybrydowy. Można w takim języku programować, stosując się na przykład wyłącznie do paradygmatów programowania strukturalnego lub wykorzystując elementy wielu paradygmatów. To programista decyduje, w jaki sposób będzie tworzył program. 8 1.1. Zasady programowania 1.1.2. Programowanie strukturalne W programowaniu strukturalnym kod programu jest dzielony na hierarchicznie ułożone bloki. Program tworzony jest z wcześniej zdefiniowanych struktur, takich jak sekwencja (ciąg kolejnych instrukcji), instrukcja warunkowa ( , ), pętla ( , if if...else while ), instrukcja wyboru. Struktury te są stosowane do małych bloków programu repeat zawierających podstawowe instrukcje typu podstawienia, wejścia-wyjścia lub wywołania procedur i funkcji. Dzięki temu kod jest przejrzysty i łatwy w utrzymaniu. Występujące w językach strukturalnych instrukcje skoku ( ) lub przerwania ( goto con- , ) są niezgodne z zasadami strukturalności, ale pojawiają się w językach tinue switch programowania, ponieważ zwiększają czytelność programu. Prawie w każdym języku można programować strukturalnie. Jednak niektóre z nich są do tego celu specjalnie przeznaczone. Modelowym przykładem języka strukturalnego był język Pascal. Reasumując: programowanie strukturalne zachęca do dzielenia programu na bloki (moduły, podprogramy), a powstałych bloków na mniejsze jednostki w kolejności wy- konywania. Wykorzystuje instrukcje sterowania i pętle do kontrolowania przebiegu programu. K od staje się dzięki temu bardziej przejrzysty i wzrasta jego wydajność. Sposób programowania w tym paradygmacie może być różny w zależności od zasto- sowanego systemu operacyjnego i języka programowania. Jednak podstawowe zasady programowania powinny zostać niezmienne. Zmienna Jednym z podstawowych elementów języków programowania jest zmienna. Jest ona abstrakcją komórki pamięci komputera. Każdą zmienną można opisać za pomocą nazwy, adresu, wartości, typu, okresu życia i zakresu widoczności. Nazwa — określa nazwę, przez którą następuje odwołanie do zmiennej. Dla nazwy powinny zostać zdefiniowane: zakres dozwolonych znaków, liczba dozwolonych zna- ków, rozróżnialność małych i dużych liter. Adres — określa bieżący adres zmiennej w pamięci. Wartość — określa wartość przypisaną do zmiennej. Typ — określa zbiór dopuszczalnych wartości, jakie zmienna może przyjmować. Zakres widoczności — określa blok instrukcji, w których zmienna jest widoczna i można się do niej odwołać. Okres życia — określa czas, przez który zmienna istnieje. Przykładowo okres życia zmiennej zadeklarowanej w funkcji zaczyna się od wejścia do funkcji i kończy się w momencie zakończenia funkcji. Istnieją również zmienne zadeklarowane w funkcji, które widoczne są tylko w tej funkcji, ale okres życia dotyczy całego czasu wykonania programu. 9 Rozdział 1. t Podstawy programowania Proste typy danych Typ to zbiór wartości, które może przyjmować zmienna. Większość języków progra- mowania ma zestaw typów prostych. Typ całkowity (int, integer) odpowiada liczbom całkowitym, ale mogą wystąpić jego warianty związane z rozmiarem liczby (byte, short, long) i jej znakiem (signed, unsigned). Typy zmiennopozycyjne odpowiadają liczbom rzeczywistym (float, double). Typy znakowe przechowują informacje o znakach zapisane w kodzie ASCII lub coraz częściej w Unicode (char, character). Typ logiczny przechowuje wartość logiczną Prawda lub Fałsz i jest zapisywany za pomocą jednego bitu lub całego bajta. Typy stałoprzecinkowe mają ustaloną liczbę cyfr i miejsc po przecinku. Z typów prostych można tworzyć typy złożone, na przykład rekordy, tablice, typy wy- liczeniowe. Operatory Z każdym typem związana jest grupa operacji, które mogą zostać wykonane na war- tościach tego typu. Przykładowo: Typ całkowity — operacje dodawania (+), odejmowania (–), mnożenia (*), dzielenia (/). Typ logiczny — operacje koniunkcji (And), alternatywy (Or), negacji (Not). Typ znakowy — operacja łączenia tekstów (+). Operacje wejścia-wyjścia Operacje wejścia-wyjścia pozwalają na pobieranie i wypisywanie danych z konsoli. Instrukcje Sekwencja — ciąg kolejnych poleceń (rysunek 1.1). Instrukcja warunkowa — pozwala na rozgałęzienie przebiegu działania programu (rysunek 1.2). Instrukcja1 Nie Tak Wyrażenie Instrukcja2 Instrukcja1 Instrukcja2 Instrukcja3 Rysunek 1.1. Sekwencja Rysunek 1.2. Instrukcja warunkowa 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.