Ohjelmointi 1, syksy 2022, luento 21

# L21

21. luento: ma 7.11.2022 klo 12:15-14:00: Kertausta - Luentokyselyt

Videokatsoja: katso videota ja vastaile alla oleviin kysymyksiin ja tee ohjelmaa samalla kertaa. Koodinpätkiä voit kopioida alhaalla olevan koodin luota.

Aloita kopioimalla sivun lopussa oleva pohjakoodi Visual Studion projektiin. Avaa koodileikkeet toiseen selaimen ikkunaan ja sitten käynnistä video ja etene kysymysten tahtiin.

Määrät

Kysymyksiä:

Aluksi (q1-q5)

# aluksi
# Voiko
# miksi
# minka
# tyyppi2

Aliohjelman esittelyrivi (q6-q12)

# x1
# x2
# tyyppifunktio
# param1
# param2
# param2nimi
# param3

Kommentit (q13-q17)

# TDD
# kommentit
# TDD2
# testit
# seuraavaksi

Koodi (q18-q25)

# miettia
# mikaalgoritmi
# saako
# silmukka
# ehto
# tyyppimerkille
# miten
# tulostyyppi

Laskeminen (q26-q31)

# lisataan
# viela
# josei
# kaikki
# valmis
# tarvitaanko
# MiksijaMIten
# kalevala3vok
    // otetaan seuraava jonon kirjain 
    // ja jos se on siirrettavat joukossa, 
    // niin poistetaan kirjain jonosta

```

``` /// StringBuilder jono = new StringBuilder("kissa istuu");

///   SiirraKirjaimet(jono,"",1)    === "";    jono =S= "kissa istuu";
///   SiirraKirjaimet(jono,"xyz",1) === "";    jono =S= "kissa istuu";
///   SiirraKirjaimet(jono,"aus",0) === "";    jono =S= "kissa istuu";
///   SiirraKirjaimet(jono,"i",1)   === "i";   jono =S= "kssa istuu";
///   SiirraKirjaimet(jono,"s",2)   === "ss";  jono =S= "ka istuu";
///   SiirraKirjaimet(jono,"aus",3) === "asu"; jono =S= "k itu";
///   SiirraKirjaimet(jono,"iu",3)  === "iu";  jono =S= "k t";
///   SiirraKirjaimet(jono," ",1)   === " ";   jono =S= "kt";
///   SiirraKirjaimet(jono,"kt",5)  === "kt";  jono =S= "";
///   SiirraKirjaimet(jono,"kt",5)  === "";    jono =S= "";
StringBuilder jono = new StringBuilder("Mieleni minun tekevi, aivoni ajattelevi");
    public static string SiirraKirjaimet(StringBuilder jono,string siirrettavat,int maxMaara)
    {

    }
    /// Poistetaan jonosta korkeintaan maara kappaletta joukon siirrettavat kirjaimia.
    /// </summary>
    /// <param name="jono">mistä poistetaan</param>         
    /// <param name="siirrettavat">mitä kirjaimia poistetaan</param> 
    /// <param name="maara">montako korkeintaan poistetaan</param> 
    /// <returns>siirretyt merkit</returns>
        int lkm = 0;
        int i = 0;
        while (i < jono.Length && lkm < maxMaara)
        {

        }
           if (siirrettavat.IndexOf(merkki) >= 0)
            {
                jono.Remove(i, 1);
            }
   /// <summary>
    /// Poistetaan jonosta korkeintaan maxMaara kappaletta joukon siirrettavat kirjaimia.
    /// </summary>
    /// <param name="jono">mistä poistetaan</param>         
    /// <param name="siirrettavat">mitä kirjaimia poistetaan</param> 
    /// <param name="maxMaara">montako korkeintaan poistetaan</param> 
    /// <returns>siirretyt merkit</returns>
    /// <example>
    /// <pre name="test">
    ///   StringBuilder jono = new StringBuilder("kissa istuu");
    ///   SiirraKirjaimet(jono,"",1)    === "";    jono =S= "kissa istuu";
    ///   SiirraKirjaimet(jono,"xyz",1) === "";    jono =S= "kissa istuu";
    ///   SiirraKirjaimet(jono,"aus",0) === "";    jono =S= "kissa istuu";
    ///   SiirraKirjaimet(jono,"i",1)   === "i";   jono =S= "kssa istuu";
    ///   SiirraKirjaimet(jono,"s",2)   === "ss";  jono =S= "ka istuu";
    ///   SiirraKirjaimet(jono,"aus",3) === "asu"; jono =S= "k itu";
    ///   SiirraKirjaimet(jono,"iu",3)  === "iu";  jono =S= "k t";
    ///   SiirraKirjaimet(jono," ",1)   === " ";   jono =S= "kt";
    ///   SiirraKirjaimet(jono,"kt",5)  === "kt";  jono =S= "";
    ///   SiirraKirjaimet(jono,"kt",5)  === "";    jono =S= "";
    /// </pre>
    /// </example>
    public static string SiirraKirjaimet(StringBuilder jono,string siirrettavat,int maxMaara)
    {
        // otetaan seuraava jonon kirjain 
        // ja jos se on siirrettavat joukossa, 
        // niin poistetaan kirjain jonosta
        StringBuilder tulos = new StringBuilder();
        int lkm = 0;
        int i = 0;
        while (i < jono.Length && lkm < maxMaara)
        {
            char merkki = jono[i];
            if (siirrettavat.IndexOf(merkki) >= 0)
            {
                jono.Remove(i, 1);
                tulos.Append(merkki);
                lkm++;
            }
            else i++;
        }
        return tulos.ToString();
    }
# Plugin1
# jono

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