Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

1 Języki programowania Krzysztof Andrelczyk Krzysztof Andrelczyk Informatyka Stosowana, rok II Informatyka Stosowana, rok II.

Podobne prezentacje


Prezentacja na temat: "1 Języki programowania Krzysztof Andrelczyk Krzysztof Andrelczyk Informatyka Stosowana, rok II Informatyka Stosowana, rok II."— Zapis prezentacji:

1 1 Języki programowania Krzysztof Andrelczyk Krzysztof Andrelczyk Informatyka Stosowana, rok II Informatyka Stosowana, rok II

2 2 Plan referatu Pierwsze języki programowania. Pierwsze języki programowania. Języki programowania specjalistycznego zastosowania. Języki programowania specjalistycznego zastosowania. Języki programowania ogólnego zastosowania. Języki programowania ogólnego zastosowania. Inne języki. Inne języki.

3 3 Pierwsze języki programowania

4 4 Plan kalkül Stworzony w 40 latach przez Konrada Zuse język bedący próbą wynalezienia międzynarodowego sposobu na zapisywanie programów. Stworzony w 40 latach przez Konrada Zuse język bedący próbą wynalezienia międzynarodowego sposobu na zapisywanie programów. Był to najwcześniejszy język algorytmiczny ale posiadał wiele cech charakterystycznych dla współczesnych języków. Był to najwcześniejszy język algorytmiczny ale posiadał wiele cech charakterystycznych dla współczesnych języków. Nie doczekał się implementacji. Nie doczekał się implementacji.

5 5 Typy danych Jedynym dostępnym typem był typ boolean (Ja-Nein-Werte). Przyjmował wartości 0 (nie) i L (tak). Jedynym dostępnym typem był typ boolean (Ja-Nein-Werte). Przyjmował wartości 0 (nie) i L (tak). Złożone struktury (tablice i rekordy) budowane rekurencyjnie, np.: Złożone struktury (tablice i rekordy) budowane rekurencyjnie, np.: n x S0==[0:n-1]bool m x n x S0==[0:m-1,0:n-1]bool (A2,A3)

6 6Oznaczenia L i 0 dla pojedynczych bitów. L i 0 dla pojedynczych bitów. L00L dla tablic. L00L dla tablic. V – zmienna. V – zmienna. Z - wartość pośrednia. Z - wartość pośrednia. R – wynik, zmienna zewnętrzna. Np. R17 (wynik procedury P17, użycie powoduje wywołanie procedury). R – wynik, zmienna zewnętrzna. Np. R17 (wynik procedury P17, użycie powoduje wywołanie procedury). C – stała. C – stała. P – program, podprogram. P – program, podprogram.

7 7 Wyznaczanie i podstawianie wartości Jeżeli V0 == l x m x S1 * n to Jeżeli V0 == l x m x S1 * n toV 0==V0[i,j,k] i*j*kV 0== V0[i] i Z + 1 => Z Z + 1 => Z 1 1

8 8 Warunki i pętle A -> B- najpierw wykonuje sie instrukcja A. Jeżeli jej wynik jest równy L to wykona sie instrukcja B. Jeżeli jest równy 0 to wykonywanie zakończy sie na intrukcji A. A -> B- najpierw wykonuje sie instrukcja A. Jeżeli jej wynik jest równy L to wykona sie instrukcja B. Jeżeli jest równy 0 to wykonywanie zakończy sie na intrukcji A. Pętle oznacza sie symbolem W. Np.: Pętle oznacza sie symbolem W. Np.: W[(xcV ^ x V) => Z] 0 1 0 1 Pętla wykona sie raz dla każdego x należącego do V0 i różnego od V1.

9 9 BASIC (Beginners All-purpose Symbolic Instruction Code)

10 10 BASIC wg. The Jargon File Zaprojektowany w 1960 r. dla eksperymentalnego systemu współdzielenia czasu z Dartmouth. Zaprojektowany w 1960 r. dla eksperymentalnego systemu współdzielenia czasu z Dartmouth. Jeden z przypadków gdy język zaprojektowany jako zabawka do nauki został wzięty zbyt poważnie. Jeden z przypadków gdy język zaprojektowany jako zabawka do nauki został wzięty zbyt poważnie. Główna przyczyna uszkodzeń mózgu u pierwszych hackerów. Główna przyczyna uszkodzeń mózgu u pierwszych hackerów.

11 11 Stałe, zmienne i tablice Typy danych: Typy danych: - liczby rzeczywiste. - stałe tekstowe. Tablice: Tablice: Deklarowane za pomocą intrukcji DIM, np.: DIM X$(10) DIM B(5,5)

12 12 Procedury, pętle, warunki Instrukcja GOSUB: Instrukcja GOSUB: 100 GOSUB 500... 500 ? X: RETURN Instrukcja FOR: Instrukcja FOR: FOR I=5 TO 10 ? I NEXT I Intrukcje IF i ON: Intrukcje IF i ON: IF X=1 THEN GOTO 500 ON X GOSUB 100,200,300

13 13 Przykładowy program 10 DIM A,B,C 20 PRINT "Ile liczb?": INPUT C 30 IF C > 180 THEN PRINT "Bez przesady...": GOTO 20 40 IF C < 0 THEN PRINT "Moze jednak troche wiecej?": GOTO 20 50 DIM I 60 A = 0: B = 1 70 FOR I=0 TO C 80 PRINT A 90 A = A + B: B = A - B 100 NEXT I

14 14 Języki programowania specjalistycznego zastosowania

15 15 FORTRAN (FORmula TRANslation)

16 16 Stworzony w 60 latach w USA język programowania ogólnego zastosowania. Stworzony w 60 latach w USA język programowania ogólnego zastosowania. Z czasem stał się międzynarodowym językiem programowania maszyn matematycznych. Z czasem stał się międzynarodowym językiem programowania maszyn matematycznych. Do lat 80 najszerzej stosowany język. Do lat 80 najszerzej stosowany język. Nadaje się szczególnie do programowania zagadnień z dziedziny nauk ścisłych, technicznych i przyrodniczych. Nadaje się szczególnie do programowania zagadnień z dziedziny nauk ścisłych, technicznych i przyrodniczych.

17 17 Typy danych i operatory Typy danych: Typy danych: - INTEGER, REAL (11 cyfr znaczących), DOUBLE PRECISION (20 cyfr), COMPLEX (liczby zespolone), LOGICAL (.TRUE. Lub.FALSE.), TEXT (ciąg znaków) Operatory: Operatory: - Arytmetyczne :+, -, *, / (dzielenie), ** (potęgowanie) - Logiczne:.NOT.,.AND.,.OR.

18 18 DO i IF Instrukcja wielokrotnego wykonania, DO. Instrukcja wielokrotnego wykonania, DO. Postać ogólna: DO etykieta zmienna=początek, koniec, krok Np. DO 50 K=1,10,2 S = S+F(K) S = S+F(K) 50 CONTINE 50 CONTINE Instrukcja warunkowa, IF. Instrukcja warunkowa, IF. Postać ogólna: IF warunek instrukcja Np. IF (A.EQ.B) GO TO 50

19 19 Przykład programu PROGRAM ABC INTEGER A,B,C REAL X1,X2 COMMON /X/X1,X2 DATA A,B,C/9,8,-1/ CALL SOLVE(A,B,D (A,B,C)) PRINT *,X1,X2 END FUNCTION D (A,B,C) INTEGER A,B,C D = (B**2 - 4*A*C)**0.5 RETURNEND SUBROUTINE SOLVE (A,B,D) INTEGER A,B REAL D COMMON /X/X1,X2 X1 = (-B+D)/(2*A) X2 = (-B-D)/(2*A) RETURNEND

20 20 ALGOL

21 21 Typy danych, tablice Typy danych: Typy danych: Integer, real, boolean. Tablice: Tablice: Deklarowane za pomocą słowa kluczowego array. Np. integer array tab [6:18, 5:15]; boolean array bool [1.7 : 5,2]; real array X [-20 : 5, -15 : -3, 20 : 50, 0 : 10];

22 22 Pętle i instrukcje warunkowe IF. IF. Np. if A > B then y:= x1 else if A B then y:= x1 else if A < B then y:= x2 else y:= x3; B:= if X = Y then 2*B else if X<6 then 3*B else B; FOR. FOR. Np. for i := 2, 5, 3*y, y*c do x[i] := 0; for k := 10 step -0.5 until 0 do x:= y*z; for x:= 0 while x<10 do x:= x + 1; for x:= 5, 10 step 2 until 20, -6, x**2 do... ;

23 23 Przykładowy program. begin array tab [1 : 20]; procedure scal (a,b); integer a; integer b; begin array tmp[a : b]; integer temp; integer l; integer m; integer n; if b >= a+1 then begin if b > a+1 then begin scal(a, (a+b) div 2); scal((a+b) div 2+1, b); end; if b = a+1 then begin if tab[b] < tab[a] then begin temp:= tab[a]; tab[a]:= tab[b]; tab[b]:= temp; end;end;end;

24 24 if b > a + 1 AND b-a a + 1 AND b-a<20 then begin m:=(a+b) div 2 +1; n:=a;l:=a; for temp:=0 while n<b+1 do begin if tab[l] > tab[m] then begin tmp[n]:=tab[m];m:=m+1; if m>b then begin m:=m-1;tab[m]:=100;end;n:=n+1;end; if tab[l]<tab[m] then begin tmp[n]:=tab[l];l:=l+1; if l> (a+b)div 2 then begin l:=l-1;tab[l]:=100;end;n:=n+1;end;end;

25 25 for n:=a step 1 until b do tab[n]:=tmp[n] end; end; integer i; integer k; for i:= 1 step 1 until 20 do tab[i]:= rand * 100; scal(1,20); for k:=1 step 1 until 20 do vprint(tab[k]); end

26 26 LISP (LISt Processor)

27 27 Stworzony przez Johna McCarthyiego pod koniec lat 60 w firmie MIT. Stworzony przez Johna McCarthyiego pod koniec lat 60 w firmie MIT. Wykorzystywał niektóre idee języka IPL-II (struktóry listowe i ich przetwarzanie) i teorię funkcji rekurencyjnych. Wykorzystywał niektóre idee języka IPL-II (struktóry listowe i ich przetwarzanie) i teorię funkcji rekurencyjnych. Programy czystego Lispu są funkcjami konstruowanymi z pięciu funkcji elementarnych przez superpozycję, stosowanie wyrażenia warunkowego oraz definicji rekurencyjnych. Programy czystego Lispu są funkcjami konstruowanymi z pięciu funkcji elementarnych przez superpozycję, stosowanie wyrażenia warunkowego oraz definicji rekurencyjnych.

28 28 Typy danych Atom – elementarna dana zapisywana w postaci ciągu znaków, np.: A, ABA, A371C. Atomy są niepodzielne. Atom – elementarna dana zapisywana w postaci ciągu znaków, np.: A, ABA, A371C. Atomy są niepodzielne. Dane nieatomowe – jeżeli A jest zbiorem atomów to zbiór D bedący zbiorem danych czystego Lispu jest takim zbiorem, że: Dane nieatomowe – jeżeli A jest zbiorem atomów to zbiór D bedący zbiorem danych czystego Lispu jest takim zbiorem, że: - A jest podzbiorem D - każda para uporządkowana elementów D należy do D Lista należy do podzbioru D i może być: Lista należy do podzbioru D i może być: - wyróżnionym atomem NIL (lista pusta) - uporządkowaną parą elementów D, w której drugi element jest lista, np.: (A.NIL), (A.(B.NIL)), ((X.A).((Y.B).((Z.C).NIL)))

29 29 Funkcje i predykaty elementarne Funkcje: cons[a;b] = (a.b) cons[a;b] = (a.b) car[(a.b)] = a car[(a.b)] = a cdr[(a.b)] = b cdr[(a.b)] = b dodatkowo np. caadr[...] = car[car[cdr[...]]] Predykaty: atom[d] = T gdy d jest atomem, F gdy nie jest atom[d] = T gdy d jest atomem, F gdy nie jest eq[d1;d2] = T gdy d1 = d2, F gdy d1 d2 eq[d1;d2] = T gdy d1 = d2, F gdy d1 d2

30 30 Przykładowy program (DEFUN REVERS (X) (COND ((NULL X) X) (T (PRINT X) (CONS (CDR X) (REVERS (CAR X)))))) (REVERS (CONS (CONS (CONS (CONS (CONS NIL (QUOTE A)) (QUOTE B)) (QUOTE C)) (QUOTE D)) (QUOTE E)))

31 31 Inny przykładowy program (setq kubelki '((0) (1) (2) (3) (4) (5) (6) (7) (8) (9))) (defun put (co gdzie) (cond ((eq co (caar gdzie)) (setf (car gdzie) (cons co (car gdzie)))) (cond ((eq co (caar gdzie)) (setf (car gdzie) (cons co (car gdzie)))) (T (put co (cdr gdzie))) )) (T (put co (cdr gdzie))) )) (defun kpop (skad) (cond ((cdar skad) (popup (car skad)))) (cond ((cdar skad) (popup (car skad)))) (cond ((not (null skad)) (kpop (cdr skad))) (cond ((not (null skad)) (kpop (cdr skad))) (T skad)) ) (T skad)) ) (defun popup (skad) (cond ((cddr skad) (popup (cdr skad)))) (cond ((cddr skad) (popup (cdr skad)))) (print (car skad))) (print (car skad)))(loop (setq liczba (read)) (setq liczba (read)) (cond ((not liczba) (return)) (cond ((not liczba) (return)) (T (put liczba kubelki)) )) (T (put liczba kubelki)) ))

32 32 Prolog

33 33 Historia Stworzony przez Colmeraure'a we wczesnych latach '70 jako program do dowodzenia twierdzeń. Oparty był na teorii Kowalskiego. Stworzony przez Colmeraure'a we wczesnych latach '70 jako program do dowodzenia twierdzeń. Oparty był na teorii Kowalskiego. Pierwszy interpreter dorównywujacy szybkością LISPowi powstał w połowie lat '70 (David Warren). Pierwszy interpreter dorównywujacy szybkością LISPowi powstał w połowie lat '70 (David Warren).

34 34 Przykładowy kod ojciec(krzysztof, jozef). ojciec(iwona, jozef). ojciec(jozef, bolek). ojciec(waldek, bolek). ojciec(czesia, bolek). ojciec(bolek, ktos). m(krzysztof). m(bolek). m(waldek). k(iwona). k(czesia). syn(O,S):- m(S), ojciec(S,O). corka(O,C):- k(C), ojciec(C,O). brat(X,Y):- ojciec(X,O), ojciec(Y, O), m(X). siostra(X,Y):- ojciec(X,O1), ojciec(Y, O2), O1 = O2, k(Y). dziadek(X, Y):- ojciec(X, O), ojciec(O, Y), m(Y). wujek(X, Y):- ojciec(X, O), brat(O, Y). ciotka(X, Y):- ojciec(X, O), siostra(O, Y). pradziadek(X, Y):- ojciec(O, Y), dziadek(X, O).

35 35 Języki programowania ogólnego zastosowania

36 36 C

37 37 Zaprojektowany przez Denisa Ritchiego na poczatku lat 70 i natychmiast wykożystany do zaimplementowania Unixa. Zaprojektowany przez Denisa Ritchiego na poczatku lat 70 i natychmiast wykożystany do zaimplementowania Unixa. W latach 80 bardzo szybko zdobył popularność poza Bell Labs. W latach 80 bardzo szybko zdobył popularność poza Bell Labs. Algol -> CPL -> BCLP -> B -> C Algol -> CPL -> BCLP -> B -> C

38 38 Podstawowe typy danych int – liczby całkowite. int – liczby całkowite. float – liczby zmiennopozycyjne float – liczby zmiennopozycyjne char – znak, jeden bajt. char – znak, jeden bajt. short – liczba całkowita krótka. short – liczba całkowita krótka. long – liczba całkowita długa. long – liczba całkowita długa. double – liczba zmiennopozycyjna podwójnej precyzji. double – liczba zmiennopozycyjna podwójnej precyzji.

39 39 Operatory Arytmetyczne: Arytmetyczne: - *, /, %, +, - Bitowe: Bitowe: & (AND), | (OR), ^ (XOR), > (przesunięcie w lewo), ~ (dopełnienie jedynkowe). ~ (dopełnienie jedynkowe). Inne: Inne: ++, --, +=, -=, |=.

40 40 Pętle, warunki for (i=5; i < 10; ++i) {...} for (i=5; i < 10; ++i) {...} while (x 10 || z 10 || z <10)) {...} do {...} while (x<10); do {...} while (x<10); if (x<20) {..} else if (x < 10) {...} else {...} if (x<20) {..} else if (x < 10) {...} else {...} x = x < 10 ? 0 : 10; x = x < 10 ? 0 : 10;

41 41 Przykładowy program #include "header.h" int insert(int k,char z) { int h; s = 0; pos = start; while (L[++s].item != NULL && s < WYMIAR); if(s >= WYMIAR) { return 0;} h = k - 2; if(k != 0 && k != last+1) { while (h > -1 && h -1 && h < last - 1) { pos = L[pos].next; --h;}} if(k == 0) { L[s].next = start; start = s; L[start].item = z; ++last; } else if(h == -1) { L[s].next = L[pos].next; L[pos].next = s; L[s].item = z; ++last; return 0;} }

42 42 C++ Zaprojektowany przez Bjarne Stroustrupa jako następca C. Zaprojektowany przez Bjarne Stroustrupa jako następca C. C++ rozszerza C o elestyczne i efektywne udogodnienia do definiowania nowych typów (programowanie obiektowe). C++ rozszerza C o elestyczne i efektywne udogodnienia do definiowania nowych typów (programowanie obiektowe). Podstawowym pojęciem C++ jest klasa, zapewniająca ukrywanie danych, niejawną konwersję typów, zarządzanie pamięcią i przeciążanie operatorów. Podstawowym pojęciem C++ jest klasa, zapewniająca ukrywanie danych, niejawną konwersję typów, zarządzanie pamięcią i przeciążanie operatorów.

43 43 Przykładowy program #inndef WALL_H #define WALL_H #include #include #include "Object.h" class Wall : public Object { public:Wall();~Wall(); voidDraw(void); intUpdate(void); intWhoAmI(void); voidSetPosition(Vector); voidSetVellocity(Vector); voidSetSprite(BITMAP *); protected: Vector position; Vector velocity; float velocity_value; }

44 44 Przykładowy program cd. #include "Wall.h" Wall::Wall() {... position.x = 0; position.x = 0; position.y = 0; position.y = 0; velocity_value = 0; velocity_value = 0; sprite = NULL; sprite = NULL;} Wall:: Update() { position.x += velocity.x * velocity_value; position.x += velocity.x * velocity_value; position.y += velocity.y * velocity_value; position.y += velocity.y * velocity_value; return 0; return 0;} void Wall::SetPosition (Vector v) { position.x = v.x; position.x = v.x; position.y = v.y; position.y = v.y;}...

45 45 Inne języki

46 46 Corewars Gra Corewars – symulator walki programów. Pewna liczba programów załadowanych do pamięci wirtualnego komputera stara się zająć jak najwiekszą część pamięci i zniszczyć przeciwników. Gra Corewars – symulator walki programów. Pewna liczba programów załadowanych do pamięci wirtualnego komputera stara się zająć jak najwiekszą część pamięci i zniszczyć przeciwników. Język Corewars – prosty język o składni podobnej do assemblera. Język Corewars – prosty język o składni podobnej do assemblera.

47 47 Postać ogólna intrukcji instrukcja [, ] instrukcja [, ] Gdzie: - nazwa (grupy) instrukcji, - operatory. Operator może być:, - operatory. Operator może być: - liczbą - adresem intrukcji (& ) - zawartoscia intrukcji ( ) - zawartością intrukcji użytą do zaadresowania innej komórki pamięci ([ ])

48 48 Przykładowy program author "efrum <efrum@student.uci.agh.edu.pl START:move &START,B move 9,A add 1000,D move D,C COPY:movei B,D loop A,COPY fork [C] jump START A: data 0 B: data 0 C: data 0 D: data &D

49 49 Compiler Language With No Pronanceable Acronym INTERCAL Język zaprojektowany 26 maja 1972 roku na uniwersytecie w Princeton przez Donalda Woodsa i Jamesa Lyona. Język zaprojektowany 26 maja 1972 roku na uniwersytecie w Princeton przez Donalda Woodsa i Jamesa Lyona. Pierwszy kompilator napisany 18 lat później przez Erica Raymonda (C-INTERCAL) Pierwszy kompilator napisany 18 lat później przez Erica Raymonda (C-INTERCAL)

50 50 Główne zalożenie Głównym celem twórców języka było to, aby miał on jak najmniej wspólnego z innymi językami. Do dziś jedynymi wspólnymi elementami INTERCALa i innych języków pozostają zmienne, tablice i możliwość wykonywania operacji wejścia/wyjścia. Głównym celem twórców języka było to, aby miał on jak najmniej wspólnego z innymi językami. Do dziś jedynymi wspólnymi elementami INTERCALa i innych języków pozostają zmienne, tablice i możliwość wykonywania operacji wejścia/wyjścia.

51 51 Typy danych, operatory Typy danych: Typy danych: -.n – 16 bitowa liczba całkowita. - :n – 32 bitowa liczba całkowita. -,n – tablica z 16 bitowymi elementami. - ;n - tablica z 32 bitowymi elementami Operatory: Operatory: ~ (interleave), $ (select), & (AND), V (OR), ?(XOR) ~ (interleave), $ (select), & (AND), V (OR), ?(XOR)

52 52 Przykład programu DO COME FROM (1) DO COME FROM (1) DO.2<-#255 DO WRITE IN.1 PLEASE DO.1 <-'.2~.1 (1) DO READ OUT.1 PLEASE DO GIVE UP

53 53 Befunge Funge to rodzina języków, w których Program Counter (PC) nie porusza sie liniowo ale w wielu kierunkach i wymiarach. Do rodziny tej należą miedzy innymi Befunge i Trifunge. Funge to rodzina języków, w których Program Counter (PC) nie porusza sie liniowo ale w wielu kierunkach i wymiarach. Do rodziny tej należą miedzy innymi Befunge i Trifunge. W Befungeu program traktowany jest jako walec o rozmiarach 80x25. Wszystkie instrukcje są pojedyńczymi znakami ASCII. W Befungeu program traktowany jest jako walec o rozmiarach 80x25. Wszystkie instrukcje są pojedyńczymi znakami ASCII.

54 54 Program Counter Program Couter może poruszać się w czterech kierunkach. Do zmiany kierunku służa operatory ^,v,>,,<,?. Dodatkowo dwie instrukcje warunkowe | i _ zmieniają kierunek poruszania się PC w zależnosci od ostatniej wartości na stosie. Dodatkowo dwie instrukcje warunkowe | i _ zmieniają kierunek poruszania się PC w zależnosci od ostatniej wartości na stosie.

55 55 Stos W Befungeu nie wystepują zmienne. Wszystkie dane przetrzymywane sa na stosie. W Befungeu nie wystepują zmienne. Wszystkie dane przetrzymywane sa na stosie. Do umieszczania danych na stosie służą komenndy 0-9 lub równania zapisane w notacji odwrotnej polskiej. Do umieszczania danych na stosie służą komenndy 0-9 lub równania zapisane w notacji odwrotnej polskiej. Inne instrukcje operujące na stosie: Inne instrukcje operujące na stosie: : - kopiuj ostatnią wartość na stosie \ - zamień miejscami dwie ostatnie wartości &,,,. – wypisz ostatnią wartość ze stosu

56 56 Przykład programu v\+1\+_v#`\9:-*68< > ~:92+`| @./\$< <

57 57 BrainF*** Intrukcje: Intrukcje: + - zwiększ wartość komórki o jeden - - zmniejsz wartość komórki o jeden > - przejdź do następnej komórki < - przejdź do poprzedniej komórki, - wczytaj wartość z klawiatury do komórki. – wypisz wartość komórki na ekran [...] – pętla (konczy się gdy wartość komórki != 0)

58 58 Przykładowy program >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>++++++++++++++++++++++++[<<<<<<<<<<<<<<<<<<<<<<<<<<+++++++++++++++++++++++++[<+++++++[<++++++++>-]>[>+<]>]<<++++++++++++>>>[>>>>>>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<<<<<<<<++++<[<]++++++++++<<+++++++++++++++++++++++++[>+++++++++++++++++++++++++<-]<+>>[>[[<<+>>-]<[>+<-]>->----]++++++++++<]>---------<+++++++++++++++++++++++++[<+++++++++++++++++++++++++>-]<[<[[>>+<<-]>[<+>-]<-<-]++++++++++++++>]<-------------->>+++++++++++++++++++++++++[>+++++++++++++++++++++++++<-]>----------<<<+>>>[>[[<<+>>-]<[>+<-]>->-]+++++++++++++<]>-------------<<<->>><+++++++++++++++++++++++++[<+++++++++++++++++++++++++>-]>+<<[<[[>>+<<-]>[<+>-]<-<-]++++++++++++>]<----------->>>>-<<<>+++++++++++++++++++++++++[>+++++++++++++++++++++++++<-]<+>>[>[[<<+>>-]<[>+<-]>->-]+++++++++<]>---------<<<->>+++++++++++++++++++++++++[<+++++++++++++++++++++++++>-]>+<<[<[[>>+<<-]>[<+>-]<-<-]++++++++++>]<---------->>>>-.<<<+++++++++++++++++++++++++[>+++++++++++++++++++++++++<-]<+>>[>[[<<+>>-]<[>+<-]>->-]++++++++++<]>-----------<<<->><<[<.]

59 59 Bibliografia Język ANSI C - Brian W. Kernighan, Dennis M. Ritchie. WNT. Warszawa 2001. Język ANSI C - Brian W. Kernighan, Dennis M. Ritchie. WNT. Warszawa 2001. Język C++ – Bjarne Stroustrup. WNT. Warszawa 2000. Język C++ – Bjarne Stroustrup. WNT. Warszawa 2000. Lisp – Jacek Martinek. WNT. Warszawa 1980. Lisp – Jacek Martinek. WNT. Warszawa 1980. Elekroniczna technika obliczeniowa – R. Tadeusiewicz, W. Wajs, J. Jaworowski. Skrypty uczelniane AGH. Kraków 1978. Elekroniczna technika obliczeniowa – R. Tadeusiewicz, W. Wajs, J. Jaworowski. Skrypty uczelniane AGH. Kraków 1978. Podstawy programowania w Atari Basic – Wojciech Zientara. SOETO. Warszawa. Podstawy programowania w Atari Basic – Wojciech Zientara. SOETO. Warszawa. www.catb.org www.catb.org www.catb.org Prolog, sophisticated applications in artificial intelligence - Ramachandran Bharath Prolog, sophisticated applications in artificial intelligence - Ramachandran Bharath


Pobierz ppt "1 Języki programowania Krzysztof Andrelczyk Krzysztof Andrelczyk Informatyka Stosowana, rok II Informatyka Stosowana, rok II."

Podobne prezentacje


Reklamy Google