Informatika2-2020/Gyak03

A MathWikiből
(Változatok közti eltérés)
Gaebor (vitalap | szerkesztései)
(Új oldal, tartalma: „előző fel következő = Feladatok = == Kezdő == === Átlaghoz legközele…”)
Újabb szerkesztés →

A lap 2020. február 26., 10:37-kori változata

előző fel következő

Tartalomjegyzék

Feladatok

Kezdő

Átlaghoz legközelebbi

Írjunk függvényt, mely a kapott valós számokat tartalmazó listában megkeresi a lista elemeinek átlagához legközelebbi számot és ezzel tér vissza.

n hosszú növekvő részek

Írjunk függvényt, mely kap egy listát és egy egész számot (n). Megkeresi az összes olyan n hosszú részintervallumot, amire igaz, hogy az elemei növekvő sorrendben vannak. Ezeket a listákat beteszi egy fő listába és ezt adja vissza. Segítség: bontsuk részfeladatokra!

Névkonfliktus

Egy házibuliban sok új ismeretlen emberrel találkozunk, ezért felírjuk a neveiket egy listába. Ha két új ismerősünket is ugyanúgy hívják, abból probléma lehet, ezért szeretnénk egy python függvényt, ami szól ilyen esetben.

A függvény neve legyen nevkonfliktus, és egy paramétere legyen:

  • nevek, egy lista, amiben a buliban levő emberek beceneve szerepel.
  • A függvény True-val térjen vissza ha van két ember akinek ugyanaz a beceneve, és False-al egyébként.

Segítség:

Vigyázzunk, hogy akkor ne jelezzünk ha valakinek önmagával ugyanaz a neve (ami mindenkire igaz), hanem csak akkor ha két különböző embernek ugyanaz a neve.

Kiejtés

A föld bizonyos nyelvei a magyarok számára elég nehezen beszélhetőek, például azért, mert az ő szavaikban sokkal több a mássalhangzó mint a mienkben. Magyarok számára például nehéz lehet kiejteni a szlovák zmrzlina szót, ami magyarul azt jelenti hogy fagylalt.

Írjunk python függvényt, ami megpróbálja megállapítani hogy egy szót nehéz-e kiejteni, a benne levő mássalhangzók száma alapján.

  • A függvény neve legyen kiejtes,
  • egy paramétere legyen: szo, egy idegen nyelvű szó. Az egyszerűség kedvéért az itt leírt változat csak angol kis betűket fog tartalmazni.
  • A függvény True-val térjen vissza, ha legalább kétszer annyi mássalhangzó van a szóban mint magánhangzó, és False-al egyébként. A lehetséges betűk közül az a, e, i, o, u számít magánhangzónak.

Fogások

A diétánk szigorúan meghatározza hogy hány kalóriás ebédet kell fogyasztanunk, így kicsit gondban vagyunk amikor étteremben eszünk és nem magunknak állítjuk össze az ételt. Szerencsére az étlapon mindenhez oda van írva a kalóriaértéke, így egy kicsit könnyebb a dolgunk. Azonban még mindig ki kell választanunk a megfelelő első és második fogást ami megfelel a diétánknak.

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

  • kaloria, egy természetes szám, hogy hány kalóriát kell fogyasztanunk
  • elso, egy lista, amiben a különböző lehetséges első fogások kalóriaértéke van, tehát természetes számokat tartalmaz
  • masodik, szintén egy lista, ami a második fogások kalóriaértékét tartalmazza.
  • A függvény True-val vagy False-al térjen vissza attól függően, hogy lehet-e olyan első és második fogást választani amelyek összege pontosan a kaloria.

Pascal

A Pascal-háromszög a binomiális együtthatók háromszög formában való elrendezése. Részletes leírás található pl. a magyar wikipédián. A lényeg az, hogy az n. sor k. eleme az az "n alatt a k" binomiális együttható, és minden elem a felette levő kettő összege. Írjuk meg a pascal nevű függvényt, ami visszaadja a Pascal-háromszög első néhány sorát listák listájaként. A függvény paramétere:

  • n, hogy hány sort számoljunk ki

Így tehát pl. pascal(4)-nek a következőt kell visszaadnia:

   [[1],
   [1, 1],
   [1, 2, 1],
   [1, 3, 3, 1]]

Az elemek kiszámolásához ne a binomiális együttható általános (faktoriálisos) képletét használjuk, hanem azt, hogy a felette levő két elem összege!

Cserebere

A bemenetünk egyrészt egy szó a szo nevű változóban, másrészt cserék egy sorozata, amit végre kell hajtani a szón, a cserek nevű változóban. Így szo egy karakterlánc, cserek pedig egy lista, melynek minden eleme egy pár, ami a csere helyét, és az új betűt tartalmazza.

Ezeket a cseréket kell elvégezni a szo-n és az így kapott sztringet visszaadni.

Név generátor

Egy olyan számítógépes játékon dolgozunk, amiben rendszeresen találkozunk más, a számítógép által megszemélyesített, karakterekkel. Ezeknek a karaktereknek számítógép véletlenszerűen választ nevet, azonban szeretnénk elkerülni hogy ugyanazt a nevet sokszor lássa a játékos. Ezért ahelyett hogy egy listányi nevet megadtunk volna a játék készítésekor, inkább külön-külön egy listányi előtagot és utótagot adtunk meg, hogy ezekből rakja össze a karakterek neveit.

Írjuk meg a függvényt, ami az összes lehetséges nevet összerakja az adott elő és utótagok listája alapján.

  • A függvény neve legyen nev_generator, és két paramétere legyen
  • elotagok, egy lista, amiben az előtagok szerepelnek karakterláncokként
  • utotagok, egy lista, amiben az utótagok vannak hasonlóan.
  • A adja vissza az összes lehetséges összerakott nevet egy listában.

Záró

cloudcoder-en a feladatok ajánlott sorrendje:

  1. nevkonfliktus
  2. ismetles
  3. kiejtes
  4. szorzotabla
  5. fogasok
  6. pascal
  7. cserebere
  8. nev_generator

előző fel következő

Személyes eszközök