JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI LÄHTEITÄ HARJOITUKSET MUUTAMA MALLIRATKAISU...

Koko: px
Aloita esitys sivulta:

Download "JAVA-OHJELMOINNIN PERUSTEET. Sisältö 1. JAVA OHJELMOINTI... 2 2. LÄHTEITÄ... 19 3. HARJOITUKSET... 20 4. MUUTAMA MALLIRATKAISU..."

Transkriptio

1 1 JAVA-OHJELMOINNIN PERUSTEET Sisältö 1. JAVA OHJELMOINTI LÄHTEITÄ HARJOITUKSET MUUTAMA MALLIRATKAISU... 27

2 2 1. JAVA OHJELMOINTI Kurssin tavoite ensimmäinen ohjelmointikurssi Javalla ( 32h ) ohjelmien suunnittelun alkeet Java-kielisen ohjelmoinnin periaatteet Verkosta löytyy tietoa runsaasti ja myös paljon esimerkkejä. Javan omilta sivuilta löytyy erittäin runsaasti asiaan liittyvää dokumenttia, ohjelmia, päivityksiä jne. JAVA YLEISTÄ Helppo käyttää Standardointi: siirrettävyys Ohjelma on käännettävä konekieliseksi ennen kuin sitä voidaan suorittaa. Kääntäminen voidaan toteuttaa eri tavoin. Kääntäjä (compiler) ohjelma, joka saa syötteeksi lähdekoodin (ohjelmoijan kirjoittamaa koodia) ja tuottaa käännöksen tuloksena kohdekoodia, jota jokin cpu-ymmärtää- Kohdekoodi voi olla joko koneen cpu:n ymmärtämää koodia tai esimerkiksi Java-kielen tapauksessa ns. tavukoodia. Tavukoodia ei voi suoraan suorittaa missään prosessorissa vaan tarvitaan erillinen tulkkausohjelma, joka kääntää tavukoodin konekielelle ja suorittaa sen. Ohjelma tekee aina

3 3 sitä mitä sen käsketään tehdä, mutta tämä ei välttämättä ole sama kuin mitä ohjelman halutaan tekevän. Virheet Ohjelmassa voi olla kolmenlaisia virheitä kääntäjä löytää syntaksivirheet, eli virheet, jotka ovat kielen sääntöjen vastaisia jos ohjelmassa on syntaksivirheitä eli kääntäjä tuota suoritettavaa ohjelmaa Virhetilanne voi ilmetä myös ohjelman suorituksenaikana esimerkiksi nollalla jakaminen keskeyttää ohjelman suorituksen ohjelma voi toimia, mutta tuottaa silti vääriä tuloksia; loogiset virheet Lausekielet Lausekielen periaate: algoritmit + tietorakenteet = ohjelmat Algoritmi on yksiselitteinen ja äärellinen sarja toimintaohjeita tehtävän suorittamiseksi,ohjelmointikielestä riippumaton, mekaaninen, toteutettavissa koneellisesti. toimintaohje = lause = käsky

4 4 Algoritmi määrittelee toiminnot, joiden kohteina ovat tiedot esitettynä tietorakenteissa; tietojenkäsittely,kun algoritmit ja tietorakenteet kirjoitetaan ohjelmointikielellä saadaan ohjelma. Toiminnot Yleisesti ottaen kieli tarjoaa perustoiminnot ja välineet monimutkaisempien toimintojen rakentamiseen. Perustoiminnot: sijoituslauseet, aritmeettiset operaatiot, loogiset operaatiot, tekstin luku ja tulostaminen jne. Ohjausrakenteet monimutkaisempien toimintojen määrittämiseksi - peräkkäisyys: lause1; lause2;... lausen; - valinta (haarautuminen): if-then - toisto: while, repeat, for - toiminnan abstrahointi moduulien avulla: kutsutaan funktioiksi, metodeiksi, riippuen käytettävästä ohjelmointikielestä Lauseet suoritetaan peräkkäin yksi kerrallaan, jokainen lause suoritetaan täsmälleen yhden kerran. Suoritusjärjestys on sama kuin kirjoitusjärjestys, viimeisen lauseen päättäminen lopettaa algoritmin Milloin haku päättyy? Ei ole tietoa kuinka monta kertaavalinta pitäisi kirjoittaa. Ratkaisuna toisto-rakenne: esimerkiksi if kyseessä on annettu nimi

5 5 then lue vastaava osoite else tarkista listan seuraava Runko-osa toistetaan kunnes päättymisehto toteutuu. Ongelmaksi tulee toiston päättymisen takaaminen esim. jos unohdetaan ehto listan lopusta Eräs ratkaisu on myös toistorakenne while do esim.aseta suurimmaksi listan ensimmäinen numero while lista ei ole lopussa do tarkista listan seuraava numero N if N > suurin tähän saakka then aseta N suurimmaksi tulosta suurin numero Nyt lopetusehto on toistorakenteen alussa. Taustaa Sun Microsystems tutkimusprojekti 1991 koodinimeltään Green. Kieli kehitetty C/C++ -kielistä James Goslingin johdolla. Alunperin nimi oli Oak, mutta tämän niminen ohjelmointikieli oli jo olemassa -> uudeksi nimeksi Java Kieli julkaistiin virallisesti Toukokuussa 1995 Java on ns. olio-ohjelmointikieli. Java on tulkattava kieli Java-kielelle on asetettu seuraavat tavoitteet: 1. kielen pitäisi olla tutunnäköinen 2. kielen pitäisi olla oliopohjainen

6 6 3. kielen tulisi olla tehokas 4. kieli on siirrettävä 5. kieli on mahdollisimman yksinkertainen Esimerkki ohjelman kehityksestä Ohjelma kirjoitetaan tiedostoon tekstieditorilla. Tuloksena saadaan tekstitiedosto, joka sisältää ohjelman lähdekoodin. ohjelma.java Lähdekoodi Tekstitiedosto muutetaan tietokoneen ymmärtämään muotoon java-kääntäjällä (käytetään eclipse). code) Esimerkkejä verkosta vaikkapa hakusanalla: JAVA ohjelmoinnin perusteet. Ohjelma sisältää Informaatiota käsitteleviä tietoelementtejä; mitä nimiä käytämme muistipaikoista ja minkä tyyppistä tietoa niihin talletetaan; muuttujien määrittely Java-kielen lauseita, jotka vastaavat algoritmin käskyjä tai toimintaohjeita

7 7 Java-ohjelma koostuu yhdestä tai useammasta luokasta. Java-ohjelman alussa kerrotaan importlauseella mitä valmiita Javan luokkakirjastoja ohjelma käyttää (Java API kirjasto). Javan API luokat on eroteltu pakkauksiksi, joihin kuuluvat luokat liittyvät toisiinsa jollakin tavalla. Esim: import java.io.*; /* javan I/O */ import java.awt. Esimerkiksi println ja print metodit ( java.io pakkauksessa) ja ovat osa Java APIa, ne eivät ole Javakielen osia. Molemmat metodit tulostavat informaatiota näytölle, println tulostaa rivivaihdon mutta print ei. java.lang pakkaus otetaan automaattisesti mukaan jokaiseen Javaohjelmaan Näkymättömät välimerkit Välilyönnit, tyhjät rivit ja tabulaattoreita käytetään erottamaan ohjelman sanoja ja symboleja, näitä tulisi käyttää parantamaan ohjelman luettavuutta. Ylimääräisillä välilyönneillä ei ole merkitystä Kommentit Kommentteja käytetään ohjelman tarkoituksen selittämiseen ja ohjelma eri toimintojen kuvaamiseen Javan kommentteja on kahdenlaisia: // tämä kommentti on voimassa vain tämän rivin loppuun /* tämä kommentti on voimassa kunnesvastaan tulee kommentin loppumerkki (voi siis jatkua usealle riville ) */ (kommentin sisällä ei saa olla toista kommenttia) Tietotyypit

8 8 tietotyyppi on joukko arvoja ja operaatiot ko. arvoille, kullakin koneen muistiin talletetulla arvolla on jokin tyyppi Kokonaisluvut konaisluvuille on kahdeksan erilaista muotoa tarvittava muistin määrä erottaa eri kokonaislukutyypit toisistaan Tyyppi Muistitila Min arvo Max arvo Byte 8 bit short 16 bit int 32 bit long 64 bit < -9 x 1018 > 9 x normaalit aritmeettiset operaatiot; +, -, *, / -aritmeettiset operaatiot antavat kokonaislukutuloksen, lisäksi käytössä jakojäännös- operaattori % 3 / 15 = 0, 15 / 3 = 5, 18 / 3 = 5, 4 / 0 tulosta ei ole määritelty Reaaliluvut - normaalit aritmeettiset operaatiot; +, -, *, / 2.718f tai 2.718F -> vakio tyyppiä float 2.718d tai 2.718D -> vakio tyyppiä double Tyyppi Muistitila Min arvo n. Max arvo n. float 32 bit x x 1038 double 64 bit x x Muuttujien määrittely

9 9 Muuttuja on muistielementti, joka tallettaa ohjelman käsittelemää syöttö- ja tulostustietoa sekä välituloksia. Muuttujamäärittely kertoo talletettavan tiedon tyypin ja talletukseen käytettävän muistielementin nimen int vuosi; /* esimerkiksi kuluva vuosi */ char kirjain_1, kirjain_2, kirjain_3; /* kolme kirjainta */ Muuttujien (ja metodien) niminä käytetään tunnuksia, jotka ohjelmoija määrittelee muuttujan nimi voi koostua kirjaimista, numeroista, alaviivoista ja dollarimerkistä ($) -muuttuja nimi ei voi alkaa numerolla - varattua sanaa ei saa käyttää tunnuksena -Isot ja pienet kirjaimet eivät tarkoita samaa; Total ja total ovat kaksi eri tunnusta -tunnusten nimien tulee olla kuvaavia Javan varatut sanat abstaract default goto* operator* synchoronized boolean do if outer* this break double implements package throw byte else import private throws byvalue* extends inner* protected transient case false instanceof public true cast* final int rest* try catch finally interface return var*char float long short void class for native static volatile const* future* new super while continue generic* null switch Suoritettavat lauseet Ohjelman suoritettavat operaatiot (esim. aritmeettiset) 1. käännetään tavukoodiksi 2. ladataan tulkkiohjelmaan 3. tulkkausohjelmaa kääntää tavukoodin konekieliseksi ja suorittaa ohjelman

10 10 Sijoituslause tallettaa muuttujaan laskennan tuloksen (muuttujan entinen sisältö tuhoutuu) km = KM_MAILI * mailit; Yleinen muoto: tulos = lauseke; vasemmalla oleva muuttuja ottaa vastaan lausekkeen tuloksen lauseke Ohjelmoinnissa on mahdollista myös summa = summa + 1; Syöttö- ja tulostusoperaatiot Java I/O perustuu input ja output virtoihin (streams) Kolme valmiiksi määriteltyä standardivirtaa virta käyttötarkoitus oletuslaite System.in lukee syöttövirrasta näppäimistö System.out tulostaa tulostusvirtaan näyttö System.err virheilmoitukset näyttö print ja println tulostavat standarditulostusvirtaan Java API antaa mahdollisuuden luoda monenlaisia streameja erilaisia I/O tapahtumia varten, kun halutaan lukea merkkijonoja muutetaan System.in toisenlaiseksi syöttövirraksi BufferedReader stdin = new BufferdReader (new InputStreamReader (System.in)); luodaan uusi virta nimeltä stdin, josta voidaan lukea merkkijonoja Puskurit - kaikki näppäimistöltä syötetyt merkit talletetaan lukupuskuriin - enterin painallus käynnistää syötetyn datanprosessoinnin - kaikki tulostettava tieto talletetaan väliaikaisesti tulostuspuskuriin

11 11 Esimerkki: ohjelma kyselee lukuja ja kirjoitusta ja tulostaa tiedon // käyttäjä antaa vastauksen kysymyksen perään samalle riville import java.util.scanner; // Viisas ohjelma, AW-2005 public class Viisas { private static Scanner lukija = new Scanner(System.in); public static void main(string[] args) { String syottörivi; int kokonaisluku; double desimaaliluku; System.out.println("Mikä on nimesi?"); syottörivi = lukija.nextline(); System.out.println("Mitä kokonaislukua ajattelet?"); kokonaisluku = lukija.nextint(); System.out.println("Mitä desimaalilukua ajattelet?"); desimaaliluku = lukija.nextdouble(); System.out.print ("Tiedän, että nimesi on "+syottörivi); System.out.println(" ja että ajattelit lukuja "+ kokonaisluku+" ja "+ desimaaliluku+"."); System.out.println("Enkö olekin viisas!"); Ohjelman suoritus voi näyttää vaikkapa seuraavalta: Mikä on nimesi? Arto Mitä kokonaislukua ajattelet? 49 Mitä desimaalilukua ajattelet? 3,14 Tiedän, että nimesi on Arto ja että ajattelit lukuja 49 ja Enkö olekin viisas! Ohjausmerkit Javan tulostuksen ohjausmerkit \t tabulaattori \n rivinsiirto \ lainausmerkit

12 12 \ heittomerkki \\ takakenoviiva takakenoviiva ( \ ) ilmoittaa, että seuraava merkki tulkitaan tulostuksessa eri tavalla kuin normaalisti Peräkkäisyys Java-kielessä. valmiiden Java-luokkien esittely class uudenluokannimi { luokan muuttujien määrittelyt main-metodin aloitus { muuttujien määrittelyt lause 1; lause 2;... lause N; // main-metodin loppu // uudenluokanloppu Peräkkäisyys saavutetaan lohkorakenteella: { lause1;... lausen; Metodit Metodi ryhmittää ohjelmalauseet yhdeksi ohjelmayksiköksi. Metodit aktivoidaan suorittamalla metodin kutsu, joka on tavallinen Java-kielen suoritettava lause metodinnimi ( );

13 13 Kutsutaan samoin kuin esim. println- tai read- metodeja - metodin metodinnimi kutsu aloittaa metodin metodinnimi ohjelmalauseiden suorituksen, kun metodin sisältämät lauseet on suoritettu,palataan takaisin ylemmälle tasolle ja suoritetaanmetodin kutsua seuraava lause lause1; lause2; metodinnimi ( ); mlause1; mlause2; Etuja koodia ei tarvitse toistaa; virheet ja ohjelman koko uudelleen käytettävyys. Metodit välittävät tietoa aliohjelman ja pääohjelman välillä parametrien avulla (argumentti) Java-kielen metodeja voidaan käyttää myös matemaattisten funktioiden tapaan palauttamaan tulos. - toimivat kuten aritmeettiset operaattorit - metodin kutsu voidaan sijoittaa siihen, missä tulos tarvitaan (vrt. kutsu suoritettavana lauseena ) Esimerkiksi metodi sqrt ( java.lang.math -pakkauksessa ), joka laskee neliöjuuren y = sqrt ( x ); jos x on 16.0, niin sqrt ( 16.0) on 4.0 metodin arvo 4.0 sijoitetaan muuttujan y arvoksi Käytettävät valmiit metodit on kuvattu Java-kielen käsikirjoissa. Ohjausrakenteet

14 14 Ohjelmassa voidaan suorittaa vaihtoehtoisia tehtäviä valintarakenteiden avulla. 1. Valinta 2. Toisto if-rakenne sisäkkäiset if-rakenteet switch-rakenne useille vaihtoehdoille while-toistorakenne for-toistorakenne Javan vertailuoperaattorit: = = yhtä kuin! = erisuuri kuin < pienempi kuin <= pienempi tai yhtäsuuri > suurempi kuin >= suurempi tai yhtäsuuri Esimerkiksi: Operaattori Ehto Tulkinta Arvo <= x <= 5 x pien. tai yhtäs. kuin 5 true >= x >= z x suur. tai yhtäs. kuin z false > alkio > MIN alkio suurempi kuin MIN true = = kirjain = = P kirjain yhtäkuin P true! = num! = NUM num erisuuri kuin NUM false if-rakenteen perusmuoto Java-kielessä if ( ika > 19 )

15 15 System.out.println ( Tervetuloa! ); else System.out.println ( Liian nuori!!! ); if -rakenne ja peräkkäisyys Yleinen muoto: if ( ehto ) lause1; else lause2; Sisäkkäisyyttä käyttämällä, edellä olevat lauseet voidaan korvata muilla rakenteilla; esimerkiksi peräkkäisyys (lohko). Esimerkiksi kahden muuttujan x ja y arvon vaihto siten että pienempi arvo talletetaan muuttujaan x if ( x > y ) { temp = x; x = y; y = temp; Peräkkäisyys if-rakenteen sisällä saavutetaan kirjoittamalla suoritettavat lauseet aaltosulkeiden sisään ( tyyli on vapaa, mutta sisennys parantaa ohjelman luettavuutta ). Sisäkkäiset if-rakenteet

16 16 Esimerkiksi Oletetaan kolme kokonaislukumuuttujaa nimeltään Pos, Neg, Nolla, joiden arvoa kasvatetaan yhdellä riippumatta siitä onko muuttujan x arvo suurempi, pienempi tai vastaavasti yhtäsuuri kuin nolla. if ( x > 0 ) Pos = Pos + 1; else if ( x < 0 ) Neg = Neg + 1; else Nolla = Nolla + 1; Sama tehtävä voidaan vaihtoehtoisesti suorittaa peräkkäisellä if-rakenteilla seuraavasti if ( x > 0 ) Pos = Pos + 1; if ( x < 0 ) Neg = Neg + 1; if ( x == 0 ) Nolla = Nolla + 1; Switch - rakenne useille vaihtoehdoille Valintarakenne, jonka avulla ehtolausekkeen arvon perusteella voidaan valita yksi useammasta vaihtoehtoisesta toiminnasta. Yleinen muoto: switch ( ehtolauseke ) { case tunnus1: lauseet1; break; case tunnus2: lauseet2; break;

17 17... case tunnusn; lauseetn; break; default: lauseetd; Ehtolausekkeen arvoa ( joko tyyppiä char tai int ) verrataan ylhäältä lähtien case-rivien tunnuksiin(vakioita!!!) kunnes arvot täsmäävät. Seuraavaksi täsmäävän vaihtoehdon (case) jälkeiset lauseet suoritetaan järjestyksessä ensimmäiseen break-riviinsaakka, jonka kohdalla poistutaan rakenteesta. Jos täsmäävää vaihtoehtoa ei löydy, suoritetaan default vaihtoehdon lauseet (mikäli sellainen on) ja poistutaan rakenteesta. Esimerkki: switch-valintarakenne, joka tulostaa muuttujan vari arvoa vastaavan värin ( P =punainen, S= sininen ja K = keltainen) switch ( vari ) { case P : System.out.println ( Punainen \n ); break; case S : System.out.println ( Sininen \n ); break; cases K : System.out.println ( Keltainen \n ); break; // switch Muista tunnus voi olla vain tyyppiä char tai int, ei reaaliluku eikä merkkijono While-toistorakenne

18 18 Toiston käytön algoritmissa määrää tehtävän luonne, ratkaise tehtävä jossakin erityistapauksessa ja selvitä oliko ongelmanratkaisussa askeleita, joita toistettiin tiedettiinkö etukäteen, kuinka monta kertaa askel suoritettiin mistä tiedettiin, kuinka monta kertaa askel toistettiin Yleinen muoto while ( toistoehto ) lause; Toiminta: Toistoehto testataan ja jos se on tosi, niin runko-osan lause suoritetaan. Runko-osan lause suoritetaan uudelleen niin kauan kuin (while) toistoehto on tosi, kun toistoehto on epätosi, poistutaan silmukasta ja ohjelman suoritus jatkuu while-rakennetta seuraavasta lauseesta. while-rakenteen muunnos do - while do lause; while ( toistoehto ); Runko-osan lause suoritetaan ainakin yhden kerran. Testataan toistoehto ja jos se on tosi, niin runko-osan lause toistetaan. Runko-osan lauseen suoritusta jatketaan, kunnes toistoehto on epätosi. Kun toistoehto on epätosi, poistutaan silmukasta ja ohjelman suoritus jatkuu while- rakennetta seuraavasta lauseesta While ja do-while rakenteet ovat sopivia tilanteisiin kun ei etukäteen tiedetä kuinka monta kertaa toistettava lause suoritetaan.

19 19 For- toistorakenne Silmukan toiminnassa olennaista ohjausmuuttujan rooli ( esimerkeissä ohjausmuuttujia laskuri ja tulo). 1. silmukan ohjausmuuttujan alustus 2. toistoehto 3. ohjausmuuttujan päivitys for-rakenne sisältää ennaltamääritellyt paikat näille komponenteille. Yleinen muoto: for ( alustus; toistoehto; päivitys ) lause; 2. LÄHTEITÄ https://noppa.oulu.fi/noppa/kurssi/811192p/lisatty422/811192p_1_peruskasitteet.pdf

20 20 3. HARJOITUKSET Harjoitus 1 Koodin kääntäminen, ohjelman suoritus, tekstin tulostus. /* Kirjoita eclipcellä koodi käännä ja totea toiminta lisää kommentointi, tutki mitä koodi tekee ohjelmassa Lisää ohjelmaan 5 erilaista uutta tekstiriviä ennen "Tassapa..." kommentoi ne ja käytä erilaisia rivinsiirtokomentoja */ import java.io.*; class Hello { public static void main(string[] args){ System.out.println ("\n\n\n\n"); System.out.println (" Tassapa rivi tekstia \n\n "); System.out.println (" hello wolrd \n\n ");

21 21 HARJOITUS 2 Muuttujat, laskut, syöttötiedot Tutki alla olevaa koodi, mieti mitä koodista puuttuu!! Muuta koodi toimivaksi. Kommentoi koodi. Muuta koodia siten, että se laskee double-tyyppisten (desimaali) lukujen summan ja jakolaskun. Luvut voi tietenkin syöttää käyttäjä (X + Y ) / Z. Alkuperäinen toimiva ohjelma talletetaan nimellä Summa ja uusi nimellä Summa2. import java.io.*; class Summa { public static void main (String args [ ]) { int luku1, luku2, summa; / System.out.println (" Anna kokonaisluku: "); luku1 = Integer.parseInt ( stdin.readline( ) ); System.out.println (" Anna toinen kokonaisluku: "); luku2 = Integer.parseInt ( stdin.readline( ) ); summa = luku1 + luku2; / System.out.println (" Lukujen summa on: " ); ;

22 22 Harjoitus 2.1 Laskuja,syöttötietojen antaminen, muuttujat Ohjelma pyyttää käyttäjältä lämpötilan fahrenheit-asteissa ja tulostaa vastaavan celsius-astelukeman. Täydennä koodi toimivaksi, kommentoi, käännä, testaa jne.??????????? class Lampotila {??????????????; //muuttujat tietojen tallettamiseen // pyydetään käyttäjältä lämpötila ja talletetaan lukema // reaalilukumuodossa???????????????????????? celsius = 5.0/9.0 * (fahrenheit ); System.out.println("\n\nReturn lopettaa ohjelman suorituksen"); // //

23 23 Harjoitus 3 If-rakenne ja erillinen metodi Ohjelma pyytää käyttäjältä kaksi reaalilukua ja kertoo kumpi syötetyitä luvuista on suurempi lukujen vertailu tehdään suurempiluvuista-metodilla. Täydennä koodista puuttuvat muuttujat + muu tarvittava. class Suurempi { public static void main ( String [] argv ) {????????????????? // pyydetään käyttäjältä kaksi reaalilukua ja talletetaan ne // muuttujiin lukuyksi ja lukukaksi System.out.println("Anna toinen luku >");???????????????????? System.out.println("Ohjelman suoritus päättyy tähän"); // // metodi tutkii kumpi parametrina saamistaan reaaliluvuista on // suurempi ja palauttaa suuremman luvun arvon reaalilukuna // metodin kutsujalle, joka tässä tapauksessa on main-metodi public static double suurempiluvuista( double l1, double l2) {???????????????????? // tutkitaan kumpi luvista l1, l2 on suurempi if( l1 > l2 ) { lopputulos = l1;

24 24 else { lopputulos = l2; // palautetaan lopputuloksen sisältö kutsujalle ( = main ) return?????????? // // Harjoitus 3.1 Case-rakenne, if-rakenne Rakenna ohjelma, joka kysyy oppilaan saaman tenttituloksen. Pistemäärä annetaan ja sen jälkeen ohjelma antaa oppilaan kokeesta saaman arvosanan (1 5). Täydennä alla olevaa ohjelmaa, siten että se toteuttaa yllä olevat tehtävät. Kommentoi jne.! Testaa..! Tee valmiiksi...!!! import java.io.*; class TentinTulos { public static void main (String args []) { xxxxxxxxxx System.out.print (" Anna kokeen pistemäärä >"); // onko koepisteet oikealla välillä (0-24)? if ((koepisteet >=0 ) &&...??????? )) {

25 25 switch ( koepisteet ) { case 11: case 12: System.out.println (" 1 "); break; xxxxxxxxx default:?????? break; // // else { // annetaan virheilmoitus koska..?????? System.out.println (" Pisteiden tulee olla välillä 0 ja 24!!!"); // // // Harjoitus 4 WHILE-silmukka Suunnittele ja toteuta ohjelma, jolla lasketaan käyttäjän antamien positiivisten kokonaislukujen summaa. Ohjelma laskee summaa, kunnes käyttäjä antaa tietyn luvun lopet-taakseen ohjelman. Lopetuskomennon muoto; final static int LOPETUS = -99;

26 26 Harjoitus 5 Taulukot (syöttö ja tulostus), for-silmukka Tutki allaolevaa koodia, lisää puuttuva koodi. Muuta taulukko lopuksi siten, tulostaa luvut 100 Ja 200väliltä. Kommentoi koodi. int[] luku = new int[101]; // luetaan 100 lukua: for (int i=1; i<=100; ++i) { System.out.println("Anna luku "+i); luku[i] = lukija.nextint(); // tulostetaan luvut käänteisessä järjestyksessä: System.out.println("Luvut lopusta alkuun:"); for (int i=100; i>=1; --i) System.out.println(luku[i]) Harjoitustyö Laskuja,syöttötietojen antaminen, muuttujat ja tulostus Suunnittele ja toteuta ohjelma, joka laskee neljän käyttäjältä pyydetyn desimaaliluvun keskiarvon, summan tai kertoo luvut. Itse laskeminen toteutetaan erillisellä metodilla. Aluksi ohjelma kertoo mitä käyttäjän on tehtävä (käyttöliittymä, josta valitaan haluttu toiminto). Lopputuloksena näytetään käyttäjälle hänen syöttämät luvut ja niiden antama tulos.

27 27 4. MUUTAMA MALLIRATKAISU public class HelloWorld { public static void main( String [] args ){ System.out.println ("\n\n\n\n");// neljä tyhjää riviä System.out.println (" Tassapa rivi tekstia \n\n "); System.out.println (" Tassapa rivi tekstia \n\n "); System.out.println (" Paina ENTER, niin paaset takaisin." ); System.out.println(" Ohjelman suoritus loppuu..."); System.out.println("Hello world!"); import java.util.scanner; public class Summa { private static Scanner lukija = new Scanner(System.in); public static void main(string[] args) { int luku1,luku2,summa; // double desimaaliluku; System.out.println("Anna ensimmäinen kokonaisluku; "); luku1 = lukija.nextint(); System.out.println("Anna toimem kokonaisluku;"); luku2 = lukija.nextint(); summa=luku1+luku2; System.out.println("lukujen summa on " +summa);

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

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

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

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

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

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

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

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita Käyttäjän kanssa keskusteleva ohjelma 1 Kirjoittaminen konsolinäkymään //Java ohjelma, joka tulostaa konsoli-ikkunaan public class HeiMaailma { public void aja() { // kirjoitus ja

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

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

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

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

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

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++? JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

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

Metodien tekeminen Javalla

Metodien tekeminen Javalla 1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.

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

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli

812341A Olio-ohjelmointi, 2016. Olio-ohjelmoinnin peruskäsitteet ja Java-kieli 812341A Olio-ohjelmointi, 2016 Olio-ohjelmoinnin peruskäsitteet ja Java-kieli Sisältö 1. Java-kieli 2. Luokka 3. Luokkakaaviot 4. Lisää Javaa Javalla 2 Java-kieli n Sun Microsystems tutkimusprojekti 1991

Lisätiedot

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014

Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.

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

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi

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

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

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

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

Listarakenne (ArrayList-luokka)

Listarakenne (ArrayList-luokka) Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen

Lisätiedot

Olio-ohjelmointi Javalla

Olio-ohjelmointi Javalla 1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet

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

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

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

Ohjelmoinnin perusteet, 1. välikoe

Ohjelmoinnin perusteet, 1. välikoe Ohjelmoinnin perusteet,. välikoe Nimi: Opiskelijanumero:.. 3. 4. Yhteensä Ohje: Ratkaise kaikki tehtävät. Lähdemateriaalia ja tietokonetta ei saa käyttää. Noudata ohjelmointitehtävissä Java-kielen vakiintuneita

Lisätiedot

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki Tehtävä 1 Koherentti selitys Koherentti esimerkki ½p ½p Tehtävä 2 Täysiin pisteisiin edellytetään pelaajien tulostamista esimerkin järjestyksessä. Jos ohjelmasi tulostaa pelaajat jossain muussa järjestyksessä,

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

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

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

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

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

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. 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. 3.1 3.2 Johdanto

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

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

C-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja

C-kieli mahdollistaa hyvin tiiviin ja samalla sekavan tavan esittää asioita, kuitenkin hyvän ohjelman tulisi olla mahdollisimman helppolukuinen ja 1. C-kieli yleiskäyttöinen ohjelmointikieli, standardoitu 1990. siirrettävä laiteläheinen pieni ydin, monimutkaiset kokonaisuudet rakennetaan aliohjelmakirjastojen avulla. direktiivit ja esikääntäjien

Lisätiedot

12 Mallit (Templates)

12 Mallit (Templates) 12 Mallit (Templates) Malli on määrittely, jota käyttämällä voidaan luoda samankaltaisten aliohjelmien ja luokkien perheitä. Malli on ohje kääntäjälle luoda geneerisestä tyyppiriippumattomasta ohjelmakoodista

Lisätiedot

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int

Lisätiedot

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa(); Sisällys 7. Oliot ja viitteet Olio Java-kielessä. Olion luominen, elinikä ja tuhoutuminen. Viitteiden käsittelyä: sijoitus, vertailu ja varautuminen null-arvoon. Viite metodin paluuarvona.. 7.1 7.2 Olio

Lisätiedot

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo 15.2.2006 TURUN YLIOPISTO DEMO III Informaatioteknologian laitos tehtävät Olio-ohjelmoinnin perusteet / Salo 15.2.2006 1. Tässä tehtävässä tarkastellaan erääntyviä laskuja. Lasku muodostaa oman luokkansa. Laskussa

Lisätiedot

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto

VIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,

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

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

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

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

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

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus Sisällys 19. Olio-ohjelmointia Javalla Olioiden esittely ja alustus. Metodit Yleistä metodeista. Mihin metodeja tarvitaan? Metodien määrittely. Omat metodit: nimeäminen, paikka, kutsuminen, parametrit

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

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko 5 Taulukot Tämän osan sisältö Taulukon esittely ja luonti Taulukon alustaminen Taulukon koko Taulukon käsittely indeksointi peräkkäiskäsittely hajakäsittely harva taulukko Taulukon järjestäminen Kaksiulotteinen

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet 2 Java-kielen perusteet Tämän osan sisältö Syntaksi Ohjelma, luokka, metodi Tunnukset, muuttujat ja tyypit esittely, alustaminen, näkyvyyssäännöt Syöttö ja tulostus Metodit määrittely, kutsu, parametrit,

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

Ohjelmointityö 65 Tekstinmuotoilu ohjelma. Dokumentaatio. Aki Heikkinen (155394)

Ohjelmointityö 65 Tekstinmuotoilu ohjelma. Dokumentaatio. Aki Heikkinen (155394) Ohjelmointityö 65 Tekstinmuotoilu ohjelma Dokumentaatio Aki Heikkinen (155394) 15.6.2007 Sisällysluettelo 1. Tehtävän määrittely ja ratkaisuperiaate... 1 1.1. Tehtävän määrittely... 1 1.2. Ratkaisuperiaate...

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

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

Ohjelmointityö 3. Mikko Laamanen 185667

Ohjelmointityö 3. Mikko Laamanen 185667 Ohjelmointityö 3 Mikko Laamanen 185667 Sisällysluettelo Tehtävän määrittely ja ratkaisuperiaate... 1 Tehtävän määrittely... 1 Ratkaisuperiaate... 1 Ohjelman käyttöohje... 1 Syötteet ja tulosteet... 1 Ohjelman

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

1 Tehtävän kuvaus ja analysointi

1 Tehtävän kuvaus ja analysointi Olio-ohjelmoinnin harjoitustyön dokumentti Jyri Lehtonen (72039) Taneli Tuovinen (67160) 1 Tehtävän kuvaus ja analysointi 1.1 Tehtävänanto Tee luokka, jolla mallinnetaan sarjaan kytkettyjä kondensaattoreita.

Lisätiedot

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

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

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

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

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

Pakkauksen kokoaminen

Pakkauksen kokoaminen 13. Pakkaukset 13.1 Sisällys Pakkauksen kokoaminen (package). Pakkaukset ja hakemistorakenne. Pakkauksen luokkien käyttö muissa pakkauksissa (import). Pakkaukset ja näkyvyys. 13.2 Pakkauksen kokoaminen

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

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen Taulukot: Array Taulukko Javassa pitää aina perustaa (new) Yksinkertaisessa tilanteessa taulukon koko tiedetään etukäteen ja

Lisätiedot

Tietueet. Tietueiden määrittely

Tietueet. Tietueiden määrittely Tietueet Tietueiden määrittely Tietue on tietorakenne, joka kokoaa yhteen eri tyyppistä tietoa yhdeksi asiakokonaisuudeksi. Tähän kokonaisuuteen voidaan viitata yhteisellä nimellä. Auttaa ohjelmoijaa järjestelemään

Lisätiedot

TIETORAKENTEET JA ALGORITMIT

TIETORAKENTEET JA ALGORITMIT TIETORAKENTEET JA ALGORITMIT Timo Harju 1999-2004 1 typedef link List; /* Vaihtoehtoisia nimiä */ typedef link Stack; /* nodepointterille */ typedef link Queue typedef struct node Node; /* itse nodelle

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle

ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle ELEC-A4010 Sähköpaja Arduinon ohjelmointi Jukka Helle Arduino UNO R3 6-20VDC 5VDC muunnin 16 MHz kideoskillaattori USB-sarjamuunnin (ATmega16U2) ATmega328 -mikro-ohjain 14 digitaalista I/O väylää 6 kpl

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

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ JAVA alkeet JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++ ja Javascriptin kanssa. Huom! JAVA ja JavaScript eivät silti ole sama asia, eivätkä edes sukulaiskieliä.

Lisätiedot

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma

5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma 5.6. C-kielen perusteet, osa 6/8, Taulukko 6.1.2008, pva, kuvat jma Every cloud has a silver line. - englantilainen sananlasku Tässä osiossa tärkeää: yksi- ja moniulotteinen taulukko Sisältö Yleistä Yksiulotteinen

Lisätiedot

1. Ohjelmoinnin perusteet, kesä 2012... 2 1.1 Aloittaminen... 2 1.2 Tulostaminen... 6 1.3 Muuttujat... 8 1.4 if-rakenne... 12 1.5 Metodit... 15 1.

1. Ohjelmoinnin perusteet, kesä 2012... 2 1.1 Aloittaminen... 2 1.2 Tulostaminen... 6 1.3 Muuttujat... 8 1.4 if-rakenne... 12 1.5 Metodit... 15 1. 1. Ohjelmoinnin perusteet, kesä 2012.......................................................................... 2 1.1 Aloittaminen........................................................................................

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Java-API, rajapinnat, poikkeukset, UML,...

Java-API, rajapinnat, poikkeukset, UML,... Java-API, rajapinnat, r poikkeukset, UML,... Janne Käki 12.10.2006 Keskeisimmät Java-API:n pakkaukset API = Application Programming Interface eli sovellusohjelmointirajapinta (!) pakkaus (engl. package)

Lisätiedot

Olio-ohjelmoinnin perusteet. Lewis & Loftus & Jukka Juslin 1

Olio-ohjelmoinnin perusteet. Lewis & Loftus & Jukka Juslin 1 Olio-ohjelmoinnin perusteet Lewis & Loftus & Jukka Juslin 1 Kurssin fokus Oliosuuntautunut ohjelmakehitys Ongelmanratkaisu Ohjelman suunnittelu, toteutus ja testaus Oliosuuntautuneisuuden käsitteitä luokat

Lisätiedot

TIE 02100 Johdatus ohjelmointiin

TIE 02100 Johdatus ohjelmointiin TIE 02100 Johdatus ohjelmointiin syksy 2015 Kerttu Pollari-Malmi Copyright c Kerttu Pollari-Malmi Johdanto Tämä on opintojaksolla TIE 02100 Johdatus ohjelmointiin käytetty luentomoniste. Moniste on alunperin

Lisätiedot

Taulukot. Jukka Harju, Jukka Juslin 2006 1

Taulukot. Jukka Harju, Jukka Juslin 2006 1 Taulukot Jukka Harju, Jukka Juslin 2006 1 Taulukot Taulukot ovat olioita, jotka auttavat organisoimaan suuria määriä tietoa. Käsittelylistalla on: Taulukon tekeminen ja käyttö Rajojen tarkastus ja kapasiteetti

Lisätiedot

2. C-kieli ja ongelmanratkaisu

2. C-kieli ja ongelmanratkaisu 2. C-kieli ja ongelmanratkaisu Taustaa Esimerkki C-kielisen ohjelman kehityksestä Kielen yleispiirteet Muuttujat Suoritettavat lauseet Tietotyypit ja lausekkeet Tietojen lukeminen ja tulostaminen 64 C

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

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

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1

Tietotyypit ja lausekkeet. Lewis & Loftus & Jukka Juslin 1 Tietotyypit ja lausekkeet Lewis & Loftus & Jukka Juslin 1 Tietotyypit Perustavaa laatua olevia ohjelmoinnin käsitteitä Luku 2 käsittelee seuraavia: Merkkijonot Primitiivitietotyypit (eli alkeistietotyypit)

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 perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla

Lisätiedot

1 PHP-sovelluksen toiminta

1 PHP-sovelluksen toiminta AMVA48-49 HTML ja PHP-ohjelmointi, 2 ov Yleistä kurssista HTMLperusteita PHP-kielen perusrakenteet HTMLlomakkeen käsittely Tiedoston käsittely Evästeiden käyttö Istunnon hallinta Oppimistehtävät PHP-KIELEN

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

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) 1(37) PERIYTYMINEN (inheritance) YLILUOKKA (superclass) ALILUOKKA (subclass) A) on käytännöllinen ohjelmointitekniikka = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys) B) on käsitteiden

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

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot