Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Koko: px
Aloita esitys sivulta:

Download "Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen."

Transkriptio

1 Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla Johdanto Pseudokoodi (pseudocode) on algoritmin tekstimuotoinen esitys. Selvästi lähempänä ohjelmointikieltä kuin vuokaaviot, mutta ei oikea ohjelmointikieli. Luonnollisen kielen (esim. suomi tai englanti) ja jonkin tunnetun ohjelmointikielen (esim. Java, C++ tai Pascal) sekoitus. Ei siis yleismaailmallista standardia. Johdanto Kirjoitetaan nyt suomeksi käyttäen Javan kielioppia, jolle on varattu joitakin sanoja englannin kielestä. Vuokaavioiden tapaan pseudokoodin osat suoritetaan peräkkäin ja suoritusta voidaan ohjata päätösten avulla. Vuokaavioiden päätöksiä ja silmukoita vastaavat tietyt valinta- ja toistorakenteet. Voidaan esittää vapaamuotoisena tekstinä tai tarkemmin muuttujien ja operaatioiden avulla

2 Esimerkki: Hypotenuusan pituus Pythagoraan lause: Suorakulmaisen kolmion kateettien neliöiden summa on yhtä suuri kuin hypotenuusan neliö. ehtävänä kirjoittaa ohjelma hypotenuusan pituuden c laskemiseksi. c 2 2 c = a + b 2 c = a + 2 b a 2 b Esimerkki: Hypotenuusan pituus Lue 1. luku Oletetaan, että käyttäjä antaa algoritmille nollaa suurempia lukuja. Lue 2. luku Neliöi 1. luku Neliöi 2. luku Summaa neliöt Ota summan neliöjuuri ulosta neliöjuuri Esimerkki: Hypotenuusan pituus Ensimmäisellä rivillä on algoritmin otsikko, joka kertoo kyseessä olevan Hypotenuusa-nimisen algoritmin esitys. Otsikon jälkeiset rivit muodostavat algoritmin rungon. Algoritmi suoritetaan rivi kerrallaan, otsikosta alkaen ja ylhäältä alas. Algoritmi Hypotenuusa Lue 1. luku Lue 2. luku Neliöi 1. luku Neliöi 2. luku Summaa neliöt Ota summan neliöjuuri ulosta neliöjuuri Koodi pysähtyy, kun viimeinen rivi on suoritettu. Esimerkki: Hypotenuusan pituus Myös pseudokoodina annettu algoritmi voidaan esittää tarkemmin muuttujia ja operaatioita käyttäen. pow-operaatio korottaa parametrinsa annettuun potenssiin. sqrt-operaatio ottaa parametrinsa neliöjuuren. Algoritmi Hypotenuusa akatpit lue() bkatpit lue() akatpit2 pow(akatpit, 2) bkatpit2 pow(bkatpit, 2) summa akatpit2 + bkatpit2 hyppit sqrt(summa) tulosta(hyppit)

3 Lauseet Vuokaavion laatikot erottavat selkeästi algoritmin vaiheet toisistaan. Edellisissä pseudokoodiesimerkeissä kukin vaihe oli kirjoitettu vastaavasti omalle rivilleen. Algoritmin kuvaaminen ei ole aina yhtä helppoa: teksti voi mennä useammalle riville tai on järkevää esittää useampia vaiheita yhdellä rivillä. arvitaan tapa jakaa algoritmin teksti yksiköihin. Lauseet Kirjoitetun luonnollisen kielen yksiköitä: Virke: Alkaa isolla alkukirjaimella ja päättyy isoon välimerkkiin. Sisältää yhden tai useamman lauseen. Lause: Ilmaisee ajatuksen. Rakentuu verbin ympärille. Lauseke: Lauseen läheisesti yhteenkuuluvia sanoja. Lauseohjelmointikielissä: virkkeet lauseen (statement) mittaisia, välimerkki usein puolipiste (;). Ohjelmointikielissä lauseiden laskentaa sisältäviä osia sanotaan lausekkeiksi (expression) Lauseet Kommentointi ja sisentäminen Erotetaan jatkossa myös pseudokoodin vaiheet puolipisteellä lauseiksi. ällöin yksi pseudokoodin vaihe voidaan esittää usealla rivillä ja useita vaiheita mahtuu samalle riville. Algoritmi Hypotenuusa Lue 1. luku; Lue 2. luku; Neliöi 1. luku; Neliöi 2. luku; Summaa neliöt; Ota summan neliöjuuri; ulosta neliöjuuri; Samalla rivillä olevat lauseet suoritetaan vasemmalta oikealle. Ohjelman tulisi olla helposti ymmärrettävä, koska ihmiset sekä kirjoittavat että lukevat ohjelmia, jotka voivat olla omaa tai muiden tuotantoa: Ohjelmia tehdään usein ryhmissä. Ohjelmat vaativat ylläpitoa. Itse tehdynkin ohjelman idea unohtuu nopeasti. Ohjelman toimintaa voi selkeyttää pienellä vaivalla koodin rivejä kommentoimalla ja sisentämällä. Huom! Edelleen syytä käyttää myös kuvaavia nimiä

4 Kommentit Kommentit ovat luonnollisella kielellä kirjoitettuja, ohjelman toimintaa selventäviä lauseita. Ongelma: Kuinka erottaa suoritettavaksi tarkoitetut lauseet kommenteista? Ratkaisu: Oma merkintätapa kommenteille. Kurssin pseudokoodissa kahdella kauttamerkillä (/) aloitettu rivi katsotaan kommentiksi. // Näitä rivejä ei suoriteta, koska ne // alkavat kahdella kauttamerkillä. Kommentit Kommentti liittyy yleensä seuraavaan lauseeseen tai riviin. Kommentilla voidaan kattaa joskus useampiakin lauseita tai rivejä. Algoritmin tarkoitus voidaan esittää kommenttina. // Lasketaan hypotenuusan pituus. Algoritmi Hypotenuusa // Luetaan kateetit. Lue 1. luku; Lue 2. luku; // Neliöidään. Neliöi 1. luku; Neliöi 2. luku; // Lasketaan pituus. Summaa neliöt; Ota summan neliöjuuri; // ulos käyttäjälle. ulosta neliöjuuri; Sisentäminen Sisentäminen tarkoittaa muutaman välilyönnin sijoittamista peräkkäisten ja loogisesti yhteenkuuluvien rivien alkuun siten, että rivit alkavat samalta tasalta. Vaihtoehtoisesti rivejä voidaan sisentää tabulaattorilla, mutta tällöin koodin ulkoasu riippuu tekstieditorista. Välilyöntejä ja tabulaattoria ei saa käyttää sekaisin! Edellä Hypotenuusa-algoritmin rungon rivit on sisennetty, jotta lukijalle on selvää, että juuri sisennetyt rivit muodostavat rungon. Esimerkki: Hypotenuusan pituus Huonoa pseudokoodia: Algoritmi Hypotenuusa a lue(); b lue(); tulosta(sqrt(pow(a, 2) + pow(b, 2))); Parempaa pseudokoodia: // Lasketaan suorakulmaisen // kolmion hypotenuusan pituus. Algoritmi Hypotenuusa // Luetaan kateettien // pituudet muuttujiin. akatpit lue(); bkatpit lue(); // Neliöidään kateettien pituudet // pow-operaatiolla. akatpit2 pow(akatpit, 2); bkatpit2 pow(bkatpit, 2); // Lasketaan neliöiden summa. summa akatpit2 + bkatpit2; // Lasketaan hypotenuusan // pituus eli summan neliöjuuri. hyppit sqrt(summa); // ulostetaan näytölle. tulosta(hyppit);

5 Ohjausrakenteet Päätöksiin ja toistoon liittyvä logiikka voidaan esittää niin sanotuilla ohjausrakenteilla (valinta- ja toistorakenteet), jotka ovat tietyn muotoisia lauseita. Pseudokoodin ohjausrakenne koostuu: Javan kieliopin mukaisesta englanninkielisestä sanasta, joka kertoo mikä rakenne on kyseessä. Kaarisulkujen (( )) sisään sijoitetusta ehdosta, joka saa joko totuusarvon tosi (true, ) tai epätosi (false, ). Yhdestä tai useammasta ohjausrakenteeseen liittyvästä, lauseesta, jotka suoritetaan vain, jos ehto on tosi. Ohjausrakenteet Rakenteelle varattu sana ja rakenteen ehto kirjoitetaan samalle riville. Rakenteeseen liittyvät lauseet alkavat seuraavalta riviltä. Usean lauseen (n > 1) liittyminen ilmaistaan kokoamalla yksittäiset lauseet kootuiksi lauseiksi aaltosulkeiden ({ ) avulla. sana (ehto) lause 1; sana (ehto) { lause 1; Pseudokoodin rakennetta selkeytetään sisentämällä kootun lauseen sisältö. Koottua lausetta ei päätetä puolipisteellä Ohjausrakenteet Valintarakenteet Ohjausrakenteet voivat olla sisäkkäisiä. sana (ehto) { lause 1; sana (ehto) { lause m; Myös toiseen rakenteeseen sisältyvän rakenteen koottu lause sisennetään. Ohjausrakenteet ovat äärimmäisen ilmaisuvoimaisia: Peräkkäisyyteen lisätty valinta ja toisto riittävät minkä tahansa laskettavissa olevan tehtävän ratkaisuun! Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua ehdosta riippuen. ässä tärkein työkalu on if-lause, jolla kuvataan mitä täytyy tehdä, jos lauseen ehto on tosi. If-lauseen laajennos, if--lause, kuvaa kuinka algoritmi toimii, kun ehto on tosi ja epätosi. If-lause kuvaa yksi- ja -lause kaksihaaraista päätöstä. Sisäkkäisillä valintarakenteilla voidaan kuvata näitä monimutkaisempia päätöksiä

6 Valintarakenteet: if-lause Valintarakenteet: if-lause Kuvaa yksittäisen päätöshaaran: lauseet suoritetaan vain ehdon toteutuessa. Sulkujen sisällä olevan ehto (esim. painava esine tai paino > 50 ) palauttaa totuusarvon true toteutuessaan. Huom! Jos n = 1, voidaan aaltosulkeet jättää pois. Yleisesti: if (ehto) { ehto if (painava esine) Kilauta kaverille; paino>50 Algoritmi Keitäeetä if (teepussit lopussa) Osta teepusseja; Kuumenna pannullinen vettä; Laita teepusseja pannuun; Hauduta 2-3 minuuttia; Ota teepussit pannusta; Osta teepusseja eepussit lopussa? Kuumenna pannullinen vettä Laita teepusseja pannuun Hauduta 2-3 minuuttia Ota teepussit pannusta Valintarakenteet: if--lause Kuvaa kaksihaaraisen päätöksen. Lauseet suoritetaan vaihtoehtoisesti: ehdon ollessa tosi suoritetaan if-osa, muuten -osa. Huom! Jos n = 1 tai m = 1, voidaan aaltosulkeet jättää pois. Yleisesti: if (ehto) { { lause m; ehto if (painava esine) Kilauta kaverille; Ala kiskoa; Valintarakenteet: if--lause Algoritmi Keitäeetä if (teepussit lopussa) Osta teepusseja; { Huokaise helpotuksesta; Laita ostoslistalle; Ota teepussit pannusta; Osta teepusseja eepussit lopussa? Kuumenna pannullinen vettä Huokaise helpotuksesta Laita ostoslistalle

7 Sisäkkäiset valintarakenteet Sisäkkäiset valintarakenteet if- ja if-lauseita voidaan yhdistää monimutkaisemmiksi valinnoiksi. -osa liittyy aina lähimpään vapaaseen ifosaan. Sisennys auttaa sisäkkäisyyden ymmärtämistä. Algoritmi PolttaaPolttaa lämpö lue(); if (lämpö > 15) if (lämpö < 25) tulosta("sopiva!"); tulosta("alkaa olla liian kuuma!"); tulosta("alkaa olla liian kylmä!"); // Sanotaan luku sisäkkäisillä // if- lauseilla. Algoritmi SanoLukujaA numero lue(); if (numero = 1) tulosta("yksi!"); if (numero = 2) tulosta("kaksi!"); if (numero = 3) tulosta("kolme!"); tulosta("en osaa!"); // Sanotaan luku peräkkäisillä // if-lauseilla. Algoritmi SanoLukuB numero lue(); if (numero = 1) tulosta("yksi!"); if (numero = 2) tulosta("kaksi!"); if (numero = 3) tulosta("kolme!"); if (numero < 1) tulosta("en osaa!"); if (numero > 3) tulosta("en osaa!"); oistorakenteet oistorakenteilla formalisoidaan toistuva suoritus. oisto voidaan ilmaista yhtäpitävästi while-, do-while- tai forlauseilla, mutta yleensä jokin näistä on tietyssä tilanteessa luonnollisempi kuin toiset. oistorakennetta kutsutaan lyhyesti silmukaksi. Silmukan suoritusta ohjataan usein laskurimuuttujalla, jonka avulla pysytään selvillä siitä, monesko kierros on meneillään. Myös lippumuuttujia käytetään ohjaukseen. Virheellinen logiikka voi johtaa silmukan loputtomaan toistoon (ikuinen silmukka). oistorakenteet: while-lause Yleisesti: while (ehto) { ehto Lauseita suoritetaan niin kauan kuin ehto on tosi. Suoritus on esiehtoinen, koska ehto on lauseen alussa. Voi siis olla, että ehto on epätosi jo lauseeseen tultaessa. ällöin while-lause ohitetaan. while (jaksat) Lue tenttiin;

8 oistorakenteet: while-lause Algoritmi Heippa1 // Alustetaan laskuri. i 0; // Luetaan toistojen lkm. lkm lue(); // Silmukoidaan lkm kertaa. while (i < lkm) { tulosta("heippa!"); i i + 1; i 0 lkm lue() i < lkm tulosta ("Heippa") i i + 1 oistorakenteet: do-while-lause Yleisesti: do { while (ehto); ehto do { Lue tenttiin; while (jaksat); Jälkiehtoinen toisto: Lauseet suoritetaan ainakin kerran, mikäli tätä ei estetä valintarakenteella. Yhdistettyä lausetta ei voi poistaa, kun n = oistorakenteet: do-while-lause Algoritmi Heippa2 // Alustetaan laskuri. i 0; // Luetaan toistojen lkm. lkm lue(); // Silmukoidaan, jos tarpeen. if (lkm > 0) do { tulosta("heippa!"); i i + 1; while (i < lkm); i 0 lkm lue() lkm > 0 tulosta ("Heippa") i i + 1 i < lkm oistorakenteet: for-lause for (laskurin alustus; ehto; laskurin päivitys) { Lauseiden toisto laskurimuuttujan avulla. Kätevä, kun toistojen lukumäärä tiedetään. Voidaan korvata helposti while-lauseella. Huom! Jos n = 1, aaltosulkeet voidaan jättää pois

9 oistorakenteet: for-lause oistorakenteet: for-lause Alusta laskuri ehto... Päivitä laskuri Algoritmi Heippa3 lkm lue(); for (i 0; i < lkm; i i+1) tulosta("heippa!"); lkm lue() i 0 Ensin: Alustetaan laskuri ja tarkistetaan ehto. Sitten: Jos ehto oli tosi, niin suoritetaan lauseet ja päivitetään laskuria, kunnes ehto on epätosi. Olkoon lkm = 3. Suoritus: i i < 3 Mitä tehdään? 0 true Alustus, 1. kierros 1 true 2. kierros 2 true 3. kierros 3 false Lopetetaan suoritus i < lkm tulosta ("Heippa") i i Esimerkki: Oven avaaminen // Aikaisemmin vuokaavion // avulla esitetty algoritmi // oven avaamiseen // pseudokoodina. Algoritmi AvaaOvi // Alustetaan avauskulmaa // esittävä muuttuja. kulma 0; // Otetaan kahvasta kiinni. tartu(kahva); // Ovi vedettävää mallia. if (vedettävä(ovi)) // Vedetään kunnes auki. while (kulma < 70º) vedä(kahva); // Ovi työnnettävää mallia // yönnetään kunnes auki. while (kulma > -70º) työnnä(kahva); Esimerkki: Keskiarvon laskeminen // Keskiarvoalgoritmi tarkempana // pseudokoodina. Algoritmi LaskeKeskiarvo // Alustetaan muuttujia. summa 0; i 1; // Luetaan lukujen lukumäärä. lkm lue(); // Luetaan luvut silmukassa. while (i lkm) { x lue(); summa summa + x; i i + 1; // Voitiin laskea keskiarvo. if (lkm > 0) { ka summa / lkm; tulosta(ka); // Lukuja ei luettu. tulosta("ei lukuja!");

10 Kertaus Koodi jaetaan lauseiksi välimerkillä. Sisentäminen ja kommentointi tärkeää. Ohjausrakenteilla peräkkäisyyteen liitetään valintoja ja toistoa. Valinta: if- ja if-. oisto: while, do-while ja for. Näillä tiedoilla voidaan tehdä pieniä ohjelmia - nyt pitäisi opetella kuinka tämä tapahtuu käytännössä Java-kielellä. 3.37

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet:

Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: 3. Pseudokoodi 3.1 Sisällys Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if-else-rakenteilla. Toisto while-, do-while- ja for-rakenteilla.

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2

Sisällys. Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä. 2.2 2. Vuokaaviot 2.1 Sisällys aavioiden rakenne. aavioiden piirto symboleita yhdistelemällä. aavion osan toistaminen silmukalla. simerkkejä. 2.2 Vuokaaviot Graafinen kieli algoritmien kuvaamiseen. Muodostetaan

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

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

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä:

Kaavioiden rakenne. Kaavioiden piirto symboleita yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: 2. Vuokaaviot 2.1 Sisällys Kaavioiden rakenne. Kaavioiden piirto symbolta yhdistelemällä. Kaavion osan toistaminen silmukalla. Esimerkkejä: algoritmi oven avaamiseen vuokaaviona, keskiarvon laskeminen

Lisätiedot

etunimi, sukunimi ja opiskelijanumero ja näillä

etunimi, sukunimi ja opiskelijanumero ja näillä Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Toistorakenne (while, do-while, for) 1 While- lause while-lauseen rakenne on seuraava: while (ehtolauseke) lause Kun ehtolausekkeen arvo on totta, lause suoritetaan. Lause suoritetaan

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Ohjausrakenteet. Valinta:

Ohjausrakenteet. Valinta: Ohjausrakenteet Luento antaa yleiskuvan siitä kuinka ohjelmassa suorittaan vaihtoehtoisia tehtäviä valintarakenteiden avulla ja kuinka samanlaisia ohjelma-askeleita toistetaan toistorakenteiden avulla

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004 Vertailulauseet Ehtolausekkeet Ehdot, valintalausekkeet Boolean-algebra == yhtäsuuruus!= erisuuruus < pienempi suurempi >= suurempi tai yhtäsuuri Esimerkkejä: int i=7; int j=10;

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Osa. Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin:

Osa. Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin: Osa II 8. oppitunti Kehittynyt ohjel- man kulku Toimintojen toteuttaminen ohjelmissa vaatii usein haarautumisia ja silmukoita. Tässä luvussa tutustummekin seuraaviin asioihin: Mitä silmukat ovat ja kuinka

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.2.2011 1 / 37 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 3.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 3.2.2010 1 / 36 Esimerkki: asunnon välityspalkkio Kirjoitetaan ohjelma, joka laskee kiinteistönvälittäjän asunnon

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

a b c d + + + + + + + + +

a b c d + + + + + + + + + 28. 10. 2010!"$#&%(')'+*(#-,.*/1032/465$*784 /(9:*;9."$ *;5> *@9 a b c d 1. + + + 2. 3. 4. 5. 6. + + + + + + + + + + P1. Valitaan kannaksi sivu, jonka pituus on 4. Koska toinen jäljelle jäävistä sivuista

Lisätiedot

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if 3 Lauseet Lue kirjasta s. 54-84 Tämän osan sisältö Ehdollinen lause if Looginen lauseke vertailut AND-operaattori &&, & OR-operaattori, NOT-operaattori! Valintalause switch Toistolauseet while for do while

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

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

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

2.2 Neliöjuuri ja sitä koskevat laskusäännöt . Neliöjuuri ja sitä koskevat laskusäännöt MÄÄRITELMÄ 3: Lukua b sanotaan luvun a neliöjuureksi, merkitään a b, jos b täyttää kaksi ehtoa: 1o b > 0 o b a Esim.1 Määritä a) 64 b) 0 c) 36 a) Luvun 64 neliöjuuri

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,

Lisätiedot

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä.

Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. TIETOKONEOHJELMIEN RAKENNE Perinteiset tietokoneohjelmat alkavat pääohjelmasta, c:ssä main(), jossa edetään rivi riviltä ja käsky käskyltä. Teollisuusautomaation ohjelmiin on lainattu runsaasti perinteisen

Lisätiedot

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro: KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 7.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 7.2.2011 1 / 39 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

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

Java kahdessa tunnissa. Jyry Suvilehto

Java kahdessa tunnissa. Jyry Suvilehto Java kahdessa tunnissa Jyry Suvilehto Ohjelma Ohjelmointiasioita alkeista nippelitietoon n. 45 min Tauko 10 min Oliot, luokat ja muut kummajaiset n. 45 min Kysykää Sisältöä ei oikeasti ole 2x45 min täytteeksi,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2011 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2011 1 / 39 Kertausta: tiedoston avaaminen Kun ohjelma haluaa lukea tai kirjoittaa tekstitiedostoon, on ohjelmalle

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 9.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 9.2.2009 1 / 35 Listat Esimerkki: halutaan kirjoittaa ohjelma, joka lukee käyttäjältä 30 lämpötilaa. Kun lämpötilat

Lisätiedot

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä 12.1 12.2 12.3 12.4 Sisällys 12. Näppäimistöltä lukeminen Arvojen lukeminen näppäimistöltä yleisesti. Arvojen lukeminen näppäimistöltä Java-kielessä.. Luetun arvon tarkistaminen. Tietovirrat ja ohjausmerkit. Scanner-luokka.

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

15. Suorakulmaisen kolmion geometria

15. Suorakulmaisen kolmion geometria 15. Suorakulmaisen kolmion geometria 15.1 Yleistä kolmioista - kolmion kulmien summa on 180⁰ α α + β + γ = 180⁰ β γ 5.1.1 Tasasivuinen kolmio - jos kaikki kolmion sivut ovat yhtä pitkät, on kolmio tasasivuinen

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 16.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 16.2.2010 1 / 41 Kännykkäpalautetteen antajia kaivataan edelleen! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti

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

1 Logiikkaa. 1.1 Logiikan symbolit

1 Logiikkaa. 1.1 Logiikan symbolit 1 Logiikkaa Tieteessä ja jokapäiväisessä elämässä joudutaan tekemään päätelmiä. Logiikassa tutkimuskohteena on juuri päättelyt. Sen sijaan päätelmien sisältöön ei niinkäään kiinnitetä huomiota. Päätelmät

Lisätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja?

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja? Nimi Koulutus Ryhmä Jokaisessa tehtävässä on vain yksi vastausvaihtoehto oikein. Laske tehtävät ilman laskinta.. Missä pisteessä suora y = 3x 6 leikkaa x-akselin? A. 3 D. B. E. en tiedä C. 6. Mitkä luvuista,,,

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:

Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: KERTAUSTEHTÄVIÄ Tietue Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: struct henkilotiedot char nimi [20]; int ika; char puh [10]; ; Edellä esitetty kuvaus määrittelee

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva 3), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 = 2.

Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva 3), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 = 2. Hyvän ratkaisun piirteitä: a) Neliöpohjainen rakennelma Kun pallojen keskipisteet yhdistetään, muodostuu neliöpohjainen, suora pyramidi (kuva ), jonka sivusärmien pituudet ovat 2 pallon säde eli 2 1 =

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 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma:

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta 5. 1. Toteuta Pythonilla seuraava ohjelma: Kerta 2 Kerta 3 Kerta 4 Kerta 5 Kerta 2 1. Toteuta Pythonilla seuraava ohjelma: 2. Tulosta Pythonilla seuraavat luvut allekkain a. 0 10 (eli, näyttää tältä: 0 1 2 3 4 5 6 7 8 9 10 b. 0 100 c. 50 100 3.

Lisätiedot

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3

Metropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3 : http://users.metropolia.fi/~pasitr/2014-2015/ti00aa43-3004/kt/03/ratkaisut/ Tehtävä 1. (1 piste) Tee ohjelma K03T01.cpp, jossa ohjelmalle syötetään kokonaisluku. Jos kokonaisluku on positiivinen, niin

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

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

Excel syventävät harjoitukset 31.8.2015

Excel syventävät harjoitukset 31.8.2015 Yleistä Excel on taulukkolaskentaohjelma. Tämä tarkoittaa sitä että sillä voi laskea laajoja, paljon laskentatehoa vaativia asioita, esimerkiksi fysiikan laboratoriotöiden koetuloksia. Excel-ohjelmalla

Lisätiedot

Harjoitustyö 1. 1. Johdanto. 2. Euroseteli

Harjoitustyö 1. 1. Johdanto. 2. Euroseteli Harjoitustyö. Johdanto.. Tehtävä Lausekielinen ohjelmointi (Laki) -kurssin ensimmäisessä harjoitustyössä on tehtävänä toteuttaa Java-kielellä ohjelma, joka tutkii euroseteleiden [, ] sarjanumeroja. Ohjelmalla

Lisätiedot

2.3 Juurien laatu. Juurien ja kertoimien väliset yhtälöt. Jako tekijöihin. b b 4ac = 2

2.3 Juurien laatu. Juurien ja kertoimien väliset yhtälöt. Jako tekijöihin. b b 4ac = 2 .3 Juurien laatu. Juurien ja kertoimien väliset yhtälöt. Jako tekijöihin. Toisen asteen yhtälön a + b + c 0 ratkaisukaavassa neliöjuuren alla olevaa lauseketta b b 4ac + a b b 4ac a D b 4 ac sanotaan yhtälön

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Lineaarialgebra MATH.1040 / voima

Lineaarialgebra MATH.1040 / voima Lineaarialgebra MATH.1040 / voima 1 Seuraavaksi määrittelemme kaksi vektoreille määriteltyä tuloa; pistetulo ja. Määritelmät ja erilaiset tulojen ominaisuudet saattavat tuntua, sekavalta kokonaisuudelta.

Lisätiedot

Matematiikan mestariluokka, syksy 2009 7

Matematiikan mestariluokka, syksy 2009 7 Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty

Lisätiedot

[MATEMATIIKKA, KURSSI 8]

[MATEMATIIKKA, KURSSI 8] 2015 Puustinen, Sinn PYK [MATEMATIIKKA, KURSSI 8] Trigometrian ja avaruusgeometrian teoriaa, tehtäviä ja linkkejä peruskoululaisille Sisällysluettelo 8.1 PYTHAGORAAN LAUSE... 3 8.1.1 JOHDANTOTEHTÄVÄT 1-6...

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

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

Fortran 90/95. + sopii erityisesti numeriikkaan:

Fortran 90/95. + sopii erityisesti numeriikkaan: Fortran 90/95 + sopii erityisesti numeriikkaan: + optimoivat kääntäjät tehokas koodi + mukana valmiiksi paljon varusfunktioita + kompleksiluvut + taulukko-operaatiot + operaattorit laajennettavissa myös

Lisätiedot

Ohjelmoinnin perusteet (Java)

Ohjelmoinnin perusteet (Java) Ohjelmoinnin perusteet (Java) HARJOITUKSIA Syksy 2012 / Auvo Häkkinen Jos et ehdi tehdä viikon tehtäviä labra-aikana, tee ne valmiiksi ennen seuraavaa kokoontumista. Tehtävät tulee kirjauttaa tehdyiksi

Lisätiedot

Koontitehtäviä luvuista 1 9

Koontitehtäviä luvuista 1 9 11 Koontitehtäviä luvuista 1 9 1. a) 3 + ( 8) + = 3 8 + = 3 b) x x 10 = 0 a =, b = 1, c = 10 ( 1) ( 1) 4 ( 10) 1 81 1 9 x 4 4 1 9 1 9 x,5 tai x 4 4 c) (5a) (a + 1) = 5a a 1 = 4a 1. a) Pythagoraan lause:

Lisätiedot

Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki

Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus. Lohkolause (block) Peräkkäinen laskenta. Lohkon käyttö. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 3: Laskennan ohjaus Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto Peräkkäinen laskenta Ehdollinen laskenta Laskennan toisto Laskennan hierarkisuus 10/19/99

Lisätiedot

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014

Racket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014 Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)

Lisätiedot

2.3 Voiman jakaminen komponentteihin

2.3 Voiman jakaminen komponentteihin Seuraavissa kappaleissa tarvitaan aina silloin tällöin taitoa jakaa voima komponentteihin sekä myös taitoa suorittaa sille vastakkainen operaatio eli voimien resultantin eli kokonaisvoiman laskeminen.

Lisätiedot

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva

5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva 5.4. Sulautetun järjestelmän C-kielen perusteet. 4/8. Ohjausrakenteet 7.1.2008 pva Superohjelmoija on insinörttitaiteilija ja ryhtyessään koodaamaan, hän keskittyy kunnolla, leijuu jonnekin sfääreihin

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.

1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot. EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat

Lisätiedot

Datatähti 2009 -alkukilpailu

Datatähti 2009 -alkukilpailu Datatähti 2009 -alkukilpailu Ohjelmointitehtävä 1/3: Hissimatka HUOM: Tutustuthan huolellisesti tehtävien sääntöihin ja palautusohjeisiin (sivu 7) Joukko ohjelmoijia on talon pohjakerroksessa, ja he haluavat

Lisätiedot

A-osio. Ilman laskinta. MAOL-taulukkokirja saa olla käytössä. Maksimissaan tunti aikaa. Laske kaikki tehtävät:

A-osio. Ilman laskinta. MAOL-taulukkokirja saa olla käytössä. Maksimissaan tunti aikaa. Laske kaikki tehtävät: MAA3 Geometria Koe 5.2.2016 Jussi Tyni Lue ohjeet ja tee tehtävät huolellisesti! Tee tarvittavat välivaiheet, vaikka laskimesta voikin ottaa tuloksia. Välivaiheet perustelevat vastauksesi. Tee pisteytysruudukko

Lisätiedot

Tasogeometria. Tasogeometrian käsitteitä ja osia. olevia pisteitä. Piste P on suoran ulkopuolella.

Tasogeometria. Tasogeometrian käsitteitä ja osia. olevia pisteitä. Piste P on suoran ulkopuolella. Tasogeometria Tasogeometrian käsitteitä ja osia Suora on äärettömän pitkä. A ja B ovat suoralla olevia pisteitä. Piste P on suoran ulkopuolella. Jana on geometriassa kahden pisteen välinen suoran osuus.

Lisätiedot

Preliminäärikoe Pitkä Matematiikka 3.2.2009

Preliminäärikoe Pitkä Matematiikka 3.2.2009 Preliminäärikoe Pitkä Matematiikka..9 x x a) Ratkaise yhtälö =. 4 b) Ratkaise epäyhtälö x > x. c) Sievennä lauseke ( a b) (a b)(a+ b).. a) Osakkeen kurssi laski aamupäivällä,4 % ja keskipäivällä 5,6 %.

Lisätiedot

Osa 1: Todennäköisyys ja sen laskusäännöt. Klassinen todennäköisyys ja kombinatoriikka

Osa 1: Todennäköisyys ja sen laskusäännöt. Klassinen todennäköisyys ja kombinatoriikka Ilkka Mellin Todennäköisyyslaskenta Osa 1: Todennäköisyys ja sen laskusäännöt Klassinen todennäköisyys ja kombinatoriikka TKK (c) Ilkka Mellin (2007) 1 Klassinen todennäköisyys ja kombinatoriikka >> Klassinen

Lisätiedot

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: Tietorakenteet, laskuharjoitus 10, ratkaisuja 1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa: SamaLuku(T ) 2 for i = 1 to T.length 1 3 if T [i] == T [i + 1] 4 return True 5 return

Lisätiedot

Peliteoria luento 1. May 25, 2015. Peliteoria luento 1

Peliteoria luento 1. May 25, 2015. Peliteoria luento 1 May 25, 2015 Tavoitteet Valmius muotoilla strategisesti ja yhteiskunnallisesti kiinnostavia tilanteita peleinä. Kyky ratkaista yksinkertaisia pelejä. Luentojen rakenne 1 Joitain pelejä ajanvietematematiikasta.

Lisätiedot

Tutki ja kirjoita -kurssi, s-2005

Tutki ja kirjoita -kurssi, s-2005 Teoreettisen tutkimuksen raportoinnista Tutki ja kirjoita -kurssi, s-2005 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Teoreettisen tutkimuksen raportoinnista p.1/14 Sisältö Algoritmisten

Lisätiedot

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Valitse 6 tehtävää!

Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Valitse 6 tehtävää! MAA Koe 4.4.011 Jussi Tyni Tee konseptiin pisteytysruudukko! Muista kirjata nimesi ja ryhmäsi. Valitse 6 tehtävää! 1 Selitä ja piirrä seuraavat lyhyesti: a) Vieruskulmat b) Tangentti kulmasta Katsottuna.

Lisätiedot

Preliminäärikoe Tehtävät Pitkä matematiikka 4.2.2014 1 / 3

Preliminäärikoe Tehtävät Pitkä matematiikka 4.2.2014 1 / 3 Preliminäärikoe Tehtävät Pitkä matematiikka / Kokeessa saa vastata enintään kymmeneen tehtävään Tähdellä (* merkittyjen tehtävien maksimipistemäärä on 9, muiden tehtävien maksimipistemäärä on 6 Jos tehtävässä

Lisätiedot

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukot C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa. Taulukon muuttujilla (muistipaikoilla) on yhteinen nimi. Jokaiseen yksittäiseen

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

Tarkastellaan neliötä, jonka sivun pituus on yksi metri. Silloinhan sen pinta-ala on 1m 1m

Tarkastellaan neliötä, jonka sivun pituus on yksi metri. Silloinhan sen pinta-ala on 1m 1m MB: Yhdenmuotoisuus luksi Tämän luvun aiheina ovat yhdenmuotoisuus sekä yhdenmuotoisuussuhde. Kaikkein tavallisimmat yhdenmuotoisuuden sovellukset ovat varmasti kartta ja pohjapiirros. loitamme tutuista

Lisätiedot

Muuttujien roolit Kiintoarvo cin >> r;

Muuttujien roolit Kiintoarvo cin >> r; Muuttujien roolit Muuttujilla on ohjelmissa eräitä tyypillisiä käyttötapoja, joita kutsutaan muuttujien rooleiksi. Esimerkiksi muuttuja, jonka arvoa ei muuteta enää kertaakaan muuttujan alustamisen jälkeen,

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015

815338A Ohjelmointikielten periaatteet 2014-2015 815338A Ohjelmointikielten periaatteet 2014-2015 IV.2 Imperatiivinen ohjelmointi lauseet ja lausekkeet Sisältö 1. Yleistä lausekkeista 2. Presedenssi- ja assosiaatiosäännöt 3. Tyyppimuunnokset 4. Vertailulausekkeet

Lisätiedot

Harjoitustehtävät ja ratkaisut viikolle 48

Harjoitustehtävät ja ratkaisut viikolle 48 Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

Esimerkki 1: Kahviautomaatti.

Esimerkki 1: Kahviautomaatti. Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.

Lisätiedot

Harjoitustyö: virtuaalikone

Harjoitustyö: virtuaalikone Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman

Lisätiedot

1. OPINTOJAKSON TAVOITTEET, SISÄLTÖ JA ESITIEDOT... 3 2. SUORITUSTAPA... 4

1. OPINTOJAKSON TAVOITTEET, SISÄLTÖ JA ESITIEDOT... 3 2. SUORITUSTAPA... 4 Sisällys 1. OPINTOJAKSON TAVOITTEET, SISÄLTÖ JA ESITIEDOT... 3 2. SUORITUSTAPA... 4 3. MATERIAALIT JA OHJELMISTOT... 4 3.1 Oppimateriaalit ja niiden lukujärjestys sekä ViLLE... 4 3.2 Oheismateriaali...

Lisätiedot

2 Yhtälöitä ja epäyhtälöitä

2 Yhtälöitä ja epäyhtälöitä 2 Yhtälöitä ja epäyhtälöitä 2.1 Ensimmäisen asteen yhtälö ja epäyhtälö Muuttujan x ensimmäisen asteen yhtälöksi sanotaan yhtälöä, joka voidaan kirjoittaa muotoon ax + b = 0, missä vakiot a ja b ovat reaalilukuja

Lisätiedot

1. Ohjelmoinnin peruskäsitteet ja -elementit

1. Ohjelmoinnin peruskäsitteet ja -elementit 1. Ohjelmoinnin peruskäsitteet ja -elementit 1. ohjelmoinnin periaatteet 2. ohjelmointikielet 3. algoritmien suunnittelu 1 1.1 Ohjelmoinnin periaatteet Vaatimukset Määrittely Suunnittelu Toteutus Integrointi

Lisätiedot

Pythagoraan polku 16.4.2011

Pythagoraan polku 16.4.2011 Pythagoraan polku 6.4.20. Todista väittämä: Jos tasakylkisen kolmion toista kylkeä jatketaan omalla pituudellaan huipun toiselle puolelle ja jatkeen päätepiste yhdistetään kannan toisen päätepisteen kanssa,

Lisätiedot