Ohjelmointi 1, syksy 2021, luento 10
10. luento: ti 5.10.2021 klo 14:15-16:00: Taulukot, silmukat
- TIM lisäsivu taulukoista
- M: 16. Toistorakenteet
while
-silmukka,for
-silmukka,do-while
-silmukka- MontaPalloa.cs
- DoWhile.cs
- M: 15. Taulukot
- TIM-sivu taulukoista
- Pallot.cs - motivointi silmukoihin ja taulukoihin
- Silmukoiden käyttäminen taulukon alkioiden läpikäymiseen (esim. tulostaminen, summaaminen, ...)
- Taulukoita.cs
- Taulukoita.cs- luennolla tehty hieman suppeampi versio
- Luennolle tehdyt koodit versionhallinnassa
- Luennon koodit versionhallinnassa
- 10. luento videona: Osa 1 ja 2 MP4 alkuperäinen, MP4 kännykkäversio
- luentoseinä
Kurssin esimerkkiohjelminen hakeminen
siirry hakemistoon johon haluat esimerkit
git clone https://gitlab.jyu.fi/tie/ohj1/2021s/esimerkit.git .
seuraavan kerran jos olet muutellut niin
git stash
sitten
git pull -r
Demot
- voit hakea demojen mallivastaukset omalle koneellesi GITistä
- 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
- StringVsStringBuilder.cs -
String
vs.StringBuilder
nopeus- em kokeilut Bechmark-kirjastolla
- ptää ensin asentaa kirjasto
- em kokeilut Bechmark-kirjastolla
- IntVsDouble.cs -
int
vs.double
nopeus
#
benchmark1
h2.txt
BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19042.1237 (20H2/October2020Update)
AMD Ryzen 5 3600, 1 CPU, 12 logical and 6 physical cores
.NET SDK=5.0.201
[Host] : .NET 5.0.4 (5.0.421.11614), X64 RyuJIT
DefaultJob : .NET 5.0.4 (5.0.421.11614), X64 RyuJIT
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------------- |---------------:|-------------:|--------------:|-------------:|-------------:|-------------:|----------:|
| SBTestAdd | 1,877.5 us | 15.47 us | 13.72 us | 498.0469 | 330.0781 | 166.0156 | 4 MB |
| SBTestAppend | 756.2 us | 8.33 us | 7.79 us | 166.0156 | 166.0156 | 166.0156 | 1 MB |
| SBTestConcat | 1,258,417.7 us | 65,440.75 us | 191,926.38 us | 3397000.0000 | 3357000.0000 | 3351000.0000 | 13,356 MB |
| SBTestFormat | 1,405,598.9 us | 69,476.13 us | 204,851.94 us | 3419000.0000 | 3380000.0000 | 3374000.0000 | 13,356 MB |
#
inttest
#
stringkuva1
#
sbkuva1
#
sbkuvaa2
#
sbappendkuva1
#
sbinsertkuva1
Eilisestä
#
kutsuja
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ä
else return false;
if (luku < a || b < luku) return false;
return true;
if (luku < a | b < luku) return false; // älä käytä tätä
return true;
return (a <= luku && luku <= b);
return (!(luku < a || b < luku));
#
osuuko
Muuttujista kertausta
Kysymyksiä
Muuttujia
#
sijoitusblle
Miten?
#
abhen
#
muuttujankasvatus2
Mitä tulostaa?
#
Mittulostaa
#
muuttujankasvatus
Muita kysymyksiä?
#
funktoita2
Silmukat ja taulukot
Lue myös:
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]; // %
#
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.