if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta.

Koko: px
Aloita esitys sivulta:

Download "if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta."

Transkriptio

1 if- valintarakenne Yksittäisen vaihtoehdon valinta if-lauseen yksinkertaisin muoto on sellainen, missä tietyt lauseet joko suoritetaan tai jätetään suorittamatta. Syntaksi: if (ehto) lauseita; Aaltosulkeiden välissä olevat lauseet valitaan suoritettaviksi vain ehdon ollessa voimassa. Lauseita voi olla yksi tai useampia. Jos lauseita on vain yksi, ei ole välttämätöntä käyttää aaltosulkeita. Yksittäisen vaihtoehdon if-rakenne voidaan esittää seuraavanlaisena vuokaaviona: salmiakkikuvio kuvaa ehtoa; suorakaide kuvaa lauseita, jotka suoritetaan ehdon ollessa tosi; nuolet kuvaavat ohjelman suorituksen etenemistä 15

2 #include <stdio.h> void main(void) int luku; printf ("Anna kokonaisluku :"); scanf ("%d",&luku); if (luku == 100) /*== on yhtäsuuruusvertailu */ printf ("Luku on sata"); Harj 12 Tee ohjelma, joka kysyy käyttäjältä kaksi lukua ja tulosta luvuista suuremman. Anna kaksi lukua : 2 5 Suurempi luvuista oli 5. Harj 13 Tee ohjelma, joka kysyy käyttäjältä 2 lukua. Ohjelma vähentää pienemmän luvun suuremmasta luvusta ja tulostaa laskutoimituksen ja erotuksen. Anna kaksi lukua : = 3 16

3 Valinta kahdesta vaihtoehdosta Usein valintatilanne on sellainen, jossa joudutaan valitsemaan toinen kahdesta mahdollisesta vaihtoehdota. Kahden vaihtoehdon if-valintalauseessa vaihtoehto-osa alkaa avainsanalla else. if-rakenne else-osan kanssa (valinta kahdesta) syntaksi: if (ehto) else lauseita; lauseita; If-else -rakenteen vuokaavioesitys: ehdon ollessa tosi haaraudutaan oikealle epätodessa tilanteessa haaraudutaan vasemmalle kumpaakin reittiä päästään jatkamaan ohjelman suoritusta if-else -rakennetta seuraavasta lauseesta 17

4 #include <stdio.h> void main(void) int luku; printf ("Anna kokonaisluku :"); scanf ("%d",&luku); if (luku == 100) /*== on yhtäsuuruusvertailu */ printf ("Luku on sata"); else printf( Luku ei ole 100 ); Harj 14 Tee ohjelma, joka kysyy käyttäjältä luvun. Jos luku on jaollinen kolmella, ohjelma tulostaa jana BINGO, muussa tapauksessa ohjelma tulostaa sanan BONGO. (Tämän tehtävän ratkaisuun tarvitset modulo-operaattoria sivulta 9) Harj 15 Tee laskinohjelma, jossa käyttäjä antaa kaksi lukua ja valitsee haluamansa laskutoimituksen. Ohjelma tulostaa laskutoimituksen ja tuloksen. Anna kaksi lukua: 2 5 Valitse haluamasi laskutoimitus 1. yhteenlasku 2. vähennyslasku 3. jakolasku 4. kertolasku Valinta: 3 2 / 5 =

5 Binäärivalinnan periaate Tarkastellaan tilannetta, jossa pitäisi toimia eri tavoilla sen perusteella onko luku nolla, positiivinen vai negatiivinen. Tällainen ongelma voidaan ratkaista sisäkkäisillä if-else - rakenteella käyttäen ns. binäärivalinnan periaatetta, joka on esitetty kuvassa: salmiakkikuvio kuvaa valintaa nuolet kuvaavat ohjelman etenemistä jokaisessa valintatilanteessa on kaksi vaihtoehtoa Valinta useasta vaihtoehdosta If-rakennetta voidaan käyttää monivalintatilanteissa, joissa pitää valita yksi useasta mahdollisesta vaihtoehdosta. Esimerkki tällaisesta tapauksesta mm. kolmen vaihtoehdon valintatilanne: #include <stdio.h> #include <stdlib.h> //Sisältää srand- ja rand-funktiot #include <time.h> //Sisältää time-funktion int arvaus, arvottu; void main (void) srand(time(null)); /*Alustetaan satunnaislukugeneraattori. srand()-funktio 19

6 saa parametrinaan tietokoneen kellonajan, jonka perusteella se asettaa arvon satunnaislukugeneraattorin siemenluvulle, jota käyttäen satunnaisluku lasketaan*/ arvottu = rand() % 10; /*Arvotaan satunnaisluku. Lukualuetta supistetaan modulo-operaattorilla. Modulomerkin perään luku, joka on yhtä suurempi kuin haluttu suurin luku*/ printf("olen arponut luvun väliltä 1-9, arvaa luku: \n"); scanf("%d", &arvaus); if (arvottu==arvaus) printf("arvasit oikein!"); else if (arvottu>arvaus) printf("arvaus oli liian pieni"); else printf("arvaus oli liian suuri"); Harj16 Tee ohjelma, joka kysyy opiskelijan etu- ja sukunimen ja arvosanan numerona. Ohjelma tulostaa opiskelijan kokonimen ja arvosanan tekstimuotoisena (5=kiitettävä, 4=hyvä, 3=hyvä, 2=tyydyttävä, 1=tyydyttävä,0=hylätty). Jos käyttäjä syöttää jonkin muun arvon ilmoita siitä käyttäjälle! Switch...case valintarakenne On olemassa tilanteita, joissa joudutaan valitsemaan yksi vaihtoehto monien joukosta. 20

7 Otetaan käyttöön rakenne, jossa on käytössä yksi valintamuuttuja ja monta vaihtoehtoista toimintamallia. Monivalintaisen if-rakenteen sijaan voidaan joissakin tilanteissa käyttää switch...case rakennetta. Esimerkki tällaisesta on tilanne, jossa käyttäjä valitsee yhden vaihtoehdon usean vaihtoehdon valikosta (nk. menusta).switch...case -rakenteessa on testattavana yksi lauseke, jonka arvon perusteella haaraudutaan johonkin case-haaraan. case-haara voi sisältää useita lauseita, jotka suoritetaan peräkkäin, kunnes törmätään break-lauseeseen, joka ohjaa kontrollin pois switch-rakenteesta. Todettakoon, että tämä on ainoa paikka, jossa tässä materiaalissa käytetään breaklausetta. Muissa tilanteissa break-lauseen käyttöä ei suositella. Switch...case -rakenteen kieliopillinen muoto on seuraava: switch (lauseke) case tapausvakio1: lauseita; break; case tapausvakio2: lauseita; break; case tapausvakio3:... default: lauseita; #include <stdio.h> void main(void) int valinta; printf("arvioi tämän hetkinen C-kielen osaamisesi asteikolla 0-5: "); scanf("%d", &valinta); 21

8 switch (valinta) case 5: printf("\nosaamisesi on kiitettävää"); break; case 4: case 3: printf("\nhyvä-osaaminen, jatka samaan malliin"); break; case 2: printf("\ntyydyttävä-osaaminen, "); break; case 1: printf("\ntyydyttävä-osaaminen, mutta tehosta harjoittelua!"); break; case 0: printf("\ntarvinnet lisää harjoitusta kurssin läpäisemiseksi"); break; Harj17 Tee uudelleen Harj15 käyttäen switch case rakennetta. Merkkijono Merkkijonoa käsiteltiin jo edellisessä osiossa sivulla Arvon lukeminen merkkijonomuuttujalle Olkoon määritelty merkkijono: char nimi[11]; Merkkijonolle voidaan lukea arvo mm. seuraavilla tavoilla: 22

9 (1) scanf ("%s", nimi); (2) gets(nimi); Syöttöfunktio sijoittaa lukemansa merkkijonon loppuun nollamerkin. Jos esimerkiksi käyttäjä syöttää nimen "Tiivitaavi", merkkitaulukon nimi sisällöksi tulee: T i i v i t a a v i \0 Taulukon loppuosa nollamerkin jälkeen on sisällöltään yhdentekevää. Järjestelmä tietää nollamerkin sijainnin perusteella, mihin todellinen merkkijono päättyy. Olkoon määritelty merkkijono: char nimi[11]; Merkkijono voidaan tulostaa printf()-funktiolla kahdella eri tavalla: (1) printf (nimi); (2) printf ("%s",nimi); Merkkijonojen vertailu Se, että merkkijono ei ole C-kielen perustietotyyppi näkyy siinä, että merkkijonoille ei voi tehdä yhtäsuuruusvertailuja ==-operaattorilla eikä merkkijonoa voi sijoittaa toisen arvoksi =-operaattorilla. Merkkijonojen vertailu on tehtävä string.h-tiedostossa määritellyllä kirjastofunktiolla strcmp(). Funktion prototyyppi on seuraava: 23

10 int strcmp (const char *eka, const char *toka); Funktiolle välitetään parametreina kaksi merkkijonotaulukkoa. const-määreet (constant = vakio) muuttujamäärittelyjen edessä ilmaisevat, ettei funktiolla ole lupa muuttaa parametreja. (Muuttujaparametrejahan voitaisiin periaatteessa muuttaa.) Funktion paluuarvona on luku, joka < 0 mikäli eka < toka = 0 mikäli merkkijonot ovat samoja > 0 mikäli eka > toka. Esimerkkiohjelma strcmp-funktion ja binäärivalinnan käytöstä: #include <stdio.h> #include <string.h> void main(void) char nimi[30]; int vertailu; printf("anna nimi:"); scanf("%s",nimi); vertailu=strcmp(nimi,"pekka"); if(vertailu==0) printf("kirjoitit Pekka"); else if(vertailu<0) printf("antamasi nimi on aakkosissa ennen Pekkaa\n"); 24

11 else printf("antamasi nimi on aakkosissa Pekan jalkeen\n"); Harj18 Ohjelma, joka tarkistaa käyttäjän syöttämän salasanan oikeellisuuden. Ohjelma antaa virheellisestä salasanasta virheilmoituksen. Anna salasana: Tiivitaavi Aivan oikein! Harj19 Tee sanakirja ohjelma, johon sana syötetään englanniksi ja ohjelma tulostaa sanan suomeksi. Jos sanaa ei löydy ohjelma tulostaa virheilmoituksen. Ohjelma tuntee sanat horse, cow, mouse ja bear sekä vastaavat suomenkieliset sanat hevonen, lehmä, hiiri ja karhu Merkkijonon kopionti Merkkijonomuuttujaa ei voi sijoittaa toisen merkkijonomuuttujan arvoksi sijoituslauseessa. Sijoitus on tehtävä string.h-tiedostossa määritellyllä kirjastofunktiolla strcpy(): char *strcpy (char *mihin, const char *mista); 25

12 Funktiolle välitetään parametreina kaksi merkkijonotaulukkoa. Ensimmäinen on sijoituksen kohde ja toinen lähde. Funktion paluuarvona on kohdemerkkijono (eli sen osoite). Esimerkkiohjelma kopioi käyttäjän antaman merkkijonon toisen merkkijonon arvoksi: #include <stdio.h> #include <string.h> void main (void) char nimi1[11]; char nimi2[11]; printf ("Anna nimi (max. 10 merkkiä):"); gets(nimi1); strcpy(nimi2, nimi1); printf ("Tässä on kaksi samaa nimeä: %s ja %s", nimi1,nimi2); Harj20 Tee ohjelma 19 käyttäen ainoastaan kahta printf-lausetta. Harj21 Tee Harj16 tallentaen sanallisen arvosanan merkkijonomuuttujaan. Toistorakenteet Toistorakenteen avulla voidaan suorittaa samoja lauseita toistuvasti peräkkäin. Toistojen määrä on joko etukäteen määrätty tai se riippuu ohjelmassa esitetyistä ehdoista. 26

13 C-kielessä on 3 toistorakennetta: for, while ja do-while. Tässä vaiheessa kurssia käsittelemme for-rakenteen ja loput toistorakenteet tulevat kurssin seuraavassa osassa. For-toistorakenne Ohjelmassa tarvittavien toistojen määrä tunnetaan usein etukäteen ts. toistoja halutaan tehdä tietty ennalta annettu määrä. Otetaan käyttöön rakenne, jossa toistojen määrä voidaan helposti ilmaista etukäteen. for-rakennetta kannattaa käyttää, jos toistojen määrä tiedetään ohjelmassa, ennen kuin toistot aloitetaan. Jos esimerkiksi halutaan sademäärätiedot viikon jokaiselle päivälle, tiedetään, että sademääriä on seitsemän kappaletta ja näin ollen sademäärää pyydetään vuorovaikutteisessa ohjelmassa seitsemän kertaa. For-lauseessa toistojen lukumäärää hallitaan ohjelmassa olevan toistolaskurin avulla. Se määritellään yleensä kokonaislukumuuttujana, jolle annetaan nimi "i": int i; Laskurin arvo asetetaan toistojen alussa ykköseksi ja sitä kasvatetaan jokaisella toistokerralla yhdellä. Toistot päätetään, kun laskuri on ylittänyt sovitun loppuarvon. Jos for-silmukoita on sisäkkäin, tarvitaan useita laskureita. Sisempien silmukoiden laskureille voidaan käyttää nimiä j ja k. Laskuriin kohdistuu kolme oleellista operaatiota. Nämä ovat 1. laskurin alkuarvon asettaminen (alkutoimet) 2. laskurin arvon vertaaminen loppuarvoon (toistoehto) 3. laskurin arvon kasvattaminen yhdellä (lopputoimet) 27

14 Nämä kaikki asiat tehdään for-lauseen alussa sulkujen sisällä: for (i=1; i<=n; i++) For-rakenteen kieliopillisesta muodosta on oleellista huomata että kaikki kolme toistoa ohjaavaa operaatiota kirjoitetaan for-riville sulkujen sisään: for (alkutoimet; toistoehto; lopputoimet) lauseita; for-rakenteen sisään kirjoitetut lauseet suoritetaan niin monta kertaa kuin halutaan for-rivin päätteeksi ei kirjoiteta puolipistettä. Puolipiste päättäisi for-rakenteen, minkä seurauksena toistettavat lauseet suoritettaisiin ainoastaan kerran. Ohjelmassa tulostetaan lukujen 1-10 toiset potenssit: #include <stdio.h> #define KOKO 10 void main(void) int i; for (i=1; i<=koko; i++) printf ("%d potenssiin 2 on %d\n",i, i*i); Harj22 Ohjelma, joka tulostaa näytölle nimesi 100 kertaa. Harj23 28

15 Ohjelma, joka tulostaa näytölle luvut , 20 lukua yhdellä rivillä. Harj 24 Ohjelma, joka kysyy sata lukua ja laskee lukujen summan. Harj25 Tee ohjelma, joka kysyy sata lukua ja laskee sekä positiivisten lukujen summan ja keskiarvon. (siis käyttäjä voi syöttää myös negatiivisia lukuja tai nollan) 29

16 Taulukot Jos on käsiteltävä suuri määrä yhteenkuuluvia samanlaisia tietoja, ei kannata nimetä jokaista tietoa erikseen, vaan kannattaa järjestää tiedot peräkkäin ja antaa tiedoille yksi yhteinen nimi. Yksittäiseen tietoon viitattaessa käytetään yhteistä nimeä ja järjestysnumeroa. Tähän asti käytetyt tietorakenteet (muuttujat) ovat olleet yksinkertaista tyyppiä, mikä tarkoittaa, että muuttujiin liittyy kerrallaan täsmälleen yksi arvo. Reaalimaailman tieto on kuitenkin usein luonteeltaan sellaista, että sitä kuvaa tietojen tai arvojen joukko: "Henkilötiedot"-tietojoukko voi koostua nimestä, syntymäajasta, syntymäpaikasta jne. "Kuukauden päivälämpötilat" koostuu useasta lämpötila-arvosta. Tämäntapaisia tietojoukkoja ei voi kuvata yhdellä muuttujan arvolla. Tarkemmin tutkittaessa esitettyjä tapauksia, huomataan, että nekin ovat luonteeltaan erilaisia. Ensimmäinen tietojoukko (henkilötiedot) koostuu yhtä asiaa (henkilöä) kuvaavista erityyppisistä tiedoista. Jälkimmäinen (päivälämpötilat) koostuu useasta samantyyppisestä tiedosta. Näitä kumpaakin erilaista rakennetta varten on oma tietotyyppinsä. Tässä vaiheessa kurssia tutustumme taulukkoon, joka sisältää ainoastaan samaa tyyppiä olevaa tietoa. Tietotyyppiä, jonka avulla voidaan kuvata useasta samantyyppisestä tiedosta muodostuvaa tietojoukkoa, kutsutaan taulukkotyypiksi. Vastaava tietorakenne on nimeltään taulukko. Taulukko on aina käyttäjän määrittelemä siinä mielessä, että käyttäjä määrää taulukon koon ja taulukon alkion tyypin. Taulukon määrittelyn muoto on: 30

17 alkion_tyyppi taulukon_nimi [taulukon_koko]; 10 kokonaislukua sisältävä kokonaislukutaulukko määritellään seuraavasti: int taulukko[10]; Taulukon määrittelyssä on huomattava, että hakasulkeisiin kirjoitettavan arvon tulee olla vakio. Taulukon kokoa ei voi määrittää muuttujan avulla eikä sitä voi ohjelman aikana muuttaa. Taulukon yksittäisiin lokeroihin eli taulukon alkioihin viitataan taulukon nimen ja indeksin avulla. Taulukon alkion nimi on muotoa taulukon_nimi[indeksi]. Taulukon looginen rakenne: taulukko koostuu useasta samantyyppisestä tiedosta lokerot nimetään käyttäen taulukon nimeä ja indeksiä indeksi kirjoitetaan nimen perään hakasulkeisiin Taulukon alkiota voidaan käyttää kuten mitä tahansa yksinkertaista muuttujaa. Arvon sijoitus taulukon kolmanteen alkioon käy esimerkiksi seuraavasti: taulukko[2] = 5; 31

18 Taulukko voidaan alustaa ohjelman alussa määrittelynsä yhteydessä. Yleisin alustustapa on nollata taulukko. Tässä taulukon ensimmäiselle alkiolle asetetaan arvo nolla. Loput alkiot nollautuvat, koska niille ei anneta alkuarvoja. int taulukko[20]=0; Tässä taulukon ensimmäiselle ja toiselle alkiolle asetetaan arvot. Loput alkiot nollautuvat, koska niille ei anneta alkuarvoja. int taulukko[20]=1,2; Taulukon alkioita käsitellään usein järjestyksessä alkaen indeksistä nolla ja päätyen taulukon viimeiseen indeksiin. Tällaisessa käsittelyssä on kätevää käyttää for-rakennetta siten, että for-rakenteen toistomuuttujaa käytetään taulukon indeksinä. Ohjelma lukee taulukkoon lukuja ja tulostaa taulukon sisällön. Taulukko täytetään ja tulostetaan järjestyksessä alkaen indeksistä 0. #include <stdio.h> #define KOKO 20 void main (void) int taulukko [KOKO], i; /* Taulukon täyttö: */ for (i = 0; i < KOKO; i++) printf ("Anna luku"); scanf ("%d",&taulukko[i]); /* Alkioiden tulostaminen yksitellen: */ for (i = 0; i < KOKO; i++) printf ("%d\n",taulukko[i]); 32

19 Harj26 Tee ohjelma, joka tallentaa taulukkoon täydet kymmenet väliltä ( ). Ohjelma tulostaa taulukon sisällön kymmenen lukua rivillään. Harj27 Ohjelma kysyy käyttäjältä 7 päivän lämpötilat ja laskee viikon keskilämpötilan. Ohjelma tulostaa käyttäjän syöttämän lämpötilat ja keskilämpötilan seuraavasti: ******************************************************** MA TI KE TO PE LA SU Keskilämpötila ******************************************************** Harj26 Luokalle on pidetty ohjelmoinnin tentti, tee ohjelma joka kysyy arvosanat ja tallentaa ne sellaiseen taulukkoon, että tämän perusteella ohjelma voi tulostaa arvosanojen keskiarvon ja jakauman seuraavasti: Tentin keskiarvo 2,96 0: *** 1: ***** 2: ****** 3: ******* 4: *** 5: ****** 33

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

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

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

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

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

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

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

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

Lisätiedot

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

3 Tee ohjelma, joka tulostaa kahden opiskelijan nimet ja osoitteet rinnakkain. 4 Tee ohjelma, joka kysyy käyttäjältä numeron ja tulostaa sen näytölle.

3 Tee ohjelma, joka tulostaa kahden opiskelijan nimet ja osoitteet rinnakkain. 4 Tee ohjelma, joka kysyy käyttäjältä numeron ja tulostaa sen näytölle. 1 Tee ohjelma, joka tulostaa nimesi näytölle. Olli Opiskelija 2 Tee ohjelma, joka tulostaa näytölle nimesi ja osoitteesi. Olli Opiskelija Torikatu 19 90100 Oulu 3 Tee ohjelma, joka tulostaa kahden opiskelijan

Lisätiedot

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

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

12. Javan toistorakenteet 12.1

12. Javan toistorakenteet 12.1 12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu

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 perusteet

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

Lisätiedot

11. Javan toistorakenteet 11.1

11. Javan toistorakenteet 11.1 11. Javan toistorakenteet 11.1 Sisällys Laskuri- ja lippumuuttujat. Sisäkkäiset silmukat. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin

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

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

Sisällys. 12. Javan toistorakenteet. Yleistä. Laskurimuuttujat Sisällys 12. Javan toistorakenteet Ylstä toistorakentsta. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirhtä. Silmukan rajat asetettu kierroksen

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

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

Ohjelmointi 1 Taulukot ja merkkijonot

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

Lisätiedot

811120P Diskreetit rakenteet

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

Lisätiedot

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

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

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 22. huhtikuuta 2016 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille! Kirjoittamasi luokat, funktiot ja aliohjelmat

Lisätiedot

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

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

Lisätiedot

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

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 7. huhtikuuta 2017 Vastaa kaikkiin tehtäviin. Tee jokainen tehtävä erilliselle konseptiarkille. Kirjoittamasi luokat, funktiot ja aliohjelmat

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

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

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

Lisätiedot

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

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

Sisältö. 22. Taulukot. Yleistä. Yleistä

Sisältö. 22. Taulukot. Yleistä. Yleistä Sisältö 22. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 22.1 22.2 Yleistä

Lisätiedot

811120P Diskreetit rakenteet

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

Lisätiedot

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi.

Ohjelmassa on käytettävä funktiota laskeparkkimaksu laskemaan kunkin asiakkaan maksu. Funktio floor pyöristää luvun lähimmäksi kokonaisluvuksi. Tehtävä 24. Kallioparkki veloittaa 2 euroa kolmelta ensimmäiseltä pysäköintitunnilta. Yli kolmen tunnin pysäköinnistä veloitetaan lisäksi 0.5 euroa jokaiselta yli menevältä tunnilta. Kuitenkin maksimiveloitus

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

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

Taulukoiden käsittely Javalla

Taulukoiden käsittely Javalla 1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen

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

ITKP102 Ohjelmointi 1 (6 op)

ITKP102 Ohjelmointi 1 (6 op) ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 20. huhtikuuta 2018 Vastaa kaikkiin tehtäviin. Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä.

Lisätiedot

Loppukurssin järjestelyt

Loppukurssin järjestelyt C! Loppukurssin järjestelyt 29.3.2018 Ohjelmassa Yhteenvetoa palautteesta Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Kysyttävää / kerrattavaa 10-kierroksen asioista? Aikatauluista 10. kierroksen

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

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) (Erittäin) helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Ei selvää että main funktion pitikin

Lisätiedot

Loppukurssin järjestelyt C:n edistyneet piirteet

Loppukurssin järjestelyt C:n edistyneet piirteet C! Loppukurssin järjestelyt C:n edistyneet piirteet 30.3.2017 Ohjelmassa Ohjelmontitehtävän järjestelyt Tietokonetentin järjestelyt Esikääntäjä Parametrilistat Funktio-osoittimet Kunniamainintoja Kuura

Lisätiedot

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne

Metropolia ammattikorkeakoulu TI00AA : Ohjelmointi Kotitehtävät 3 opettaja: Pasi Ranne Seuraavista tehtävistä saatu yhteispistemäärä (max 7 pistettä) jaetaan luvulla 3.5 ja näin saadaan varsinainen kurssipisteisiin laskettava pistemäärä. Bonustehtävien pisteet jaetaan luvulla 4 eli niistä

Lisätiedot

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n

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

Python-ohjelmointi Harjoitus 2

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

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

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

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

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

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

// // whiledemov1.c // #include <stdio.h> int main(void){ int luku1 = -1; int luku2 = -1;

// // whiledemov1.c // #include <stdio.h> int main(void){ int luku1 = -1; int luku2 = -1; // // whiledemov1.c // #include int main(void){ int luku1 = -1; int luku2 = -1; while( luku1

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

Sisältö. 2. Taulukot. Yleistä. Yleistä

Sisältö. 2. Taulukot. Yleistä. Yleistä Sisältö 2. Taulukot Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.1 2.2 Yleistä

Lisätiedot

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

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

Lisätiedot

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

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

Lisätiedot

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

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 8.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 8.2.2010 1 / 38 Debuggeri Tyypillinen tilanne: ohjelma on kirjoitettu, Python-tulkki ei valita virheistä, mutta ohjelma

Lisätiedot

Algoritmit 1. Demot Timo Männikkö

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

Lisätiedot

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

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

Lisätiedot

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet

Lisätiedot

#include <stdio.h> // io-toiminnot. //#define KM_MAILISSA int main( ){

#include <stdio.h> // io-toiminnot. //#define KM_MAILISSA int main( ){ demo1.c 30/09/15 08:19 #include // io-toiminnot //#define KM_MAILISSA 1.609 int main( ){ double mailit = 0.0; double kilometrit; const double KM_MAILISSA = 1.609; printf("anna maililukema > ");

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

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

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

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

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

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2016-2017 Kertausta kurssin alkuosasta II Algoritmien analyysi: oikeellisuus Algoritmin täydellinen oikeellisuus = Algoritmi päättyy ja tuottaa määritellyn tuloksen

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

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden

Lisätiedot

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit. 3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

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

Moduli 5: Kehittyneitä piirteitä

Moduli 5: Kehittyneitä piirteitä C! : Kehittyneitä piirteitä 19.4.2016 Aikataulusta 5. harjoituskierroksen määräaika: pe 22.4. Maari-C keskiviikkoisin ja torstaisin (12-14) Ti 26.4. Harjoitustentti (eli kertausluento) Normaalin luennon

Lisätiedot

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi

Imperatiivisen ohjelmoinnin peruskäsitteet. Meidän käyttämän pseudokielen lauseiden syntaksi Imperatiivisen ohjelmoinnin peruskäsitteet muuttuja muuttujissa oleva data voi olla yksinkertaista eli primitiivistä (esim. luvut ja merkit) tai rakenteista jolloin puhutaan tietorakenteista. puhuttaessa

Lisätiedot

Harjoitus 3 (viikko 39)

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

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

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

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if--lauseet. Orpo. Valintaa toisin: switch-lause. 11.2 Valintarakenteet Valintarakenteilla ilmaistaan formaalisti, kuinka algoritmin suoritus voi haarautua

Lisätiedot

Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2

Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2 Johdatus ohjelmointiin / Lausekielinen ohjelmointi 1 & 2 Syntaksilomake (22.4.2007) C-kielen standardikirjaston funktioita gets(merkkijono); scanf("formaatti", &muuttuja1,..., &muuttujan); sscanf(merkkijono,

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

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti

Lisätiedot

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

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

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

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 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 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

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

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

Lisätiedot

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

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

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

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

Lisätiedot

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

3. Muuttujat ja operaatiot 3.1

3. Muuttujat ja operaatiot 3.1 3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.

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

Lyhyt kertaus osoittimista

Lyhyt kertaus osoittimista , syksy 2007 Kertausta Luento 10 12.10.2007 Syksy 2007 1 Lyhyt kertaus osoittimista char *p; /* char, int, jne ilmoittavat, minkä tyyppisiä */ Keskusmuisti int *q; /* olioita sisältäviin muistilohkoihin

Lisätiedot