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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 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 taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille: char mjono [9]; /* tallettaa max. 8 kpl merkkejä! */ 341

2 Merkkijono voidaan alustaa merkkijonovakiolla, jolloin kääntäjä laskee taulukon koon ja tallettaa merkkijonon merkit taulukkoon: char mjono [] ="Eka arvo"; E k a a r v o \0 Merkkijonon lopetusmerkiksi lisätään automaattisesti '\0' eli NUL-merkki, jonka avulla tunnistetaan jonon loppu. Lopetusmerkillekin on varattava tilaa! 342

3 Omissa funktioissa koodaajan tulee huolehtia NUL-merkin lisäämisen merkkijonon loppuun. Jos alustus tehdään seuraavasti: char mjono [8] ="Eka arvo"; E k a a r v o Tässä tilanteessa NUL-merkki talletetaan taulukon ulkopuolelle, mahdollisesti jonkin toisen muuttujan sisällöksi. 343

4 n:n kokoisessa merkkijonotaulukossa voidaan esittää merkkijonoja, joiden pituus vaihtelee välillä 0... i -1, koska tilaa on varattava myös lopetusmerkille. NUL-merkin jälkeisillä alkioiden arvoilla ei ole merkitystä, merkkien ei tarvitse täyttää koko taulukkoa. char merkkijono[10] = "ABCDEF"; 'A' 'B' 'C' 'D' 'E' 'F' '\0' 344

5 Merkkivakiot ja merkkijonovakiot eroavat toisistaan siten, että merkkivakiot kirjoitetaan heittomerkkien väliin ja merkkijonovakiot kirjoitetaan lainausmerkkien väliin. Merkkijonojen ja yksittäisen merkin esitys tietokoneen muistissa on erilainen. 1. char merkki = "a"; 2. char merkkijono[10] = {'a'}; Esimerkkirivillä 1 yritetään tallettaa kahta merkkiä char - tyyppiseen muuttujaan, sillä merkkijono "a" koostuu kahdesta merkistä 'a' ja '\0'. Esimerkkirivillä 2 taulukko merkkijono[10] ei esitä merkkijonoa, koska taulukossa ei ole merkkijono lopetusmerkkiä '\0'! 345

6 Merkkijonotaulukko toteutetaan kaksiulotteisella char -taulukolla. char merkkijonoja [10][31]; Taulukon ensimmäinen indeksi 10 kertoo montako merkkijonoa taulukkoon voi tallettaa ja toinen indeksi 31 ilmaisee, että rivin merkkijonon pituus voi olla enintään 30 merkkiä, jotta lopetusmerkki mahtuu mukaan. 346

7 Merkkijonotaulukko voidaan määritellä ja alustaa seuraavasti. char kuukaudet[12][10] = {"Tammikuu", "Helmikuu", "Maaliskuu", "Huhtikuu", "Toukokuu", "Kesäkuu", "Heinäkuu", "Elokuu", "Syyskuu", "Lokakuu", "Marraskuu", "Joulukuu"}; 347

8 Taulukko näyttäisi tällaiselta: T a m m i k u u \0 H e l m i k u u \0 M a a l i s k u u \0 H h t i k u u \0 T o u k o k u u \0 K e s ä k u u \0 H e i n ä k u u \0 E l o k u u \0 S y y s k u u \0 L o k a k u u \0 M a r r a s k u u \0 J o u l u k u u \0 348

9 Merkkijonojen käsittely Merkkijonojen käsittelyyn printf - ja scanf -funktioiden avulla on oma kentänmäärittely %s. printf -funktiolla tulostettaessa voidaan määrittää myös tulostuskentän leveys, kirjoittamalla numero % ja s merkkien väliin %10s. Jos tulostettava merkkijono on lyhyempi kuin kentän leveys tasataan tulostus tulostuskentän oikeaan reunaan. Jos halutaan tasata tulostuskentän vasempaan reunaan käytetään kentän leveyden määrityksen edessä - merkkiä %-10s. 349

10 Jos tulostettava teksti on pitempi kuin kentänleveysmäärityksessä on määritelty, kentänleveysmääritys menettää merkityksensä. #include <stdio.h> int main(void){ char nimi1[21] = "Kalle"; char nimi2[21] = "Uuno Välkky"; /* tulostetaan merkkijono "nimi1" selitysteksteineen nimen sisältö tasattuna tulostuskentän oikeaan reunaan */ printf("nimi1 sisältää \"%15s\" nimen\n", nimi1); 350

11 } /* tulostetaan merkkijono "nimi1" selitysteksteineen nimen sisältö tasattuna tulostuskentän vasempaan reunaan */ printf("nimi1 sisältää \"%-15s\" nimen\n", nimi1); /* tulostetaan merkkijono "nimi2" siten että tulostuskentän leveys on liian lyhyt */ printf("nimi2 sisältää \"%5s\" nimen\n", nimi2); printf("\n\n"); return 0; 351

12 Funktiolla scanf voidaan lukea koko merkkijono, jolloin parametrina välitetään merkkijonomuuttujan ensimmäisen alkion osoite joka on sama kuin merkkijonomuuttujan nimi. 352

13 #include <stdio.h> int main(void){ } char nimi1[21]; printf("syötä merkkijono >"); scanf("%s", nimi1); /* huomaa ei &-merkkiä nimi1:n edessä */ printf("\nsyötit merkkijonon \"%s\"\n\n", nimi1); return 0; scanf lukee merkkijonon taulukkoon nimi1 ja lisää automaattisesti lopetusmerkin merkkijonon perään. 353

14 Funktiolla scanf ei voi lukea merkkijonoja, jotka sisältävät välilyöntejä. Funktio scanf lukee merkkijonomuuttujaan vain välilyöntimerkkiin asti olevat merkit ja jättää loput merkit näppäimistöpuskuriin. Tämä saattaa joskus aiheuttaa ohjelmassa kummallista käytöstä. 354

15 #include <stdio.h> int main(void){ } char nimi1[21]; char nimi2[21]; printf("syötä 1. merkkijono >"); scanf("%s", nimi1); printf("\n\nsyötä 2. merkkijono >"); scanf("%s", nimi2); printf("\n\nsyötit 1. merkkijonoksi \"%s\"\n\n", nimi1); printf("\nsyötit 2. merkkijonoksi \"%s\"\n\n", nimi2); return 0; 355

16 356

17 Funktion scanf sijasta voidaan käyttää funktiota fgets, joka löytyy kirjastosta string.h. Funktiolle täytyy antaa kolme parametria: 1.Merkkijonomuuttujan nimi, jonne fgets tallettaa lukemansa merkkijonon 2.Merkkijonomuuttujan maksimikoko 3.Tiedosto, josta luetaan. Jos luetaan näppäimistöltä, nimeksi laitetaan stdin. 357

18 fgets lukee merkkejä kunnes luetaan enter tai on luettu merkkijonon koko -1 merkkiä. Jos merkkijonomuuttujan koko on suurempi kuin luetun merkkijonon koko talletetaan enterin painallus myös merkkijonomuuttujan sisällöksi ja vasta sen jälkeen tulee merkkijonon loppumerkki. Jos syötetty merkkijono on saman mittainen kuin merkkijonomuuttujan koko-1, merkkijonoon ei talleteta enteriä, vaan se jää näppäimistöpuskuriin stdin. Tämä saattaa jälleen aiheuttaa ohjemassa outoa toimintaa. Esimerkkiohjelma fgets - funktion käytöstä, jossa on huomioitu edellä mainitut tilanteet. 358

19 #include <stdio.h> #include <string.h> #define JONOPIT 80 void luepois(void); /* näppäimistöpuskuin tyhjentäjä */ int main ( void ) { char nimi[jonopit]; char pois; /* luetaan enintään 79 merkkiä (JONOPIT-1) */ printf("anna nimesi >"); fgets( nimi, JONOPIT, stdin ); 359

20 /* jos syötetty merkkijono oli lyhyempi kuin mitä nimimuuttujaan mahtuu, on '\n' eli enter/return */ if( nimi[strlen(nimi)-1] == \n ) nimi[strlen(nimi)-1] = \0 ; /* loppumerkki oikeaan paikkaan */ else luepois(); /* tyhjentää lukupuskurin */ printf(" OK, nimesi on %s\n", nimi); } return ( 0 ); void luepois(void){ while( getc(stdin)!= '\n'); } 360

21 Merkkijonoja voidaan tulostaa myös funktiolla puts char nimi[] = "Matti"; puts(nimi); /* tulostaa merkkijonon nimi sisällön */ 361

22 Ohjelmissa täytyy ottaa aina huomioon se, että luettava merkkijono mahtuu sille varattuun tilaan. Jos luettava merkkijono on pitempi kuin sille varattu tila, tallettuvat loput merkit mahdollisesti jonkin toisen muuttujan muistialueelle (puskuriylivuoto). Merkkijonojen käsittelyssä usein tarvittava apufunktio on strlen, joka palauttaa merkkijonoon kuuluvien merkkien määrän, kuitenkaan jonon loppumerkkiä '\0' ei lasketa pituuteen mukaan! 362

23 #include <stdio.h> #include <string.h> int main ( void ) { char nimi[] = "Matti"; int pituus; } pituus = strlen(nimi); printf("merkkijonon \"%s\" pituus on %d\n\n", nimi, pituus); return 0; 363

24 364

25 Merkkijonojen käsittelyfunktioita Merkkijonojen käsittelyfunktioita löytyy kirjastosta string.h Merkkijonojen kopiointi Merkkijonoja ei voi kopioida sijoitusoperaattoria = käyttämällä. Sijoitusta voidaan käyttää vain alustuksessa merkkijonon määrittelyn yhteydessä, ohjelman muissa osissa merkkijonojen sijoitukset on tehtävä erillisen kopiointifunktion strcpy avulla. strcpy ( kopio, kopioitava ); 365

26 jossa kopio ja kopioitava ovat kahden ennalta määritellyn merkkijonomuuttujan nimet Funktio kopioi jonon kopioitava sisällön jonon kopio sisällöksi NUL-merkki ('\0') mukaanlukien olettaen, että jonossa kopio on riittävästi tilaa. Funktiolla strncpy kopioidaan myös merkkijono toiseen merkkijonoon, se saa kolmanneksi parametriksi kopioitavien merkkien lukumäärän. strncpy ( kopio, kopioitava, lukumäärä ); HUOMIO: Funktio ei lisää merkkijonon lopetusmerkkiä! 366

27 char mjono1[10]; char mjono2[] = "abcdefg"; /*Kopioidaan 3 ensimmäistä merkkiä mjono2:sta mjono1:een */ strncpy ( mjono1, mjono2, 3 ); mjono[3] = '\0'; /* lisätään NUL-merkki */ Tilanteen huomioimatta jättäminen aiheuttaa ohjelmassa outoa käyttäytymistä, jonka selvittäminen voi olla aloittelijalle työlästä. 367

28 Merkkijonon loppuun voidaan lisätä toinen merkkijono funktiolla strcat. #include <stdio.h> #include <string.h> int main ( void ) { char nimi[25] = "C-ohjelmointi"; char k[] = " -kurssi"; printf("\nnimi-muuttuja: %s\n", nimi); strcat( nimi, k ); printf("\nnimi-muuttuja lisäämisen jälkeen: %s\n\n", nimi); } return 0; 368

29 369

30 Merkkijonojen vertailu tehdään funktiolla strcmp. strcmp (mjono1, mjono2); Funktio tarkistaa edeltääkö mjono1 mjono2:ta aakkosjärjestyksessä. Vertailua tehdään merkki merkiltä kunnes ero löytyy tai merkkijonot loppuvat. Jos eroa ei löydy palauttaa funktio arvon 0 eli merkkijonot ovat samanlaiset. Jos mjono1 edeltää mjono2:ta, palauttaa funktio negatiivisen kokonaisluvun (mjono1 < mjono2). Jos mjono2 edeltää mjono1:tä funktio palauttaa positiivisen kokonaisluvun (mjono1 > mjono2). 370

31 Funktio strcmp vertaa oikein vain merkkijonoja, jotka eivät sisällä skandeja (å, Å, ä, Ä, ö, Ö). Esimerkkiohjelma ilmoittaa saamiensa nimien aakkosjärjestyksen: #include <stdio.h> #include <string.h> void luepois( void ); int main ( void ) { char nimi1[ 21 ]; char nimi2[ 21 ]; printf("anna nimi ( nimi saa olla max 20 merkkiä): "); fgets ( nimi1, 21, stdin ); 371

32 if( nimi1[strlen(nimi1)-1] == \n ) nimi1[strlen(nimi1)-1] = \0 ; else luepois(); /* tyhjentää lukupuskurin */ printf("anna nimi ( nimi saa olla max 20 merkkiä): "); fgets ( nimi2, 21, stdin ); if( nimi[strlen(nimi2)-1] == \n ) nimi2[strlen(nimi2)-1] = \0 ; else luepois(); /* tyhjentää lukupuskurin */ 372

33 if( strcmp ( nimi1, nimi2) == 0 ) { printf("nimet ovat samat"); }else{ if(strcmp ( nimi1, nimi2) < 0 ) { printf("%s on aakkosissa aikaisemmin kuin %s\n", nimi1, nimi2); }else{ printf("%s on aakkosissa aikaisemmin kuin %s\n", nimi2, nimi1); } } } /* main */ void luepois( void ){ while( getc(stdin)!= '\n' ); } 373

34 Merkkijonon voi pilkkoa osamerkkijonoksi jonkin erotinmerkin tai erotinmerkkijonon avulla käyttämällä funktiota strtok. char * strtok(merkkijono, erotinmerkkijono); Esimerkiksi päiväyksenn lukeminen muodossa " ". 374

35 #include <stdio.h> #include <string.h> void luepois( void ); int main ( void ) { char paivays[13]; char * osamerkkijono; char erotinmerkkijno[] = "."; char selitystekstit[3][11] ={"Paiva: ","Kuukausi: ", "Vuosi: "}; int i; /* valitsee selitystekstin */ printf("anna paivays muodossa \"paiva.kuukausi.vuosi\" > "); fgets ( paivays, 13, stdin ); 375

36 if( paivays[strlen(paivays)-1] == '\n') paivays[strlen(paivays)-1] = '\0'; else luepois(); /* tyhjentää lukupuskurin */ osamerkkijono = strtok( paivays, erotinmerkkijno); i = 0; while( NULL!= osamerkkijono ){ printf("%10s %s\n", selitystekstit[i], osamerkkijono); /* strtok "muistaa" merkkijonon, NULL kertoo että jatka entisen merkkijono käsittelyä */ osamerkkijono = strtok( NULL, erotinmerkkijno); i = i+1; } } /* main */ 376

37 void luepois( void ){ while( getc(stdin)!= '\n' ); } 377

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

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

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot

Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot. Tiedostot Tiedosto yhteenkuuluvien tietojen joukko, joka on tavallisesti talletettu pysyväismuistiin muodostuu tietueista, jotka voivat olla keskenään samanlaisia tai vaihdella tyypiltään tiedostot ovat joko tekstitiedostoja

Lisätiedot

tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi

tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi tietueet eri tyyppisiä tietoja saman muuttujan arvoiksi ero taulukkoon taulukossa alkiot samantyyppisiä tietueessa alkiot voivat olla erityyppisiä tiedot kuitenkin yhteen kuuluvia ohjelmoinnin perusteet,

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

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa

Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö. Muistin käyttö C-ohjelmassa ssa ohjelman käytössä suoritusaikana oleva muisti jakautuu neljään osaan: koodisegmentti datasegmentti pinosegmentti (stack) kasa (heap) ssa ohjelman koodisegmentti sisältää käännetyn ohjelmakoodin sisältö

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

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

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

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

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

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

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

Tiedosto on yhteenkuuluvien tietojen joukko, joka tavallisimmin sijaitsee kiintolevyllä, muistitikulla tai jollakin muulla fyysisellä tietovälineellä.

Tiedosto on yhteenkuuluvien tietojen joukko, joka tavallisimmin sijaitsee kiintolevyllä, muistitikulla tai jollakin muulla fyysisellä tietovälineellä. Tiedostot Tiedosto on yhteenkuuluvien tietojen joukko, joka tavallisimmin sijaitsee kiintolevyllä, muistitikulla tai jollakin muulla fyysisellä tietovälineellä. C-kielessä syöttö ja tulostus kuvataan laiteriippumattomasti

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

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

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

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 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

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

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

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 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

13 Operaattoreiden ylimäärittelyjä

13 Operaattoreiden ylimäärittelyjä 248 13 C++-kielessä voidaan operaattoreita ylimäärittää. Ylimääriteltävää operaattoria voidaan pitää ikäänkuin metodina, joka esitellään luokan esittelyssä ja määritellään luokan ulkopuolella kuten metoditkin.

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

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

Modulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä.

Modulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä. 3. Funktiot Modulaarisessa ohjelmoinnissa jaetaan ohjelma osiin (moduuleihin), jotka ovat yksinkertaisia ja lyhyitä. Modulaarisuudella pyritään parantamaan ohjelman ymmärrettävyyttä, testattavuutta sekä

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

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

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

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä.

3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. PHP-kielen perusteet Käytä lähteenä PHP:n virallista manuaalia http://www.php.net/docs.php tai http://www.hudzilla.org/php (siirry Paul Hudsonin verkkokirjaan). Lisää materiaalia suomeksi esimerkiksi ohjelmointiputkan

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

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 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

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

Plagioinnin tunnistaminen lähdekielisistä ohjelmista

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

Lisätiedot

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

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

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

Merkkijonot ja C++ Antti-Juhani Kaijanaho. 5. maaliskuuta 2001. 1 Vanhojen C++-kääntäjien käyttäjät, huomio! 2 Merkkijonojen perusteet

Merkkijonot ja C++ Antti-Juhani Kaijanaho. 5. maaliskuuta 2001. 1 Vanhojen C++-kääntäjien käyttäjät, huomio! 2 Merkkijonojen perusteet Merkkijonot ja C++ Antti-Juhani Kaijanaho 5. maaliskuuta 2001 1 Vanhojen C++-kääntäjien käyttäjät, huomio! Tämä kirjoitus perustuu vuonna 1998 julkistettuun C++-kielen kansainväliseen ISO-standardiin.

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

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

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

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

3. Binääripuu, Java-toteutus

3. Binääripuu, Java-toteutus 3. Binääripuu, Java-toteutus /*-------------------------------------------------------------/ / Rajapinta SearchTree: binäärisen hakupuun käsittelyrajapinta / / Metodit: / / void insert( Comparable x );

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. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include 15: 16: int main() 17: {

Osa. Listaus 2.1. HELLO.CPP esittelee C++ -ohjelman osat. 14: #include <iostream.h> 15: 16: int main() 17: { Osa I 2. oppitunti C++-ohjelman osat Ennen kuin menemme yksityiskohtaisemmin sisälle C++-luokkiin, -muuttujiin jne, katsokaamme ensin, millaisista osista C++-ohjelma koostuu. Tämän tunnin aikana opit seuraavat

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

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

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

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014

PHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014 PHP-kielen perusteet 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc on ominaisuus PHP-koodaamisessa, jolla voidaan kirjoittaa pitkiä tekstejä

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

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

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

OPINTOJAKSON OHJELMOINTI HARJOITUSTEN RATKAISUJA

OPINTOJAKSON OHJELMOINTI HARJOITUSTEN RATKAISUJA OPINTOJAKSON OHJELMOINTI HARJOITUSTEN RATKAISUJA HARJOITUS 1 1. Laadi algoritmi opiskelijan aamutoimista ja koulumatkasta. 2. Laadi algoritmi, joka lukee käyttäjän antamia lukuja niin kauan, kunnes sille

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

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

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

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

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

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

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

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

Työttömyysaste, työttömät työnhakijat ja avoimet työpaikat - Arbetslöshetstalet, arbetslösa arbetssökande och lediga arbetsplatser LOHJA - LOJO

Työttömyysaste, työttömät työnhakijat ja avoimet työpaikat - Arbetslöshetstalet, arbetslösa arbetssökande och lediga arbetsplatser LOHJA - LOJO Työttömyysaste, työnhakijat ja työpaikat - Arbetslöshetstalet, och 100 kpl/st. Kuntaliitos Sammatin kanssa 1.1.2009 - Kommunsammanslagning med Sammatti 1.1.2009 Kuntaliitos Karjalohjan ja Nummi-Pusulan

Lisätiedot

Tiedosto. Tiedostot ovat joko binääritiedostoja tai tekstitiedostoja. Tekstitiedostot

Tiedosto. Tiedostot ovat joko binääritiedostoja tai tekstitiedostoja. Tekstitiedostot Tiedosto Monessa tilanteessa olisi hyvä pystyä tallentamaan ohjelman suorituksen aikana syntyvää tietoa pysyvämmin. Nythän kaikki katoaa kun ohjelman suoritus lopetetaan. Tietoja on mahdollista tallentaa

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

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

Unix-käyttöjärjestelmien tietoturva ja OpenBSD

Unix-käyttöjärjestelmien tietoturva ja OpenBSD Unix-käyttöjärjestelmien tietoturva ja OpenBSD Arto Jonsson Marraskuu 2012 Kalvot http://iki.fi/artoj Luentojen sisältö 1. Kolme poimintaa tietoturvasta 2. Tietoturva yleisesti 3. OpenBSD 4. Ohjelmointirajapintojen

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

Osoittimet. Mikä on osoitin?

Osoittimet. Mikä on osoitin? Osoittimet 7 Osoittimet On aika siirtyä käsittelemään osoittimia, C++:lle elintärkeätä ominaisuutta. Osoittimet ovat tärkeitä, koska ne luovat perustan muistin dynaamiselle varaukselle ja käytölle. Ne

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

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

int puts(char *buff) Kirjoittaa puskurissa buff \0 :lla päätetyn merkkijonon standarditulostukseen. Formatoitu konsoli-i/o Tiedostot

int puts(char *buff) Kirjoittaa puskurissa buff \0 :lla päätetyn merkkijonon standarditulostukseen. Formatoitu konsoli-i/o Tiedostot 1. Standardikirjasto Ohjelmankehitysympäristössä on joukko kirjastoituja funktioita. on joukko otsikkotiedostoja, joissa on kirjastofunktioiden prototyypit (esittelyt) ja tarvittavien vakioiden, tietotyyppien

Lisätiedot

Dynaaminen muisti Rakenteiset tietotyypit

Dynaaminen muisti Rakenteiset tietotyypit C! Dynaaminen muisti Rakenteiset tietotyypit 1.3.2016 Agenda Kertausta Dynaaminen muisti Valgrind-perusteet ja esimerkkejä Yhteenveto tietorakenteista Vilkaisu 3. kierroksen tehtäviin Esim: miten linkitetty

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

ATK I OHJELMOINNIN PERUSTEET 76314P LUENTOMATERIAALI

ATK I OHJELMOINNIN PERUSTEET 76314P LUENTOMATERIAALI ATK I OHJELMOINNIN PERUSTEET 76314P LUENTOMATERIAALI Mauri Puoskari ja Mikko Saarela Oulun yliopisto Fysikaaliset tieteet/ Teoreettinen fysiikka Linnanmaa 90570 Oulu syksy 2000 2 Sisältö 1 Ohjelmointi

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

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Kompositio Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma 1 Mikä kompositio on? Tili - : String - : double 1 1 Kayttoraja

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

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

Aditro Tikon versio 6.2.0

Aditro Tikon versio 6.2.0 Marraskuu 2012 1 (7) Aditro Tikon versio 6.2.0 Mallikantojen ja raporttien käyttöönotto Marraskuu 2012 2 (7) Sisällysluettelo 1. Mallikantojen ja raporttien käyttöönotto... 3 1.1. Tikon versioon 6.2.0

Lisätiedot

Minun psori päiväkirjani

Minun psori päiväkirjani Tähän päiväkirjaasi voit kirjoittaa henkilökohtaisesti psoristasi, psorin hoidoistasi ja niiden vaikutuksista. Voit hyödyntää päiväkirjaa kirjoittamalla myös muista psoriin vaikuttavista asioista, sillä

Lisätiedot

Merkkijonon tutkiminen matches-metodilla

Merkkijonon tutkiminen matches-metodilla Merkkijonon tutkiminen matches-metodilla String-luokkaan on määritelty seuraava metodi: public boolean matches(string regular_expression) Mihin käytetään String-luokan metodia public boolean matches(string

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

Ohjeet. Jaa vastauksesi konsepteille siten, etta:

Ohjeet. Jaa vastauksesi konsepteille siten, etta: / AS-0.1103/4 C~ohjelmoinnin peruskurssi Aalto-yliopiston teknillinen korkeakoulu Tentti 12.05.2010, Raimo Nikkilii Ohjeet Kaikki ohjelmointitehtavat tulee toteuttaa C-kielella hyvaa ohjelmointityylia

Lisätiedot

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli

Lisätiedot

Operaattoreiden uudelleenmäärittely

Operaattoreiden uudelleenmäärittely Operaattoreiden uudelleenmäärittely 14 Operaattoreiden uudelleenmäärittely Tässä luvussa käsittelemme, kuinka voit lisätä toiminnallisuutta luokkiisi, jotta ne toimivat enemmän C++:n perustietotyyppien

Lisätiedot

-ohjelmointikurssi 1998-1999. luentomoniste ja tehtävät

-ohjelmointikurssi 1998-1999. luentomoniste ja tehtävät -ohjelmointikurssi 1998-1999 luentomoniste ja tehtävät Sisällysluettelo C++-KIELESTÄ...2 KONEKIELI JA LAUSEKIELI...3 C++-KIELEN OHJELMAN RAKENNE...4 TYYPIT JA MUUTTUJAT...6 OPERAATTOREISTA...8 TYYPPIMUUNNOKSET...11

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

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

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015 Ohjelmoinnin perusteet Pythonilla Teemu Sirkiä, 2015 Päivitetty 16.9.2015 Yleistä Materiaali sisältää lähinnä Aalto-yliopiston Ohjelmoinnin peruskurssi Y1:n harjoitustehtävissä tarvittavia keskeisiä asioita

Lisätiedot

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla

Ohjelmointi Tunnilla 1 (5) 13.10.2014. Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1 (5) Viikko 7 tuntitehtäviä: metodien tekeminen Javalla 1. Tee ohjelma (kalvoesimerkkinä), joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. Välityspalkkion on 3,44%

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

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

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

C# Windows ohjelmointi perusopas

C# Windows ohjelmointi perusopas Paavo Räisänen C# Windows ohjelmointi perusopas www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta ei saa

Lisätiedot

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus?

11. oppitunti III. Viittaukset. Osa. Mikä on viittaus? Osa III 11. oppitunti Viittaukset Kahdessa viime luvussa opit käyttämään osoittimia kohteiden käsittelyyn vapaalla muistialueella sekä viittaamaan noihin kohteisiin epäsuorasti. Tässä luvussa käsiteltävät

Lisätiedot

2013 -merkistä tunnistat uudet ominaisuudet

2013 -merkistä tunnistat uudet ominaisuudet Tähän käsikirjaan on koottu Ecomiin liittyviä yleisiä aiheita ja toimintatapoja, joiden opiskelemisesta on hyötyä kaikille Ecomin käyttäjille. 2013 2013 -merkistä tunnistat uudet ominaisuudet Ohjeita käsikirjan

Lisätiedot