Ohjelmointi 1, syksy 2022, luento 21
- ottakaa laitteet mukaan (kannettava, tabletti, älykännykkä) Kalevalasta pitää selvittää kunkin säkeen kolme 1. vokaalia
- Siirra.cs - luennolle tehty versio, jossa InSitu -kysymykset
- Siirra.cs - luennolla tehty versio, jossa jossa pelkkä vastaus
- Luennolle tehdyt koodit versionhallinnassa -
- Luennon koodit versionhallinnassa
- 21. luento videona: Osa 1 MP4 alkuperäinen
- luentoseinä
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.