Ohjelmointi 1, syksy 2021, luento 06

6. luento: ti 21.09.2021 klo 14:15-16:00: Aihe: aliohjelman paluuarvo, funktio ja parametrin välitys (luentokysymyksiä)

Kysymyksiä

1-bit Wegematic 1000

Negatiiviset binääriluvut

# muistiinpanoja

Syntaksista

Aliohjelmat ja funktiot

  1. Jaa ongelma osiin.
  2. Mieti millaisella aliohjelmakutsulla pistät tietyn osaongelman ratkaisun käyntiin.
  3. Kirjoita aliohjelman kutsurivi ja mieti sen tarvitsemat parametrit.
  4. Kirjoita (aluksi manuaalisesti, myöhemmin generoi automaattisesti) aliohjelman esittelyrivi (otsikkorivi, eng. header).
    • mieti tarve public, static - sanoille
    • aliohjelman paluutyyppi void vai jotakin muuta?
    • aliohjelman nimi
    • parametrin lukumäärä sama kuin kutsussa
    • parametrien tyyppi sijoitusyhteensopivaksi kutsun kanssa.
  5. Tee aliohjelmasta syntaktisesti oikea tynkä joka kääntyy, esimerkiksi funktioaliohjelmassa pitää olla return-lause joka palauttaa lausekkeen (vaikka yksi luku) joka on samaa tyyppiä (tai muuntuu automaattisesti samaksi) kuin funktion tyyppi.
  6. Dokumentoi aliohjelma (nyt unohda mistä sitä kutsuttiin, sitä et enää saa ajatella).
  7. Kirjoita testit (TDD).
  8. Aja testit (pitää "feilata" = NÄE PUNAISTA).
  9. Muuta aliohjelma toimivaksi
  10. Aja testit (toista kohdat 8-10 kunnes toimii, = NÄE VIHREÄÄ)
  11. Siirry seuraavaan aliohjelmaan.
    /// <summary>
    /// 
    /// </summary>
    /// <param name="luku1"></param>
    /// <param name="luku2"></param>
    /// <returns></returns>
    /// <example>
    /// <pre name="test">
    ///  
    /// </pre>
    /// </example>
    /// <summary>
    /// 
    /// </summary>
    /// <param name="k"></param>
    /// <param name="maara"></param>
    /// <param name="isona"></param>
    /// <returns></returns>
    /// <example>
    /// <pre name="test">
    ///  
    /// </pre>
    /// </example>
    XXX YYY ZZZ Monista(???)
    {
        StringBuilder tulos = new StringBuilder("");
        char kirjain = Char.ToLower(k);
        if (isona) kirjain = Char.ToUpper(k);
        for (int i = 0; i < maara; i++)
            tulos.Append(kirjain);
        return tulos.ToString();
    }
# helloeka

Voimia peliin

# lumiukko1

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