Átismételtük a kiválasztás tételét és az összegzést. HF: tanulni az eddigi összes tételt.
NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2022-23/12B2 csoport 'programozás' órai anyagai
2021.11.24. !!!Alap algoritmusok – gyakorlati példák
Végigvettük, házi feladat tanulni az alap algoritmusokat.
Alap algoritmusok – gyakorlati példák
A kiválasztás tétele
Adjuk meg, hogy hányadik a tömbben az 55, és írjuk ki a sorszámát! Ha több is van, csak az elsőt írjuk ki. Ha nincs ilyen szám, írjunk ki hibaüzenetet!
int i = 0;
while (i < szamok.Length && szamok[i] != 55)
{
i++;
}
if (i != szamok.Length)
Console.WriteLine("A keresett szám (55) a {0}. indexű elem.", i);
else
Console.WriteLine("A keresett szám (55) nincs a tömbben!");
A megszámlálás tétele
Számoljuk meg egy tömbben az 50 alatti elemeket! Írjuk ki a végeredményt. (For ciklussal is jó.)
int i = 0;
int db = 0;
while (i < szamok.Length)
{
if (szamok[i] < 50)
{
db++;
}
i++;
}
Console.WriteLine("{0} db 50 alatti szám van a tömbben.", db);
Az eldöntés tétele
Döntsük el, hogy van-e a tömbben 10-nél nagyobb szám. Amennyiben találtunk egyet, a ciklus álljon meg, és írjuk ki a képernyőre a megtalált elemet. (Nem kell a többit is megkeresni.) Ha végigmentünk a tömbön, és nem találtunk egyet sem, azt is írjuk ki.
int i = 0;
bool van = false;
while (i < szamok.Length && !van)
{
if (szamok[i] > 10)
{
van = true;
}
i++;
}
if (van)
Console.WriteLine("Van a tömbben 10-nél nagyobb elem: {0}", szamok[i-1]);
else
Console.WriteLine("Nincs a tömbben 10-nél nagyobb elem.");
A kiválogatás tétele
Adott két azonos elemszámú tömb. Másoljuk át az első tömbből a másodikba a páros elemeket. (While ciklussal is jó.)
int j = 0;
for (int i = 0; i < szamok1.Length; i++)
{
if (szamok1[i] % 2 == 0)
{
szamok2[j] = szamok1[i];
j++;
}
}
Az összegzés tétele
Egy tömbben add össze az elemeket. Írd ki a végeredményt. (While ciklussal is jó.)
int osszeg = 0;
for (int i = 0; i < egeszSzamok.Length; i++)
{
osszeg = osszeg + egeszSzamok[i];
}
Console.WriteLine("A tömbelemek összege: {0}", osszeg);
Változat: Add össze a páros elemeket. Írd ki a végeredményt.
int parosOsszeg = 0;
for (int i = 0; i < egeszSzamok.Length; i++)
{
if (egeszSzamok[i] % 2 == 0)
{
parosOsszeg = parosOsszeg + egeszSzamok[i];
}
}
Console.WriteLine("A páros elemek összege: {0}", parosOsszeg);
Változat: Szorozd össze az 50-nel osztható elemeket. Írd ki a végeredményt.
int szorzat = 1;
for (int i = 0; i < egeszSzamok.Length; i++)
{
if (egeszSzamok[i] % 50 == 0)
{
szorzat = szorzat * egeszSzamok[i];
}
}
if (szorzat != 1)
{
Console.WriteLine("Az 50-nel osztható elemek szorzata: {0}", szorzat);
}
else
{
Console.WriteLine("Nem voltak 50-nel osztható elemek!");
}
A minimumkeresés tétele
Egy tömbben keresd meg a legkisebb elemet. (While ciklussal is jó.)
int min = tomb[0];
for (int i = 1; i < tomb.Length; i++)
{
if (tomb[i] < min)
{
min = tomb[i];
}
}
Console.WriteLine("A legkisebb elem: {0}",min);
A maximumkeresés tétele
Egy tömbben keresd meg a legnagyobb elemet. (While ciklussal is jó.)
int max = tomb[0];
for (int i = 1; i < tomb.Length; i++)
{
if (tomb[i] > max)
{
max = tomb[i];
}
}
Console.WriteLine("A legnagyobb elem: {0}",max);
2021.11.19. Témazáró előtti gyakorlás
Megcsináltuk a mátrixos betűesőt először.
Ezt házi feladat befejezni.
1. Tárolj tömbben jeleket.
(!!+”’()&@# stb.)
2. Tárolj egy másik tömbben
kétjegyű véletlen számokat.
3. Ezekből, és véletlenszerű
kis-és nagybetűkből alkoss 3 különböző, 5 hosszú PIN kódokat. Írd ki őket a
képernyőre.
4. Véletlenszerűen írass ki
érdemjegyeket (1-5) addig, amíg ötös nem jön ki. Ekkor írj ki egy gratuláló
szöveget.
4. Véletlenszerűen írass ki
érdemjegyeket (1-5). Minden esetben kérdezd meg a felhasználót, hogy ez
megfelel-e neki programozásból. Ha nem felel meg, menj tovább. Ha megfelel,
lépj ki a ciklusból.
5. Kérj be egy pozitív egész
számot a usertől. Kezdj el visszafelé számolni ettől a számtól kezdve mínusz 100-ig.
Amikor pozitív számot írsz ki a sor elejére, töltsd föl mögötte az adott sort +
jelekkel. Ha a nullánál tartasz, írd tele a sort nullával. Ha negatív számot
írsz ki, írd tele a képernyőt – jelekkel.
2021.11.17. Gyakorlás
1. Rajzold ki 5* egymásba ágyazott ciklusokkal:
xxxxxxxxxx
******
******
******
oooooo
oooooo
++++++
++++++
++++++
2021.11.15.-17. Előző két feladatsor megoldása
using System;
-
Házi feladat volt befejezni. A végét még megbeszéljük. Házi feladat a megoldást megtanulni. Figyelem, egymásba ágyazott ciklus is van benne....
-
MINTAPROGRAM LISTA HASZNÁLATÁRA using System; using System.Collections.Generic; namespace lista { //A lista egy dinamikus tömb, ami le...
-
Számonkérés. Elkészültünk a hajó adatbázissal, és elkezdtük a szótárat.