Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Podstawy programowania komputerów
Przy opracowywaniu wykładu wykorzystano m.in.: Wojciech Sobieski - strona informacyjna ( Wstęp do informatyki (materiały Wyższej Szkoły Informatyki) J. Sikorski
2
Przypomnienie Przepis Składniki Czynności
3
Przypomnienie Pojęcie zmiennej 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; Ś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ść)
4
Sposoby reprezentacji danych
Przypomnienie Sposoby reprezentacji danych Dane numeryczne: całkowite, „rzeczywiste” posiadają określony zakres i dokładność Tablice Listy Stosy Kolejki Drzewa Grafy
5
Sposoby reprezentacji danych
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. 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. CASE Title OF Mr : Print "Mister" Mrs : Print "Missus" Miss : Print "Miss" Ms : Print "Mizz" Dr : Print "Doctor" ENDCASEv IF HoursWorked > NormalMax THEN Display overtime message ELSE Display regular time message ENDIF
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: if (warunek) then instrukcja1; else instrukcja2; warunek TAK NIE Instrukcja1 Instrukcja2
11
Pseudokod - struktury sterujące
Druga możliwość, gdy pomija się instrukcję przy niespełnionym warunku Instrukcja if: if (warunek) then instrukcja; warunek TAK NIE instrukcja
12
Pseudokod - struktury sterujące
Przykłady z instrukcjami if: Wcięcie pod instrukcją sterującą oznacza, że instrukcje te są instrukcjami „wewnętrznymi”. Poprawia to czytelność programów. if (brak płynu do mycia) then idź do sklepu; else umyj kolejne naczynie;
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:=start; for i:=start to stop do instrukcja; lub for i:=start downto stop do gdy start > stop i>stop TAK NIE i:=i+1; instrukcja
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. while warunek do instrukcja; Warunek jest sprawdzany na końcu instrukcja TAK warunek NIE
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 Komputer Algorytm Język programowania Program Rozwiązanie
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
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
Służą do wyznaczania wartości logicznej typu PRAWDA lub FAŁSZ.
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
Elementami wyrażeń tekstowych są:
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
IDŹ DO nazwa_miejsca_w_programie
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
Instrukcja zatrzymania/powrotu – LOGO przykład
TO TRI :N REPEAT 3 [FD :N RT 120] END TO HEXAGON :N REPEAT 6 [TRI :N RT 60] TO SPIDERWEB :N IF :N > 100 [STOP] HEXAGON :N SPIDERWEB :N + 10
70
Służy do podejmowania decyzji w zależności od postawionych warunków:
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]
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
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.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.