Ohjelmointi ja numeeriset menetelmät
kevät 2006


Huom: Ennakkotiedoista poiketen kurssia ei luennoida 2009. Seuraavan kerssan kurssi pidetään keväällää2010. Kurssin voi suorittaa myos tekemällä harjoitustehtäviää ja harjoitustyön. ä


  • Yleistietoa kurssista
  • Kirjallisuutta
  • Harjoitustyöt Tutustu tähän, jos et käy luennolla!

    Demo-ohjelmia

    Tästä löytyy joitakin ohjelmia, joita ei välttämättä ole käsitelty luennolla, mutta jotka voivat olla tarpeen harjoitustöissä. Ohjelmien käyttö sallittu vapaasti, mutta omalla vastuulla. En takaa, että toimivat kaikissa tilanteissa tai että ehtisin ylläpitää niitä. Ilmoita kuitenkin, jos niistä löytyy vikoja.

    Muuta oheisroinaa

    Grafiikkakirjasto pgplot
    Seuraava sisältää Mikko Hanskin pari vuotta sitten laatiman ohjeen pgplotin käytöstä (ei välttämättä vastaa nykytilannetta). Ohjeesta on linkki luennolla käsiteltyyn dokumenttiin, jonka PostScript-tiedoston voi ladata ja tulostaa. Sieltä löytyy myös linkki kirjaston tuottajan sivuille, joista paketin voi ladata omalle koneelleen.

    - Pgplotin manuaali (a lot of text in English)


    Seuraavassa on sellaista luennoilla esitettyä materiaalia, jota ei välttämättä ole oppikirjassa. Lähes kaikki F90:een liittyvät asiat ovat kyllä kirjassa, mutta ehkä hieman eri muodossa.

    Teksti on muunnettu TeX-tiedostosta vähimmän vastuksen periaatteella, joten kaavat eivät ole mitenkään siistejä, vaan joukossa on TeXin omia merkintöjä. Esimerkiksi \int tarkoittaa integraalimerkkiä. Näiden häkkyröiden merkitys lienee kuitenkin arvattavissa suhteellisen helposti.

    Jos löydät tekstistä virheitä, lähetä mailia, niin korjataan.

    Luennot 2006

    Luento 1 (18.1.)
    - Yleistä ohjelmointikielistä
    - Historiaa
    - Fortran 90:n perusrakenteita
    - Laskutoimituksissa syntyvistä virheistä

    Luento 2 (25.1.)
    - Yhteenveto perusrakenteista
    - Proseduurit eli funktiot ja aliohjelmat
    - täydennyksiä perusrakenteisiin
    - proseduurien paikalliset ja globaalit muuttujat
    - proseduurien parametrit
    - rekursiiviset proseduurit
    - avainsanaparametrit ja valinnaiset parametrit
    - top-down-ohjelmoinnista
    - taulukoiden määrittely
    - taulukko-operaatiot

    Luento 3 (1.2.)
    - Rekursiiviset funktiot
    - Yhtälön ratkaisumenetelmiä (suora iterointi, välinpuolitus, regula falsi, sekanttimen., Newtonin men.)
    - Ratkaisun tarkkuus
    - proseduuri parametrina

    Luento 4 (8.2.)
    - lineaariset yhtälöryhmät

    Luento 5 (15.2.)
    - syöttö ja tulostus, täydennystä
    - interpolointi
    - spline-funktiot

    Luento 6 (22.2.)
    - omat muuttujatyypit
    - moduulit
    - pienimmän neliösumman menetelmä

    Luento 7 (1.3.)
    - numeerinen integrointi ja derivointi
    - satunnaisluvuista ja Monte Carlo -menetelmistä
    - taulukoiden dynaaminen varaus

    Luento 8 (15.3.)
    - hieman ohjeita harjoitustöiden varalle
    - geneeriset proseduurit
    - operaattorien ylilataus
    - operaatiot omille muuttujatyypeille
    - osoittimet
    - namelist
    - Fourier'n muunnos, konvoluutio, dekonvoluutio

    Luento 9 (22.3.)
    - tavalliset differentiaaliyhtälöt

    Luento 10 (29.3.)
    - ohjelman kokonaisrakenne
    - osittaisdifferentiaaliyhtälöt
    - hiukan ominaisarvoista

    Luento 11 (5.4.)
    - inversio-ongelmista
    - optimointi

    Luento 12 (19.4.)
    - aikasarjoista
    - hiukan aallokkeista

    Luento 13 (26.4.)
    - kuvankäsittelyä
    - numeeriset aliohjelmakirjastot

    Luento 14 (3.5.)
    - ohjelmointityylistä
    - vanhoista F77-ohjelmista


    Harjoitustehtävät

    Harjoitus 1: tehtävät

    Harjoitus 2: tehtävät

    Harjoitus 3: tehtävät

    Harjoitus 4: tehtävät

    Harjoitus 5: tehtävät

    Harjoitus 6: tehtävät

    Harjoitus 7: tehtävät

    Harjoitus 8: tehtävät

    Harjoitus 9: tehtävät

    Harjoitus 10: tehtävät

    Ylimääräisiä tehtäviä.

    Harjoituspisteet