NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2022-23/12B2 csoport 'programozás' órai anyagai
2021.12.10. Alap algoritmusok gyakorlása
Kiválogatás tétele, eldöntés tétele. Legközelebb folytatjuk.
2021.12.01. Alap algoritmusok gyakorlása
Házi feladat továbbra is az alap algoritmusok gyakorlása.
1 feladat: Minden feladatrész
előtt a főprogramban írd ki a képernyőre, hogy hányas feladat következik. |
2
feladat: |
−
Hozz
létre egy 10 elemű int tömböt. |
−
Töltsd
fel 0 és 90 közötti véletlen számokkal (a 0 és a 90 is benne legyen.) |
−
Írd
ki a tömb tartalmát egy sorba. |
3
feladat |
−
Számold
ki, és írd ki a 30-nál kisebb tömbelemek összegét! |
4
feladat |
−
Keresd
meg, hogy hányadik a tömbben a 25, és
írd ki a sorszámát (nem az indexét)! Ha nincs benne, írj ki hibaüzenetet. A
megoldáshoz használd a kiválasztás tételét. |
5
feladat |
−
Számold
meg az 50-nél kisebb elemeket. Írd ki az eredményt. Ha nincs benne, írj ki
hibaüzenetet. |
6
feladat |
−
Döntsd
el, hogy van-e a tömbben 20 és 30 közötti
szám. Amennyiben találtál egyet, a ciklus álljon meg, és írd ki a
képernyőre a megtalált elemet. Ha nincs benne, írj ki hibaüzenetet. A
megoldáshoz használd az eldöntés tételét. |
7
feladat: |
−
Hozz
létre egy új 10 elemű int tömböt. Ezt a második tömböt töltsd föl
sorfolytonosan az első tömb 50 fölötti elemeivel. A megoldáshoz használd a
kiválogatás tételét. |
−
Írd
ki a tömb tartalmát egy sorba. |
8
feladat: |
−
Keresd
meg az első tömbben a legkisebb elemet, és írd ki a képernyőre az értékét. |
2021.11.29. Alap algoritmusok - gyakorlás
Átismételtük a kiválasztás tételét és az összegzést. HF: tanulni az eddigi összes tételt.
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;
2021.11.12. -15. Egymásba ágyazott ciklusok – Gyakorlás
Következő órán befejezzük.
Egymásba ágyazott ciklusok – Gyakorlás
1
feladat:
−
Az órai munka minden feladatát futtasd lépésenként, vizsgáld a
műveleteket, változókat.
2
feladat:
−
Ismételd meg tízszer a Beep() metódus segítségével a Morse SOS
(. . . – – – . . .) jelet (a harmadik
leckében találsz hozzá segítséget). A külső ciklus 10-szer fusson, ezen belül
fusson 3 belső ciklus. Az első ismételje 3-szor a rövid hangot; a második
ismételje 3-szor a hosszú hangot, a
harmadik ugyanaz, mint az első.
3
szorgalmi feladat:
−
Hangokkal kódold le a végén a TITANIC szót (ehhez ne használj
ciklust :)
2021.11.10. Egymásba ágyazott ciklusok
Házi feladat: befejezni a feladatsort.
Egymásba ágyazott ciklusok
1
feladat:
−
A külső ciklus 10-szer fusson le, minden ciklusmagban írja ki,
hogy hányadik külső ciklus-lépésben járunk.
−
A belső ciklus 5-ször fusson, (futásonként) írja ki, hogy ő a
belső ciklus, és írjon még ki egy véletlenszámot.
2
feladat:
−
Módosítsuk az előző feladatot úgy, hogy a külső és a belső ciklus
más-más színnel írjon a képernyőre.
3
feladat:
−
Lépésenkénti futtatással vizsgáljuk meg a ciklusok működését.
4
feladat:
−
Hozz létre egy 20 elemű string tömböt, melyben 10 számjegyből álló
titkos kódokat fogsz tárolni.
−
Külső ciklus:
●
menj végig minden tömbelemen;
●
helyezz el a tömbelemben egy stringgé alakított véletlen
számjegyet;
−
Belső ciklus, ami 10-szer ismétlődik:
●
lépésenként adj hozzá a tömbelem aktuális tartalmához egy, a fenti
módon stringgé alakított véletlen
számjegyet úgy, hogy egy stringet alkossanak.
−
A külső ciklusból kilépve listázd ki a képernyőre a tömböt.
//5. feladat:
//– Oldd meg, hogy a listázás a ciklusok futása közben megvalósuljon,
//ehhez keresd meg azt a helyet, ahová a kiírást el kell helyezni.
Console.WriteLine("5. feladat");
//6. feladat:
// Az órai munka minden feladatát futtasd lépésenként, vizsgáld a műveleteket, változókat.
2021.11.08. While ciklus gyakorlás
//1.feladat:
//Írjunk végtelen ciklust, ami „végtelenszer” kiírja, hogy „Úgyse lépek ki :)
//2.feladat:
//Kérd be a felhasználótól, hogy hány nap múlva lesz az uniós pályázat beadási határideje.
//Számolj visszafelé egyesével 1-ig, az aktuális értéket írd ki a képernyőre.
//Amikor eljött a határidő napja, írd ki, hogy ma van a határidő napja.
//3.feladat:
//Középiskolák pályázhattak hardver beszerzésre. A teljes pályázati összeg 10 millió forint.
//Százezer, kétszázezer, háromszázezer forintokra lehetett pályázni.
//Modellezzük az iskolák igényét úgy, hogy a százezer forintot véletlenül szorozzuk be
//cikluslépésenként 1-2-3-mal.
//A ciklus addig megy, amíg el nem fogy minden pénz.
//Minden cikluslépésben írd ki, hogy mennyi pénz van még.
//Ha a végén mínuszba ment, a ciklus után írd ki, hogy az utolsó pályázónak
//mennyi maradt, valójában azt kapja meg.
-
Elkezdtük (ebből a web készen van a többségnek) 2022. ŐSZ KÖZÉP - XIX. Bükk Hegyikerékpár Maraton, Balaton
-
Folytattuk: Pataky próbaérettségi befejezés (Lottószámok, Kőbánya) - még van, aki nem fejezte be 2021. TAVASZ KÖZÉP - Karácsonyi díszek, Tr...