Ohjelmointi 1, syksy 2024, luento10

# L10

10. luento: ti 1.10.2024 klo 14:15-16:00: Taulukot, silmukat

Miksi opetella ohjelmointia

  • pitää osata puhua bisnestä ja koodia!

Kurssin esimerkkiohjelminen hakeminen

  • siirry hakemistoon johon haluat esimerkit

    git clone https://gitlab.jyu.fi/tie/ohj1/2024s/esimerkit.git .
  • seuraavan kerran jos olet muutellut niin

    git stash
  • sitten

  • git pull -r

Ei antanut cloonata, mutta löytyi https://gitlab.jyu.fi/tie/ohj1/2024s/esimerkit

VL: Korjattu

02 Oct 24 (edited 02 Oct 24)

Demot

  • voit hakea demojen mallivastaukset omalle koneellesi GITistä
  • mutta kirjaudu ensin Gitlabiin kerran, muuten sulle ei saada tunnusta
  • lue ohjeet demojen pääsivulta
  • älä muuta tätä hakemistoa, niin seuraavat pullit on helppo tehdä
  • Taunossa ei enää pääse mihin alkioon tahansa!
  • näytä miten Taunoa käytetään
# kaannataulukko

Nopeuseroja

StringBuilder vs String

# stringkuva1
# sbkuva1
# sbkuvaa2
# sbappendkuva1
# sbinsertkuva1

Eilisestä

# kutsuja
# krokokuva
        if (luku < a) return false;
        if (b < luku) return false;
        return true;

        if (a <= luku && luku <= b) return true;
        return false;

        if (a <= luku & luku <= b) return true;  // älä käytä tätä, huom vain yksi &
        else return false;

        if (luku < a || b < luku) return false;
        return true;

        if (luku < a | b < luku) return false;  // älä käytä tätä, huom vain yksi |
        return true;

        return (a <= luku && luku <= b);

        return (!(luku < a || b < luku));
# osuuko

Muuttujista kertausta

Kysymyksiä

Muuttujia

# sijoitusblle

Miten?

# muuttujankasvatus2

Mitä tulostaa?

# muuttujankasvatus

Muita kysymyksiä?

# funktoita2

Silmukat ja taulukot

Jos pitää viitata taulukon t paikassa i olevaan alkioon, niin mieti mitä seuraavat lauseet voisivat tarkoittaa ja miksi?

    int[] t = {1,3,4};
    int i = 2;

    int luku1 = t;    // WWWWWWW
    int luku2 = i;    // WWWWWWW
    
    int luku3 = t[i];  // %

Vertaa jos Aku Ankka asuu

Paratiisitie 13

niin käytetään syntaksia, jossa on tien nimi ja talon numero. Meillä yleensä välilyönnillä erotettuna. Joku vastaava syntaksi on pitänyt päättää ohjelmointikieleenkin. Indeksi on tavallaan sama talon numero ja taulukon nimi on vähän kuin tien nimi. Jos sanotaan että Aku asuu Paratiisitiellä, niin ei Aku vielä sillä löydy. Kuten ei myöskään sanomalla että asuu 13. Molemmat tarvitaan. C#-kielessä välilyöntiä ei käyttää erottimien, koska sillä on niin paljon muuta käyttöä, joten syntaksiksi on valittu hakasulut indeksin ympärille.

# lumiukko1
# shell
# tulostaluvut
    int luku = 2;

    while (luku <= 5)
    {
        Console.WriteLine("Luku on {0,4}", luku);
        luku++;
    }
    
    
    
    for (int luku = 2; luku <= 5; luku++)
    {
        Console.WriteLine("Luku on {0,4}", luku*luku);
    }
# tulostaneliot
# taulukko1
# taulukkokuva1
# taulukoita2

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.