Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

LMegszámlálás, kiválasztás alapalgoritmusok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./0. lVektoron értelmezett 2. alapalgoritmus:

Hasonló előadás


Az előadások a következő témára: "LMegszámlálás, kiválasztás alapalgoritmusok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./0. lVektoron értelmezett 2. alapalgoritmus:"— Előadás másolata:

1 lMegszámlálás, kiválasztás alapalgoritmusok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./0. lVektoron értelmezett 2. alapalgoritmus: a megszámlálás algoritmusa lVektoron értelmezett 3. alapalgoritmus: a kiválasztás algoritmusa l Példa egyszerű logikai feltételnek eleget tevő elem kiválasztására l Elemkiválasztás összetett logikai feltétel alapján

2 lVektoron értelmezett 2. alapalgoritmus: a megszámlálás algoritmusa Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./1. Feladat: meg kell számlálni, hogy egy sorozatban hány, megadott feltételnek eleget tevő elem van. Példa: Olvassunk be n darab pozitív egész számot egy vektorba, majd számláljuk meg, hogy hány kétjegyű és hány háromjegyű van közöttük ! Megszámlálás Képernyőtörlés Kiíratás: ”Megszámlálás” ”A számok összes darabszáma=” n értékének bekérése *Beolvasás i=0,1,...,n-1 Kiíratás: ”Az ”,i+1, ”. szám=” vektor[ i ] értékének beolvasása 1 Chapin diagram == struktogram

3 lA megszámlálás algoritmusa.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./2. *Megszámlálás: ketjegyu= 0; haromjegyu= 0; i=0,1,...,n-1 (10<=vektor[ i ] && vektor[ i ]<=99) 1 (100<=vektor[ i ] && vektor[ i ]<=999) ketjegyu++; haromjegyu++; ; igen nem igen nem 2

4 lA megszámlálás algoritmusa.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./3. 2 *Eredmény kiíratása: Kiíratás: ketjegyu,” darab kétjegyü és”, haromjegyu, ” darab háromjegyü szám van” Várakozás Enter lenyomására A feladat struktogramja után lássuk a programját!

5 lA megszámlálás algoritmusa.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./4. #include unsigned int vektor [100]; void main(void) { unsigned int i, n, ketjegyu, haromjegyu ; clrscr(); puts(" Megszámlálás\n"); printf("A számok összes darabszáma= "); scanf("%u", &n); /* Beolvasás: */ for (i = 0; i < n ; i ++) { printf("A %u. szám = ", i +1); scanf("%u", &vektor [ i ]); /* vagy scanf("%u",vektor+i); */ }

6 lA megszámlálás algoritmusa.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./5. /* Megszámlálás: */ for (ketjegyu = 0, haromjegyu = 0, i = 0; i < n; i ++) if (10<=vektor [ i ] && vektor [ i ]<=99) ketjegyu++; else if (100<=vektor [ i ] && vektor [ i ]<=999) haromjegyu++; /* Eredmény kiíratása: */ printf("\n%u darab kétjegyű és %u darab háromjegyű \ szám van.\n", ketjegyu, haromjegyu); getch(); } 5, 7, 11, 23, 30, 5, 9, 133, 22, 13, 21, 127, 4, 2, 0, 91, 1, 11, 7, 168 ketjegyu == 8; haromjegyu == 3

7 lVektoron értelmezett 3. alapalgoritmus: a kiválasztás algoritmusa Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./6. Feladat: egy n elemű sorozatban megadott tulajdonsággal bíró elem sorszámának (indexének) meghatá- rozása. Példa egyszerű logikai feltételnek eleget tevő elem kiválasztására: a minimális elem kiválasztása. Kiválasztás n értékének bekérése i= 0,1,...,n-1 minertek= vektor[ 0 ]; index= 0; i= 1,2,...,n-1 vektor[ i ]

8 lA minimális elem kiválasztás programja Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./7. #include float vektor [100]; void main(void) { unsigned int n, i, index ; float minertek ; clrscr(); puts(" Kiválasztás\n"); printf("Elemek száma= "); scanf("%u", &n); /* Beolvasás a vektorba: */ for (i = 0; i < n; i++) { printf("Vektor[%u]= ", i +1); scanf("%f", &vektor [ i ]); /* vagy scanf(%f",vektor+ i ); */ }

9 lA minimális elem kiválasztás programja.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./8. /* A minimális elem meghatározása: */ for (minertek = vektor [0], index =0, i =1; i < n; i++) if (vektor[ i ]

10 lElemkiválasztás összetett logikai feltétel alapján Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./9. Példa: Adott egy egyesé- vel növekvő számsorozat a kezdőszámmal és az elemek számával. Meghatározandó annak a számnak a sorszáma, amely a legtöbb prímtényezőre bontható fel. Kezdoszam és darab bekérése Primtényezők_száma i = 0,1,...,darab-1 szamsorozat[ i ]= kezdoszam + i ; legtobb = 0; i = 0,1,...,darab-1 osztok_szama= 0; oszto=2; hanyados =szamsorozat[ i ]; hanyados % oszto == 0 hanyados = hanyados / oszto; osztok_szama++; oszto++; hanyados != 1 osztok_szama > legtobb igen legtobb = osztok_szama; index = i; index, szamsorozat[ index ], és legtobb kiíratása nem ;

11 lElemkiválasztás összetett logikai feltétel alapján.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./10. #include unsigned int szamsorozat [100]; void main(void) { unsigned int kezdoszam, darab, oszto, i, index, osztok_szama, legtobb, hanyados; clrscr(); puts("Legtöbb prímtényező \n"); printf("Kezdő szám="); scanf("%u",&kezdoszam); printf("\nSzámok darabszáma="); scanf("%u", &darab); for (i = 0; i < darab; i++) szamsorozat [ i ]= kezdoszam+i ; legtobb= 0; A primtényezők számát megadó program: kezdoszam= 11; darab= 2; szamsorozat  { 11, 12 }

12 lElemkiválasztás összetett logikai feltétel alapján.. Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./11. for (i = 0; i < darab; i++) { osztok_szama = 0; oszto = 2; hanyados = szamsorozat [ i ]; do { while (hanyados % oszto == 0) { hanyados /= oszto; /* egészosztás! */ osztok_szama++; } oszto++; } while (hanyados != 1); if (osztok_szama>legtobb) {legtobb= osztok_szama; index= i ; } printf("\nIndex= %u, a szám= %u, tényezők száma= %u\n", index, szamsorozat[index], legtobb); getch(); }


Letölteni ppt "LMegszámlálás, kiválasztás alapalgoritmusok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 18./0. lVektoron értelmezett 2. alapalgoritmus:"

Hasonló előadás


Google Hirdetések