Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Podstawy programowania komputerów Przy opracowywaniu wykładu wykorzystano m.in.: Wojciech Sobieski - strona informacyjna (http://moskit.uwm.edu.pl/~wojsob/)

Podobne prezentacje


Prezentacja na temat: "Podstawy programowania komputerów Przy opracowywaniu wykładu wykorzystano m.in.: Wojciech Sobieski - strona informacyjna (http://moskit.uwm.edu.pl/~wojsob/)"— Zapis prezentacji:

1 Podstawy programowania komputerów Przy opracowywaniu wykładu wykorzystano m.in.: Wojciech Sobieski - strona informacyjna (http://moskit.uwm.edu.pl/~wojsob/) Wstęp do informatyki (materiały Wyższej Szkoły Informatyki) J. Sikorski

2 Przepis Składniki Czynności Przypomnienie

3 Zmienna jest symbolem, oznaczającym określoną strukturę danych. W szczególności może to być np. liczba np. X := 100; X := X + 2; Pojęcie zmiennej Średnikiem oznaczamy tzw. instrukcję, czyli koniec pojedynczej operacji. Znak := w algorytmice oznacza operacje przypisania i nie należy go mylić z matematycznym znakiem = (równość) Przypomnienie

4 Dane numeryczne: całkowite, rzeczywiste –posiadają określony zakres i dokładność Tablice Listy Stosy Kolejki Drzewa Grafy Sposoby reprezentacji danych

5 Trzeba pamiętać, że o ile zasady dotyczące zmiennych i struktur danych są zawsze aktualne, to ich organizacja i sposób zapisu różni się w poszczególnych językach.

6 Od algorytmu do programu Być może kiedyś wszystkie problemy zostaną rozwiązane w postaci odpowiednich programów. Wtedy programowanie nie będzie już nikomu potrzebne. Na razie programiści wciąż mają sporo pracy a programowanie jest Ważnym elementem informatyki.

7 Intencje a Interpretacje Często pojawia się w komediach motyw, że ktoś spełnia w magiczny sposób życzenia bohatera. Dlaczego są to na najczęściej komedie? Życzenia są interpretowane niezgodnie z intencjami. I to jest bardzo śmieszne:) Komputery nie potrafią jednak interpretować naszych życzeń.

8 Pseudokod do zapisu algorytmów Alternatywą dla blokowego zapisu algorytmów jest tzw. pseudokod. Algorytm w pseudokodzie składa się z uporządkowanych instrukcji. IF HoursWorked > NormalMax THEN Display overtime message ELSE Display regular time message ENDIF CASE Title OF Mr : Print "Mister" Mrs : Print "Missus" Miss : Print "Miss" Ms : Print "Mizz" Dr : Print "Doctor" ENDCASEv FOR X = 1 to 10 FOR Y = 1 to 10 IF gameBoard[X][Y] = 0 Do nothing ELSE CALL figureFound(X, Y) increment counter END IF END FOR Uporządkowana składnia, choć w zależności od zastosowania (księgowe, matematyczne i inne) zapis może się znacznie różnić. Mimo pewnych ustalonych norm reguły zapisu pozostają dość dowolne i zbliżone są do konwencji opisowej. Zrozumienie pseudokodu jest dość łatwe, jednak przydaje się doświadczenia z języków programowania. Składnia jest podobna do tej stosowanej w języku PASCAL. Wspólnym elementem pozostają STRUKTURY STERUJĄCE Odgrywają one również ważną rolę we wszystkich językach programowania.

9 Pseudokod - struktury sterujące Związane są z warunkowym wykonywaniem określonych instrukcji w algorytmie. Wśród instrukcji sterujących można wymienić: -Instrukcję warunkową jeżeli if -Instrukcję wyboru case; -Instrukcje pętli: -Pętla for; -Pętla while; -Pętla do…while; (lub także repeat…until) W naszych zapisach będziemy stosowali konwencję zbliżoną do języka PASCAL.

10 Pseudokod - struktury sterujące Instrukcja if…else odpowiada schematowi: warunek Instrukcja1Instrukcja2 TAK NIE if (warunek) then instrukcja1; else instrukcja2;

11 Pseudokod - struktury sterujące Druga możliwość, gdy pomija się instrukcję przy niespełnionym warunku Instrukcja if: warunek instrukcja TAK NIE if (warunek) then instrukcja;

12 Pseudokod - struktury sterujące Przykłady z instrukcjami if: if (brak płynu do mycia) then idź do sklepu; else umyj kolejne naczynie; Wcięcie pod instrukcją sterującą oznacza, że instrukcje te są instrukcjami wewnętrznymi. Poprawia to czytelność programów.

13 Pseudokod - struktury sterujące Przykłady z instrukcjami if: if (a różne od 0) then wynik := wynik / a; else komunikat:błąd – dzielenie przez zero;

14 Pseudokod - struktury sterujące Przykłady z instrukcjami if: //wartość bezwzględna z (b) if (b < 0) then b := b * (-1);

15 Pętle – pętla for Pętla for wykonuje działania dla wskazanego zakresu specjalnej zmiennej sterującej. i>stop instrukcja NIE TAK for i:=start to stop do instrukcja; lub for i:=start downto stop do instrukcja; gdy start > stop i:=start; i:=i+1;

16 Pseudokod - struktury sterujące Przykłady z pętlą for: //pętla realizuje operacje c=a*b //dla a i b całkowitych for i:=1 to b do c := c + a;

17 Pseudokod - struktury sterujące Przykłady z pętlą for: //pętla realizuje operacje wynik = n! //dla n całkowitego, n>0 wynik := 1; for i:=2 to n do wynik := wynik * i;

18 Pseudokod - struktury sterujące Przykłady z pętlą for (tzw. pętla zagnieżdżona): //jedna pętla w drugiej zapisuje tabliczkę mnożenia //do 10 w tablicy dwuwymiarowej tab[1..10][1..10] Wyzeruj wszystkie pola tablicy tab; for i:=1 to 10 do for j:=1 to 10 do tab[i][j]:=i*j;

19 Pętle – pętla while Pętla while (dopóki) wykonuje działania tak długo, jak warunek jest spełniony. warunek instrukcja NIE TAK while warunek do instrukcja; Warunek jest sprawdzany na końcu

20 Pseudokod - struktury sterujące Przykłady z pętlą while: while (naczynia w zlewie) do umyj naczynie;

21 Pseudokod - struktury sterujące Przykłady z pętlą while: while n>0 do begin bit := n mod 2; wypisz kolejny bit; n := n div 2; end;

22 Programowanie komputerów czyli jeszcze bardziej formalnie…

23 Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe. Oczekuje się również, że tworzone aplikacje będą wykonywać swoje zadania w sposób jednoznaczny i zgodny z określoną na etapie projektowania specyfikacją wymagań – języki programowania muszą się więc opierać na ogólnie obowiązujących zasadach logiki i arytmetyki.

24 Problem Algorytm Program Rozwiązanie Komputer Język programowania

25 Komputer zbudowany jest w oparciu o obwody cyfrowe (binarne) i reaguje bezpośrednio na sygnały pochodzące z tych obwodów. Ręczne manipulowanie obwodami jest trudne, choć w początkowym okresie rozwoju komputerów tak właśnie wyglądało programowanie

26 Sekwencje sygnałów opracowane zostały w postaci rozkazów zrozumiałych dla procesora, tworząc tzw. KOD MASZYNOWY Jest on obecnie wykorzystywany przez programistów raczej wyłącznie do zadań, w których szczególnie ważna jest szybkość działania programu. Nazywany jest językiem niskiego poziomu. Program tworzony jest w specjalnym języku zwanym ASEMBLEREM i bezpośrednio tłumaczony na kod maszynowy.

27 Pisanie programów w kodzie maszynowym było trudne. Wymyślono więc SYMBOLICZNE JĘZYKI PROGRAMOWANIA, które zamieniają zrozumiałe dla ludzi napisy na kod zrozumiały dla komputera.

28 Język Język - jest to ogólna nazwa zdefiniowanego zbioru znaków i symboli oraz reguł określających sposoby i kolejność ich użycia. Język, który jest stosowany do przetwarzania algorytmów nosi nazwę języka algorytmicznego, a przy zastosowaniu go do celów programowania określony jest jako język programowania. Ponieważ komputer posługuje się językiem binarnym, tzn. rozróżnia stany 0,1, program w języku programowania należy przetworzyć tak, aby był zrozumiały dla maszyny – zadaniem tym zajmują się translatory.

29 Język Język programowania - zbiór zasad składni, instrukcji, dzięki którym powstaje kod źródłowy programu. Programista używa języka zrozumiałego dla człowieka, który następnie jest kompilowany bądź interpretowany do postaci maszynowej (translacja). Istnieje wiele rodzajów języków programowania. Można je podzielić według wielu kryteriów.

30 Podstawowe pojęcia Kod źródłowy – jest to program komputerowy w postaci tekstu zawierającego instrukcje języka programowania. Kod źródłowy jest jedynym formatem programu czytelnym dla człowieka. Kod maszynowy – jest to przetłumaczona na język niskiego poziomu (asembler) wersja kodu źródłowego; translacja

31 Podstawowe pojęcia Kod pośredni – kod, który do uruchomienia wymaga interpretera lub maszyny wirtualnej – takie pliki mogą być zwykle uruchamiane na różnych systemach (Java, języki.NET).

32 Podstawowe pojęcia Kompilator – jest 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 – oznacza to, że kompilator nie jest potrzebny do uruchamiania programu. Typowymi przykładami języków kompilowanych są: C, C++, Pascal; Interpreter – jest to program tłumaczący i wykonujący kod źródłowy linia po linii. W tym przypadku nie ma pliku wynikowego, a każde uruchomienie wymaga ponownego przeprowadzenia etapu interpretacji – interpreter jest więc niezbędny do uruchomienia i wykonania programu. Typowymi przykładami języków interpretowanych są: Python, MatLab, GNU Plot, HTML, BPL;

33 Podstawowe pojęcia

34 Środowisko programistyczne Translator – służy do wykonania kompilacji lub interpretacji kodu źródłowego. Standardowym katalogiem, w których umieszcza się pliki translatora jest katalog BIN w głównym katalogu aplikacji. Biblioteki i dodatkowe pliki wsadowe – służą do rozszerzania możliwości języka, szczególnie w zakresie pewnych zastosowań (np. obliczeń matematycznych, numerycznych, obróbki grafiki). Edytor kodu – służący do pisania tekstu kodu źródłowego. Debugger - analizator kodu, służy do analizy poprawności tworzonego kodu źródłowego i stanowi zazwyczaj integralną część translatora. Podczas analizy kodu źródłowego generowane są informacje o błędach.

35 Środowisko programistyczne Edytor formularzy - służy do budowy okien widzianych przez użytkownika po uruchomieniu programu (formularzy). Element ten występuje jedynie w językach wizualnych. System pomocy – służy do uzyskiwania informacji o środowisku programistycznym, zasadach jego użytkowania, elementach języka (wraz z przykładami), rodzaju licencji, autorach i kontaktach. Zależnie od implementacji języka oraz jego rodzaju pomoc może być mniej lub bardziej rozwinięta. Narzędzia dodatkowe – służą do tworzenia systemu pomocy, ikon i kursorów, programów instalacyjnych. Ilość narzędzi i poziom ich zaawansowania zależy od implementacji języka.

36 Zintegrowane środowisko programistyczne.NET (c#)

37 Zintegrowane środowisko programistyczne Delphi

38 Znów historia… generacje języków programowania Języki programowania można podzielić na pięć wyraźnie różniących się generacji. W miarę jak zmieniał się komputer, wystąpiła konieczność dostarczania użytkownikowi narzędzi programistycznych, które umożliwiłyby mu maksymalne wykorzystanie sprzętu.

39 Pierwsza generacja Programowanie pierwszych komputerów akceptujących zmianę oprogramowania odbywało się bezpośrednio w kodzie binarnym, który można przedstawić jako ciągi zer i jedynek. Programowanie odbywało się na ogół poprzez fizyczne przełączanie kabli, odpowiadających sygnałom. Przykład:

40 Druga generacja Ponieważ operowanie ciągami zerojedynkowymi nie jest wygodne dla programisty, przypisano im łatwiejsze do zrozumienia znaki. Tak narodziły się języki symboliczne, zwane też asemblerami. Stanowią proste tłumaczenie języka maszynowego na symbole i są ściśle związane z danym modelem komputera, to ułatwiają pisanie instrukcji i czynią je bardziej czytelnymi. Przykład: mov dx, offset info mov ah, 9 int 21h mov ah, 0 int 16h

41 Trzecia generacja Kolejnym krokiem w rozwoju języków programowania było powstanie języków wysokiego poziomu. Symbole asemblera reprezentujące konkretne instrukcje zostały zastąpione zapisem symbolicznym nie związanym z maszyną, bardziej zbliżonym do języka naturalnego. Przykład: for i:=1 to MaxN do begin Vx[i]:=Vx[i]+dx[i]; end;

42 Czwarta generacja Na czwartą generację języków programowania składa się szereg narzędzi, które umożliwiają budowę prostych aplikacji przez zestawianie prefabrykowanych modułów. Obecnie wielu specjalistów uważa, że nie są to języki programowania w ścisłym znaczeniu, gdyż częstokroć stanowią jedynie rozszerzenie języków już istniejących. Niektórzy autorzy proponują stosować nazwę czwarta generacja wyłącznie w odniesieniu do programowania obiektowego (OOP). Przykład:

43 Piąta generacja Nazwę język piątej generacji stosuje się czasem w odniesieniu do języków używanych do tworzenia programów wykorzystujących tzw. sztuczną inteligencję (AI).

44 Podział języków programowania Jest wiele języków programowania. Zastosowanie konkretnego wynika z osobistych preferencji, ale przede wszystkim ze specyfiki problemu, jaki chcemy rozwiązać.

45 Podział ze względu na rodzaj translacji: –kompilowane, –interpretowane.

46 Podział ze względu na strukturę: –języki proceduralne – programista określa JAKIE operacje maja być wykonane i w JAKIEJ KOLEJNOŚCI. –języki nie proceduralne – programista opisuje to, CO chce wykazać. Decyzja JAK to wykonać należy do kompilatora.

47 Podział według modelu programowania: –języki strukturalne (Fortran, Pascal, LOGO) –języki zorientowane obiektowo OOP (C++, Visual C++, Turbo Pascal, Delphi, Smalltalk, JAVA, J++, C#.

48 Elementy języków programowania

49 Ściśle określony zbiór znaków i symboli. Używanie znaków niedozwolonych spowoduje wystąpienie błędów podczas translacji kodu źródłowego. Zakres znaków obejmuje duże i małe litery alfabetu (rozróżniane bądź nie), cyfry oraz znaki specjalne i symbole wieloznakowe. Mimo, że wiele języków programowania posiada podobny zestaw znaków dopuszczalnych, niektóre z nich mogą mieć zupełnie inne znaczenie. Przykładem może być znak // - w FORTRANIE służący do łączenia łańcuchów tekstowych, zaś w C do oznaczenia wiersza komentarza.

50 Słowa kluczowe Słowa kluczowe są to określone zbiory znaków posiadające konkretne znaczenie w języku programowania (najczęściej są to wyrazy z języka angielskiego, np. WRITE, READ, PROGRAM, FOR, DO, PROCEDURE, FUNCTION

51 Budowa (struktura) programu Kod źródłowy składa się z przynajmniej jednego modułu (programu), który musi mieć ściśle określoną budowę. Program musi posiadać: –wyraźnie określony początek i koniec –obszary deklaracji obiektów i typów występujących zmiennych –obszary zawierające bloki instrukcji, funkcji lub procedur. Budowa kodu źródłowego zależy w decydujący sposób od rodzaju języka i sposobu realizacji drogi punktu sterowania.

52 Przykład – program w LOGO

53 Określanie zmiennych i ich typów Zmienne wykorzystane w programie w większości języków programowania muszą zostać zadeklarowane (określona ich nazwa i na ogół typ) Rozróżnia się typ całkowity, rzeczywisty, zespolony, tekstowy, logiczny i inne. Zależnie od języka, poszczególne typy mogą mieć wiele odmian. Oprócz typów prostych, wiele języków umożliwia tworzenie własnych typów lub struktur danych o bardziej złożonej budowie.

54 Określanie zmiennych i ich typów - przykłady Pascal: var a : integer; begin a := 10; a := a*15; writeln(a); end. Deklaracja zmiennej i typu Inicjalizacja (nadanie wartości)

55 Określanie zmiennych i ich typów - przykłady C/C++: void main (void) { int a = 10; a = a*15; printf(%i, a); } Deklaracja zmiennej i typu oraz inicjalizacja

56 Określanie zmiennych i ich typów - przykłady LOGO: TO PROGRAM LOCAL a MAKE a 10 MAKE a :a*15 SHOW :a END Deklaracja zmiennej, nie trzeba określać typu Inicjalizacja

57 Określanie zmiennych i ich typów Podział zmiennych i stałych ze względu na typ: –zespolone, –rzeczywiste, –całkowite, –logiczne, –walutowe, –daty lub czasu, –tekstowe. Podział zmiennych i stałych ze względu na sposób deklaracji: –deklarowane jawnie, –deklarowane niejawnie.

58 Operatory Wyrażenia realizowane są przy pomocy operatorów (znaków dodawania, odejmowania, mnożenia, dzielenia i potęgowania) oraz funkcji i procedur (wewnętrznych i zewnętrznych). Podczas tworzenia wyrażeń arytmetycznych należy zwrócić uwagę na typ wyniku, szczególnie w przypadku, gdy w wyrażeniu biorą udział zmienne różnych typów. Kolejność wykonywania operacji zależy od priorytetu operatora, wg kolejności: potęgowanie, mnożenie i dzielenie oraz dodawanie i odejmowanie. Kolejność wykonywania działań można ustalać dowolnie stosując nawiasy.

59 Wyrażenia arytmetyczne Wyrażenia arytmetyczne – służą do obliczania wartości zmiennych liczbowych. W wyrażeniach arytmetycznych mogą wystąpić następujące elementy: –stałe arytmetyczne, –odwołania do zmiennych, –odwołania do elementów tablic, –wywołania funkcji wewnętrznych i zewnętrznych.

60 Wyrażenia logiczne Służą do wyznaczania wartości logicznej typu PRAWDA lub FAŁSZ. Elementami wyrażenia logicznego są: –stałe i zmienne logiczne, –elementy tablic logicznych, –wywołania funkcji logicznych, –operatory logiczne i operatory relacji. Najczęściej stosowane operatory logiczne i relacji to: –negacja, koniunkcja, alternatywa, tożsamość, nie tożsamość. –Większość, mniejszość, większość lub równość, mniejszość lub równość, równość, nie-równość

61 Wyrażenia tekstowe Służą do przetwarzania zmiennych tekstowych oraz do zbierania określonych informacji o tekstach (np. określanie długości, położenia określonego znaku w łańcuchu, itp.). Elementami wyrażeń tekstowych są: –stałe i zmienne tekstowe, –podłańcuchy, –wywołania funkcji tekstowych.

62 Instrukcje Instrukcje są jednym z najbardziej podstawowych elementów języka programowania. Instrukcje czynne: –instrukcje przypisania, –instrukcje sterujące: skoku, zatrzymania, wstrzymania, końca, powrotu, warunkowa, wyboru, powtórzeń (pętli), wejścia-wyjścia. Instrukcje bierne: –Opis struktury programu i specyfikacja formatu danych;

63 Przykładowe instrukcje LOGO FORWARD a (RT) - ruch żółwia o a kroków do przodu; BACK a (BK) - ruch żółwia o a kroków do tyłu; PENUP (PU) - podnosi pióro – żółw nie rysuje; PENDOWN(PD) - opuszcza pióro – żółw rysuje podczas ruchów; HIDETURTLE(HT) - chowa żółwia, żółw rysuje, ale pozostaje niewidoczny; SHOWTURTLE(ST) - pokazuje żółwia, żółw jest widoczny przy rysowaniu; HOME - żółw wraca do środka ekranu; PENERASE - zółw kasuje (gumuje) linie; PENPAINT - przywraca zwykłe rysowanie po PENERASE; …

64 Instrukcja przypisania Pozwala nadawać zmiennym określoną wartość. Instrukcja przypisania ma postać: zmienna := wyrażenie lub zmienna = wyrażenie lub jeszcze inaczej (zależy od konkretnego j.p.) Np. LOGO: MAKE …

65 Instrukcja skoku Służy do przeniesienia punktu sterowania w inne, wcześniej zdefiniowane, miejsce programu. Instrukcja skoku nie jest zalecana przez teoretyków programowania. Instrukcja skoku ma ogólną postać logiczną: IDŹ DO nazwa_miejsca_w_programie Nie we wszystkich j.p. instrukcja skoku jest dostępna.

66 Instrukcja skoku Program z instrukcjami skoku staje się trudny do analizy!

67 Instrukcja zatrzymania Służy do bezwarunkowego zakończenia wykonywanego programu. Instrukcja często spotykana w blokach podejmowania decyzji, uruchamiana gdy nie są spełnione warunki do wykonywania dalszych działań.

68 Instrukcja powrotu Instrukcja powrotu – służy do wyjścia z podprogramu, procedury i funkcji.

69 TO TRI :N REPEAT 3 [FD :N RT 120] END TO HEXAGON :N REPEAT 6 [TRI :N RT 60] END TO SPIDERWEB :N IF :N > 100 [STOP] HEXAGON :N SPIDERWEB :N + 10 END Instrukcja zatrzymania/powrotu – LOGO przykład

70 Instrukcja warunkowa Służy do podejmowania decyzji w zależności od postawionych warunków: JEŻELI warunek TO instrukcja lub JEŻELI warunek_1 TO instrukcja_1 W INNYCH PRZYPADKACH instrukcja_2 gdzie warunek jest dowolnym wyrażeniem arytmetycznym, relacją lub wyrażeniem logicznym, a instrukcja dowolnym blokiem poleceń, wykonywanym gdy warunek jest prawdziwy.

71 Instrukcja warunkowa – LOGO IF :N > 100 [FORWARD 100] - jeśli :N przekracza 100, idź do przodu o 100 kroków; TEST :N > 100 IFTRUE [FORWARD 100] IFFALSE [FORWARD :N] - jeśli :N przekracza 100, idź do przodu o 100 kroków, jeśli jest mniejsze, to idź o :N kroków; IFELSE :N > 100 [FORWARD 100][FORWAD :N]

72 Instrukcje powtórzeń (pętli) Instrukcje powtórzeń (pętle) – służą do wielokrotnego wykonania tego samego bloku instrukcji. Rozróżnia się dwa podstawowe typy instrukcji powtórzeń: o znanej z góry liczbie powtórzeń. o nieznanej z góry liczbie powtórzeń: –z warunkiem na początku, –z warunkiem na końcu.

73 Instrukcje powtórzeń (pętli) - for

74 Instrukcje powtórzeń (pętli) - while

75 Instrukcje powtórzeń (pętli) – LOGO REPEAT 4 [FD 100 RT 90] REPEAT 6 [FD 80 RT 60]

76 Instrukcje wejścia wyjścia – wymiana danych Potrzeba wymiany danych między różnymi modułami (podprogramami, funkcjami i procedurami). Współpraca z klawiaturą, ekranem, drukarką itp. Programy komputerowe odczytują pewne dane z plików, przekształcają je lub na ich podstawie obliczają nowe dane, a następnie zapisują wyniki do pliku. Język programowania powinien umożliwiać zapis i odczyt, oraz wykonywanie podstawowych działań na plikach

77 Procedury Procedura – samodzielny fragment programu : zawiera oznaczenie początku i końca, obszar deklaracji typów, bloki instrukcji, itd. Może wymagać zazwyczaj przekazania listy zmiennych o określonych typach. Procedura może być wywoływana w innych fragmentach programu.

78 Funkcje Funkcja – jest to samodzielny segment programu. Działa podobnie jak procedura, ale w odróżnieniu od procedury, funkcja zwraca jakiś wynik.

79 Funkcje i procedury – LOGO TO KWADRAT REPEAT 4 [FD 100 RT 90] END TO KWADRAT2 :BOK REPEAT 4 [FD :BOK RT 90] END

80 Komentarze Są to teksty służące do opisu kodu źródłowego. Powinny zawierać logiczny sens zastosowania danej sekwencji instrukcji, o ile nie jest on oczywisty (nadmiar komentarzy może też zmniejszyć przejrzystość samego kodu!). Najczęściej objaśnia się ważniejsze pętle, skoki, sprawdzanie warunków, itp.

81 Przykłady języków programowania Jest wiele języków programowania. Różnią się głównie zastosowaniem, ale także przyjętą koncepcją programowania, szybkością działania programów itp.

82 LOGO Język programowania stworzony jako środek do nauczania informatyki i matematyki. Został zaprojektowany na MIT pod koniec lat 60. Używa tzw. "grafiki żółwia" (ang. turtle graphics). Początkowo język Logo służył do sterowania robotem zwanym ze względu na swój wygląd "żółwiem". Robot ten po wpisaniu komendy NAPRZÓD 50 przemieszczał się po podłodze o pięćdziesiąt kroków albo np. obracał się w prawo o kąt prosty po komendzie PRAWO 90. "Żółw" wyposażony był także w specjalne pióro, za pomocą którego mógł znaczyć trasę swojej wędrówki. Istnieją "narodowe" wersje Logo, w których komendy są w różnych językach. Wraz z upływem czasu, gdy powstały graficzne terminale komputerów, żółw Logo przeniósł się z podłogi na ekran monitora. "Żółw ekranowy" jest znacznie tańszy w eksploatacji, szybszy oraz posiada znacznie więcej możliwości. Mimo to, "żółwie podłogowe" są nadal interesujące chociażby ze względu na możliwość pomiaru właściwości otoczenia (np. temperatury, rozmieszczenia przeszkód itp.).

83 PASCAL Dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego poziomu, ogólnego zastosowania. Został opracowany przez Niklausa Wirtha w 1970 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala. Służył celom edukacyjnym do nauki programowania strukturalnego. Obecnie na bazie Pascala powstał język Dephi, popularny w przypadku pisania aplikacji dla Windows.

84 C/ C++ Poprzednikiem języka C był interpretowany język B, który Ritchie rozwinął w język C. Pierwszy okres rozwoju języka to lata Uważany za język niskiego poziomu, wykorzystywany głównie do pisania szybkich programów, pracujących blisko sprzętu. Na bazie języka C w latach osiemdziesiątych Bjarne Stroustrup stworzył język C++, który wprowadza możliwość programowania obiektowego. Język C++ jest obecnie jednym z najpopularniejszych języków programowania.

85 JAVA Java to obiektowy język programowania. Java jest językiem tworzenia programów źródłowych kompilowanych do kodu pośredniego, czyli postaci wykonywanej przez maszynę wirtualną. Język cechuje się silnym typowaniem. Jego podstawowe koncepcje zostały przejęte z języka Smalltalk (maszyna wirtualna, odśmiecanie pamięci) oraz z języka C++ (duża część składni i słów kluczowych).

86 C#.NET Obiektowy język programowania zaprojektowany dla firmy Microsoft. Program napisany w tym języku kompilowany jest do języka pośredniego, wykonywanego w środowisku uruchomieniowym (podobnie jak JAVA). Wykonanie skompilowanego programu przez system operacyjny bez takiego środowiska nie jest możliwe. Ma wiele cech języka C++, jest językiem w pełni obiektowym.

87 Podsumowanie

88

89

90 Symboliczny język włoskiej mafii Franko sprawia problemy. Wiecie co macie zrobić… Język symboliczny Kod maszynowy

91 Program Program komputerowy to uporządkowany zbiór instrukcji wykonywanych przez komputer, realizujących określone zadanie (algorytm) wyrażony za pomocą określonego języka programowania.

92 Język programowania to zbiór abstrakcyjnych definicji i reguł syntaktycznych, które można przełożyć na kod maszynowy. Reguły te opisane są przez gramatykę. Ten przekład może być lepszy lub gorszy. Dlatego programując w danym języku mamy do czynienia z konkretną implementacją języka.


Pobierz ppt "Podstawy programowania komputerów Przy opracowywaniu wykładu wykorzystano m.in.: Wojciech Sobieski - strona informacyjna (http://moskit.uwm.edu.pl/~wojsob/)"

Podobne prezentacje


Reklamy Google