OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Koko: px
Aloita esitys sivulta:

Download "OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012"

Transkriptio

1 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 8: Tietokoneen toiminta, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al.

2 Päivystysaika Maanantaisin klo TE112 Tietotalo, ohjelmistotekniikan laitos, Zipin vieressä olevasta lasiovesta sisälle ja heti ensimmäinen käytävä oikealle Paikalla todennäköisesti myös tiistaisin ja torstaisin klo Tapaamisen voi sopia myös sähköpostitse,

3 Bonustehtävien uusi palautusaikataulu Bonustehtävät tarkastetaan ja hyväksytään kunkin viikon keskiviikkoon mennessä. Pistesaldon voi tarkastaa Moodlen arvioinnit-sivulta, kuten viikkoharjoituspisteetkin.

4 Harjoitustyön tehtävänanto julkaistu tänään! Essee tietoturvasta Tarkka tehtävänanto sisällysluetteloineen löytyy kurssin Moodlesivulta Parityö, paria voi etsiä Moodlessa Deadline eli tenttiviikkoa edeltävänä sunnuntaina Kuten myös kurssin harjoitustehtävien deadline...

5 Vanhoille opiskelijoille Koska kurssi järjestetään viimeistä kertaa tänä lukuvuonna, hyväksytään sekä aikaisempina vuosina palautetut esseet että viikkoharjoitukset...tietysti vain hyväksytyt suoritukset näistä... Hyväksytty essee Kokonainen harjoituspaketti Bonustehtäviä ei voi kierrättää aikaisemmilta vuosilta Kurssin kotisivulta löytyy suoritustentarkastusautomaatti Vaatii intrakirjautumisen

6 Harjoitustyöstä: yleisiä ongelmia Lähdeviitteet tekstin seassa! Sekä tietysti lähdeluettelo Mistä löytyvät viittaustekniikat...? Nettilähteisiin viittauspäivämäärä Lähdemateriaalin laatu (esim. Wikipedia ok) Plagiointi tästä jää kiinni... Palautus pdf-muodossa muista formaateista seuraa bumerangi kysykää viikkoharkoissa jos ette osaa muuntaa dokumenttia oikeaan muotoon! Mikäs olikaan tämä bumerangi? Palautusdeadline on ehdoton Vain toinen parista palauttaa työn Muistakaa merkitä kummankin tekijän tiedot työhön!

7 Luennon aiheet Mikä tietokone on Algoritmin käsite Ohjelman käsite Tietokoneen perusrakenne Prosessorin eli suorittimen toiminta

8 Tietokoneen toiminta ja rakenne Tietokoneen sisäinen toiminta ja rakenne ei näy suoraan käyttäjälle Onko sen ymmärtäminen hyödyllistä? Vrt: vaatiiko autolla ajaminen tuntemusta auton toiminnasta? Yht äkkiä se vain teki niin Monien käyttäjälle näkyvien asioiden ymmärtäminen on vaikeaa, ellei tiedä miten koneen sisällä tapahtuu Tietokoneiden perusrakenne ja toimintaperiaatteet ovat pysyneet samoina pitkään Ei ole oletettavissa että mitään radikaalia muutosta tapahtuu lähitulevaisuudessa Samat lainalaisuudet ja periaatteet pätevät niin kännykkään, mp3-soittimeen kuin pöytäkoneeseenkin Tällä kurssilla (niin kuin yliopistossa yleensäkin) pyritään välttämään nopeasti vanhenevan tiedon opetusta

9 Mikä on tietokone? Tietokone on laite, jossa on tiedon syöttö- ja tulostusmahdollisuus Tietokone tuottaa syöttötietojen perusteella tulostietoja Tietokoneella on muisti, jossa voidaan säilyttää Tietoa jota tarvitaan, kun syöttötiedoista tehdään tulostietoa Ohjelmia, eli ohjeita, joiden mukaisesti syöttötiedoista muodostetaan tulostietoja Tietokone Syöttötiedot (input) Muisti Ohjelma Tulostiedot (output)

10 Miten tietokone toimii? Kaikki, mihin tietokone kykenee, on sisään tulevan tiedon varastointi, muokkaus ja ulostulevan tiedon tuottaminen Kaikki tämä tapahtuu "mekaanisesti" koneessa olevien ohjeiden, eli ohjelmien, mukaisesti Syöttötietojen lukeminen ja tulostietojen tuottaminen tapahtuu usein samaan aikaan Suurin osa ohjelmista on nykyisin interaktiivisia Interaktiivinen tarkoittaa vuorovaikutteista Interaktiivinen ohjelma "keskustelee" käyttäjän kanssa jatkuvasti Vastakohtana ohjelmat, jotka lukevat kaikki syöttötiedot, raksuttavat vähän aikaa ja tulostavat sitten vastauksen Tällaisia ohjelmia kutsutaan eräohjelmiksi, ne käsittelevät erän tietoa kerralla

11 Mitä tietokone ei ole? Tietokone on vain erittäin nopea laskukone ja tiedon tallentaja; tietokone ei Päätä omasta käytöstään Syötä itse itseensä tarvittavia tietoja Arvaa, mitä käyttäjä haluaisi tehdä Tee mitään ylimääräisiä johtopäätöksiä laskemiensa tulosten perusteella Osaa ottaa huomioon mitään, mitä niille ei ole erikseen kerrottu Tietokoneohjelmat ovat ihmisten tekemiä, ja lähes kaikki tietokoneiden virheet johtuvat ihmisten (ohjelmoijien) ohjelmiin tekemistä virheistä Kone ei siis tee virheitä, mutta ohjelmoija tekee

12 Millaisia ovat yleisimmät tietokoneet? Sulautettu järjestelmä on tietokonejärjestelmä, joka on rakennettu laitteen sisään siten, ettei käyttäjän tarvitse tietää mitään laitteen sisäisestä toiminnasta. Wikipedia ( ), URL: Myös näissä laitteissa on muistia ja jonkinlainen ohjelma Näyttölaitetta tai näppäimistöä ei välttämättä ole tai muitakaan tuttuja tietokoneen osia Esimerkkejä: pesukone, auto, kännykkä, DVD-soitin, liikkuvat ja älykkäät työkoneet

13 Tietokoneohjelma ja algoritmi Edellä kävi ilmi, että tietokoneen toimintaa ohjaavat erilaiset tietokoneohjelmat Tietokoneohjelma-käsitteen ymmärtäminen on käyttäjälle vähintään yhtä tärkeää, kuin jonkinlainen kuva tietokoneen rakenteesta... Olennaisinta tietokoneen toiminnan kannalta on kuitenkin ymmärtää käsite algoritmi Ohjelmat perustuvat algoritmeihin

14 Mikä on algoritmi? J. G. Brookshear: "Vapaamuotoisesti sanottuna algoritmi on joukko ohjeita, jotka ohjaavat tehtävän suorittamista." "Tarkemmin, algoritmi on äärellinen joukko täsmällisiä, suoritettavissa olevia ohjeita, jotka ohjaavat päättyvää tehtävän suoritusta. Koska algoritmin käsite on näin laaja, eivät algoritmit liity yksinomaan pelkästään tietokoneisiin Esim. keittokirja on itse asiassa kokoelma algoritmeja, joita seuraamalla kokkaamisen pitäisi onnistua Vastaavasti koottavan kirjahyllyn mukana pitäisi tulla algoritmi, jonka avulla palasista saa koottua kirjahyllyn... Algoritmeja ovat siis kaikki täsmälliset suoritusohjeet Algoritmin ei tarvitse selittää "miksi", vaan ainoastaan "miten

15 Esimerkki algoritmista Jauhelihakastike (4 annosta) Ainekset: 400 g naudan jauhelihaa 1 tl suolaa 1/2 tl mustapippuria 1/2 ps (100 g) sipulikuutioita 1 tlk (500 g) yrttimaustettua tomaattimurskaa 1 ps (250 g) keittovihanneksia (pakaste) 1-2 tl basilikaa tai oreganoa 1. Ruskista jauheliha kuumalla pannulla omassa rasvassaan. 2. Mausta suolalla ja pippurilla. 3. Lisää sipulikuutiot, tomaattimurska ja keittovihannekset. 4. Anna hautua kannen alla noin 10 min, kunnes vihannekset ovat kypsiä. 5. Mausta lopuksi basilikalla tai oreganolla. Tarjoa kastike keitetyn spagetin ja parmesaanijuustoraasteen kanssa.

16 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

17 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 13 (DEC) binääriesitys? Muisti: Binääriesitys:? Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

18 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 13 (DEC) binääriesitys? 13 / 2: osamäärä 6, jakojäännös 1 Muisti: 1 Binääriesitys:? Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

19 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 13 (DEC) binääriesitys? 13 / 2: osamäärä 6, jakojäännös 1 6 / 2: osamäärä 3, jakojäännös 0 Muisti: 10 Binääriesitys:? Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

20 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 13 (DEC) binääriesitys? 13 / 2: osamäärä 6, jakojäännös 1 6 / 2: osamäärä 3, jakojäännös 0 3 / 2: osamäärä 1, jakojäännös 1 1 / 2: osamäärä 0, jakojäännös 1 Muisti: 1011 Binääriesitys:? Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

21 Toinen esimerkki algoritmista Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 13 (DEC) binääriesitys? 13 / 2: osamäärä 6, jakojäännös 1 6 / 2: osamäärä 3, jakojäännös 0 3 / 2: osamäärä 1, jakojäännös 1 1 / 2: osamäärä 0, jakojäännös 1 Muisti: 1011 Binääriesitys: 1101 Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

22 Tehtävä: muunna 11 binääriluvuksi Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 11 (DEC) binääriesitys? 11 / 2: osamäärä?, jakojäännös? Muisti: Binääriesitys:? Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

23 Tehtävä: muunna 11 binääriluvuksi Positiivisen kokonaisluvun muuttaminen binääriluvuksi Vaihe 1: Jaa luku 2:lla ja pane jakojäännös muistiin Vaihe 2: Niin kauan kuin osamäärä ei ole 0, jaa uusin osamäärä kahdella ja pane jakojäännös muistiin Vaihe 3: Kun osamäärä on 0, luvun binääriesitys on jakojäännösten muodostama bittijono päinvastaisessa järjestyksessä Mikä on luvun 11 (DEC) binääriesitys? 11 / 2: osamäärä 5, jakojäännös 1 5 / 2: osamäärä 2, jakojäännös 1 2 / 2: osamäärä 1, jakojäännös 0 1 / 2: osamäärä 0, jakojäännös 1 Muisti: 1101 Binääriesitys: 1011 Lähde: Brookshear, G,. B.: Tietotekniikka. Edita publishing Oy, Helsinki, 2003.

24 Kolmas esimerkki algoritmista Merkintä i <- 2 tarkoittaa: sijoita muuttujaan i arvo 2 Ks.

25 Mikä on tietokoneohjelma? 1/2 Tietokoneohjelma esittää tietyn algoritmin tietokoneen ymmärtämässä muodossa Koska tietokone ei ymmärrä ihmisten käyttämää kieltä, ei esim. keittokirjaa sellaisenaan voi naputtaa koneeseen ja tehdä kokkausrobottia Tietokone ei ymmärrä hölkäsen pöläystä siitä, mitä siihen syötetyllä ohjelmalla pyritään tekemään Koska tietokone on "tyhmä", tietokoneohjelmassa algoritmin ohjeet täytyy selittää rautalangasta vääntäen erittäin seikkaperäisesti Suurin osa tietokoneohjelmien virheistä johtuu siitä, että algoritmia ei ole esitetty tietokoneelle oikein tai koko algoritmi on alkujaankin ollut päin mäntyä

26 Mikä on tietokoneohjelma? 2/2 Yleensä algoritmia ei heti alkuun esitetä tietokoneen ymmärtämässä muodossa (bitteinä), vaan se kirjoitetaan ensin sopivaan ihmisen luettavaan välimuotoon jotain ohjelmointikieltä käyttäen Ohjelmointikielellä tehdystä ohjelmasta tietokone osaa itse tehdä sopivan bittijonon jonon Tietokone kääntää ohjelmointikielisen ohjelman itsensä ymmärtämään muotoon, siis ohjelmaksi Ohjelmointikielellä tehdyn ohjelman etuna on, että se on sekä ihmisen että koneen "ymmärrettävissä" (konehan ei mitään ymmärrä)

27 Esimerkki tietokoneohjelmasta #include <iostream> using namespace std; string kaanna (string mjono) { string kaannetty = ""; for (int i = mjono.size(); i>=0; i--) kaannetty += mjono[i]; return kaannetty; } int main() { int luku; string bittijono; cout << "Anna postiivinen kokonaisluku: "; cin >> luku; if (luku % 2) bittijono = "1"; else bittijono = "0"; while( luku / 2 > 0) { luku = luku / 2; if (luku % 2) bittijono += "1"; else bittijono += "0"; } cout << "Binaariluku: " << kaanna(bittijono) << endl; return 0; }

28 Esimerkki tietokoneohjelmasta #include <iostream> using namespace std; string kaanna (string mjono) { string kaannetty = ""; for (int i = mjono.size(); i>=0; i--) kaannetty += mjono[i]; return kaannetty; } int main() { int luku; string bittijono; cout << "Anna postiivinen kokonaisluku: "; cin >> luku; if (luku % 2) bittijono = "1"; else bittijono = "0"; while( luku / 2 > 0) { luku = luku / 2; if (luku % 2) bittijono += "1"; else bittijono += "0"; } cout << "Binaariluku: " << kaanna(bittijono) << endl; return 0; }

29 Esimerkki tietokoneohjelmasta Tietokoneohjelma on algoritmi, joka on esitetty siten, että sen ymmärtää sekä ihminen että tietokone. Alla esitetty esimerkki on melko lähellä tällaista: 1. MovePaistinpannu(1); Laita paistinpannu hellan levylle 2. SetLevy(1, 6); Aseta hellan levyn lämpötilaksi 6 3. Wait( until temp = 100); Odota hetki, jotta pannu lämpenee 4. PutSomeOil(); Laita pannulle ruokaöljyä tai rasvaa 5. PutMetaLoaf(); Kaada jauheliha pannulle 6. do { Mix(); } until isbrown(); Sekoita, kunnes jauheliha on ruskeaa 7. AddFlavors(); Lisää mausteet

30 Tietokoneen perusrakenne 1/2 Nyt luodaan katsaus tietokoneen fyysiseen perusrakenteeseen Tietokoneen peruskomponentit ovat karkeasti yleistettyinä seuraavat: suoritin keskusmuisti oheislaiteohjaimet ja oheislaitteet väylä

31 Tietokoneen perusrakenne 2/2 Suoritin eli prosessori ohjaa koneen toimintaa Englanniksi CPU (Central Processing Unit) Keskusmuisti sisältää suoritettavan ohjelman ja käsiteltävät tiedot Oheislaiteohjaimet ohjaavat tietokoneeseen liitettyjä oheislaitteita ja kommunikoivat suorittimen ja muistin kanssa Väylä toimii kommunikaatiokanavana suorittimen, muistin ja oheislaiteohjainten välillä

32 Tietokoneen perusrakenne: oheislaitteet Oheislaiteohjainten kautta tietokoneeseen voidaan liittää erilaisia oheislaitteita Näiden avulla tietokone voi sitten olla yhteydessä ulkomaailmaan Näytön kautta voidaan välittää tietoa käyttäjälle Näppäimistöllä käyttäjä voi syöttää tietoa tietokoneeseen Kytkimiä, antureita ja moottoreita käyttäen voidaan tietokone liittää erilaisiin laitteisiin ja kojeisiin

33 Tietokoneen perusrakenne: keskusmuisti 1/3 Keskusmuisti on joukko muistipaikkoja, johon voidaan tallettaa lukuja Muistipaikkaa voi ajatella liitutaululle piirretyksi laatikoksi, johon mahtuu kirjoittamaan yhden luvun Muistipaikan sisältämä luku voidaan tulkita myös esim. kirjaimeksi tai suorittimen konekäskyksi. Muistipaikat on numeroitu nollasta alkaen 0, 1, 2 jne. Muistipaikan numeroa sanotaan yleensä muistiosoitteeksi. Muistipaikkoja on yleensä todella paljon, normaalissa kotimikrossakin muistipaikkoja on nykyisin ainakin kappaletta. Muistia 256 MB, Miksi luku ei ole ?

34 Tietokoneen perusrakenne: keskusmuisti 2/3 Muistipaikat sijaitsevat peräkkäin ja jokaisella paikalla on yksilöivä numero, jonka avulla siihen voidaan viitata Esimerkiksi muistipaikan 4 arvo ( ) on desimaalilukuna 161

35 Tietokoneen perusrakenne: keskusmuisti 3/3 Keskusmuistissa muistipaikkojen numeroita sanotaan muistiosoitteiksi Muistipaikkoja voidaan käsitellä mielivaltaisessa järjestyksessä (Random Access Memory, RAM) ja niihin voidaan lukea ja kirjoittaa Muistia, josta voidaan vain lukea, nimitetään ROMmuistiksi (Read Only Memory), ja sen sisältö säilyy virran katkaisun jälkeenkin

36 Tietokoneen perusrakenne: suoritin 1/4 Suoritin eli prosessori on tietokoneen toiminnan kannalta oleellisin osa Suoritin on integroitu piiri, jonka elektroniikka kykenee suorittamaan muistiin talletettuja konekäskyjä Integroida: yhdentää, muodostaa yhtenäisemmäksi kokonaisuudeksi Mikropiiri: pieni elektroniikan komponentti, jolle on integroitu suuri määrä elektronikkakomponentteja Suoritin suorittaa ohjelmaa askel (käsky) kerrallaan Suorittimen suorittamat käskyt ovat toiminnaltaan hyvin yksinkertaisia Käskyjä ovat usein mm. yhteenlasku, lukujen vertailu, luvun muistista hakeminen, jne

37 Tietokoneen perusrakenne: suoritin 2/4 Suorittimen perusosat ovat ohjausyksikkö ja ALU (Arithmetic and Logic Unit) Ohjausyksikkö noutaa konekäskyjä muistista ja vastaa niiden suorittamisesta ALU taas toimii ohjausyksikön käskyjen alaisena ja suorittaa yksinkertaisia lasku- ja vertailutoimenpiteitä AND, OR, NOT,... Yhteen- ja vähennyslaskut Kerto- ja jakolaskut

38 Suorittimen rekisterit Yleisrekisterit: väliaikainen suorittimen tietojen tallentaja ALUn piirien tiedot, tulosten vastaanotto Ohjausyksikössä erikoisrekisterejä: ohjelmalaskuri, käskyrekisteri ja pino-osoitin Ohjelmalaskuri: seuraavan suoritettavan käskyn osoite Käskyrekisteri: parhaillaan suoritettava käsky Pino-osoitin: osoitin ohjelman parametreihin

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 16: Tietokoneen rakenne, osa 2 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Viikkoharjoitusten

Lisätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

1. Keskusyksikön rakenne

1. Keskusyksikön rakenne 1. Keskusyksikön rakenne Kuvassa on esitelty TTK-91 esimerkkikoneen keskusyksikkö. Oikeiden tietokoneiden keskusyksiköt ovat luonnollisesti monimutkaisempia, mutta tämä riittää oikein mainiosti asian havainnollistamiseen.

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

Johdanto kurssin sisältöön

Johdanto kurssin sisältöön Johdanto kurssin sisältöön Terminologiaa Algoritmi on jonkin tehtävän suorittamiseksi tarvittavien toimenpiteiden kuvaus Ongelman ratkaisu lasketaan suorittamalla algoritmin toimenpiteet Tietokone suorittaa

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka 2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut

Lisätiedot

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Tietokonejärjestelmä Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Kääntäjän virheilmoituksia

Kääntäjän virheilmoituksia OHJ-1101 Ohjelmointi 1e 2008-09 1 Kääntäjän virheilmoituksia Kun progvh2 ohjelma käännetään antaa tutg++ seuraavat virheilmoitukset ja varoitukset: proffa> tutg++ progvh2.cc progvh2.cc:29:13: warning:

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten, että se pystyy suorittamaan kaikki mahdolliset algoritmit?

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2009 1 / 25 Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? Pienten laskentasovellusten kirjoittaminen.

Lisätiedot

Tietotekniikan valintakoe

Tietotekniikan valintakoe Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena

Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Mikrotietokone Moderni tietokone Ajattelemme tietokonetta yleensä läppärinä tai pöytäkoneena Sen käyttötarkoitus on yleensä työnteko, kissavideoiden katselu internetistä tai pelien pelaaminen. Tietokoneen

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen Ohjelmointitaito (ict1td002, 12 op) Kevät 2009 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-kehitysympäristö Java-ohjelma ja luokka

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

Ohjelmoijan binaarialgebra ja heksaluvut

Ohjelmoijan binaarialgebra ja heksaluvut Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta

Lisätiedot

Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä.

Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä. Tehtävä 1. Kirjoita, tallenna, käännä ja suorita alla esitelty ohjelma, joka tervehtii käyttäjäänsä. #include /* mm. I/O-funktiot */ #include /* mm. EXIT_SUCCESS */ /*main-funktio,

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Plagioinnin tunnistaminen lähdekielisistä ohjelmista

Plagioinnin tunnistaminen lähdekielisistä ohjelmista Plagioinnin tunnistaminen lähdekielisistä ohjelmista Plagiointi- ja tutkimusetiikka seminaari 30.09.2003 Kirsti Ala-Mutka TTY/Ohjelmistotekniikka Sisältö Plagiointi ohjelmointikursseilla Tyypillisiä ulkoasumuutoksia

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita.

Älykännykät ovat pieneen tilaan paketoituja, mutta suuret ominaisuudet omaavia tietokoneita. Mikä on tietokone PUNOMO NETWORKS OY 22.7.2016 pva, piirroskuvat J. Mansikkaviita Henkilökohtaisesti olen aina valmis oppimaan, vaikka en välitäkään tulla opetetuksi. - Winston Churchill Tietokone on elektroninen

Lisätiedot

17/20: Keittokirja IV

17/20: Keittokirja IV Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 1.3.2010 1 / 36 Monikko Monikko (engl. tuple) muistuttaa listaa, mutta monikon sisältöä ei voi muuttaa sen jälkeen,

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) k 10 2 10 2 s 10 10 8 10 16 10 2 10 2 s 2 8 8 2 2 16 16 2 Digitaalitekniikan matematiikka Luku 10 Sivu 2 (14) Johdanto Tässä luvussa perustellaan, miksi

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

Algoritmit 1. Demot Timo Männikkö Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

System.out.printf(%d / %d = %.2f%n, ekaluku, tokaluku, osamaara); Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti Tentaattori: Antti-Jussi Lakanen 8. kesäkuuta 2018 Yleistä Tentti 1 meni pistekeskiarvon (11.2) perusteella välttävästi. Omasta tehtäväpaperista saa kopion

Lisätiedot

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu:

Tehtävä 1. TL5302 Olio-ohjelmointi Koe Malliratkaisuja. Tässä sekä a)- että b)-kohdan toimiva ratkaisu: TL5302 Olio-ohjelmointi Koe 19.4.2005 Malliratkaisuja Tehtävä 1 Tässä sekä a)- että b)-kohdan toimiva ratkaisu: #include using namespace std; int main() int taul[5]=1,2,3,4,5; int *p,&r=taul[0];

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 7.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 7.9.2015 1 / 24 Esittelyluento: luennon jälkeen Tiedät, miten tämä kurssi on järjestetty ja mitä sinun pitää tehdä,

Lisätiedot

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 1 Taulukot ja merkkijonot Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2012-2013 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 toiminta (Computer Organization I) Tiina Niklander Helsingin yliopisto Tietojenkäsittelytieteen laitos Kalvot: Teemu Kerola 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus Ohjelmointikielet

Lisätiedot

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

T740103 Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010 12. Periytyminen Johdantoa Käytännössä vähänkään laajemmissa ohjelmissa joudutaan laatimaan useita luokkia, joiden pitäisi pystyä välittämään tietoa toisilleen. Ohjelmien ylläpidon kannalta olisi lisäksi

Lisätiedot

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta

Lisätiedot

Harjoitustehtäväkierros 1

Harjoitustehtäväkierros 1 T-06.50 kurssihenkilökunta deadline Tiistai 20.0.2009 2:5 Johdanto Tämä tehtäväkierros käsittelee pääasiassa toisen luennon sisältöä. Harjoituksia saa tehdä yksin tai yhdessä. Yhdessä tekeminen on suositeltavaa,

Lisätiedot

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset

815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 5 Vastaukset Harjoituksen aiheena ovat aliohjelmat ja abstraktit tietotyypit sekä olio-ohjelmointi. Tehtävät tehdään C-, C++- ja Java-kielillä.

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on.

Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on. Datatähti 2015 A: Omenat Aikaraja: 2 s Maahan on pudonnut omenoita, ja Uolevi aikoo poimia niitä. Tiedät jokaisesta omenasta, kuinka painava se on. Uolevi haluaa saada mahdollisimman monta omenaa, mutta

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

Harjoitus 3 (viikko 39)

Harjoitus 3 (viikko 39) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Vältä liian pitkiä rivejä. Ohjelmointitehtävien

Lisätiedot

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2006 Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0-1 Tietokoneen rakenne Asema opetuksessa u 1999 HajaTilin pakollinen,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 17.1.2011 1 / 27 Mihin teekkari / diplomi-insinööri tarvitsee ohjelmointia? Pienten laskentasovellusten kirjoittaminen.

Lisätiedot

C++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout:

C++ rautaisannos. Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout: C++ rautaisannos Kolme tapaa sanoa, että tulostukseen käytetään standardikirjaston iostreamosassa määriteltyä, nimiavaruuden std oliota cout: # include #include main ( ) main (

Lisätiedot

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: Merkkijonot C-kielessä merkkijono on taulukko, jonka alkiot ovat char -tyyppiä. Taulukon viimeiseksi merkiksi tulee merkki '\0', joka ilmaisee merkkijonon loppumisen. Merkkijono määritellään kuten muutkin

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 10.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 10.9.2018 1 / 25 Esittelyluento: luennon jälkeen Tiedät, miten tämä kurssi on järjestetty ja mitä sinun pitää tehdä,

Lisätiedot

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

Lisätiedot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100 Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4) 2. Lisää Java-ohjelmoinnin alkeita Muuttuja ja viittausmuuttuja Vakio ja literaalivakio Sijoituslause Syötteen lukeminen ja Scanner-luokka 1 Muuttuja ja viittausmuuttuja (1/4) Edellä mainittiin, että String-tietotyyppi

Lisätiedot

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi 1 Javan perusteet Ohjelmointi IPO-malli Java lähdekoodista suoritettavaksi ohjelmaksi Vakio Muuttuja Miten Javalla näytetään tietoa käyttäjälle, miten Javalla luetaan käyttäjän antama syöte Miten Javalla

Lisätiedot

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento 0 581365 Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen Helsingin yliopisto Tietojenkäsittelytieteen laitos Luento0-1 Tietokoneen rakenne Asema opetuksessa u 2005 HajaTilin valinnainen,

Lisätiedot

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 12: Käyttöjärjestelmät, alkua Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Mikä on käyttöjärjestelmä

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Kappale 20: Kantaluvut

Kappale 20: Kantaluvut Kappale 20: Kantaluvut 20 Johdanto: Kantaluvut... 328 Kantalukujen syöttäminen ja muuntaminen... 329 Matemaattiset toiminnot Hex- ja Bin-luvuilla... 330 Bittien vertaileminen ja manipulointi... 331 Huom!

Lisätiedot

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Tietokoneen muisti nyt ja tulevaisuudessa Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu Yleisesti Muisti on yksi keskeisimmistä tietokoneen komponenteista Random Access Memory on yleistynyt

Lisätiedot

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU

Ohjelmointi 2. Jussi Pohjolainen. TAMK» Tieto- ja viestintäteknologia , Jussi Pohjolainen TAMPEREEN AMMATTIKORKEAKOULU Ohjelmointi 2 Jussi Pohjolainen TAMK» Tieto- ja viestintäteknologia Tietotyypeistä C++ - kielessä useita tietotyyppejä Kirjaimet: char, wchar_t Kokonaisluvut: short, int, long Liukuluvut: float, double

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin

Lisätiedot

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I) 581305-6 Tietokoneen toiminta (Computer Organization I) Teemu Kerola Helsingin yliopisto Tietojenkäsittelytieteen laitos Kevät 2003 Muuntokoulutettaville 1 Aihepiiri Sovellukset Teknologia Samanaikaisuus

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CS-A1111 14.9.2016 CS-A1111 Ohjelmoinnin peruskurssi Y1 14.9.2016 1 / 19 Oppimistavoitteet: tämän luennon jälkeen osaat kirjoittaa Python-ohjelman, joka pyytää käyttäjältä lukuja,

Lisätiedot

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään

Algoritmit. Ohjelman tekemisen hahmottamisessa käytetään Ohjelmointi Ohjelmoinnissa koneelle annetaan tarkkoja käskyjä siitä, mitä koneen tulisi tehdä. Ohjelmointikieliä on olemassa useita satoja. Ohjelmoinnissa on oleellista asioiden hyvä suunnittelu etukäteen.

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

OHJELMISTOKEHITYS -suuntautumisvaihtoehto OHJELMISTOKEHITYS -suuntautumisvaihtoehto Suuntautumisvaihtoehdon esittely 1. vuoden opiskelijoille Kari Laitinen www.oamk.fi/~karil/opetus.html Ohjelmistokehitys -opintosuunnan valitsevista henkilöistä

Lisätiedot

T harjoitustehtävät, syksy 2011

T harjoitustehtävät, syksy 2011 T-110.4100 harjoitustehtävät, syksy 2011 Kurssiassistentit Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto T-110.4100@tkk.fi Yleistä Kurssin osasuoritteita ovat kaksi osatenttiä ja harjoitustehtävät

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Tietokoneen toiminta, K Tavoitteet (4)

Tietokoneen toiminta, K Tavoitteet (4) Jakso 12 Yhteenveto Keskeiset asiat 1 Tavoitteet (4) Ymmärtää tietokonejärjestelmän keskeiset piirteet sillä suoritettavan ohjelman näkökulmasta Miten tietokonejärjestelmä suorittaa sille annettua ohjelmaa?

Lisätiedot

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö Algoritmit 2 Luento 13 Ti 30.4.2019 Timo Männikkö Luento 13 Simuloitu jäähdytys Merkkijonon sovitus Horspoolin algoritmi Ositus ja rekursio Rekursion toteutus Algoritmit 2 Kevät 2019 Luento 13 Ti 30.4.2019

Lisätiedot

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet

KOODAUSPLÄJÄYS. Ohjelmoinnin perusteet KOODUSPLÄJÄYS Ohjelmoinnin perusteet Korttien merkinnät Korttien yläreunaan on merkitty, mitä taitoja ja ohjelmoinnissa käytettyjä rakenteita korteista oppii. Merkkien määrä ( 4) kuvaa kortin vaikeustasoa.

Lisätiedot

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta. Tehtävä 63. Kirjoita oma versio funktiosta strcmp(),joka saa parametrinaan kaksi merkkiosoitinta. Tee ohjelma, jossa luetaan kaksi merkkijonoa, joita sitten verrataan ko. funktiolla. Tehtävä 64. Kirjoita

Lisätiedot

Algoritmit 1. Luento 11 Ti Timo Männikkö

Algoritmit 1. Luento 11 Ti Timo Männikkö Algoritmit 1 Luento 11 Ti 14.2.2017 Timo Männikkö Luento 11 Algoritminen ongelmanratkaisu Osittaminen Lomituslajittelu Lomituslajittelun vaativuus Rekursioyhtälöt Pikalajittelu Algoritmit 1 Kevät 2017

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

Lisätiedot

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu Taulukot Taulukon määrittely ja käyttö Taulukko metodin parametrina Taulukon sisällön kopiointi toiseen taulukkoon Taulukon lajittelu esimerkki 2-ulottoisesta taulukosta 1 Mikä on taulukko? Taulukko on

Lisätiedot