Informatika2-2021/CsütGyak04

A MathWikiből

Tartalomjegyzék

Feladatok

Leltárazás

A következő probléma merül fel a boltokban: Egy leltáros felírja egy listában szépen sorjában, hogy mit lát maga előtt. Ezekből a termékekből egy többször is szerepelni fog, attól függően, hogy hány darab van belőle.
Feladat: Írjunk egy függvényt, aminek a bemenete egy lista, a kimenete pedig egy szótár, aminek a kulcsai a listában szereplő nevek, a kulcsokhoz pedig az ő darabszámuk tartozik.

Prímszám-e

Készítsünk egy szótárat, melyben a prímszámok vannak, mint kulcsok 2-től 100-ig, az értékek pedig igaz-hamis értékek, hogy az adott prím Mersenne-prím-e.
Ehhez 2 segéd függvényt érdemes írni:

  • Visszaadja 2-től n-ig a prímek listáját (ezt már volt korábban)
  • Megmondja egy prímszámról, hogy Mersenne prím-e: adjunk a számhoz 1-et, majd azt, hogy 2 hatvány-e tesztelhetjük úgy, hogy vizsgáljuk milyen maradékot ad 2-vel osztva, ha 0-t, osztjuk 2-vel, és vizsgáljuk tovább.

Ötösök

Miután kijavítottuk a vizsgát, és megvannak a százalékos eredmények, szeretnénk kiszűrni belőle az ötösök listáját, hogy megdicsérhessük őket az előadáson.

Írjunk egy python függvényt, ami ki tudja szűrni az eredményekből az ötösöket. A függvény neve legyen otosok, és egy paramétere legyen

  • szazalekok, egy python szótár (dict), ami minden NEPTUN-kódhoz tartalmazza az adott hallgató százalékos eredményét.

A függvény egy listát adjon vissza, amiben az ötöst elért hallgatók NEPTUN-kódjai vannak. Akkor ötös egy hallgató, ha legalább 85 százalékot elért.

Gólkirály

Koppány és barátai minden hétvégén játszanak egy barátságos focimeccset az egyik helyi focipályán. Szeretnék tudni az év végén hogy ki rúgta közülük a legtöbb gólt, hogy egy kicsit megünnepelhessék az illető teljesítményét. Koppány megkért minket hogy írjunk egy python függvényt, ami segít a meccs végén elkönyvelni valaki góljait.

A függvény neve legyen golkiraly, és három paramétere legyen

  • eredmenyek, az év folyamán eddig lőtt gólok száma, szótár formájában, amiben mindenkinek a nevéhez hozzá van rendelve hogy eddig mennyit lőtt
  • jatekos és darab az elkönyvelendő gólok lövőjének neve, és a góljainak száma

A függvény adja vissza az eredmenyek-nek megfelelően módosított változatát, azaz ha eddig nem szerepelt benne játékos, akkor most szerepeljen benne darab-bal, ha eddig is szerepelt benne, akkor pedig növeljük meg a hozzá könyvelt gólok számát darab-bal.

Osztályzás

A vizsga kijavítása után azt szeretnénk hogy a hallgatók megtudhassák az internetről a eredményüket, de nem akarjuk mindenkiét kitenni egy nagy táblázatban, mert lehet hogy van aki nem akarja hogy a többiek tudják hogy teljesített. Ezért létrehoztunk egy honlapot, ahol beírhatja bárki a NEPTUN-kódját, és a honlap kiírja az osztályzatát.

Ennek részeként írjunk egy python függvényt, ami a százalékos eredményekből és NEPTUN-kódból ki tudja adni a megfelelő hallgató osztályzatát. A függvény neve legyen osztalyzas, két paramétere legyen

  • szazalekok, egy python szótár (dict), ami minden NEPTUN-kódhoz tartalmazza az adott hallgató százalékos eredményét.
  • neptunkod, a lekérdezett NEPTUN-kód.

A függvény egy 1 és 5 közötti számmal térjen vissza, a hallgató osztályzatával. A jegyekhez szükséges elért százalék rendre 40, 55, 70, 85, a 2-eshez, 3-ashoz, 4-eshez illetve 5-öshöz.

Közel

A kozel nevű függvény megírása a feladat. A függvény paramétere:

  • l, egy lista, ami n-dimenziós egységvektorokat tartalmaz.

Úgy lehet megállapítani hogy mennyire kicsi a szög két n-dimenziós egységvektor között, hogy a skalárszorzatukat vesszük, és ha kisebb a szög, nagyobb a skaláris szorzat. (A skaláris szorzatnak az inverz koszinusza lenne a tényleges szög, de most ennél a feladatnál elég a skalárszorzattal foglalkozni.) Az l listában megadott egységvektorok közül keressük meg a két legközelebb levőt, és adjuk vissza a skaláris szorzatukat.

A kozel függvény megírásához segít ha megírjuk külön a skalar_szorzat nevű függvényt, úgyhogy először írjuk meg azt. Ennek a függvénynek a paraméterei:

  • a és b, két vektor, listák formájában.

Adjuk vissza a skaláris szorzatukat, ami úgy kapható meg, hogy mind az n dimenzióban összeszorozzuk a megfelelő koordinátájukat, és ezek összegét vesszük.

Segítség

  • Ajánlom hogy a </tt>skalar_szorzat</tt> függvényt teszteljétek valamelyik előadáson tanult módszerrel, mielőtt megpróbáltok nekiállni a kozel függvénynek.

Teszteléshez használható, hogy tudjuk, hogy merőleges vektorok (pl. [0, 1] és [1, 0]) skalár szorzata 0, egy irányba mutató vektorok skalár szorzata pedig a hosszuk szorzata.

  • A kozel-ben egy kétszeres ciklus kell, hogy minden párt megvizsgáljunk, és megtaláljuk a maximálisat.
  • Mivel egységvektorokról van szó, a skaláris szorzat értéke mindig legalább -1.
Személyes eszközök