IF Valikud ehk võimalus otsustamiseks, kui on vaja, et programm käituks kord üht-, kord teistmoodi. if (tingimus) { Kui tingimus tagastab avaldis1; true (tõde), töötleb avaldis 2; kompilaator … operatsioone, mis on avaldis N; kirjutatud pärast } tingimust. Kui tingimus else tagastab false(vale), { avaldis 1 ; töötleb kompilaator avaldis 2; operatsioone pärast ... else. avaldis N; } C# juures, nii nagu selle aluseks oleva C-keele puhul
1. GUID partitioning table võimaldab rohkem primaarseid partitsioone kui 4 Kõrgkeeles kirjutatud programm mis pole veel ümber tõlgitud – Lähtekood Programmi tõlkur mis tõlgib kogu koodi korraga programmi saab käivitada kui kogu tõlge on tehtud – kompilaator Inimkeelele lähedane programmeerimiskeel, on vaja tõlkida madalkeeleks muidu riistavara ei mõista programmi – kõrgkeel Programmi tõlkur mis tõlgib koodi ridade kaupa tõlgitud koodilõiku saab käivitada ilma kogu programmi tõlkimata – interpretaator Arvuti riistavarale lähedane keel on protsessorile arusaadav tõlkida vaja ei ole – madalkeel 2. MBR on probleemideta kasutatav ka 4TiB ketaste puhul 3
Mälu haldamine Programm laetakse mällu enne tema käivitamist Protsess võib liikuda põhimälu ja ketta vahet ka töötamise ajal Kasutaja protsess võib asuda erinevates mälu piirkondades Mäluaadress sõnaline aadress programmi tekstis (esimene, counter,...) suhteline aadress objektmoodulis (14 baiti programmi algusest) absoluutne aadress absoluutne aadress tekitatakse: kompileerimise ajal laadimise ajal (kompilaator moodustab suhtelised aadressid) töötamise ajal (protsess töötamise ajal saab nihkuda ühest mälupiirkonnast teise) Kuidas realiseeritakse erinevaid sidumisviise? dünaamiline laadimine (korraldab põhiliselt kasutaja) programm laetakse sisse alles siis kui pöördutakse dünaamiline linkimine linkimise ajal asendusprogramm, mis näitab kuidas vajalik alamprogramm asub (keelte standard...
loogiline ja füüsiline aadress samad; töötamise ajal aga võivad need erineda. · Viimasel juhul nimetatakse loogilist aadressi tihti virtuaalseks (virtual address) MMU · Aadressi teisendamise korraldab mäluhaldur · MMU (Memory Management Unit) riistvaraline seade loogiliste aadresside füüsiliseks teisendamiseks. · Kasutajaprogramm tegeleb oma loogiliste aadressidega (0...max) ega näe otseselt füüsilisi aadresse. Lähtekood kompilaator või assembler objektmoodul Linker laademoodul Laadur Programmi mälukujutis Teised objektmoodulid Linker Süsteemsed teegid Laadur Dünamiliselt laetavad süsteemsed teegid Programmi mälukujutis Kompilaator · Compiler * Kompilaator · Kõrgkeele translator ehk program, mis transleerib programmi lähtekoodi objektkoodiks · Nimetus "kompilaator" tuleb sellest, et kõigepealt otsitakse üles terviklikud lähtekoodi
Meetod, mis käivitatakse automaatselt uue objekti loomisel. Tagastab viite loodud objektile. Kasutatakse objekti algväärtustamiseks. Kõik objektid pärivad vaikimisi Object klassilt. Kui teie klassis puudub konstruktor, luuakse vaikimisi argumendita konstruktor. Uut objekti luues kutsutatakse alati välja ülemklassi argumendita konstruktor enne kui täidetakse käsud selle klassi konstruktoris. Kui kirjutate ainult argumendiga konstruktor, siis kompilaator argumendita verisooni automaatselt ei lisa. Mis juhtub, kui alamklassis on argumendiga konstruktor, aga ülemklassis konstruktor puudub? Kompilaator lisab ülemklassile argumendita konstruktori, alamklassist luues käivitatakse see enne alamklassi konstruktorit. Mis juhtub, kui alamklassis on argumendiga konstruktor, ja ülemklassis samuti ainult argumendiga konstruktor? Programm ei kompileeru, sest pole võimalik käivitada ülemklassi konstruktorit.
..), operandide ja aadresside jaoks saab kasutada nimesid, saab deklareerida andmeid, programmi võib varustada kommentaaridega, ... · universaalsed programmeerimiskeeled (ei sõltu protsessori käsustikust) e. kõrgtaseme keeled, saab liigitada paradigma alusel · keskkonnad tööks valmiskomponentidega, võimaldavad "liimida" valmiskomponendid tervikuks Keele muudab arvutile arusaadavaks eriline süsteemitarkvara hulka kuuluv programm - keele translaator: · Kompilaator - tõlgib kõrgtaseme keelest masinkoodi (või mingisse nn. vahekoodi, näit. Java baitkoodi). · Interpretaator - täidab programmi ilma masinkoodi moodustamata; tavaliselt interpreteeritakse vahekoodi, mitte programmi teksti. · JIT (Just In Time) kompilaator - teisendab vahekoodi masinkoodiks "vajadusel" (näit. optimiseerimise eesmärgil). Näiteks keele Java korral Programmi elutsükkel (IDE mõttes - small picture, mitte segi ajada elutsükliga
1980 esimene hdd mikroarvutitele(Seagate), QDOS 1981 I kaasaskantav arvuti(Osbourne I);IBM 5150 PC ja cga graafikakaart(16 värvi), 32000 esimene 32-bit prose (National Semiconductor)1982 - loodi SUN ja Compaq(Canion,harris,murto).1983 RSIst Oracle(Ellison,miner);C++, turbo pascal, 1984 esimene MACINTOSH(edukalt hiirega juhitav), GNU(Stallman)tasuta op.s, windows 1.0.1986 NNTP uudised liiguvad TCP/IP (interneti) kaudu;inteli 80386. 1987 GCC kompilaator UNIXil, IBMi ps2 vga- ga.1988 Arpanet(morris)nö viirus netis.1989 inteli 80486, AOL(America online) Applile ja MACile.1989-90 FIDONET rahvusvaheline võrguots Eestis 90a epost,USENET 1990 TBL browser NeXTil,HTML ja www, (berners-lee) avalikuks 1991, Windows 3.01991 Linux.1992 Windows 3.11, TCP/IP internetiotsad Eestis, wolfenstein 3d,gsm mobiil(esimene operaator Radiolinja Soomes).1993 NCSA Mosaic 1.0 I popp avalikult saadaval brauser;Inteli Pentium prose
BSD tehnoloogia BSD operatsioonisüsteemid koosnevad kolmest loogilisest üksusest: tuum, kasutajamaailm ja kolmandate osapoolte tarkvara. Tuuma (kernel) ja kasutajamaailma (userland) arendatakse koos. Operatsioonisüsteemi arendajatel on üle CVS'ijuurdepääs korraga tervele lähtekoodile. Tuuma ja kasutajamaailma koos arendamisega tagatakse erinevate süsteemi osade parem ühilduvus. Tuum ja kasutajamaailm moodustavad minimaalse baassüsteemi, kus on olemas C teegid, kompilaator, mõned vajalikud käsurea ja võrgu utiliidid. Juhtudel kui konkreetset BSD operatsioonisüsteemi soovitakse kasutada näitekstulemüürina ja/või ruuterina, piisab sellisest minimalistlikust lähenemisest täielikult. Baassüsteem on kergesti laiendav, vastavalt süsteemi rakendamise vajadustele. Laiendamiseks kasutatakse pkgsrc(NetBSD, OpenBSD) või ports (FreeBSD) võimalusi, mille abil on võimalik süsteemi lisada laias valikus kolmandate osapoolte tarkvara,
alguses. Esialgu oli UNIX mõeldud kasutamiseks programmeerijatele ja kuigi ta on aastatega edasi arenenud, on UNIX ikka veel mitte eriti kasutajasõbralik. Graafiliste kasutajaliideste nagu MOTIF (X- Window System'iga töötav graafiline kasutajaliides ja aknahaldur, mida juurutab Open Software Foundation) lisamine on asja siiski parandanud. UNIX oli üks esimesi C-keeles kirjutatud operatsioonisüsteeme, mis tähendab, et seda saab installeerida igale arvutile, millel on olemas C-keele kompilaator. BSD operatsioonisüsteemid koosnevad kolmest loogilisest üksusest: tuum, kasutajamaailm ja kolmandate osapoolte tarkvara. Tuuma (kernel) ja kasutajamaailma (userland) arendatakse koos. Operatsioonisüsteemi arendajatel on üle CVS'i juurdepääs korraga tervele lähtekoodile. Tuuma ja kasutajamaailma koos arendamisega tagatakse erinevate süsteemi osade parem ühilduvus. Tuum ja kasutajamaailm moodustavad minimaalse baassüsteemi kus on olemas C teegid,
tulemi aadressi arvutamine -> tulemi salvestus (mitu tulemit) -> katkestusnõuete kontroll -> katkestusnõude töötlus. 9. Translaatorite liigid. Kompilaator (on kõrgkeele translaator, st programm, mida rakendatakse kõrgtaseme algoritmikeeles koostatud programmi transleerimisel masinakeelde), interpretaator (on arvutiprogramm, mis käivitab programmikoodi, mis ei ole masinkoodi kompileeritud), assembler (arvutiprogramm mis tõlgib assambler keele objekti faili või masinkeele vormi). 10. Kompilaator ja selle üldistatud mudel. Kompilaator on kõrgkeele translaator, st programm, mida rakendatakse kõrgtaseme algoritmikeeles koostatud programmi transleerimisel masinakeelde. Kõrgkeelne (C, Fortran, jt) programm -> keelespetsiifiline eeltöötlus (sõltuvused: keelest/arvutist sõltumatu, Funktrioon: teisendab kõtgkeele konstruktisoonid vahekeelde)-> kõrgtaseme optimeeringud (S: mõnevõrra keelest sõltuv, arvutist
(every? good? `(10 40 50 2 100)) UNIXi filosoofia 1.väike on ilus(iga utiliit/teenus liitis,lahutas.Ca 50tki. täidab ainult ühte funktsiooni;komponentide ehitus 1987 GCC kompilaator UNIXil, IBMi ps2 vga-ga. ja opsüsteemi vahendid võimaldavad kerget ja selge liidesega kombineerimist; keerulisemad 1646-1716 - Leibniz
väiteid tõestada ei saa, siib peabki A olema õige. Frege(öloob kaasaegse predikaatarvutuse). begin Kuna A on õige, peab kehtima see, mida A väidab: 1987 – GCC kompilaator UNIXil, IBMi ps2 vga-ga. for i in 0..n loop A pole tõestatav. Tõepoolest, kui A oleks tõestatav, 1890 - Hollerith’i perfokaardid->sellest firmast sum := sum + i; siis oleks A sisu ("A ei ole tõestatav") vale, see on tekkis IBM
Reserveeritud käsukoodide korral on igal käsul ainult temale omane individuaalne käsukood. Meetod on levinud käsustikes, mis ei ole eriti mahukad. Klassipõhiste käsukoodide korral koosneb käsukood kahest osast: 1. Klassikood 2. Operatsioonikood Meetod leiab rakendamist mahukates käsustikes, millele on iseloomulik väga variatiivsete käsuformaatide kasutamine. 8. Käsutsükli täitmise üldistatud mudel. 9. Translaatorite liigid. 1. Kompilaator 2. Interpretaator 3. Assembler Hübriidsüsteemides kompileeritakse lähtekeel vahevormi (vahekeelde), mida töödeldakse virtuaalmasinal ehk abstraktsel masinal. Virtuaalmasin sisaldab interpretaatorit. 10. Kompilaator ja selle üldistatud mudel. Tänapäeval koostatakse enamus programme kõrgkeeltes, mistõttu etendab nende töötlusel, mis kasutab kindlat ISA, olulist osa programmi transleerimisel kasutatud kompilaator.
anda, ning programmiteekidele; programmi hargnemise võimaldamiseks peab programmitekst sisaldama tingimuslauseid (näiteks tingimussiirdelauseid või korduslauseid). 1949 loodi programmeerimiskeel Short Code, mille kasutamiseks tuli programmeerijal endal esitada programmitekst nullide ja ühtede jadana. Seda nimetatakse masinakoodiks ehk masinakeeleks. 1957 kirjutati esimene kompilaator, mis muutis programmeerimise palju lihtsamaks, sest programmeerija ei pidanud programmi enam ise masinakeelde transleerima. 1957 ilmus ka esimene laiemat kasutust leidnud programmeerimiskeel FORTRAN (FORmula TRANslating system). See keel oli lihtne ja tänapäeva standardite järgi piiratud: sisaldas ainult IF-, DO- ja GOTO- lauset, kuigi seegi oli väga suur samm edasi. FORTRANist said alguse ka praegu
anda, ning programmiteekidele; programmi hargnemise võimaldamiseks peab programmitekst sisaldama tingimuslauseid (näiteks tingimussiirdelauseid või korduslauseid). 1949 loodi programmeerimiskeel Short Code, mille kasutamiseks tuli programmeerijal endal esitada programmitekst nullide ja ühtede jadana. Seda nimetatakse masinakoodiks ehk masinakeeleks. 1957 kirjutati esimene kompilaator, mis muutis programmeerimise palju lihtsamaks, sest programmeerija ei pidanud programmi enam ise masinakeelde transleerima. 1957 ilmus ka esimene laiemat kasutust leidnud programmeerimiskeel FORTRAN (FORmula TRANslating system). See keel oli lihtne ja tänapäeva standardite järgi piiratud: sisaldas ainult IF-, DO- ja GOTO- lauset, kuigi seegi oli väga suur samm edasi. FORTRANist said alguse ka praegu
00.50727.42 for Microsoft (R) Windows (R) 2005 Framework version 2.0.50727 Copyright (C) Microsoft Corporation 2001-2005. All rights reserved. Käima panekuks tuleb vaid selle .exe faili nimi kirjutada ning võimegi tulemust näha. C:Projectsomanaited>Tervitus Tere Ülesandeid * Muuda väljatrükitavat teksti * Kirjuta ekraanile kaks rida (kaks järjestikust Console.WriteLine käsklust, kumbki omal real) * Tekita programmi sisse väikeseid vigu, ja vaata mis kompilaator selle peale teatab. Paranda tagasi ja veendu, et programm töötab jälle. Näiteks kaota ära n-täht sõnast Console, üks jutumärk "Tere" ümbert, üks sulg, semikoolon, muuda klassi nime. Ja igal korral jäta meelde või soovi korral suisa märgi üles, kas ja milline viga oli tegelikult ning millise veateate andis kompilaator. Sellised on kõige tüüpilisemad kompileerimisel tekkivad vead. Kord väikese
SISUKORD SISUKORD......................................................................................................... 1 SISSEJUHATUS........................................................................................................ 2 1. Tarkvara arendusmeetodid ja tehnikad...............................................................3 2. Andmestruktuurid ja algoritmid..........................................................................4 2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE.............................................4 2.2 Erinevad andmestruktuurid ja nende omadused..............................................5 Programmeerimiskeelte tüübid.............................................................................. 8 3.1 PROGRAMMEERIMISE AJALUGU......................................................................8 3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID........
0.30319.1 Copyright (C) Microsoft Corporation. All rights reserved. Töö tehti ära, vigu sel korral ei leidunud. Tulemusena tekkis kataloogi fail nimega algus.exe, mille võib rõõmsasti käivitada. C:Userswindows 7Documents>algus.exe Tere Ülesandeid · Muuda väljatrükitavat teksti · Kirjuta ekraanile kaks rida (kaks järjestikust Console.WriteLine käsklust, kumbki omal real) · Tekita programmi sisse väikeseid vigu, ja vaata, mis kompilaator selle peale teatab. Paranda tagasi ja veendu, et programm töötab jälle. Näiteks kaota ära n-täht sõnast Console, üks jutumärk "Tere" ümbert, üks sulg, semikoolon, muuda klassi nime. Ja igal korral jäta meelde või soovi korral suisa märgi üles, kas ja milline viga oli tegelikult ning millise veateate andis kompilaator. Sellised on kõige tüüpilisemad kompileerimisel tekkivad vead. Kord väikese programmi juures läbi katsetatuna on
Deep blue: 1997, AI, mis võitis males maailmameistrit Wikipedia: 2001, Jimmy Wales and Larry Sanger 6. Nädal Eksamiks: turingi masin, relee, mälutüübid, assembler, kompileerimine, interpreteerimine, jit. Lihtsad andmetüübid, stringid, massiivid, puud. Turingi masin; Alan Turingi 1937. aastal kirjeldatud lihtne abstraktne arvuti, mida kasutatakse arvutatavuse ja selle piiride uurimiseks Relee: mootoriga lüliti Mälutüübid: Assembler: kompilaator, mis tõlgib assemblerkeeles programmi masinkoodiks Kompileerimine: võtab sisendiks kõrgkeelse programmi ja tõlgib selle täitmisprogrammiks. Kompileeritud täitmisprogrammi saab edaspidi iseseisvalt käivitada, vajamata seal juures keelevahendeid Interpreteerimine: loeb programmi lähtekoodi rida haaval, tõlgib rea kohe masinkoodi ning seejärel täidab String: tähemärkidest koosnev järjestikune jada Massiivid: jada ühetüübilisi väärtusi
Tulemuse nimi saadi kahe komponendi nimede ühitamisel, aga mõjus vene IT-inimestele üsna šokeerivalt (mõned küll hakkasid naerma). Mis oli projekti nimeks? Slackel Linux 41. 1995. aasta filmi "Hackers" (peaosades Angelina Jolie ja Jonny Lee Miller) seltskond koosneb üldiselt väljamõeldud tegelastest. Üks neist aga kannab sama nime ühe ka päriselu häkkerikultuuris tuntud kodanikuga. Kes? 42. 1993. aastal loodi omalaadne pisike programmeerimiskeel, mille Linuxi kompilaator võtab enda alla vaid 171 baiti ja mille kogu käsustik koosneb kaheksast ühemärgilisest käsust. Mis keel see on? Brainfuck Boonusküsimus: selles viktoriinis oli 42 küsimust. Milline märgiline tähendus on sel numbril võrgukultuuris (see on pärit ühest ulmejutust)? 42 on vastus kõige tähtsamale küsimusele elus, universumis ja kõigele.
(RSI - currently Oracle Corporation) established: Ellison and Miner 1978 Oracle V1; 1980 Oracle V2; 1982 Oracle V3 released, Oracle became the first DBMS to run on mainframes, minicomputers and PC's. Code was written in C 1983 AT&T tutvustab Unix System V; AT&T Bell Labs disainib C++ 1984 esitleb Steve Jobs Apple Macintosh GNU projekt Richard Stallman(EI OLE UNIX) tahtis anda operatsioonisüsteemile vabadust; MIT X-windows system 1985 C++ tõusis domineerivaks OOP-ks; 1987 GCC põhiline C kompilaator UNIX-le, Stallmani poolt tehtud FSF(Free Software Foundation) GCC(algselt GNU C Compiler) on GNU Compiler Collection, Kompileerib: ;C+ +;Objective C; Fortran; Java; Ada;Pascal 1988 Jobs asutab NeXT-i ;Pixari ,,Tin Toy" esimene arvutipõhine multifilm; Pixar on Jobsi poolt asutatud; Robert Morris ussitas viirusega ARPANET-i 1989 Intel 80486 prose koos i860 RISC coprosega ;Motorola 68040; Maxis SimCity uus mängude valdkond(simulatsioon); AOL American Online network
Peale programmeerimiskeelte on veel hulk muid keeli: Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...) Spetsifitseerimiskeeled (loogikakeeled, UML, ....) .... Kuidas keeles X kirjutatud programmi täidetakse? NB! arvuti suudab täita ainult masinkoodis programme. Kaks põhivarianti keeles X programmi täitmiseks. Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näide: C. Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili, kontrollib/ veidi teisendab teda ja asub nö sisekujul varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. NB! Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi
Atribuutide tüübid Komponeeritud atribuut (composite attribute) Atomaarne atribuut (simple or atomic attribute) Üheväärtuseline atribuut (single-valued attribute) Mitmene ehk korduv atribuut (multivalued attribute) Tuletatud atribuut (derived attribute) Salvestatud atribuut (stored attribute) Nullväärtus (null value). Semantilised mudelid Semantilised mudelid: · kompilaatori mudel (compiler model) - keele tähenduseks on vastavad sihtkeele stringid, mida kompilaator tekitab, semantika kirjelduseks on täidetavad käsud (vajalik kompilaatorile) · interpreteerimismudel (interpreter model e operational model) - milline on seos sisendi ja täidetavate käskude vahel, selle mudeli kirjeldamiseks peab olema süsteem programmi struktuuride ülesmärkimiseks (vajalik programmeerijale) · matemaatiline mudel (mathematical model) - milline on seos sisendi ja väljundi vahel (vajalik kasutajale) Andmebaaside käivitamine. Installeerimine, Andmebaaside
puustruktuuri põhiväärtuse ja alamväärtustega(’’vanem ja lapsed“), mis on ühendatud sõlmede kogumina. 6. nädal • Eksamiks: kompileerimine, interpreteerimine, parsimine, jit, vahekood, programmeerimiskeeled vs kirjelduskeeled, json, html, sql, keelte äratundmine (assembler, fortran, cobol, lisp, C, modula/pascal, python). Mis on data warehouse. Kompileerimine - tõlgib kõrgtaseme keelest masinkoodi (või mingisse nn. vahekoodi, näit. Java baitkoodi) - Kompilaator teeb neist assemblerikeelsed ajutised failid / võtab “source code”i ja tõlgendab selle masinale arusaadavaks koodiks. Masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näited: C, Fortran, Go. Interpreteerimine – masinkoodis programm nimega interpretaator loeb sisse X keeles faili,
käsud: Add #68,R0,R5 Mul #92,R4,R1 Add #$24,R4,R3 Add R0,R4,R5 Registrite R0 ja R4 sisu enne programmi käivitamist on vastavalt 396 ja 1488.Milline on seitsmenda takti lõpuks puhvri B3 sisu, kui see protsessor andmete edastamise (operand forwarding) tehnikat ei kasuta? V: 1524 4) Oletame, et programmi dünaamilises töövoos on 24% hargnemise käske. Kasutatakse hargnemise ajatamist (delayed branching) ühe ajatuspesaga (delay slot). Mitu korda kiireneb sellise programmi käivitamine, kui kompilaator suudab ajatuspesa täita 81% juhtudest (võrreldes ajatuspesa kasutamata jätmise olukorraga)? V: 1,19 5) Oletame, et programmi dünaamilises töövoos on 23% hargnemise käske. Kasutatakse hargnemise ajatamist (delayed branching) kahe ajatuspesaga (delay slot). Mitu korda kiireneb sellise programmi käivitamine, kui kompilaator suudab esimest ajatuspesa täita 81% juhtudest ja teist ajatuspesa täita 20% juhtudest (võrreldes ajatuspesa kasutamata jätmise olukorraga)? V: 1,189
Kõrgkeeled on erineva abstraktsusastmega: Masinalähedane ja Opsüsteemi põhieesmärgid: ebamugav: Fortran, C (portaabel assembler), Abstraktsem ja Pakkuda programmeerijale valmistehtud standardtükke. mugavam: Lisp, Ada, ML, Java, Python Võimaldada kasutajal arvutis ühtemoodi ja harjumuspäraselt tegutseda, sõltumatult sellest, mis Kompileerimine: masinkoodis programm nimega kompilaator programmid tal arvutis on. teisendab keeles X programmi masinkoodfailiks Y. Seejärel Miks opsüsteem? täidetakse saadud masinkoodis programm Y. Näide: C. Arvutit saaks programmeerida ka ilma opsüsteemita. Sel juhul: oleks iga programmi tegemine palju raskem kui opsüsteemi Interpreteerimine: masinkoodis programm nimega interpretaator olemasolu korral
hajussüsteemide arendamiseks, kus Java töötab kliendi ja serveri rollis olevatel komponentidel (Enterprise JavaBeans), mis asuvad erinevates süsteemides. On Java SE laiend. Selle platvormi SDK sisaldab võimsat serverit ning suurt arvu teisi Java tehnoloogial põhinevaid käituskeskkondi Pildil on toodud Java platvormide standardklasside näiline jaotus. JDK programmid ja klassid: põhilised osad (pildil on toodud paki jdk1.6.0_11 ja kataloogi bin sisu): · kompilaator javac tõlgib algteksti baitkoodi; · interpretaator java, sisaldab JVM teostuse; · aplettide läbivaatamise programm appletviewer, asendab veebilehitseja; · silur jdb; · disassembler javap; · varundusprogramm jar; · dokumendikoostamise programm javadoc; · C keele päisfailide genereerimise programm 5 javah ;
alguses. Esialgu oli UNIX mõeldud kasutamiseks programmeerijatele ja kuigi ta on aastatega edasi arenenud, on UNIX ikka veel mitte eriti kasutajasõbralik. Graafiliste kasutajaliideste nagu MOTIF (X-Window System'iga töötav graafiline kasutajaliides ja aknahaldur, mida juurutab Open Software Foundation) lisamine on asja siiski parandanud. UNIX oli üks esimesi C-keeles kirjutatud operatsioonisüsteeme, mis tähendab, et seda saab installeerida igale arvutile, millel on olemas C-keele kompilaator. 8 BSD operatsioonisüsteemid koosnevad kolmest loogilisest üksusest: tuum, kasutajamaailm ja kolmandate osapoolte tarkvara. Tuuma (kernel) ja kasutajamaailma (userland) arendatakse koos. Operatsioonisüsteemi arendajatel on üle CVS'i juurdepääs korraga tervele lähtekoodile. Tuuma ja kasutajamaailma koos arendamisega tagatakse erinevate süsteemi osade parem ühilduvus.
alguses. Esialgu oli UNIX mõeldud kasutamiseks programmeerijatele ja kuigi ta on aastatega edasi arenenud, on UNIX ikka veel mitte eriti kasutajasõbralik. Graafiliste kasutajaliideste nagu MOTIF (X-Window System’iga töötav graafiline kasutajaliides ja aknahaldur, mida juurutab Open Software Foundation) lisamine on asja siiski parandanud. UNIX oli üks esimesi C-keeles kirjutatud operatsioonisüsteeme, mis tähendab, et seda saab installeerida igale arvutile, millel on olemas C-keele kompilaator. BSD operatsioonisüsteemid koosnevad kolmest loogilisest üksusest: tuum, kasutajamaailm ja kolmandate osapoolte tarkvara. Tuuma (kernel) ja kasutajamaailma (userland) arendatakse koos. Operatsioonisüsteemi arendajatel on üle CVS'i juurdepääs korraga tervele lähtekoodile. Tuuma ja kasutajamaailma koos arendamisega tagatakse erinevate süsteemi osade parem ühilduvus. Tuum ja kasutajamaailm moodustavad minimaalse baassüsteemi kus on olemas C
Operatsioonisüsteem võib kindlustada programmmi laadimist mällu välistelt andmekandjatelt. Seda selliselt, et eelmise programmi täitmise lõpetamist ära ei oodata. Nii saab ära hoida protsessori tühijooksu. Programmi tekst sisestati perfolindile või perfokaartidele. Magnetlint kompilaatoriga paigutati seadmesse ning seade ühendati. Kaardi(perfolindi)lugeja luges kaardid (perfolindi), mille sisu väljastati magnetlindile. Kompilaator käivitati Draiverid Järgmiseks etapiks olid sisendit ja väljundit teostavad programmid, mis sisestasid ja väljastasid infot ajal, kui cpu töötas. Sisend-väljundoperatsiooni lõppemisel edastasid nad katkestuse. Katkestuse saamisel salvestas arvuti vajalikud andmed ja juhtimine suundus vastavalt katkestuse iseloomule. Kastkestuse töötlemiseks luuakse igale seadmetüübile vastav programm, seadme draiver, mis kuulub monitori koosseisu. Struktuurprogrammeerimine
lrhuras. kormtas_ .jagas nUgaVaID: Usp, Ada, ML, Java, Python I VSimaldada kasutajal aryutis ohtmoodi ja harjumusparasell tegutseda, s6ltumatuli 6ellest. mis Kompilerimirer masinkoodis programm nimega kompilaator programmid lal arvutis on. I 7 1.1 Kir.itrtusnilsin. Hcnn, Mill. teisndab keeles X programmi masihkoodtailiks Y. Seeja.el Mika op6ustes? Uidetakse 6aadud masinkoodis programm Y. Niiide: C. Arudil saaks programmeerida ka ilma opsiilsteemita
· Alamklasside koostamisel võib tekkida vigu konstruktoritega seoses · Seosed ülemklassi konstruktoritega · Ei pärita · Konstruktorite aheldamine (ingl. k. Chaining). Alamklassi konstruktor · peab tagama ülemklassi konstruktori rakendamise et alamklassi isend oleks ka ülemklassi isend · Konstruktor võib välja kutsuda üledefineeritud konstruktori (this(...)) vahetu ülemklassi konstruktori (super(...)). · Kui kumbagi neist ei ole kasutatud, siis kompilaator lisab käsu super() konstruktori esimeseks lauseks. Vaikekonstruktor · Kui ei ole ühtegi teist konstruktorit kirjeldatud · Ilma argumentideta · Kutsub välja ülemklassi ilma argumentideta konstruktori Klassi Object on selline ilmutatult · Väärtustamata isendiväljadele vaikeväärtused int 0 String null 9. Loeng Erindid Erind (ingl. k. exception) · sün. erandolukord
Arvuti riistvara 1. Arvutustehnika ajalugu a. Kes on nende kuulsate sõnade autor(id)? “640K mälu peaks olema piisav kõikidele.” ■ Vastus: Bill Gates b. Milline oli esimene kommertsmikroprotsessor? ■ Vastus: 4004 c. Milline oli esimene tabelarvutusprogramm? ■ Vastus: VisiCalc d. Milline nendest firmadest esitles esimesena WYSIWYG konsteptsiooni? ■ Xerox e. Milline nendest firmadest valmistas esimese 32bitise protsessori? ■ National Semiconductor f. Milli(ne/sed) arvuti(d) aitasi(d) briti valitusel II maailmasõja ajal murda koode? ■ Colossus g. Milline organisatsioon lõi WWW esialgse spetsifikatsiooni? ■ CERN 2. Arvuti, mis see on? 3. Protsessorid 1 4. Protsessorid 2 a. vahemälu Smart Cache b. tr...
pole vahet, millises keeles programmeerid, sest kompileeritud kood on lõpuks ikkagi sama. Seega saab iga programmeerija valida endale just selle keele, mis kõige hingelähedasem. Järgmine tase on CLR e. Common Language Runtime (Mono puhul CLI virtual machine), mis pakub hallatud (turvalist) keskkonda programmeerimiseks. Selles hallatud keskkonnas on keskse kontrolli all klasside laadimise e. mälu hõivamine, mälu vabastamine (Garbage collector) ning vahekoodi kompilaator masinkoodiks. Lisaks pakub CLR programmi loomiseks vajalikke klasse. Lisaks klasside kasutamise võimalusele on paljud neist ka päritavad e. nendest on võimalik pärimise teel luua oma klasse. Kõrval asuvalt diagrammilt on näha, et raamistik lisab uue kihi programmi ja riistvara vahele, mis loomulikult ei mõju hästi programmi jõudlusele. Hea uudis on see, et Microsofti .NET raamistik integreerub üsna ilusti Windowsi sisse muutudes osaks Windowsist. Enamgi veel, kui võtta
Moodul 1 Info- ja sidetehnoloogia (IST) mõisted Riistvara olemus, arvuti jõudlust mõjutavad tegurid ja välisseadmed. Tarkvara olemus, näited üldlevinud rakendustarkvara ja operatsioonisüsteemide kohta. Andmetöötluses kasutatavad infovõrgud, Interneti-ühenduse erinevad võimalused. Info- ja sidetehnoloogia (IST) olemus, näited selle praktilistest rakendustest igapäevaelus. Arvutite kasutamisega seotud tervise-, ohutus- ja keskkonnaprobleemid. Arvutite kasutamisega seotud olulised turvaprobleemid. Arvutite kasutamisega seotud olulised juriidilised küsimused, mis puudutavad autoriõigust ja andmekaitset. 1.1 Riistvara 1.1.1 Mõisted 1.1.1.1 Termini ,,riistvara" tähendus. Riistvara (hardware). Arvuti füüsilised komponendid kuvar, protsessor, mälu, kettadraivid, modem, printer, klaviatuur, hiir, juhtmed, pistikud jms. Arvuti, raal, kompuuter programmeeritav masin. Arvuti kaks peamist omadust on: arvuti reageerib kindlaksmääratud käskudel...
SSD (flash mälu, mälupulgad) on samuti transistoridest, aga aeglane ja odav 7. 15 Päringukeeled (SQL, RDQL, ....) Kujunduskeeled (HTML, PS, ...) Spetsiftseerimiskeeled (loogikakeeled, UML, ....) Parser ehk süntaksianalüüs: süntaksipuu - Parser ehitab mällu süntaksipuu, mida siis edasi töödeldakse Kuidas keeles X kirjutatud programmi täidetakse? Kompileerimine: masinkoodis programm nimega kompilaator teisendab keeles X programmi masinkoodfailiks Y. Seejärel täidetakse saadud masinkoodis programm Y. Näited: C, Fortran, Go Interpreteerimine: masinkoodis programm nimega interpretaator loeb sisse X keeles faili, teisendab ta nö pseudo-assembleriks / vahekoodiks ja asub seda vahekoodi varianti rida-realt täitma. Näited: Python, PHP, Perl, vanemad Javascripti mootorid jne. NB! Programmi interpreteerimine on ca 10-200 korda aeglasem, kui kompileeritud koodi täitmine
1953 Charles Townes valmistab esimese maseri. 1953 Watson ja Crick avastavad DNA struktuuri. 1953 Ewing ja Heezen avastavad Vaikse ookeani keskmäestiku. 1953 Stanley Miller näitab, kui juhtida välku läbi anumate, milles on vesi, metaan, lämmastik ja vesinik, võivad tekkida aminohapped. 1954 Auguste Piccard ehitab batüskaafi, millega jõutakse 4 km sügavusele. 1954 Konstrueeritakse esimene tuumareaktor. 1954 Kirjutatakse esimene kompilaator programmeerimiskeele FORTRAN jaoks. 1955 Bridgeman valmistab kõrge rõhu all süsinikust tehisteemante. 1955 Segre ja Chamberlain tekitavad anti-prootoni. 1956 Lee ja Yang aravavad, et beetalagunemise ajal ei pruugi paarsus jääv olla. 1956 Chien-Shiung Wu avastab, et koobalti isotoobi Co-60 beetalagunemisel rikub nõrk vastikmõju paarsuse jäävust. 1957 Nõukogude Liit saadab üles sputniku, Maa esimese tehiskaaslase.
Koodi porditavus Milline lause kirjeldab kõige paremini objekti mõistet objektorienteeritud programmeerimises? Andmete ja meetodite kogum Missugune alltoodud lause kirjeldab tüüpilist tarkvarasõltuvust (dependency), mida Java programmi juurutaja peab arvestama? Java programmil on tööks vaja teatud taseme Java käituskeskkonda (runtime) Milline valik tuleb panna (***) asemele, et EPL prgrammilõik prindiks 10 täisarvu: 11 kuni 20? I<21 Millised toodud vigadest ei suuda kompilaator leida? Loogikavead Olgu a, b ja c kolm ujukomaarvu, kusjuures c ei ole 0. Milline selgitus kajastab õigesti kahe artimeetilise võrrandi (a*b)/c ja a*(b/c) tulemusi? Tulemused võivad teatud juhtudel erineda. Milline lause on õige, kui HTML lehekülg sisaldab järgnevat linki? Video mängitakse ette ainult siis kui kasutaja klikib lingile ja kui ,,mov" (QuickTime) formaati tunnistav esitustarkvara on arvutisse paigaldatud.
........................................6 Kellele see algkursus on mõeldud?..................................................................6 Mida sellel kursusel ei õpetata?.......................................................................6 Mida selle kursusel õpetatakse?......................................................................6 Kuidas õppida?.................................................................................................7 Mis on kompilaator?.............................................................................................8 Milliseid kompilaatoreid kasutada ja kust neid saab?......................................8 Millist keelt valida?...........................................................................................8 ESIMENE TEEMA: sissejuhatav sõnavõtt ehk 'milleks on vaja programmeerimist?'..........................................................................................10
1. Trigerid Triger on mäluelement, mis säilitab 1 biti informatsiooni. Triger on kahe stabiilse olekuga loogikalülitus (1 või 0). Trigeri olek vastab tema väljundsignaalile. Sõltuvalt sisendsignaalist säilitab triger endise oleku või muudab seda hüppeliselt (seega sültub trigeri väljund ka selle eelmisest väljundist). Trigeril on tavaliselt 2 väljundit: otsene Q ja invertne Q . Tööpõhimõtte järgi jaotatakse trigerid seadesisenditega ehk SR- trigeriteks, loendussisenditega e. T- trigeriteks, andmesisenditega ehk D- trigeriteks ...