пятница, 11 декабря 2009 г.

PLan

•1940´ndad –masinkeelte teke (UNIVAC I ja IBM 701)
•1950´ndad –assemblerkeelte teke
•1957 –kompilaatorkeel (FORTRAN)
•1960 –COBOL, LISP

Klassifikatsioonid I
•Programmeerimise paradigmad
▫Imperatiivsed keeled
Protseduursed (FORTRAN, Pascal, Ada, C)
Objektorienteeritud (Smalltalk, C++, Java)
▫Deklaratiivsed keeled
Funktsionaalsed (Scheme, ML, Haskell)
Loogilised (Prolog, Parlog, Gödel, Mercury )

Klassifikatsioonid II
•Realiseerimismeetodi järgi:
▫Interpreteeritavad
▫Kompileeritavad
▫Kompromiss

Klassifikatsioonid III
•Mäluhalduse järgi:
▫“Käsitsi” mäluhaldusega
▫“Prügikoristusega”
•Tüübisüsteemi järgi:
▫Dünaamiliselt tüpiseeritud
▫Staatiliselt tüpiseeritud

Klassifikatsioonid IV
•Riistvara sõltuvuse järgi:
▫“von Neumann language”
On kõrgemal tasemel von Neumanni mudeli kordused
C,FORTRAN, Java,...
▫“non von Neumann language”
Ei baseeru arvuti füüsilisel realisatsioonil
APL, J, FL

•Primitiivsed andmetüübid:
▫int, char etc (näiteks: 1 ja –3 on int-id, „c‟ ja „a‟ on char-id)
▫string (näiteks “aaa123bb”)
▫massiiv (näiteks a[1]=2; a[2]=20; a[3]=15; y=2; x=a[y]+a[1]+3;)
•Avaldised:
▫näiteks x = (y*2) –(5+x);
•Elementaarsed juhtkonstruktsioonid:
▫valik: if ... then ... else
▫tsükkel: while(x<10) x=x+1;
•Funktsioonid:
▫defineerime: int kuup(int x) { return x * x * x}
▫kasutame: x = kuup(1+kuup(3))+kuup(y);
▫kasutame rekursiivselt:
int fact(int x) { if (x<=0) return 1; else return x*(fact(x-1)); }

Комментариев нет:

Отправить комментарий