Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy programowania

Podobne prezentacje


Prezentacja na temat: "Podstawy programowania"— Zapis prezentacji:

1 Podstawy programowania
Opracowanie: K. Moc oraz materiały z Internetu

2 PODSTAWY PROGRAMOWANIA –
1. Co to jest programowanie? 2. Rodzaje algorytmów - przykłady. 3. Zapis języka programowania. 4. Rozwój języków programowania: języki I-V generacji. 5. Praca programisty i etapy tworzenia programowania. 6. Wprowadzenie do języka PHP.

3 CO TO JEST PROGRAMOWANIE ?
Programowanie to formułowanie ciągu operacji rozwiązującego dany problem w postaci akceptowalnej przez komputer, Inaczej mówiąc: Jest to proces tworzenia danego programu komputerowego (systemu komputerowego), na który składają się: - Opracowanie założeń jego działania, - Kodowanie w danym języku programowania, - Testowanie.

4 ALGORYTMY Opracowanie założeń do działania danego programu odwzorowuje się za pomocą algorytmu.

5 ALGORYTM Algorytm to dokładny, jednoznacznie sformułowany sposób postępowania, który umożliwia rozwiązanie danego problemu (zadania) za pomocą skończonej liczby kroków. Algorytm można zapisać: w postaci opisu słownego, w postaci pseudokodu, w postaci schematu blokowego.

6 PRZYKŁAD SCHEMATU BLOKOWEGO
Przykład schematu blokowego, który: - oblicza pole prostokąta, rozpoznaje, czy prostokąt jest kwadratem, Jeżeli tak -wyświetla się komunikat: „Pole kwadratu wynosi”; - W przeciwnym wypadku „Pole prostokąta wynosi” i podaje wynik.

7 JĘZYK PROGRAMOWANIA Język programowania to zbiór zasad, które określają, kiedy dany ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje, Język programowania umożliwia precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać.

8 JĘZYK PROGRAMOWANIA c.d.
Podobnie jak języki naturalne, język programowania składa się ze zbiorów reguł syntaktycznych oraz semantyki, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Wiele języków programowania posiada pisemną specyfikację swojej składni oraz semantyki, lecz inne zdefiniowane są jedynie przez oficjalne implementacje.

9 JĘZYK PROGRAMOWANIA c.d.
Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. W niektórych pracach pojęcie języka programowania jest ograniczane wyłącznie do tych języków, w których można zapisać wszystkie istniejące algorytmy – od strony matematycznej oznacza to, że język musi być przynajmniej kompletny (można się także spotkać z wykorzystaniem tego pojęcia na określenie również bardziej ograniczonych języków).

10 JĘZYK PROGRAMOWANIA FUNKCJA i PREZEZNACZENIE
Funkcja: język programowania służy do tworzenia programów komputerowych, których zadaniem jest przetwarzanie danych, wykonywanie obliczeń i algorytmów oraz kontrolowanie/obsługa zewnętrznych urządzeń, np. drukarek, robotów itd. Przeznaczenie: języki naturalne służą do komunikacji między ludźmi, natomiast języki programowania umożliwiają wydawanie poleceń maszynom. Niektóre z języków są wykorzystywane również do kontrolowania jednego urządzenia przez inne. Przykładowo, program wykonywany na komputerze może wygenerować kod PostScript do sterowania pracą drukarki bądź wyświetlacza.

11 JĘZYK PROGRAMOWANIA - MOC
Teoria obliczeń klasyfikuje języki według rodzajów obliczeń, które można za ich pomocą zrealizować (hierarchia Chomsky'ego). We wszystkich językach zupełnych w sensie Turinga da się zaimplementować ten sam zbiór algorytmów. Przykładem często stosowanego języka niezupełnego jest SQL służący do komunikacji z bazą danych. UWAGA: Języki, w których nie da się realizować obliczeń (języki znaczników, jak HTML czy XML oraz gramatyki formalne, np. BNF), nie są zazwyczaj uznawane za języki programowania

12 RODZAJE Istnieją tysiące języków programowania i każdego roku powstają nowe. Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością. Człowiek podczas komunikacji między sobą stale popełnia niewielkie błędy lub pozostawia niedomówienia wiedząc, że drugi rozmówca najczęściej go zrozumie. Maszyny wykonują zadania dokładnie, dlatego każdą czynność trzeba opisać ściśle krok po kroku, ponieważ komputer nie potrafi dociec, co programista miał na myśli. Wiele języków zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodabniania jednego języka do innego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji. Potrzeba istnienia wielu różnorodnych języków wynika z dużej liczby sytuacji, w których są one wykorzystywane – każda posiada pewne specyficzne wymagania:

13 Ewolucja niektórych języków programowania

14 Elementy języka - składnia
Aby dany ciąg znaków mógł być rozpoznany jako program napisany w danym języku, musi spełniać pewne reguły, zwane składnią. Składnia opisuje: rodzaje dostępnych symboli zasady, według których symbole mogą być łączone w większe struktury Składnia najczęściej opisywana jest w formalnym zapisie będącym połączeniem wyrażeń regularnych oraz określonej notacji.

15

16 Elementy języka -Semantyka
Semantyka języka programowania definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie. Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

17

18 Elementy języka -Typy danych
Każdy język operuje na jakimś zestawie danych, dlatego niezbędne jest podzielenie danych na odpowiednie typy, zdefiniowane ich właściwości oraz operacji, jakie można na nich realizować. Większość języków posiada typy danych do reprezentowania: liczb całkowitych w różnych zakresach, liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności), ciągów tekstowych Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania. Zjawisko konwersji wartości jednego typu na inną nazywa się rzutowaniem.

19

20 Biblioteki standardowe
obsługę wejścia-wyjścia obsługę plików obsługę wielowątkowości zarządzanie pamięcią operacyjną podstawowe typy danych oraz funkcje do zarządzania nimi operacje na ciągach tekstowych Użytkownicy traktują bibliotekę standardową często jako część języka, lecz od strony twórców są to osobne twory.

21 PROGRAM KOMPUTEROWY Program komputerowy może być zapisany w dwóch postaciach: jako kod źródłowy – zapis programu komputerowego w pewnym języku programowania - postać programu zrozumiała dla programisty bez konieczności jego uruchamiania. jako kod wynikowy (maszynowy) – kod utworzony przez translator w wyniku translacji kodu źródłowego, - postać programu zrozumiała dla maszyny, na której dany program ma być wykonany.

22 WYKONYWANIE KODU Aby zapisany w danym języku program mógł zostać wykonany, niezbędne jest odpowiednie przetworzenie kodu źródłowego (przetłumaczenie kodu źródłowego na język zrozumiały dla maszyny – kod wynikowy) Zadaniem tym zajmują się translatory: Programy, które służą do automatycznego tłumaczenia kodu źródłowego na język maszynowy.

23 Kompilatory - w procesie zwanym kompilacją kodu źródłowego;
TRANSLATORY Rozróżnia się 2 rodzaje translatorów: Kompilatory - w procesie zwanym kompilacją kodu źródłowego; Interpretory - w procesie zwanym interpretacją kodu źródłowego;

24 PODZIAŁ TRANSLATORÓW

25 PODZIAŁ TRANSLATORÓW: KOMPILATORY
Kompilator to: Program jednorazowo tłumaczący cały kod źródłowy na język maszynowy i zapisujący go do pliku wynikowego. Kolejne uruchomienia programu (pliku wynikowego) nie wymagają powtórzenia etapu kompilacji – kompilator nie jest potrzebny do uruchamiania programu Typowe przykłady języków kompilowanych to: C, C++, Pascal, Fortran.

26 KOMPILACJA kodu źródłowego
Kompilacja polega na tłumaczeniu kodu źródłowego do postaci języka maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Wykonywana jest przez narzędzie zwane kompilatorem. Język programowania, który podlega kompilacji nazywany jest kompilowanym językiem programowania.

27 KOMPILACJA kodu źródłowego (ciąg dalszy..)
Kompilacja do kodu maszynowego (zrozumiałego przez komputer) zapewnia programom najwyższą wydajność, ale wygenerowany kod jest ściśle powiązany z daną platformą sprzętową. Kompilowane języki programowania są bardziej zbliżone do sposobu funkcjonowania danej platformy sprzętowej, przez co programowanie w nich jest trudniejsze.

28 PODZIAŁ TRANSLATORÓW: INTERPRETERY
Interpreter to: Program tłumaczący i wykonujący kod źródłowy linia po linii. W przypadku tego narzędzia nie ma pliku wynikowego, a każde uruchomienie programu wymaga ponownego przeprowadzenia interpretacji – interpreter jest niezbędny do uruchomienia i wykonania programu Typowe przykłady języków interpretowanych to: Python, MatLab, GNUPlot, HTML.

29 INTERPRETACJA kodu źródłowego
Interpretacja kodu źródłowego polega na bieżącym tłumaczeniu i wykonywaniu kodu źródłowego przez dodatkowy program zwany interpreterem. Jeśli dany język programowania podlega interpretacji, nazywany jest interpretowanym językiem programowania.

30 INTERPRETACJA kodu źródłowego (ciąg dalszy…)
Interpretowane języki programowania zapewniają większą przenośność programów między różnymi platformami sprzętowymi (niezależność od danej platformy sprzętowej i systemu operacyjnego), Aby programy wyrażone w języku interpretowanym można było uruchomić na innej platformie, wystarczy napisać dla niej interpreter. Proces interpretacji odbija się negatywnie na wydajności danego programu.

31 JĘZYK SKRYPTOWY oraz SKRYPT
Język skryptowy to język programowania, który służy do kontrolowania danej konkretnej aplikacji komputerowej. Skrypt - jest to ciąg określonych działań które są automatycznie wykonywane, Skryptem nazywamy program napisany w języku skryptowym – wykonywanym wewnątrz pewnej aplikacji,  w odróżnieniu od programów: nie skryptowych (potocznie nazywanych „normalnymi”), które są wykonywane niezależnie od innych aplikacji.

32 JĘZYK SKRYPTOWY oraz SKRYPT (ciąg dalszy…)
Język skryptowy to często: - język interpretowany, - zaprojektowany z myślą o interakcji z użytkownikiem Polecenia używane w skryptach są niejednokrotnie bardzo skomplikowane: - np. w systemach UNIX w języku sh większość poleceń to samodzielne programy !

33 JĘZYK SKRYPTOWY oraz SKRYPT (ciąg dalszy…)
Języki skryptowe są często używane do jednorazowych zadań – np. administracyjnych; Często osadzane bywają w różnych programach, zapewniając możliwość zautomatyzowania powtarzających się czynności; Języki skryptowe osadzane są też w grach komputerowych. - Służą wówczas do sterowania przebiegiem gry – np. fabułą, dialogami, zachowaniem wirtualnych postaci, a nawet do sterowania działaniem całego interfejsu graficznego.

34 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
JĘZYKI I GENERACJI Języki I generacji: - Języki maszynowe (zapisane w postaci kodu maszynowego) to języki bezpośrednio odczytywane przez procesory, - Instrukcje zapisane są w postaci liczb binarnych (0-1) - Przykładowy kod programu prezentował się następująco:

35 Jak w każdym pozycyjnym systemie liczbowym, liczby zapisuje się tu jako ciągi cyfr, z których każda jest mnożną kolejnej potęgi podstawy systemu. Np. liczba zapisana w dziesiętnym systemie liczbowym jako 10, w systemie dwójkowym przybiera postać 1010.

36 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
- JĘZYKI II GENERACJI Języki II generacji: Języki symboliczne, tzw. Asemblery, Języki niskiego poziomu, pod względem składni tożsame z maszynowymi, jednak zapisane w bardziej zrozumiałej formie, - Zamiast liczb używa się łatwiejszych do zapamiętania mnemoników. Przykładowy kod programu: jmp ffff:0 mov ax, bx add ax, 1 - Językiem II generacji jest np. Basic.

37 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
- JĘZYKI III GENERACJI Języki III generacji: - tzw. języki wysokiego poziomu, - Proceduralne języki programowania zaprojektowane w taki sposób, aby były łatwiejsze do zrozumienia dla użytkownika (między innymi dzięki nazwaniu zmiennych), - W językach tych 1 instrukcja tłumaczona jest na kilka instrukcji procesora (zazwyczaj od 5 do 10), Przykładowy kod programu: Let c = c + 2*d, gdzie let oznacza „niech” (instrukcje języka pochodzą najczęściej z angielskiego) - Językami III generacji są np.: C++, Turbo Pascal, Java, Delphi, Clipper.

38 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
- JĘZYKI IV GENERACJI Języki IV generacji: - tzw. Języki bardzo wysokiego poziomu, - Nieproceduralne (deklaratywne) języki programowania- pozwalające przy użyciu kilku instrukcji stworzyć program, którego napisanie w językach niższej (np. trzeciej) generacji wymaga użycia setek lub tysięcy razy większej liczby wierszy programu źródłowego, - Podstawowym wyróżnikiem języka IV generacji jest specjalizacja –tworzy z języka efektywne narzędzie w ramach ściśle określonego obszaru zastosowań.

39 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
- JĘZYKI IV GENERACJI (ciąg dalszy..) Języki IV generacji: - Język IV generacji dopuszcza także pisanie fragmentów kodu w kilku językach III generacji jednocześnie, - Składnia wielu języków IV g. przypomina składnię języka naturalnego, są one często używane do pobierania z bazy danych konkretnych informacji, - Językami IV generacji są np.: SQL, Oracle PowerObjects, PowerBuilder Enterprise, Enterprise Developer, Delphi.

40 JĘZYKI IV GENERACJI PRZYKŁAD SKRYPTU SQL
Przykładowa instrukcja zapisana w języku IV generacji – SQL: SELECT Nazwa_pracownika FROM Pracownicy WHERE Wiek<30 Pracownicy – nazwa tabeli zawierającej m. in. kolumny ‚Nazwa pracownika’ i ‚Wiek’, Nazwa pracownika – nazwa kolumny zawierającej dane dotyczące imion i nazwisk pracowników pewnej firmy, Wiek – nazwa kolumny zawierającej dane dotyczące wieku pracowników pewnej firmy.

41 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
JĘZYKI V GENERACJI Języki V generacji: - Języki sztucznej inteligencji, języki systemów ekspertowych, - Składnia języka V generacji jest najbardziej zbliżona do składni języka naturalnego, - Przykładem języka V generacji Jest PROLOG. - Przykładowa instrukcja w języku PROLOG: write „cześć”; wynik: cześć

42 ROZWÓJ JĘZYKÓW PROGRAMOWANIA
Generacja języka programowania oznacza stopień zaawansowania (rozbudowania) jego struktury, co ma wpływ na łatwość posługiwania się nim, Poszczególne generacje powstawały wraz z rozwojem inżynierii oprogramowania oraz samego sprzętu komputerowego, Im mniejsza liczba oznaczająca daną generację języka programowania, tym bardziej jest on zbliżony do (zależny od) sprzętu, a pojedyncze instrukcje umożliwiają wykonywanie kilku instrukcji procesora. Im wyższa liczba oznaczająca daną generację języka, tym jest on bardziej intuicyjny i niezależny od sprzętu – np. wieloplatformowy, a pojedyncze instrukcje oznaczają dziesiątki lub setki tysięcy instrukcji dla procesora.

43 PRACA PROGRAMISTY Osoba, która programuje komputery nazywa się programistą. Praca programisty zazwyczaj obejmuje szereg działań takich jak: Analiza wymagań systemowych, Specyfikacja aplikacji, Architektura systemu informatycznego, Programowanie, Kompilacja oprogramowania, Testowanie oprogramowania, Dokumentacja oprogramowania, Integracja, Pielęgnacja oprogramowania.

44 ETAPY PROGRAMOWANIA (TWORZENIA PROGRAMU)
POMYSŁ (koncepcja) ANALIZA PROBLEMU (strukturalna, obiektowa) WYBÓR JĘZYK PROGRAMOWANIA PROJEKT PROGRAMU (w postaci struktur danych, algorytmów) KODOWANIE OPTYMALIZACJA KODU (szybkość, rozmiar) TESTOWANIE KOMPILACJA DOKUMENTACJA DEBUGOWANIE KONSERWACJA

45 PROGRAMOWANIE – w ujęciu narzędziowym

46 WYBÓR JĘZYKA PROGRAMOWANIA
Różne języki programowania umożliwiają wykorzystanie różnych stylów programowania – tzw. Paradygmatów programowania oraz specyficznych cech danego języka, Wybór konkretnego języka może zależeć od: indywidualnych upodobań, polityki firmy tworzącej oprogramowanie, zadania, jakie końcowa aplikacja ma realizować, paradygmatu i rodzaju języka, przenośności i wydajności kompilatorów, dojrzałości oraz dostępności narzędzi i dokumentacji.

47 Lista najpopularniejszych 10 języków programowania według TIOBE (stan na kwiecień 2014)
Java Objective-C C++ C# (Visual) Basic PHP Python JavaScript Visual Basic .NET

48 PRZYKŁAD JĘZYKA PROGRAMOWANIA JĘZYK PHP
Język PHP- obiektowy język programowania, zaprojektowany do generowania stron internetowych w czasie rzeczywistym, Skrypt języka PHP jest wykonywany na serwerze, a wynik w postaci pliku ‚html’ jest zwracany z powrotem do przeglądarki internetowej, Składnia języka PHP jest podobna do języka C, ale występuje w nim wiele uproszczeń. Język PHP jest językiem programowania stosowanym powszechnie oraz darmowym (działa na zasadzie open-source- wolnego dostępu), Pliki PHP posiadają rozszerzenie .php.

49 PRZYKŁAD JĘZYKA PROGRAMOWANIA JĘZYK PHP (ciąg dalszy…)
Język PHP jest niezależny od platformy sprzętowej – może być wykonywany na platformie Windows, Linux, Unix etc., Jest kompatybilny z większością używanych współcześnie serwerów (np. Apache, IIS), Obsługuje wiele baz danych, Jest językiem darmowym i może być pobrany z oficjalnego źródła PHP, czyli strony: Jest językiem łatwym do nauczenia i jest efektywnie obsługiwany przez serwer.

50 CO MOŻE JĘZYK PHP ? Za pomocą języka PHP można:
generować dynamiczną zawartość strony internetowej, tworzyć, otwierać, czytać, pisać, usuwać i zamykać pliki na serwerze, zbierać informacje z wykorzystaniem formularza, dodawać i usuwać dane w bazie danych, ograniczyć użytkowników mających dostęp do danej strony internetowej, szyfrować dane.

51

52 JĘZYK PHP - SKŁADNIA Skrypt PHP może być wstawiony w dowolnym miejscu w dokumencie, Każdy skrypt PHP zaczyna się od <?php, a kończy na ?>, Przykład skryptu PHP, który wykorzystuje wbudowaną funkcję ‚echo’, aby wyświetlić na stronie internetowej napis: Witaj użytkowniku!: <?php echo „Witaj użytkowniku!"; ?>

53 JĘZYK PHP - ZMIENNE Zmienne w języku PHP są odpowiedzialne za przechowywanie pewnych informacji, Zmienne oznaczane są znakiem ‚$’ przed nazwą danej zmiennej, Nazwa danej zmienne może zaczynać się od liter oraz podkreślników, ale nie może zaczynać się od cyfr, W przypadku zmiennych w języku PHP wielkość liter ma znaczenie: - $y oraz $Y to dwie różne zmienne!

54 JĘZYK PHP - ZMIENNE Wynikiem skryptu: Jest: 11
<?php $x=5; $y=6; $z=$x+$y; echo $z; ?> Jest: 11 Jest: Witaj użytkowniku! 5 10,5 Wynikiem skryptu: <?php $txt=„Witaj użytkowniku!"; $x=5; $y=10.5; Echo $txt ?>

55 JĘZYK PHP – WARTOŚCI LOGICZNE I SZEREGI
Wartościami logicznymi w skrypcie PHP może być ‚Prawda’ lub ‚Fałsz’ : $x = Prawda; $y = Fałsz;  wykorzystywane są w testowaniu warunkowym Szeregi w skrypcie PHP stosowane są do przetrzymywania wielokrotnych wartości w jednej zmiennej, Następny przykład prezentuje szereg oraz wykorzystanie wbudowanej f-cji var_dump() do zwracania wartości szeregu.

56 JĘZYK PHP – PRZYKŁAD SZEREGU
Wynikiem skryptu: <?php  $cars=array("Volvo","BMW","Toyota"); var_dump($cars); ?> Jest: array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(6) "Toyota" }

57 JĘZYK PHP – INSTRUKCJE WARUNKOWE
Instrukcje warunkowe są wykorzystywane do wykonywania różnych działań w oparciu o sprecyzowane warunki, W języku PHP istnieją następujące instrukcje warunkowe: Instrukcja if – wykonuje daną część kodu, jeśli spełniony jest pewien dany warunek, Instrukcja if...else - wykonuje pewną daną część kodu, w przypadku, gdy warunek jest spełniony oraz inną część kodu, gdy warunek nie jest spełniony, - Instrukcja if...else if....else  - wybiera do wykonania jeden z kilku bloków kodu, - Instrukcja switch  - wybiera do wykonania jeden z wielu bloków kodu.

58 JĘZYK PHP – INSTRUKCJE WARUNKOWE
Następny slajd ilustruje przykład instrukcji warunkowej w języku PHP, która spowoduje: wyświetlenie się komunikatu: „Miłego dnia!”, w przypadku, gdy dany czas jest wcześniejszy niż godzina 20; oraz wyświetlenie się komunikatu: „Dobrej nocy!”, w przypadku, gdy dany czas jest późniejszy niż godzina 20.

59 JĘZYK PHP – INSTRUKCJE WARUNKOWE
Wynikiem skryptu: Jest: <?php Miłego dnia! $t=date("H"); lub: if ($t<"20") Dobrej nocy!   {   echo „Miłego dnia!";   } else   {   echo „Dobrej nocy!";   } ?>

60 Podstawy programowania – pytania powtórzeniowe
1. Co to jest programowanie i z jakich składa się etapów? 2. Co to jest algorytm – wyjaśnij na przykładzie. 3. W jakich dwóch postaciach może być zapisany program komputerowy – wymień i scharakteryzuj każdy z nich. 4. Na czym polega proces kompilacji kodu źródłowego i czym się różni od procesu interpretacji kodu źródłowego? 5. Co to jest skrypt? 6. Do realizacji jakich zadań służą języki skryptowe? 7. Na czym polegał rozwój języków programowania? (wymień 3 cechy języków programowania, które zmieniały się z każdą generacją języków programowania). 8. Jakie działania podejmuje programista w swojej pracy – wymień i krótko scharakteryzuj. 9. Od jakich czynników zależy wybór konkretnego języka programowania? 10. Za pomocą dowolnego języka programowania wymień i scharakteryzuj 3 instrukcje, jakie mogą być w nim zapisane.

61 Literatura pomocnicza

62 Proszę o pytania DZIĘKUJĘ ZA UWAGĘ !


Pobierz ppt "Podstawy programowania"

Podobne prezentacje


Reklamy Google