T Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

Koko: px
Aloita esitys sivulta:

Download "T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet"

Transkriptio

1 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 aliohjelmat Kaikki tähän asti käsitellyt komennot ovat itse asiassa Matlabin valmisfunktioita. Molemmat toimivat samalla periaattella. Koodi kirjoitetaan tekstieditorilla ja tallennetaan tekstitiedostoon (plain text). Skriptin tai funktion nimi on oltava sama kuin tiedostonimen alkuosa: Käynnistetään tekstieditori komentoriviltä kirjoittamalla edit ja tiedostonimi. Jos sitä ei ole ennestään olemassa, saadaan oheinen ilmoitus. Vastataan Yes.

2 Skriptit Tämä on skripti. Editoriin voidaan kirjoittaa rivi kerrallaan haluttuja komentoja ja valmisfunktioiden kutsuja. Skripti ajetaan sen nimellä, jolloin tiedostossa olevat rivit suoritetaan rivi kerrallaan. >> summa a = 1 b = >> whos Name Size Bytes Class a 1x1 8 double array ans 1x1 8 double array b 1x1 8 double array Grand total is 3 elements using 24 bytes Skriptille ei voi antaa parametreja komentoriviltä eikä se voi palauttaa arvoja muuttujiin. Ne siis toimivat tilanteissa, jossa muuttujien arvot eivät muutu (toki niitä voi muuttaa käsin editoimalla m-tiedostoa). Whos-komennon tulostuksesta nähdään, että skriptin käyttämät muuttujat jäävät näkyviin suorituksen jälkeen. Skriptimuuttujat ovat globaaleja muuttujia. Jos työmuistissa on toinen samanniminen muuttuja, skripti kirjoittaa sen päälle. Tehtävä: Kirjoita skripti, joka lataa edellisessä harjoituksessa tutkitun hiilidioksidin määrän eri vuosina sisältävän carb_dio.txt-tiedoston Matlabiin, tulostaa kuvaajan sekä lisää siihen akselien nimet ja otsikon. Funktiot

3 Matlabin funktioita käytetään samalla periaatteella kuin C-kielen funktioita. Myös funktion tarkennin on.m, ja sitä kutsutaan tiedostonimen alkuosalla. Yksi tiedosto sisältää täsmälleen yhden funktion, joka tekee yhden rajatun toiminnon. Funktiolle voidaan välittää arvoja parametrien avulla ja se voi palauttaa yhden tai useamman arvon (skalaari, vektori, matriisi tai merkkijono) paluuarvonaan. Funktiotiedoston ensimmäisellä rivillä täytyy olla syntaksiltaan seuraavan kaltainen teksti: function [output_parameter_list] = function_name(input_parameter_list) TAI function function_name(input_parameter_list) TAI function function_name() Määrittely alkaa aina avainsanalla function. Funktion mahdolliset paluuarvot annetaan hakasuluissa [ ]. Paluuarvo voidaan jättää pois jos funktio ei palauta arvoa. Jos funktio ei palauta arvoa, jätetään myös = -merkki pois. Funktiota kutsutaan sen nimellä. Nimi on oltava sama kuin m-tiedoston nimi! Lopuksi annetaan suluissa lista funktiolle syötettävistä parametreista. Jos parametreja ei ole, kirjoitetaan tyhjät sulut. Parametrilistat erotellaan pilkulla Toisin kuin monissa muissa ohjelmointikielissä, funktio ei saa muuttaa syöttöparametrilistassa funktiolle välitettävien muuttujien arvoja. Return-lause ei ole pakollinen. Funktiosta palataan kutsuvaan ohjelmaan kun se loppuu. Return-lausetta voi käyttää jos halutaan esimerkiksi poistua funktiosta keskeltä koodia jonkin ehdon tarkistuksen seurauksena. Lisäksi on syytä huomata, että: Matlabissa ei ole C.n void-tietotyyppiä Matlabissa ei ole C.n const-tietotyyppiä. Ohjelmoijan on itse huolehdittava siitä, että tietoja joita ei saa muuttaa, ei muuteta funktiossa. Matlabissa ei ole aaltosulkeita lohkoerottimina. Funktion suoritus loppuu kun tiedostossa ei ole enää suoritettavia rivejä tai kun vastaan tulee return-lause. Funktiolle syötettävien parametrien tietotyyppejä ei tarvitse määritellä etukäteen. Ei myöskään paluuarvon tyyppejä. Ne voivat vaihdella funktion kutsusta toiseen. Kaikki luvut ovat automaattisesti tyyppiä double, merkit ja merkkijonot tyyppiä char. Funktion sisäiset muuttujat ovat paikallisia. Ne eivät näy kutsuvaan ohjelmaan. Esimerkki: Seuraavassa on esitetty yksinkertainen funktio addtwo.m, joka ottaa syötteekseen kaksi muuttujaa (skalaari, vektori, matriisi, merkkijono) ja laskee niiden summan.

4 function addtwo(x,y) % addtwo(x,y) Adds two numbers, vectors, whatever, and % print the result = x + y x+y Funktiolla ei ole paluuarvoa, joten hakasulkuja ja =-operaattoria ei tarvita. Summalausekkeen lopussa ei ole puolipistettä, joten summa tulostuu komentoriville. Kutsutaan funktiota eri tietotyypeillä: >> a=1;b=2; >> addtwo(a,b) 3 >> addtwo('a','b') 195 >> addtwo([1 3 4],[5 0 3]) >> addtwo('yin','yan') Esimerkki: Muutetaan funktiota seuraavaksi niin, että se palauttaa arvon: function [z]=addtwo(x,y) % addtwo(x,y) Adds two numbers, vectors, whatever, and % print the result = x + y z=x+y; Kutsutaan funktiota komentoriviltä. Tyhjennetään ensin muuttujat ja katsotaan whoskomennolla ajon jälkeen, mitä muuttujia meillä on: >> clear >> tulos=addtwo('yin','yan'); >> whos Name Size Bytes Class tulos 1x3 24 double array Grand total is 3 elements using 24 bytes Siis paikalliset muuttujat x ja y eivät näy komentoriville (sama periaatehan oli C-kielen arvoparametrillisissa funktioissa). Tehtävä: Tee funktio [tulos]=seto(x,y), joka laskee parametreina syötettyjen lukujen summan, erotuksen, tulon ja osamäärän ja palauttaa laskutoimitusten tulokset vektorissa tulos. Tehtävä: Tee funktio [r,fii]=sum2phs(x,y) joka muuntaa syötetyn kompleksiluvun summamuodosta osoitinmuotoon. Tässä vaiheessa ei tarvitse huolehtia syöttötietojen oikeellisuudesta (merkkijonoa esimerkiksi ei voi muuntaa )

5 Tehtävä: Tee funktio [x,y]=phs2sum(r,fii), joka muuntaa syötetyn kompleksiluvun osoitinmuodosta summamuotoon. Tehtävä: Tee funktio [kk,vakio]=pns(tiedostonimi), joka lukee datan tiedostosta tiedostonimi, tekee dataan pienimmän neliösumman sovituksen ja tulostaa sekä itse datan että sovitetun suoran kuvaajat. Funktio palauttaa kutsuvaan ohjelmaan sovitetun suoran kulmakertoimen ja vakiotermin. Tiedostomuodosta oletetaan, että ensimmäinen rivi on otsikko, sen jälkeen on tyhjä rivi, jonka jälkeen seuraa data kahdessa sarakkeessa (vrt. jousivakion määritys ja spring.txt). VIHJE 1:data= textscan(fid, %f %f,-1, headerlines,2); VIHJE 2:[p,s]=polyfit(x,F,1); VIHJE 3::kk=p(1);vakio=p(2); Ehtolause Matlabissa on if-lause, jonka avulla voidaan valita joko kahdesta tai useammasta vaihtoehdosta. Seuraavat if-lauseen variantit ovat käytössä: if... if... else... if... elseif... else... Esimerkki: Yksinkertainen varoitus: d = b^2-4*a*c; if d<0 disp('juuret ovat imaginäärisiä!'); Esimerkki: Valinta useasta vaihtoehdosta: d = b^2-4*a*c; if d<0 disp('juuret ovat imaginäärisiä!'); elseif d==0 disp('yksi reaalinen juuri'); else disp('kaksi reaalista juurta'); Muutamia huomioita: Ehtolauseen ympärillä ei tarvitse olla sulkuja (mutta ne saa laittaa) elseif-sana kirjoitetaan yhteen -lause on pakollinen Käyttäjälle voidaan tulostaa viestejä kommenolla disp If-lauseen kompakti versio voidaan kirjoittaa yhdelle riville:

6 if x<0, disp('negatiivinen'), Tässä versiossa pilkku toimii erottimena, joka kertoo mihin if loppuu ja suoritettavat lauseet alkavat. Tietotyypin tarkistamiseen Matlabissa on käytössä isa-funktiot, jotka palauttavat totuusarvon. Näitä voidaan käyttää varmistamaan, että funktiolle on syötetty oikeaa tietoa. Esimerkiksi vuosi ei voi olla liukuluku jne isnumeric, islogical, ischar, iscell, isstruct, isfloat, isinteger, isobject, isjava, issparse, isreal. >> s='merkkejä'; >> if (ischar(s)), disp('on merkkijono');else disp('ei ole merkkijono'); On merkkijono >> s=45; >> if (ischar(s)), disp('on merkkijono');else disp('ei ole merkkijono'); Ei ole merkkijono Tehtävä: Karkausvuosi tarkoittaa (paitsi joillekin hamekankaita ja kosintalupia) että helmikuussa on 29 päivää, jolloin myös koko vuonna on 366 päivää tavallisen 365:n sijasta. Vuosi on karkausvuosi, jos se on jaollinen neljällä, mutta ei 100:lla. Poikkeuksena kuitenkin on vuosiluku, joka on jaollinen 400:lla, jolloin vuosi siis on karkausvuosi. Esim. vuosi 1900 ei ollut karkausvuosi kun taas vuosi 2000 oli. Kirjoita funktio [logical(v)]=karkausvuosi(vuosi), joka tutkii onko käyttäjän syöttämä vuosi karkausvuosi. Funktio palauttaa vastauksen totuusarvona (0 / 1) kutsuvaan ohjelmaan. Tehtävä: Lisää karkausvuosifunktioon ehto, joka tarkistaa, onko syötetty vuosiluku kokonaisluku. Toistolauseet While-silmukka While-lausetta toistetaan niin kauan kuin ehto on tosi. while ehto lauseita

7 Esimerkki: Arvotaan satunnaislukuja vektoriin väliltä function [luku]=arvonta() i=1; luku(i)=rand; while (luku(i) > 0.3 && luku(i) <0.7) i=i+1; luku(i)=rand Esimerkki: Luetaan näppäimistöltä 10 lukua vektoriin y ja sovitetaan arvoihin pienimmän neliösumman suora (regressiosuora eli triviiva) ja tulostetaan luetut arvot sekä sovitettu suora. Funktio palauttaa sovituksen kulmakertoimen, vakiotermin ja sovituksen virheen (normalized residual) kutsuvaan ohjelmaan. function [kk,vakio,virhe]=fit1() i=1; while (i<=10) y(i)=input('luku?') x(i)=i; i=i+1; plot(x,y,'.') [p,s]=polyfit(x,y,1); hold on kk=p(1); vakio=p(2); virhe=s.normr; %Suoran yhtälö: y=kx+b plot(x,kk*x+vakio) disp('suoran yhtälö: y=kx+b') str=sprintf('kulmakerroin = %f',kk); disp(str) str=sprintf('vakio = %f',vakio); disp(str) str=sprintf('sovituksen virhe = %f', virhe); disp(str) Ohjelman kutsuminen ja suoritus: >> [kk,vakio,virhe]=fit1(); Luku?0 0 Luku?3 0 3 Luku?

8 Luku? Luku? Luku? Luku? Luku? Luku? Luku? Suoran yhtälö: y=kx+b Kulmakerroin = Vakio = Sovituksen virhe = Tässä esimerkissä tuli muutama huomionarvoinen asia esille:

9 Komento input periaatteessa yhdistää C:stä tutun printf:n ja scanf:n (tai C++:n cout ja cin) yhdeksi. Se tulostaa käyttäjälle merkkijonon ja palauttaa luetun arvon muuttujaan (tässä luku) Vektoreiden x ja y koko kasvaa sitä mukaa kun uusia lukuja luetaan. Toisin kuin C:ssä, niiden kokoa ei tarvitse määritellä. Tässä esimerkissä vektorin y:n tulostus ei ole välttämätöntä, se on laitettu vain asian havainnollistamiseksi. polyfit sovittaa suoran eli 1. asteen polynomin havaintoarvoihin ja palauttaa kertoimet vektorissa p. Nyt kertoimia on vain kaksi, kulmakerroin ja vakiotermi. Tietue s sisältää sovituksen tarkkuuteen liittyviä suureita. disp tulostaa tekstiä komentoikkunaan. sprintf tulostaa muotoiltua tekstiä merkkijonomuuttujaan. Sen avulla lukuarvot saadaan muutettua merkkijonoiksi, jotka voidaan tulostaa disp:llä Tehtävä: Kirjoita funktio, joka laskee 100 ensimmäisen positiivisen kokonaisluvun summan käyttäen while-silmukkaa. Tarkista tulos Matlabin sum-funktiolla. Tehtävä: Matlabin funktio realmin( double ) palauttaa järjestelmän pienimmän kaksoistarkkuuden liukuluvun. Kirjoita Matlab-koodi, joka tutkii, kuinka monta kertaa luku 1 voidaan jakaa kahdella ennen kuin jakolaskun tulos menee pienemmäksi kuin kyseinen luku. For-silmukka For-silmukkaa käytetään kun toistojen lukumäärä tiedetään. Syntaksi: for laskuri=alkuarvo:askel:loppuarvo lauseita Esimerkki: Tulostetaan luvut 1:stä 10:een for-silmukassa: >>for i=1:10,i, For-silmukan käyttöä Matlabissa ei suositella. Suurimman osan sillä tehtävistä toimenpiteistä pystyy tekemään suoralla vektorin indeksoinnilla. Esimerkiksi 10 kokonaislukualkion tulostus voidaan Matlabissa tehdä yksinkertaisesti vektorin indeksoinnilla: >> 1:10 >> [1:10] >>(1:10) Esimerkki: Täytetään alkion mittainen vektori for-silmukassa ja suoralla indeksoinnilla.

10 >> t0=clock,for i=1:100000,x(i)=i;;etime(clock,t0) >> t0=clock,y=[1:100000];etime(clock,t0) Siis for-silmukalla vektorin täyttö kestää yli 40 sekuntia. Saman asian tekemiseen suoralla indeksoinnilla menee 16 millisekuntia! Selitys tälle karmealle erolle on, että käytettäessä for-silmukkaa ohjelma varaa jokaisen muistipaikan erikseen. Muistipaikat eivät edes välttämättä sijoitu peräkkäin muistissa. Indeksointiin perustuvassa ratkaisussa koko muistialue varataan yhdellä kertaa ja on taattu että muisti on varattu yhtenä kokonaisuutena. Tehtävä: Laske 100 ensimmäisen positiivisen kokonaisluvun summa käyttäen forsilmukkaa. Tehtävä: Piirrä funktioiden sin(x), sin(2x), sin(3x) ja sin(4x) kuvaajat väliltä 0 2π yhteen figure-ikkunaan käyttäen for-silmukkaa.

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

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

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

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

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

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

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

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

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

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

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

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

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

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

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

Matlabin perusteita Grafiikka

Matlabin perusteita Grafiikka BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä,

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

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

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

Tutoriaaliläsnäoloista

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

Lisätiedot

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

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

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma

Matlab-perusteet. Jukka Jauhiainen. OAMK / Tekniikan yksikkö. Hyvinvointiteknologian koulutusohjelma Matlab-perusteet Jukka Jauhiainen OAMK / Tekniikan yksikkö Hyvinvointiteknologian koulutusohjelma Tämän materiaalin tarkoitus on antaa opiskelijalle lyhyehkö johdanto Matlabohjelmiston perusteisiin. Matlabin

Lisätiedot

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

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

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

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

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

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

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

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

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka

Lisätiedot

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

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

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

1. Omat operaatiot 1.1

1. Omat operaatiot 1.1 1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma

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

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

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

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

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

Lisätiedot

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

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

Matlab- ja Maple- ohjelmointi

Matlab- ja Maple- ohjelmointi Perusasioita 2. helmikuuta 2005 Matlab- ja Maple- ohjelmointi Yleistä losoaa ja erityisesti Numsym05-kurssin tarpeita palvellee parhaiten, jos esitän asian rinnakkain Maple:n ja Matlab:n kannalta. Ohjelmien

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

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

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

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

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki PERL TIE-20306 Principles of Programming Languages Ryhmä 4: Joonas Lång & Jasmin Laitamäki 1. Johdanto Perl on ohjelmointikielten perhe, johon kuuluu Perl 5 ja Perl 6. Kielet ovat kuitenkin erilliset ohjelmointikielet

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

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

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

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

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

Harjoitustyön testaus. Juha Taina

Harjoitustyön testaus. Juha Taina Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida

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

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

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

7. Näytölle tulostaminen 7.1

7. Näytölle tulostaminen 7.1 7. Näytölle tulostaminen 7.1 Sisällys System.out.println- ja System.out.print-operaatiot. Tulostus erikoismerkeillä. Edistyneempää tulosteiden muotoilua. 7.2 Tulostusoperaatiot System.out.println-operaatio

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

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

Sisällys. 15. Lohkot. Lohkot. Lohkot

Sisällys. 15. Lohkot. Lohkot. Lohkot Sisällys 15. Lohkot Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.1 15.2 Lohkot Aaltosulkeet

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

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

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

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

Luento 4. Timo Savola. 21. huhtikuuta 2006

Luento 4. Timo Savola. 21. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 4 Timo Savola 21. huhtikuuta 2006 Osa I Shell Lausekkeet Komentoriville kirjotettu komento on lauseke echo "foo" echo $USER MUUTTUJA=1 ls -l Rivinvaihto

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

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

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

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

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

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3 15. Lohkot 15.1 Sisällys Tutustutaan lohkoihin. Muuttujien ja vakioiden näkyvyys sekä elinikä erityisesti operaation lohkossa. Nimikonfliktit. Muuttujat operaation alussa vai myöhemmin? 15.2 Lohkot Aaltosulkeet

Lisätiedot

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014 19. syyskuuta 2014 IDL - INPUT/OUTPUT-rutiinit IDL pystyy lukemaan ja kirjoittamaan monentyyppisiä tiedostoja, esim. FORTRAN ja C-kielten ohjelmien tulostusta. Käytössä on myös monipuoliset tulostuksen

Lisätiedot

Ohjelman käynnistäminen

Ohjelman käynnistäminen >> why Because he obeyed a good and young and smart and terrified and rich and rich and not very good and good and bald and not excessively tall and good programmer. Tässä materiaali on tarkoitettu insinööriopiskelijoille

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

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta

Lisätiedot

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

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

Lisätiedot

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

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

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

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Matriiseista. Emmi Koljonen

Matriiseista. Emmi Koljonen Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.

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

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python 15. helmikuuta 2009 Merkkijonot Yleistä Käsittely Muotoiltu tulostus Tiedostot Käsittely Lukeminen Kirjoittaminen Modulit Käyttö Seuraava luento

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 6 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

Ohjelmoinnin peruskurssi Y1

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

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2 TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos TKT-3200 Tietokonetekniikka I Harjoitustyö 4: Cache, osa 2.. 2010 Ryhmä Nimi Op.num. 1 Valmistautuminen Cache-työn toisessa osassa

Lisätiedot

Matemaattiset ohjelmistot A. Osa 2: MATLAB

Matemaattiset ohjelmistot A. Osa 2: MATLAB Matemaattiset ohjelmistot 802364A Osa 2: MATLAB Mikko Orispää 30. lokakuuta 2013 Sisältö 1 MATLAB 2 1.1 Peruslaskutoimitukset......................... 2 1.2 Muuttujat................................ 3

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Lisätiedot

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla Viimeksi muokattu 5. toukokuuta 2012 Maastotietokannan torrent-jakeluun sisältyy yli 5000 zip-arkistoa,

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Kääntäjän virheilmoituksia

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

Lisätiedot

Fortran 90/95. + sopii erityisesti numeriikkaan:

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

Lisätiedot

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