NMSZC Szent-Györgyi Albert Technikum (Balassagyarmat) - 2020-21/11B2 csoport 'programozás' órai munkái
2020. szeptember 30., szerda
2020. szeptember 28., hétfő
2020. szeptember 23., szerda
2020.09.23. Gyakorlás
Számegyenesen összetett logikai kifejezések gyakorlása
Eldöntés tétele
Gyakorló feladatsor
Házi feladat az eldöntés tételét és a kiválasztás tételét megírni a byte tömbre
2020. szeptember 21., hétfő
2020.09.21. Lépésenkénti futtatás
Csak kis elemszámú tömbökkel próbáld ki.
1. a kiválasztott programsorhoz töréspontot teszünk bal egér gombbal a bal margóra (eltüntetni is bal egérgombbal lehet)
2. F5
3. egymás mellé tesszük a VS és a futó program ablakát, innentől figyelünk a vezérlésre, tehát hogy mikor hova kattintottunk utoljára; a sárga kiemelés a következő programsort jelzi
4. a VS ablakban F10, figyelem a Locals ablakban a változókat
A következő órán még gyakorlunk, jövő hétfőn tz.
Példaprogram Ricsitől:
using System;
namespace dolgozat
{
class Program
{
static void Main(string[] args)
{
//A csoport
double[] tomb1 = new double[100];
Random rnd = new Random();
for (int i = 0; i
< tomb1.Length; i++)
{
tomb1[i] = rnd.Next(-1000, 1);
Console.WriteLine("Alap tömb: {0}", tomb1[i]);
}
//1.:számold
meg a páratlan számokat!
double p = 0;
for (int i = 0; i
< tomb1.Length; i++)
{
if (tomb1[i] % 2 != 0)
{
p++;
}
}
Console.WriteLine("{0}db páratlan szám van benne!", p);
//2.:keresd meg
a tömbben a '0'-át,ha van ,írd ki hányadik
double[] tomb3 = new double[10];
double k = 0;
for (int i = 0; i
< tomb3.Length; i++)
{
tomb3[i] = rnd.Next(0, 11);
}
while (k < tomb3.Length && tomb3[5] != 0)
{
k++;
}
if (k != tomb3.Length)
{
Console.WriteLine("A '0' a {}. elem a tömbben!",k);
}
else
{
Console.WriteLine("Nincs benne 0.");
}
//3.:új
tömb,-500 és -300 közötti elemeket
double[] tomb2 = new double[100];
int u = 0;
for (int i = 0; i
< tomb1.Length; i++)
{
if (tomb1[i] > -500 && -300 > tomb1[i])
{
tomb2[u] = tomb1[i];
u++;
}
}
2020. szeptember 17., csütörtök
2020. szeptember 16., szerda
2020.09.16. Kiválogatás tétele
Vettük a kiválogatás tételét, beillesztettük a többi közé.
Házi feladat: gyakorold azokat a tételeket, amik nem mennek olyan jól.
2020. szeptember 14., hétfő
2020.09.14. Gyakorlás
Adategyeztetés. Akinek nem volt kész a házija, pótolja.
A jövő héten várhatóan témazárót írunk az alap algoritmusokból.
2020. szeptember 10., csütörtök
2020.09.10. Maximum-keresés, kiválasztás tétele
Aki nem fejezte be a kiválasztás tételét, fejezze be otthon (egy új, frissen feltöltött 5 elemű tömbben keress).
Lépésenkénti futtatással folytatjuk a következő órán.
2020. szeptember 9., szerda
2020.09.09. Programozási tételek (alap algoritmusok)
Alap algoritmusok – gyakorlati példák
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.
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.
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.
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.
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);