<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_programoz%C3%A1s_alapjai_%28%C3%BCzemm%C3%A9rn%C3%B6k_informatikus%29_2019_NZH_megold%C3%A1sok</id>
	<title>A programozás alapjai (üzemmérnök informatikus) 2019 NZH megoldások - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_programoz%C3%A1s_alapjai_%28%C3%BCzemm%C3%A9rn%C3%B6k_informatikus%29_2019_NZH_megold%C3%A1sok"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_programoz%C3%A1s_alapjai_(%C3%BCzemm%C3%A9rn%C3%B6k_informatikus)_2019_NZH_megold%C3%A1sok&amp;action=history"/>
	<updated>2026-05-30T04:55:39Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=A_programoz%C3%A1s_alapjai_(%C3%BCzemm%C3%A9rn%C3%B6k_informatikus)_2019_NZH_megold%C3%A1sok&amp;diff=198065&amp;oldid=prev</id>
		<title>Bogyó Sándor Lóránt: Új oldal, tartalma: „===1. feladat: ProgAlap eredmények===      def osztalyoz(pont):         if (pont &lt;= 39):             return 1         if (pont &lt;= 54):             return 2         if…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_programoz%C3%A1s_alapjai_(%C3%BCzemm%C3%A9rn%C3%B6k_informatikus)_2019_NZH_megold%C3%A1sok&amp;diff=198065&amp;oldid=prev"/>
		<updated>2019-12-01T12:29:41Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „===1. feladat: ProgAlap eredmények===      def osztalyoz(pont):         if (pont &amp;lt;= 39):             return 1         if (pont &amp;lt;= 54):             return 2         if…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===1. feladat: ProgAlap eredmények===&lt;br /&gt;
&lt;br /&gt;
    def osztalyoz(pont):&lt;br /&gt;
        if (pont &amp;lt;= 39):&lt;br /&gt;
            return 1&lt;br /&gt;
        if (pont &amp;lt;= 54):&lt;br /&gt;
            return 2&lt;br /&gt;
        if (pont &amp;lt;= 69):&lt;br /&gt;
            return 3&lt;br /&gt;
        if (pont &amp;lt;= 84):&lt;br /&gt;
            return 4&lt;br /&gt;
        return 5&lt;br /&gt;
     &lt;br /&gt;
    def main():&lt;br /&gt;
        db = [0] * 5&lt;br /&gt;
     &lt;br /&gt;
        sor = input()&lt;br /&gt;
        while sor != &amp;quot;&amp;quot;:&lt;br /&gt;
            pont = int(sor)&lt;br /&gt;
            db[osztalyoz(pont)-1] += 1&lt;br /&gt;
            sor = input()&lt;br /&gt;
     &lt;br /&gt;
        for jegy in range(1, 5+1):&lt;br /&gt;
            print(&amp;#039;{} {:3} {}&amp;#039;.format(jegy, db[jegy-1], &amp;#039;*&amp;#039; * db[jegy-1]))&lt;br /&gt;
     &lt;br /&gt;
        print(&amp;#039;átment {} fő&amp;#039;.format(sum(db[1:])))&lt;br /&gt;
     &lt;br /&gt;
    main()&lt;br /&gt;
    &lt;br /&gt;
Pontozás:&lt;br /&gt;
&lt;br /&gt;
* függvény (ha nem pont ez a paraméterezés/érték, mind elveszik): fejléc&lt;br /&gt;
* pont-jegy átalakítás, visszatérési érték előállítása&lt;br /&gt;
* főprogram, adatok kezelése: beolvasás végjelig, üres sor&lt;br /&gt;
* int átalakítás, ami a végjelre nem történik meg&lt;br /&gt;
* adatszerkezet (5 vagy 6 elemű lista)&lt;br /&gt;
* pontszám leképezése tömbelemre, számlálók növelése&lt;br /&gt;
* főprogram, eredmény kiírása: megfelelően paraméterezett for vagy while ciklus&lt;br /&gt;
* jegy és létszámok kiírása&lt;br /&gt;
* csillagok kiírása&lt;br /&gt;
* átment (elégséges...jeles): szummázás&lt;br /&gt;
&lt;br /&gt;
===2. feladat: A kapitány===&lt;br /&gt;
&lt;br /&gt;
    def hany_osztoja_van(szam):&lt;br /&gt;
        db = 0&lt;br /&gt;
        for oszto in range(1, szam + 1):&lt;br /&gt;
            if szam % oszto == 0:&lt;br /&gt;
                db += 1&lt;br /&gt;
        return db&lt;br /&gt;
     &lt;br /&gt;
    def van_benne(szam, szamjegy):&lt;br /&gt;
        while szam &amp;gt; 0:&lt;br /&gt;
            if szam % 10 == szamjegy:&lt;br /&gt;
                return True&lt;br /&gt;
            szam //= 10&lt;br /&gt;
        return False&lt;br /&gt;
     &lt;br /&gt;
    def main():&lt;br /&gt;
        ev = 2018&lt;br /&gt;
        while not (hany_osztoja_van(ev) == 8 and van_benne(ev, 7)):&lt;br /&gt;
            ev -= 1&lt;br /&gt;
        print(&amp;quot;Születés: {}, életkor: {}&amp;quot;.format(ev, 2019-ev))&lt;br /&gt;
     &lt;br /&gt;
    main()&lt;br /&gt;
    &lt;br /&gt;
Pontozás:&lt;br /&gt;
&lt;br /&gt;
* hány osztója van függvény: fejléc, paraméterezés (egész szám) és visszatérési érték (egész szám minden ágon)&lt;br /&gt;
* számlálás algoritmusa (db kezdetben nulla, néha nő)&lt;br /&gt;
* osztókat számlál, modulót használ, 1-et és a számot is beleérti&lt;br /&gt;
* van benne adott számjegy: fejléc, paraméterezés (két egész szám), visszatérési érték (logikai típus minden ágon)&lt;br /&gt;
* True érték, ha van, False érték, ha sehol nincs&lt;br /&gt;
* összes számjegyet megvizsgálja&lt;br /&gt;
* ki tud venni egy számjegyet (modulo 10)&lt;br /&gt;
* évszám megkeresése: 2019-től visszafelé megy a ciklus az első találatig, nincs tárolás, nincs maxkeresés&lt;br /&gt;
* megáll a találatnál, és az év/egyéb változóban tényleg jó számot ír ki&lt;br /&gt;
* kiírja az eredményt, a születési évszámot és az életkort is&lt;br /&gt;
&lt;br /&gt;
===3. feladat: Egyformák, éppen a duplája===&lt;br /&gt;
&lt;br /&gt;
    import random&lt;br /&gt;
     &lt;br /&gt;
    def szaz_veletlenszam():&lt;br /&gt;
        szamok = []&lt;br /&gt;
        for _ in range(100):&lt;br /&gt;
            szamok.append(random.randint(1, 1000))&lt;br /&gt;
        return szamok&lt;br /&gt;
     &lt;br /&gt;
    def van_ismetlodes(szamok):&lt;br /&gt;
        for i in range(0, len(szamok) - 1):&lt;br /&gt;
            if szamok[i] == szamok[i + 1]:&lt;br /&gt;
                return True&lt;br /&gt;
        return False&lt;br /&gt;
     &lt;br /&gt;
    def egyik_masiknak_duplaja(szamok):&lt;br /&gt;
        db = 0&lt;br /&gt;
        for i in range(0, len(szamok) - 1):&lt;br /&gt;
            for j in range(i + 1, len(szamok)):&lt;br /&gt;
                if szamok[i] * 2 == szamok[j] or szamok[i] == szamok[j] * 2:&lt;br /&gt;
                    db += 1&lt;br /&gt;
        return db&lt;br /&gt;
     &lt;br /&gt;
    def main():&lt;br /&gt;
        sz = szaz_veletlenszam()&lt;br /&gt;
        if van_ismetlodes(sz):&lt;br /&gt;
            print(&amp;quot;Van ismétlődés&amp;quot;)&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Nincs ismétlődés&amp;quot;)&lt;br /&gt;
        print(egyik_masiknak_duplaja(sz), &amp;quot;duplás pár van&amp;quot;)&lt;br /&gt;
     &lt;br /&gt;
    main()&lt;br /&gt;
    &lt;br /&gt;
Pontozás:&lt;br /&gt;
&lt;br /&gt;
* száz véletlenszám: random.randint vagy randrange helyes használata, van import random&lt;br /&gt;
* beteszi a számokat a listába&lt;br /&gt;
* van-e ismétlődés: egymás melletti számokat vizsgál, nem indexel túl&lt;br /&gt;
* ciklus végig a listán, végig is megy, ha nincs találat&lt;br /&gt;
* megáll a keresés az első találatnál&lt;br /&gt;
* egyik a másiknak duplája: megszámlálás algoritmusa (db = 0, if ... db + 1, return db)&lt;br /&gt;
* ciklus minden számhoz&lt;br /&gt;
* ciklus minden *további* számhoz, saját maga nem, előzőek nem&lt;br /&gt;
* figyelembe veszi, hogy a sorrend nem számít (pl. 50-100 és 100-50 is jó)&lt;br /&gt;
* főprogram: helyesen használja a függvényeit&lt;br /&gt;
&lt;br /&gt;
===4. feladat: Dráma!===&lt;br /&gt;
&lt;br /&gt;
    # a mintamegoldás a tanult sztringkezelő függvényeket használja,&lt;br /&gt;
    # de ciklusokkal megírt keresés is teljesen jó. akár regex is.&lt;br /&gt;
    def atalakit(sor):&lt;br /&gt;
        kettospont = sor.find(&amp;#039;:&amp;#039;)&lt;br /&gt;
        if kettospont == -1:&lt;br /&gt;
            raise ValueError(&amp;quot;Nincs kettőspont a sorban&amp;quot;)&lt;br /&gt;
        nev = sor[:kettospont]&lt;br /&gt;
        szoveg = sor[kettospont+1:]&lt;br /&gt;
        szoveg = szoveg.strip()&lt;br /&gt;
        return &amp;quot;&amp;lt;&amp;quot; + nev + &amp;quot;&amp;gt; &amp;quot; + szoveg&lt;br /&gt;
     &lt;br /&gt;
    def main():&lt;br /&gt;
        while True:&lt;br /&gt;
            sor = input()&lt;br /&gt;
            if sor == &amp;quot;&amp;quot;:&lt;br /&gt;
                break&lt;br /&gt;
            try:&lt;br /&gt;
                ujformatum = atalakit(sor)&lt;br /&gt;
                print(ujformatum)&lt;br /&gt;
            except:&lt;br /&gt;
                pass&lt;br /&gt;
     &lt;br /&gt;
    main()&lt;br /&gt;
    &lt;br /&gt;
Pontozás:&lt;br /&gt;
&lt;br /&gt;
* átalakítás: kettőspont megkeresése&lt;br /&gt;
* ha nincs kettőspont, kivétel dobása&lt;br /&gt;
* név kivágása, figyelve, hogy a kettőspont már ne kerüljön bele&lt;br /&gt;
* szöveg kivágása, ne kerüljön bele a kettőpont&lt;br /&gt;
* vezető szóközök levágása a szövegből. működjön, ha nincs szóköz.&lt;br /&gt;
* új, kacsacsőrös formátum összeállítása&lt;br /&gt;
* főprogram: beolvasás üres végjelig, sorig&lt;br /&gt;
* átalakító fv hívása&lt;br /&gt;
* kivétel elkapása, kezelése (elkapni kell, de teendő nincs)&lt;br /&gt;
* eredmény kiírása, ez a főprogramban kell legyen, nem az átalakítóban&lt;/div&gt;</summary>
		<author><name>Bogyó Sándor Lóránt</name></author>
	</entry>
</feed>