Ohjelmointi 1, kesä 2024, luento21

Olin tällä sivulla luennon aikana Agorassa

Please to interact with this component.

.
Olin tällä sivulla luennon aikana Zoomissa

Please to interact with this component.

.
Olin tällä sivulla videon katsomisen aikana

Please to interact with this component.

.
Katson sivua etukäteen

Please to interact with this component.

.

# runner
# L21

21. luento: ma 13.11.2023 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 Riderin projektiin. Avaa koodileikkeet toiseen selaimen ikkunaan ja sitten käynnistä video ja etene kysymysten tahtiin. Alä "lunttaa" :-)

Määrät

# kalevala3vok
    // otetaan seuraava jonon kirjain 
    // ja jos se on siirrettavat joukossa, 
    // niin poistetaan kirjain jonosta
        /// 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>
    ///   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= "";
( i < jono.Length && lkm < maara )
        StringBuilder tulos = new StringBuilder();
                tulos.Append(merkki)
            lkm++
        return tulos.toString();
using System;
using System.Text;
/// @author  Vesa Lappalainen
/// @version 15.11.2021
/// <summary>
///  Kalevalasta täytyy laskea kunkin säkeen kolme ensimmäistä vokaalia.
/// </summary>

public class Siirra
{
    /// <summary>
    /// Kokeillaan poistamisen toimivuutta
    /// </summary>
    public static void Main()
    {
        StringBuilder jono = new StringBuilder("Mieleni minun tekevi, aivoni ajattelevi");
        string vokaalit = "aeiouyåäö";
        int maara = 3;

        string jonon3EnsimmaistaVokaalia = SiirraKirjaimet(jono, vokaalit, maara);

        Console.WriteLine("Jono:  " + jono); // Mlni minun tekevi, aivoni ajattelevi
        Console.WriteLine("3 vok: " + jonon3EnsimmaistaVokaalia); // iee
    }


    /// 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 i = 0;

        while (i < jono.Length && tulos.Length < maxMaara)
        {
            char merkki = jono[i];
            if (siirrettavat.IndexOf(merkki) >= 0)
            {
                tulos.Append(merkki);
                jono.Remove(i, 1);
            }
            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.