Fortran 95 -ohjelmointikieli: Harjoituksia. Sebastian von Alfthan. Juha Haataja. Jarmo Pirhonen. CSC Tieteellinen laskenta Oy
|
|
- Jaakko Virtanen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 Fortran 95 -ohjelmointikieli: Harjoituksia Sebastian von Alfthan Juha Haataja Jarmo Pirhonen CSC Tieteellinen laskenta Oy
2 Käytännön järjestelyt Koneessa corona.csc.fi on tunnukset koulu1... koulu20. Salasana on sole74ct Hakemistosta $DOC/f90 löytyy kurssin oheismateriaalia. Hakemiston $DOC/f90/esim/ esimerkkiohjelmat kannattaa kopioida itselleen. Kurssimateriaalina on lisäksi CSC:n ympäristön pikaohje ja Emacs-pikaopas. Kurssi seuraa läheisesti CSC:n Fortran 95/2003 -opasta. Jos haluat käyttää Emacsin f90-moodia, kopioi tiedosto $DOC/f90/emacs työhakemistoosi nimellä.emacs. Suluissa oleva harjoituksen numero viittaa tehtävän numerointiin Fortran 95 -oppaassa. Suositellut Fortran-tehtävät harjoituksiin Harjoitus A (perusteet): tehtävät 1, 2, 3, 4 Harjoitus B (proseduurit): 5, 6 Harjoitus C (taulukot): 7, 8, 9, 10 Harjoitus D (moduulit): 11, 12
3 Yksinkertainen käännös Esimerkkiohjelma testi.f90: PROGRAM Testi IMPLICIT NONE INTEGER, PARAMETER :: tulos = 57! Yksinkertainen tulostuskäsky... PRINT *, Hei maailma! PRINT *, Tulos on, tulos END PROGRAM Testi Kopiointi omaan kotihakemistoon, käännös ja ajo: cp $DOC/f90/esim/testi.f90 f95 testi.f90 -o testi./testi Hei maailma! Tulos on 57
4 Harjoitus 1: koodin syöttömuoto 1. (4.1) Mitä seuraava (vapaan formaatin) koodirivi tarkoittaa? A = 0.0 ; B = 370! Alustus ; C = 17.0 ; D = (4.2) Onko seuraava syntaktisesti oikeaa Fortran 90 -koodia? Y = SIN(MAX(X1,X2)) * EXP(-COS(X3)**I) - TAN(AT& & AN(X4)) 3. (4.3) Onko seuraava määrittely oikein? REAL :: real; REAL :: price 4. (4.5) Onko seuraavat Fortranin lauseet kirjoitettu oikein? merkkijono = Aamun virkku, & illan torkku. x = vastaus = Tosi & epätosi ala-raja = E10 y = E6
5 Harjoitus 2: muuttujien määrittely 1. (5.1) Ovatko seuraavat määrittelyt laillista Fortrania: DOUBLE :: x CHARACTER(LEN=*), PARAMETER :: "Nimi" REAL :: pi = 22/7 REAL :: x = 2., y = -3 REAL :: pii = 22.0/7.0 REAL x = (5.2) Määrittele vakio k, jonka arvo on (5.5) Tutki, millaisia kokonais- ja reaalilukuarvoja käyttämäsi Fortran-kääntäjä osaa käsitellä. Ohje: tutki aliohjelmakutsujen SELECTED_REAL_KIND SELECTED_INT_KIND palauttamia arvoja seuraavaan tapaan: PROGRAM lajitesti IMPLICIT NONE INTEGER :: i, laji DO i = 1, 24 laji = SELECTED_INT_KIND(i) WRITE (*,*) i =,i, laji =,laji END DO END PROGRAM lajitesti Huomaa, että lajiparametrin arvot riippuvat käytetystä Fortran-kääntäjästä!
6 4. (5.6) Tulosta lausekkeen 1 3 ln(1 + 2) (2 + 2) arvo vähintään 6 desimaalin tarkkuudella. Käytä funktiokutsuja LOG ja SQRT. Tulosta lausekkeen arvo lisäksi suurimmalla kääntäjän tuntemalla reaalilukujen tarkkuudella.
7 Harjoitus 3: syöttö ja tulostus 1. (12.2) Seuraavassa esimerkissä on määritelty eri tavoilla Fortranin muotoilulausekkeita. Mitä ohjelma tekee? Mitkä määrittelyt ovat mielestäsi toimivimpia? PROGRAM muoto IMPLICIT NONE REAL :: x CHARACTER(LEN=11) :: form1 CHARACTER(LEN=*), PARAMETER :: & form2 = (F12.3,A) x = 12.0 form1 = (F12.3,A) WRITE (*, form1) x, hello WRITE (*, form2) 2*x, hi WRITE (*, (F12.3,A) ) 3*x, hi hi END PROGRAM muoto 2. (12.3) Kirjoita tulostuslauseet seuraaville taulukoille: REAL, DIMENSION(6,10) :: a INTEGER, DIMENSION(24) :: h CHARACTER(LEN=10), DIMENSION(6) :: mtaulu LOGICAL, DIMENSION(2) :: ehto COMPLEX, DIMENSION(20) :: z 3. (12.4) Kirjoita listan ohjaamat syöttörutiinit, jotka lukevat arvot edellisen tehtävän taulukoille. Anna esimerkki ohjelmasi syöttötiedostosta.
8 Harjoitus 4: ohjausrakenteet 1. (7.3) Ilmoita seuraavien DO-silmukkojen toistokertojen lukumäärä, silmukkamuuttujan i saamat arvot silmukan sisällä sekä silmukkamuuttujan arvo DO-rakenteen jälkeen. DO i = 1, 5 DO i = 5, 0, -1 DO i = 10, 1, -2 DO i = 0, 30, 7 DO i = 3, 2, 1 2. (7.2) Kirjoita SELECT CASE -rakenne, joka tekee kolme eri tyyppistä toimintoa riippuen siitä, onko kokonaislukumuuttuja negatiivinen, nolla tai jokin alkuluvuista (3, 5, 7, 11, 13). Muussa tapauksessa ei tehdä mitään. 3. (7.4) Kirjoita DO-silmukka joka summaa 100 annetun luvun neliöjuuret poislukien negatiiviset luvut ja lopettaa summauksen mikäli summattava luku on nolla. Tee kaksi versiota, joista toinen käyttää CYCLE-lausetta ja toinen ei. 4. (7.6) Tulosta muunnostaulu tuumista millimetreihin (1" = 25.4 mm). Aloita arvosta 0.0 ja tulosta arvoja puolen tuuman välein 12 tuumaan asti.
9 Harjoitus 5: proseduurien määrittely 1. (13.3) Kirjoita aliohjelma, joka muuntaa napakoordinaattiesityksen (r, φ) karteesisiksi koordinaateiksi (x, y). Kirjoita myös päinvastaisen muunnoksen tekevä aliohjelma. Käytä hyväksi määritelmiä sin φ = y/r, cos φ = x/r, r = x 2 + y (13.7) Kirjoita looginen funktio numerot, joka ilmoittaa, koostuuko argumenttina annettu merkkijono pelkästään numeromerkeistä. Käytä apuna standardifunktiota VERIFY. 3. Kirjoita funktio, joka laskee b-kantaisen logaritmin luvusta x. Muistutus: log b x = log 10 x/ log 10 b = ln x/ ln b Mieti myös funktion argumenteille b ja x sallimasi tyypit ja määrittelyalueet! 4. (8.5) Kirjoita rekursiivinen funktio kahden kokonaisluvun suurimman yhteisen tekijän laskemiseksi. Käytä hyväksi identiteettejä { syt(m, n) = syt(n, MOD(m, n)), syt(m, 0) = m. 5. (8.7) Kirjoita rekursiivinen funktio joka laskee
10 Tribonaccin lukuja : { x1 = 1, x 2 = 1, x 3 = 1, x n = x n 1 + x n 2 + x n 3. Laske x 12. Tutki laskenta-ajan käyttäytymistä n:n funktiona käyttämällä vaikkapa standardialiohjelmaa SYSTEM_CLOCK tai ohjelman ulkoista ajanmittausta (time-komento). Onko rutiini tehokas? Toteuta laskeminen myös silmukkarakenteen avulla. 6. Kirjoita funktio asteina(f, x), joka palauttaa standardifunktioiden ASIN, ACOS ja ATAN arvon asteina eikä radiaaneina. Käytä kyseisiä standardifunktioita määrittelemäsi funktion argumenttina f.
11 Harjoitus 6: proseduurin argumentit 1. (8.9) Luennolla esiteltiin rutiini FUNCTION igr skalaarifunktion f (x) integroimiseksi Gaussin integroimiskaavalla I b a 2 [ f ( a + b 2 b a 2 3 ) + f (a + b 2 missä integroimisväli on [a, b]. Lisää ohjelmaan valinnaiset argumentit siten että + b a ] 2 3 ), jos vasempaa integroimisrajaa a ei ole annettu, asetetaan a = 0, jos oikeaa integroimisrajaa b ei ole annettu, asetetaan b = a + 1. Testaa ohjelma ensin käyttämällä integrandina jotain standardifunktiota. 2. Vaihda nyt integrandi itse määritellyksi (ulkoiseksi) funktioksi. Määrittele sen kutsumuoto INTERFACE-lohkolla. 3. Lisätehtävä. Laajenna edellä määriteltyä rutiinia että käyttäjä voi valinnaisella argumentilla määritellä halutun integroimispisteiden määrän.
12 Harjoitus 7: taulukot 1. (11.1) Onko seuraava määrittely oikein? REAL DIMENSION(1:3,2:3) :: aa 2. (11.2) Määrittele kokonaislukutaulukko taulu, jossa on 3 riviä ja 4 saraketta. Alusta taulukon ensimmäiselle riville järjestyksessä vasemmalta oikealle kokonaisluvut 1-4, toiselle riville luvut 5-8 ja alimmalle riville joka sarakkeeseen luku -2. Tulosta taulu riveittäin siis yhdelle tulostusriville yhden taulukon rivin alkiot. 3. Muodosta vielä 3 8-kokonaislukutaulukko isotaulu, jossa on ensimmäiset 4 saraketta ovat identtisiä edellisen tehtävän taulukon taulu kanssa, ja 4 jälkimmäistä on saatu taulukon taulu sarakkeista kertomalla ne luvulla 3 ja lisäämällä tuloon 5. Käytä taulukko-operaatioita. 4. Kirjoita aliohjelma, joka osaa tehdä automaattisesti edellisessä tehtävässä kuvatun operaation. Aliohjelmalle syötetään pienempi taulukko, ja sen pitää palauttaa kooltaan kaksinkertainen taulukko, jonka alkiot on muodostettu edellä kuvatulla tavalla. 5. (11.4) Määrittele kaksi osoitinmuuttujaa. Aseta toinen osoittamaan yksiulotteiseen reaalilukutaulukkoon REAL, DIMENSION(10) :: x ja toinen saman taulukon kuudenteen alkioon.
13 6. (11.5) Käytä osoitinmuuttujia sijoittamaan edellisen tehtävän taulukon x järjestysluvultaan parillisiin alkioihin arvo 1.0 ja parittomiin alkioihin arvo 1.0. Taulukon arvojen tulee siten olla seuraavan listan mukaisia: (1.0, 1.0, 1.0, 1.0,...). 7. (11.6) Tee aliohjelma, joka palauttaa osoitinmuuttujassa halutun kokoisen taulukon. Anna taulukon koko aliohjelman argumenttina. Aliohjelmaa voisi käyttää esimerkiksi seuraavasti: CALL varaa(p, n)
14 Harjoitus 8: taulukkosyntaksi Muunna ohjelma table1.f (hakemistossa $DOC/f90-kurssi/esim/) siten, että siinä käytetään taulukkosyntaksia. Ohjelmassa esiintyvä rand palauttaa satunnaisluvun. Fortran 90:n vastaava rutiini on aliohjelma RANDOM_NUMBER. Kutsu CALL RANDOM_NUMBER(x) täyttää taulukon x satunnaisluvuilla, jotka ovat jakautuneet tasaisesti välille [0, 1). program table1 parameter (n=10) real b(n), c(n,n), d(n,n) do 10 i = 1,n b(i) = rand() do 10 j = 1,n c(j,i) = rand() 10 continue write (*,*) b do 20 i = 1,n do 20 j = 1,n d(j,i) = 1.0-c(j,i) 20 continue do 100 j = 2, n a = b(j) - b(j-1) do 100 i = 2, n c(i,j) = a * c(i-1,j)+d(i,j) 100 continue print *, answer =,c(n,n) end
15 Harjoitus 9: standardifunktiot Muunna ohjelma table2.f siten, että siinä käytetään taulukkosyntaksia ja standardifunktioita. Käännä alkuperäinen ohjelma f77:lla ja uusi f90:llä ja varmistu, että ne toimivat samalla tavalla. program table2 implicit none real x(100,100), y(100), z(100), a, s integer i,j,k do 1 j=1,100 y(j)=0.1*j do 1 i=1,100 x(i,j)=1.0+y(j) 1 continue do 2 j=1,100 s=0.0 do 3 i=1,100 s=s+x(i,j) 3 continue z(j)=sqrt(y(j))/s 2 continue do 5 j=1,100 5 if (z(j).lt ) z(j)=0.0 a=z(1) k=1 do 6 i=2,100 if (z(i).gt.a) then k=i a=z(i) endif 6 continue write (*,*) a,k end
16 Harjoitus 10: standardiproseduurit 1. (13.1) Ratkaise yhtälön x n = 1 kaikki kompleksiset juuret (vihje: e 2πk i = 1, k = 0, 1,...). 2. (13.4) Laske viisialkioisten reaalilukutyypin vektoreiden sisätulo standardifunktiolla DOT_PRODUCT. 3. (13.5) Laske 5 4 ja 4 3 -kokoisten matriisien A ja B tulo C = AB standardifunktiolla MATMUL. Laske myös tulo C T = B T A T, missä B T on matriisin B transpoosi jne. 4. (13.6) Etsi käyttäjän syöttämästä korkeintaan 80 merkin pituisesta merkkijonosta ensimmäisen numeromerkin sijainti käyttäen SCAN-funktiota.
17 Harjoitus 11: rakenteiset tyypit 1. (10.7) Määrittele rakenteinen tyyppi, joka voi tallettaa syntymäajan seuraavassa muodossa: Siis rakenteinen tyyppi sisältää kolme kokonaislukua, joilla on eri KIND-arvot: SELECTED_INT_KIND(2) ja SELECTED_INT_KIND(4). 2. (10.8) Lisää edellisen tehtävän rakenteiseen tyyppiin kenttä nimeä varten. 3. (10.9) Kirjoita funktio, joka palauttaa merkkijonossa nimen ja päivämäärän seuraavassa muodossa: Jaska Jokunen ( ) Käytä edellisessä tehtävässä luotua rakenteista tyyppiä. 4. (10.14) Kirjan kappaleessa 3.12 (sivu 33) on esitelty oppilaiden nimien ja arvosanojen tallentamiseen sopiva rakenteinen tyyppi kurssilainen. Määrittele moduuli, jossa on tämän rakenteisen tyypin käsittelyyn tarvittavia operaatioita. Määrittele oppilastietojen lukuja tulostusoperaatiot sekä arvosanojen keskiarvon laskemiseen soveltuva proseduuri.
18 Harjoitus 12: Moduulit 1. Määrittele pääohjelmassa rakenteinen tyyppi ja tyypin mukainen muuttuja. Alusta muuttuja ja välitä se ulkoiseen aliohjelmaan, joka tulostaa muuttujan komponentit. Käännä ja aja ohjelma. Mitä tapahtuu? Sijoita seuraavaksi aliohjelma moduuliin ja käännä ohjelma. Mitä tapahtuu? Korjaa ongelma. 2. Tee ohjelma, joka laskee yhteen ulkoisessa aliohjelmassa (funktiossa) kaksi reaalilukua. Tee moduuli, jossa määritellään lajiparametri kaksinkertaisen tarkkuuden reaaliluvuille. Käytä moduulia pääohjelman ja summausfunktion tarkkuuden määrittelyssä. 3. Muuta summausfunktiossa toinen yhteenlaskettavista kokonaisluvuksi. Käännä ja aja ohjelma. Mitä tapahtuu? Sijoita seuraavaksi summausfunktio moduuliin ja ota se käyttöön pääohjelmassa. Käännä ohjelma. Mitä nyt tapahtuu? Ja sitten muuta Toteuta luennoilla esitelty globaali piste-tyyppi, jossa on komponentteina kaksi reaalilukua (x- ja y-koordinaatti). Tee funktio, joka laskee kaksi pistettä yhteen. Kokeile moduulin toimintaa yksinkertaisella pääohjelmalla. 5. Olio-ohjelmointia. Yksi olio-ohjelmoinnin ideoista on,
19 että tietorakenteita voi käsitellä vain tietyillä funktioilla (C++-terminologiassa jäsenfunktiot), ja tietoalkioihin ei suoraan pääse käsiksi. Tällaisessa ohjelmoinnissa tietorakenteen käyttöliittymä on tarkasti määritelty, mikä vähentää ohjelmointivirheitä ja toisaalta helpottaa niiden paikallistamista. Muuta edellisen tehtävä piste-tyyppiä siten, että alkioihin x ja y ei pääse käsiksi moduulin ulkopuolella. Kokeile piste-tyyppisen muuttujan komponenttien alustusta ja tulostusta yksinkertaisella pääohjelmalla. Mitä tapahtuu? Lisää moduuliin aliohjelmat piste-muuttujien alustamista ja tulostamista varten. Kokeile moduulin toimintaa yksinkertaisella pääohjelmalla.
20 Harjoitus 13: geneeriset proseduurit 1. Jatkoa edellisen harjoituksen olio-ohjelmointiin. Muuta piste-moduulia siten, että alustuksen voi suorittaa sekä kokonais- että reaaliluvuilla käyttäen samaa aliohjelmakutsua. 2. Hakemistosta $DOC/f90-kurssi/esim/ löytyvä moduuli swapmod.f90 määrittelee geneerisen aliohjelman vaihda, jonka avulla voi vaihtaa reaali- ja merkkijonoargumenttien arvot keskenään. Muuta moduulia siten, että se toimii myös kokonaislukuargumenteilla. Entä yksi- ja kaksiulotteiset taulukkoargumentit? Käytä testaamisessa apuna pääohjelmaa swap.f90.
21 Harjoitus 14: Operaattorit 1. Sarjaan tai rinnakkain kytkettyjen vastusten resistanssit R s ja R r lasketaan kaavoilla R s = R 1 + R 2, 1/R r = 1/R 1 + 1/R 2. Määrittele reaalilukumuuttujia käsittelevät operaattorit, joita voidaan käyttää seuraavasti: REAL:: r, r1, r2 r = r1.sarjassa. r2 r = r1.rinnakkain. r2 2. Lisää piste-moduuliin operaattori + pisteiden alkioittaista yhteenlaskua ja operaattori.etaisyys. origosta laskettavan etäisyyden määrittämistä varten.
22 Harjoitus 15: F77 F90 1. Käännä Lempon Fortran 90 -kääntäjällä f90 jokin oma FORTRAN 77 -ohjelmasi käyttäen sarakesidonnaista syöttömuotoa. Voit myös kääntää esimerkkiohjelman $DOC/f90-kurssi/esim/avgvar.f. 2. Yritä muuntaa edellinen ohjelma Fortran 90:n vapaaseen syöttömuotoon. Muunna kirjaimella C tai merkillä * alkavat kommentit huutomerkillä alkaviksi jne. 3. Mitä eroa on seuraavan ohjelman käyttäytymisessä käytettäessä vapaata tai sarakesidonnaista formaattia? LOGICAL L L =.FALSE. Z = 0.0 Y = 1.0 IF (L) THEN Z = 1.0 ELSE Y = Z ENDIF PRINT *, Y, Z END Korjaa ohjelmassa olevat virheet.
23 Harjoitus 16: vanhat Fortran-koodit Tiedosto $DOC/f90-kurssi/esim/fzero.f sisältää aliohjelman, joka on peräisin kirjasta Kahaner, Moler, Nash: Numerical Methods and Software. Koodi on vanhaa Fortran 66:tta. Siivoa sitä mahdollisuuksien mukaan käyttämällä hyväksi Fortran 90:n rakenteita. Kirjoita testausta varten pieni ohjelma, joka kutsuu aliohjelmaa.
Johdatus f90/95 ohjelmointiin. H, R & R luvut 1-3
Johdatus f90/95 ohjelmointiin H, R & R luvut 1-3 Fortran-kieli ( 3.1-3) IBM 1954, FORmula TRANslator ISO/ANSI standardit f90, f95, f2003 tieteellinen & teknillinen laskenta rinnakkaislaskenta (HPF, openmp)
LisätiedotBJ30A1000 Kemiantekniikan tietotekniikka Fortran
BJ30A1000 Kemiantekniikan tietotekniikka Fortran Kimmo Klemola 21.04.2008 April 18, 2008 Kimmo Klemola 1 Fortran johdatusta Fortran-ohjelmointiin Materiaalina käytetty mm. CSC:n Fortran 90/95 opasta (Haataja,
LisätiedotFortran 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ätiedot815338A 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ätiedotIDL - 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ätiedotATK 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ätiedotPythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python
Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely
LisätiedotOsoitin 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ätiedot815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä
Lisätiedot2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma muuttaa parametrejaan tai globaaleja muuttujia, tulostaa jotakin jne.
Proseduurit Proseduuri voi olla 1) Funktio, joka palauttaa jonkin arvon: real function sinc(x) real x sinc = sin(x)/x... y = sinc(1.5) 2) Aliohjelma, jonka toiminta perustuu sivuvaikutuksiin: aliohjelma
LisätiedotITKP102 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ätiedotPython-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ätiedotPython-ohjelmointi Harjoitus 5
Python-ohjelmointi Harjoitus 5 TAVOITTEET Kerrataan silmukkarakenteen käyttäminen. Kerrataan jos-ehtorakenteen käyttäminen. Opitaan if else- ja if elif else-ehtorakenteet. Matematiikan sisällöt Tehtävät
Lisätiedot811120P 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ätiedotFortran 95, Exercises
Fortran 95, Exercises Introductory course, 8-9 Oct 2008 Raimo Uusvuori, Jussi Enkovaara, Jarmo Pirhonen, Sami Saarinen firstname.lastname[at]csc.fi CSC - IT Center for Science Ltd. CSC - Tieteen tietotekniikan
Lisätiedot811120P 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ätiedotJava-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ätiedotPerusteet. 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ätiedotTietorakenteet ja algoritmit syksy Laskuharjoitus 1
Tietorakenteet ja algoritmit syksy 2012 Laskuharjoitus 1 1. Tietojenkäsittelijä voi ajatella logaritmia usein seuraavasti: a-kantainen logaritmi log a n kertoo, kuinka monta kertaa luku n pitää jakaa a:lla,
LisätiedotAlkuarvot 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ätiedot7. 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ätiedotPerusteet. 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ätiedot815338A 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ätiedotMuistutus aikatauluista
Muistutus aikatauluista (Nämä eivät välttämättä koske avoimen yo:n opiskelijoita Erkki Kailan rinnakkaisella kurssilla) Luento 1: kotitehtävät sulkeutuvat 20.9 12:00, ennen tutoriaalia Tutoriaali 1 sulkeutuu
LisätiedotSystem.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ätiedotSystem.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ätiedotKerta 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ätiedotPERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2
PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä /+^2 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen / +^2 Kopioi molemmat matematiikka-alueet ja liiku alueen sisällä
LisätiedotOhjelmoinnin 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ätiedotz 1+i (a) f (z) = 3z 4 5z 3 + 2z (b) f (z) = z 4z + 1 f (z) = 12z 3 15z 2 + 2
BM20A5700 - Integraauunnokset Harjoitus 2 1. Laske seuraavat raja-arvot. -kohta ratkeaa, kun pistät sekä yläkerran että alakerran muotoon (z z 1 )(z z 2 ), missä siis z 1 ja z 2 ovat näiden lausekkeiden
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast
LisätiedotJava-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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotITKP102 Ohjelmointi 1 (6 op)
ITKP102 Ohjelmointi 1 (6 op) Tentaattori: Antti-Jussi Lakanen 12. huhtikuuta 2019 Tee kukin tehtävä omalle konseptiarkille. Noudata ohjelmointitehtävissä kurssin koodauskäytänteitä. Yksi A4-kokoinen lunttilappu
LisätiedotOhjelmoinnin 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ätiedotKielioppia: 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ätiedotMatriisit 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ätiedotOhjelmoinnin 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ätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotITKP102 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ätiedot815338A 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ätiedotHarjoitus 5 (viikko 48)
Moni tämän harjoituksen tehtävistä liittyy joko suoraan tai epäsuorasti kurssin toiseen harjoitustyöhön. Harjoitustyö edistyy sitä paremmin, mitä enemmän tehtäviä ratkaiset. Mikäli tehtävissä on jotain
LisätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedot815338A 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ätiedotTutoriaalilä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ätiedotRatkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...
Ratkaisut 1 1. Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,.... Nolla, koska kerrotaan nollalla. 3. 16 15 50 = ( 8) 15 50 = (8 15) ( 50) = 1000 500 = 500 000. 4.
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 26.9.2018 CS-A1111 Ohjelmoinnin peruskurssi Y1 26.9.2018 1 / 21 Oppimistavoitteet: tämän luennon jälkeen Osaat kirjoittaa for-käskyn avulla ohjelman, joka toistaa haluttua
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."
LisätiedotTaulukot. 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ätiedotOhjelmoinnin 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ätiedotOhjelmassa 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ätiedotMatriiseista. 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ätiedotTietorakenteet (syksy 2013)
Tietorakenteet (syksy 2013) Harjoitus 1 (6.9.2013) Huom. Sinun on osallistuttava perjantain laskuharjoitustilaisuuteen ja tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. Näiden laskuharjoitusten
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen
LisätiedotPeilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla
Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla ALKUHARJOITUS Kynän ja paperin avulla peilaaminen koordinaatistossa a) Peilaa pisteen (0,0) suhteen koordinaatistossa sijaitseva - neliö, jonka
LisätiedotTietotyypit 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ätiedotOhjelmoinnin perusteet, syksy 2006
Ohjelmoinnin perusteet, syksy 2006 Esimerkkivastaukset 1. harjoituksiin. Alkuperäiset esimerkkivastaukset laati Jari Suominen. Vastauksia muokkasi Jukka Stenlund. 1. Esitä seuraavan algoritmin tila jokaisen
LisätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python 7. helmikuuta 2009 Ohjelmoinnista Ohjelman peruselementtejä Koodin kommentointi Lohkorakenne Ohjausrakenteet If For While Try Funktiot Käyttö
LisätiedotPERUSLASKUJA. Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +5^2
PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä 3/4+^2 3 4+ 2 Kirjoita muuten sama, mutta ota KAKSI välilyöntiä (SEURAA ALUEMERKINTÄÄ) 4:n jälkeen 3/4 +^2 3 + 4 2 Kopioi
LisätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotYhtälön ratkaiseminen
Yhtälön ratkaiseminen Suora iterointi Kirjoitetaan yhtälö muotoon x = f(x). Ensin päätellään jollakin tavoin jokin alkuarvo x 0 ja sijoitetaan yhtälön oikealle puolelle, jolloin saadaan tarkennettu ratkaisu
LisätiedotZeon 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ätiedotHarjoitus 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= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin
BMA7 - Integraalimuunnokset Harjoitus 9. Määritä -jaksollisen funktion f x = coshx, < x < Fourier-sarja. Funktion on parillinen, joten b n = kun n =,,3,... Parillisuudesta johtuen kertoimet a ja a n saadaan
LisätiedotDiskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9
Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon
Lisätiedot9 Matriisit. 9.1 Matriisien laskutoimituksia
9 Matriisit Aiemmissa luvuissa matriiseja on käsitelty siinä määrin kuin on ollut tarpeellista yhtälönratkaisun kannalta. Matriiseja käytetään kuitenkin myös muihin tarkoituksiin, ja siksi on hyödyllistä
LisätiedotKirjoita ohjelma jossa luetaan kokonaislukuja taulukkoon (saat itse päättää taulun koon, kunhan koko on vähintään 10)
Tehtävä 40. Kirjoita ohjelma, jossa luetaan 20 lukua, joiden arvot ovat välillä 10 100. Kun taulukko on täytetty, ohjelma tulostaa vain ne taulukon arvot, jotka esiintyvät taulukossa vain kerran. Tehtävä
LisätiedotKirjoita 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ätiedotYhteenlaskun ja skalaarilla kertomisen ominaisuuksia
Yhteenlaskun ja skalaarilla kertomisen ominaisuuksia Voidaan osoittaa, että avaruuden R n vektoreilla voidaan laskea tuttujen laskusääntöjen mukaan. Huom. Lause tarkoittaa väitettä, joka voidaan perustella
LisätiedotMatriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi
Matriisit, kertausta Merkintöjä 1 Matriisi on suorakulmainen lukukaavio. Matriiseja ovat esimerkiksi: ( 2 0.4 8 0 2 1 ) ( 0, 4 ), ( ) ( 1 4 2, a 11 a 12 a 21 a 22 ) Kaavio kirjoitetaan kaarisulkujen väliin
LisätiedotVapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.
Vapaus Määritelmä Oletetaan, että v 1, v 2,..., v k R n, missä n {1, 2,... }. Vektorijono ( v 1, v 2,..., v k ) on vapaa eli lineaarisesti riippumaton, jos seuraava ehto pätee: jos c 1 v 1 + c 2 v 2 +
LisätiedotTietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla
Tietojen syöttäminen ohjelmalle Tähän mennessä on käsitelty Javan tulostuslauseet System.out.print ja System.out.println sekä ohjelman perusrakenneosat (muuttujat, vakiot, lauseet). Jotta päästään tekemään
LisätiedotHarjoitustyö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ätiedotLoppukurssin 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ätiedotJohdatus 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ätiedotAlgoritmit C++ Kauko Kolehmainen
Algoritmit C++ Kauko Kolehmainen Algoritmit - C++ Kirjoittanut Taitto Kansi Kustantaja Kauko Kolehmainen Kauko Kolehmainen Frank Chaumont Oy Edita Ab IT Press PL 760 00043 EDITA Sähköpostiosoite Internet
LisätiedotHarjoitus 1 -- Ratkaisut
Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin
LisätiedotImperatiivisen 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ätiedotOhjelmointitaito (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ätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 26.10.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 26.10.2015 1 / 28 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta
LisätiedotPERUSLASKUJA. Kirjoita muuten sama, mutta ota välilyönti 4:n jälkeen 3/4 +5^2 3
PERUSLASKUJA Matemaattisten lausekkeiden syöttäminen: Kirjoita ilman välilyöntejä 3/+^ 3 Kirjoita muuten sama, mutta ota välilyönti :n jälkeen 3/ +^ 3 Liiku matematiikka alueella nuolinäppäimin. Kokeile
Lisätiedot58131 Tietorakenteet ja algoritmit (syksy 2015)
58131 Tietorakenteet ja algoritmit (syksy 2015) Harjoitus 2 (14. 18.9.2015) Huom. Sinun on tehtävä vähintään kaksi tehtävää, jotta voit jatkaa kurssilla. 1. Erään algoritmin suoritus vie 1 ms, kun syötteen
LisätiedotOhjelmoinnin peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CS-A1111 27.9.2017 CS-A1111 Ohjelmoinnin peruskurssi Y1 27.9.2017 1 / 30 Mahdollisuus antaa luentopalautetta Luennon aikana voit kirjoittaa kommentteja ja kysymyksiä sivulle
LisätiedotDifferentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /
MS-A8 Differentiaali- ja integraalilaskenta, V/7 Differentiaali- ja integraalilaskenta Ratkaisut 5. viikolle / 9..5. Integroimismenetelmät Tehtävä : Laske osittaisintegroinnin avulla a) π x sin(x) dx,
LisätiedotAlgebra. 1. Ovatko alla olevat väittämät tosia? Perustele tai anna vastaesimerkki. 2. Laske. a) Luku 2 on luonnollinen luku.
Algebra 1. Ovatko alla olevat väittämät tosia? Perustele tai anna vastaesimerkki. a) Luku on luonnollinen luku. b) Z c) Luvut 5 6 ja 7 8 ovat rationaalilukuja, mutta luvut ja π eivät. d) sin(45 ) R e)
LisätiedotHarjoitus 3 -- Ratkaisut
Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos
Lisätiedot13. 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ätiedotVektoreiden virittämä aliavaruus
Vektoreiden virittämä aliavaruus Määritelmä Oletetaan, että v 1, v 2,... v k R n. Näiden vektoreiden virittämä aliavaruus span( v 1, v 2,... v k ) tarkoittaa kyseisten vektoreiden kaikkien lineaarikombinaatioiden
LisätiedotITKP102 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ätiedotMetropolia ammattikorkeakoulu 05.02.2015 TI00AA43-3004: Ohjelmointi Kotitehtävät 3
: http://users.metropolia.fi/~pasitr/2014-2015/ti00aa43-3004/kt/03/ratkaisut/ Tehtävä 1. (1 piste) Tee ohjelma K03T01.cpp, jossa ohjelmalle syötetään kokonaisluku. Jos kokonaisluku on positiivinen, niin
LisätiedotHarjoitus 1 -- Ratkaisut
Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin
Lisätiedot9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa
9. Vektorit 9.1 Skalaarit ja vektorit Skalaari on koon tai määrän mitta. Tyypillinen esimerkki skalaarista on massa. Lukumäärä on toinen hyvä esimerkki skalaarista. Vektorilla on taas suuruus ja suunta.
Lisätiedot811312A 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