4. Lausekielinen ohjelmointi

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Tietokoneen käyttöjärjestelmä
JavaScript (c) Irja & Reino Aarinen, 2007
HTML-kielen perusteet Osa 1 Vilho Kemppainen
Kiintolevyn osiointi.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Rakenteinen ohjelmointi
1. Olio-ohjelmointi.
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
13. Pakkaukset.
Näytölle tulostaminen. 7.2 Sisällys System.out.println - ja System.out.print -operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden.
Ohjelma on kokoelma toimintaohjeita annetun tehtävän ______________________. Ohjelmassa on peräkkäisten toimintojen lisäksi yleensä valintaa ja _____________.
Sovellusohjelman suunnittelu & toteutus
Tekstiasiakirjan kirjoittaminen
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
Java-ohjelmointikieli -Javasta ohjelmointikielenä -ohjelmontivälineistä -opasteista.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
2. Vuokaaviot.
13. Hyvä ohjelmointitapa (osa 1)
Ohjelmointi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Visual Basic -ohjelmointi
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
GNU-Ohjelmointityökalut. Tärkeimmät perustyökalut ovat: Kääntäjä (GCC) Asennusohjelma (MAKE) Virhejäljitin (GDB) GNU Binary Utilities (binutils) GNU C.
Kuinka tehdä blogi o365:ssä
C-ohjelmoinnin perusteet
Matematiikkaa tietokoneella mikko opettaa Sagen avulla matematiikkaa ja ohjelmointia
HelloWorld-ohjelma. 5.2 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi.
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
5. Kapselointi Yleistä Kapseloinnilla (encapsulation) tarkoitetaan luokan tietojen ja toimintojen pakkaamista yhdeksi suojatuksi kokonaisuudeksi.
GNU- ohjelmointityökalut Samppa Rönkä OH2. GNU ? GNU (GNU's Not Unix) on ohjelmoija Richard Stallmanin vuonna 1983 käynnistämä projekti, jonka tavoitteena.
Näppäimistöltä lukeminen Sisällys Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä. In -luokka.
XHTML-perusteita Teppo Räisänen
Toimisto-ohjelmat Linuxissa Mikael Hätinen & Antti Ukkonen OH2.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
Toteutus. Ohjelmointikielen valinta Käytetään samaa kuin muutkin Työkalujen laatu Usein asiakas määrää Yleensä valittu jo ennen toteutusta Osaaminen vs.
Tiedostojen käsittely
Visual Basic -ohjelmointi
Merkistöstandardeista
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
GNU-ohjelmointityökalut Panu Tertsunen & Daniel Liljeqvist.
15. Ohjelmoinnin tekniikkaa
Aiheet ● Ohjelmointikielten kääntäminen ● Kieliopin määrittely ● Kääntäjän toiminta.
.NET ohjelmointi C#-kielellä RäsSe, lokakuu 2004.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembler.
Lausekielinen ohjelmointi. 4.2 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi,
15. Ohjelmoinnin tekniikkaa Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi.
5. Kapselointi.
8. Näppäimistöltä lukeminen
15. Ohjelmoinnin tekniikkaa
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
5. HelloWorld-ohjelma.
7. Näytölle tulostaminen
WineApi ja Virtuaaliohjelmistot
19. Tietovirrat.
8. Näppäimistöltä lukeminen
16. Ohjelmoinnin tekniikkaa
14. Hyvä ohjelmointitapa.
13. Pakkaukset.
Tietokoneen toiminta (2 ov)
7. Näytölle tulostaminen
5. HelloWorld-ohjelma.
3. Attribuutit.
13. Pakkaukset.
4. Luokan testaus ja käyttö olion kautta
1. Olio-ohjelmointi.
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

4. Lausekielinen ohjelmointi

Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen, tulkinta ja Java.

Konekieli ja symbolinen konekieli Aluksi ohjelmoitiin tietokoneiden sellaisenaan ymmärtämällä konekielellä (machine language), jossa suorittimen komennot ja niiden parametrit esitetään binäärilukuina. Symbolisessa kone-kielessä (assembly language) komennoille on annettu lyhyet nimet. Erästä suoritinta voitaisiin käskeä sijoittamaan akkuun (suorittimen rekisteri) luku yksi seuraavasti: 10101001 00000001 tai LDA #$01. Tällaisten kielten käyttö on vaikeaa ja eikä ohjelmia voi ajaa toisen tyyppisellä suorittimella.

Lausekieli Abstraktimpi kieli, hieman luonnollisen kielen kaltainen. Luonnollisen kielen käyttö ohjelmoinnissa vaikeaa kieliopin monimutkaisuuden sekä lauseiden ja sanojen moniselitteisyyden vuoksi. Lausekielinen ohjelmointi mahdollista rajatun kieliopin ja sanaston sekä kääntäjä- ja tulkkiohjelmien ansiosta. Kielimuurin yli lausekielellä: 1010101011100010... ... i = i + 1; Lausekieli konekieleksi kääntäjällä ja/tai tulkilla. Ajatus ohjelmaksi. Kasvatetaan laskurimuuttujaa i yhdellä.

Lausekieli Sanasto koostuu pääasiassa tunnuksista ja varatuista sanoista. Tunnukset (indentifier) ovat nimiä: esimerkiksi muuttujien ja operaatioiden nimet ovat tunnuksia. Varatut sanat (reserved word) on tavallisesti valittu englannin kielestä, eikä niitä voi käyttää omina tunnuksina. Varattuja sanoja käytetään muun muassa kielen ohjausrakenteiden esittämiseen (esim. if ja while).

Lausekieli Ohjelmointi helpompaa ja nopeampaa kuin alkeellisemmilla kielillä. Ohjelmat tyypillisesti suoritinriippumattomia ja hyvin tehtyinä siirrettävissä käyttöjärjestelmien välillä. Ensimmäiset lausekielet esiteltiin jo 1950-luvulla. Muun muassa Basic, Pascal, C, C++ ja Java. Englannin termi “high level language” käännetään usein lausekieleksi ja/tai korkean tason kieleksi. Lausekieliä on kuitenkin eritasoisia: C vs. Java.

Lausekielestä konekieleksi Lausekielestä tuotetaan konekieltä siten, että lausekielinen ohjelma kirjoitetaan tekstitiedostoon ja ohjelma muutetaan konekieliseksi tiedostoksi antamalla tekstitiedosto kääntäjälle. Konekielistä tiedostoa kutsutaan: suoritus- tai ajokelpoiseksi ohjelmaksi tai lyhemmin suoritettavaksi tai ajettavaksi ohjelmaksi tai vielä lyhemmin vain ohjelmaksi tai sovellukseksi. Huomaa, että myös lähdekoodia sanotaan lyhyesti ohjelmaksi. ... i = i + 1; ... 0010101010110000 käännös

Lähdekoodi ja tekstitiedosto Lausekielinen ohjelma eli lähdekoodi (source code) tallennetaan teksti-tiedostoksi (text file), joka koostuu kirjaimista, numeroista, välimerkeistä ja näkymättömistä ohjausmerkeistä (muun muassa rivinvaihto- ja tabulaattori). Toisinaan rajoitutaan ASCII-merkistöön, joka ei sisällä å-, ö-, ä-, Å-, Ä- ja Ö-merkkejä. Tekstitiedostot ovat käytännössä aina ihmisen luettavassa muodossa. Lähdekoodiin ei voi sijoittaa tekstin muotoiluja (lihavointi, kursivointi yms.) tai kuvia.

Tekstieditorit Tekstitiedostoja tehdään yksinkertaisilla tekstin-käsittelyohjelmilla eli tekstieditoreilla. Kurssilla riittää editori, joka osaa näyttää rivinumeron. Esimerkiksi Notepad (Windows) tai nano (UNIX). Kurssin kotisivuilla linkkejä parempiin editoreihin. Notepad++:lle (Windows) myös joitakin käyttöohjeita. Laajempien ohjelmien tekoon löytyy ohjelmointi-ympäristöjä (esimerkiksi Eclipse). Microsoft Word -ohjelma ei ole tarkoitettu ohjelmointiin vaan monipuoliseen tekstinkäsittelyyn. Aloittelevan ohjelmoijan ei kannata edes yrittää kirjoittaa ohjelmia Wordillä!

Kääntäminen ja tulkinta Ihminen ymmärtää lausekielistä lähdekoodia, mutta tietokoneelle koodi on liian monimutkaista. Koodi onkin muutettava tietokoneen ymmärtämään muotoon, konekieliseksi tiedostoksi. Kieliraja voidaan ylittää luonnollisen kielen tapaan lähdekoodia konekieleksi kääntämällä (compile) ja tulkitsemalla (interpret). Konekieli on ihmiselle käsittämätöntä, mutta tämä ei ole ongelma, koska yleensä konekieltä ei tarvitse muuttaa takaisin lausekieleksi.

Kääntäminen ja tulkinta Kääntäjäohjelma muuttaa lähdekoodin suoraan suoritettavaksi ohjelmaksi. Tulkittavan kielen lähdekoodi suoritetaan erillisellä ohjelmalla eli tulkilla, joka muuttaa ajonaikaisesti lähdekoodin konekieleksi. lähdekoodi lähdekooditiedosto käännös tulkinta suoritus konekieli konekielinen tiedosto

Kääntäminen ja tulkinta Ohjelman oltava kieliopillisesti oikein, jotta tulkkaus tai kääntäminen onnistuisi: Kielioppivirheistä ilmoitetaan yleensä virheen tyyppi ja rivi, jolta virhe löytyi. Käännetty koodi on yleensä tulkattavaa koodia nopeampaa, mutta tulkattavalla kielellä on helpompi tehdä pieniä testejä. Käännettäviä lausekieliä ovat esimerkiksi Pascal, C ja C++ ja tulkattavia kieliä muun muassa Basic.

Kääntäminen, tulkinta ja Java Javassa voimme nauttia sekä kääntämisestä että tulkkauksesta. Lähdekoodi käännetään ensin tavukoodiksi (bytecode). Tavukoodi suoritetaan tulkin avulla virtuaali-koneessa (virtual machine). lähdekoodi lähdekooditiedosto käännös tulkinta suoritus tavukoodi konekieli tavukooditiedosto

Kääntäminen, tulkinta ja Java Tavukoodin ansiosta Java-sovellukset ovat siirrettäviä. Samaa tavukoodia voidaan ajaa kaikkialla missä on tarjolla virtuaalikone: Intel- ja SPARC-suorittimet, Windows, Linux, UNIX, tietokone, video, pesukone, kännykkä jne. Tavukoodi voidaan edelleen kääntää ajettavaksi ohjelmaksi, jolloin ohjelma kuitenkin sidotaan tiettyyn ympäristöön.