Ma vettük a maximumkeresést és a kiválogatást, így végigvettük az összes tételt, mindet meg kell tanulni.
NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2022-23/12B1 csoport 'programozás' órai anyagai
2021.11.29. Alap algoritmusok - gyakorlás
Amit eddig tudunk:
- kiválasztás
- megszámlálás
- összegzés
- eldöntés
- minimum-keresés
2021.11.26. A kiválasztás tétele
Átvettük az összes tételt és a kiválasztás tételét részletesen. Házi feladat megtanulni, ehhez valószínűleg meg kell írnod egyszer fejből.
2021.11.23. !!!Alap algoritmusok – gyakorlati példák
Házi feladat tanulni a tételeket.
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
Mátrixos betűesőt csináltunk. Szorgalmi feladat befejezni.
Házi feladat
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.16. Házi feladat
//A feladatokat while ciklussal oldd meg!
//1. feladat: Töltsünk fel egy 30 elemű double
//tömböt 100 és 1000 közötti véletlen egész számokkal!
Console.WriteLine("1. feladat");
Console.ReadLine();
//2. feladat:
//Írd ki a tömb 5-tel osztható elemeit a képernyőre.
//A kiírás így nézzen ki: "Öttel osztható: 500, ez az 15. eleme a tömbnek."
//(A számok helyére a valóságnak megfelelő értékek kerüljenek.)
Console.WriteLine("2. feladat");
Console.ReadLine();
//3. feladat:
//Írjuk ki 10-től kezdve a számokat hatosával 200-ig.
//10, 16, 22, …
Console.WriteLine("3. feladat");
Console.ReadLine();
//4. feladat:
//Írjunk ki addig 10-zel osztható egész számokat a képernyőre, amíg
//el nem érjük a tízezret.
//Az első szám az 1000 legyen.
//(1000, 1010, 1020, ...)
Console.WriteLine("4. feladat");
Console.ReadLine();
2021.11.12. -15. Egymásba ágyazott while ciklus
Házi feladat: megtanulni az eddigi megoldást. Itt fejezzük be órán 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 belső 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.
Console.WriteLine("6. feladat");
//7. 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ő.
//Módosítás:
ne hangot adjon a program, hanem írja ki a jeleket.
Console.WriteLine("7. feladat");
//8. feladat:
//– Hangokkal kódold le a végén a TITANIC szót
(ehhez ne használj ciklust)
Console.WriteLine("8. feladat");
Console.ReadLine();
using System;
2021.11.05.-09. Számonkérés + While ciklus gyakorlás
Hf: Be kell fejezni az egészet.
HF: A 10.18-i házi feladatot megoldani, és a megoldás alapján ellenőrizni.
HF: Az 5. feladat végéig megoldani.
//While ciklus gyakorlás-első feladatot elkezdtük...
//A következő feladatokban a tömböket a feltöltés után mindig listázd ki a képernyőre.
//Tudnivalók: az ASCII táblában a betűk kódjainak határa:
// nagy betűk: 65-90
// kis betűk: 97-122
//1.feladat:
// Hozz létre egy 26 elemű karaktertömböt nagyBetu néven.
// Töltsd föl az angol ABC nagybetűivel.
//2.feladat:
// Hozz létre egy 26 elemű karaktertömböt kisBetu néven.
// Töltsd föl az angol ABC kisbetűivel.
//3.feladat:
// Hozz létre egy 2*26=52 elemű karaktertömböt osszesbetu néven.
// Másold át ebbe a tömbbe az előző két tömb tartalmát egymás után.
//4.feladat:
// Hozz létre egy 26 elemű string tömböt betuParok néven.
// Töltsd föl a következőképpen: a kisBetu tömb 0. eleméhez
//add hozzá a nagyBetu tomb 0. elemét úgy,
//hogy egy stringet alkossanak: „Aa”;
//majd ezt a stringet tedd bele a betuParok tömbbe.
//Ismételd meg ezt a többi elemmel is.
//5.feladat:
// Hozz létre egy 100 elemű karaktertömböt szazKisBetu néven.
//Töltsd föl véletlenül kiválasztott kisbetűkkel.
//6.feladat:
// Hozz létre egy 10 elemű string tömböt, melyben 3 számjegyből álló
//titkos kódokat fogsz tárolni.
// Töltsd föl a következőképpen: alakíts stringgé egy véletlen számjegyet,
//és adj hozzá még kettő ilyet úgy, hogy egy stringet alkossanak. (Pl.: 341, 593)
//7. feladat:
//Oldd meg a 6-os feladatot azzal a változtatással,
//hogy öt hosszú legyen a titkos kód.
//Az első helyen egy véletlen számjegy álljon,
//aztán egy véletlen kisbetű, aztán egy véletlen nagybetű,
//végül egy véletlen kétjegyű szám. (Pl.: 3hZ71)
//8. feladat:
//Készíts 8 hosszú titkos kódot, melyben kisbetű, nagybetű, szám, és egyéb jelek is vannak.
//Szóköz, ékezetes karakter nem lehet benne. Segítségül használd a 7 bites ASCII táblát.
//Pl.: fT!jq/d+
//9. feladat:
//Alkoss a kisBetu tömb elemeiből négybetűs szavakat, melyeket nem kell tárolni, csak kiírni a képernyőre.
//Minden egyes szó kiírása után kérdezd meg a usert, hogy értelmes-e a szó.
//Számold meg, hány értelmes szót sikerült alkotni, és az eredményt írd ki a képernyőre.
2024.02.15.-16. Helyettesítés
Adatbázis: vizsgaremek adatbázisának befejezése teljesen készre, dokumentáció kiegészítése, befejezése. Vizsgaremek felületének megvalósítá...
-
Adatbázis feladat A vizsgaremek adatbázisának a tervezése. Folytasd a megkezdett munkát, ne feledd a dokumentációt. Ha a tervező szoftverbe...
-
Fájlkezelés using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Task...
-
A jelentkezést nem egyénileg kell intézni, abban majd mi segítünk! ----------------------------------------------------------------------...