Informatika2-2021/CsütGyak01

A MathWikiből
(Változatok közti eltérés)
(Trükkösebb feladatok)
(Carmichael-számok)
125. sor: 125. sor:
 
== Carmichael-számok ==
 
== Carmichael-számok ==
  
Keressünk egy Carmichael-számot. https://hu.wikipedia.org/wiki/Carmichael-sz%C3%A1mok Ha túl lassan fut a függvény, akkor elég ha keresünk egyet interneten, és leteszteljük az előbb megírt függvények közül a megfelelővel, hogy valóban Carmichael-szám-e?  
+
Keressünk egy Carmichael-számot. https://hu.wikipedia.org/wiki/Carmichael-sz%C3%A1mok Ha túl lassan fut a függvény, akkor elég ha keresünk egy számot interneten, és leteszteljük az előbb megírt függvények közül a megfelelővel, hogy valóban Carmichael-szám-e?  
  
 
[[Informatika2-2020/Gyak00|előző]] [[Informatika2-2020#Gyakorlat|fel]] [[Informatika2-2020/Gyak02|következő]]
 
[[Informatika2-2020/Gyak00|előző]] [[Informatika2-2020#Gyakorlat|fel]] [[Informatika2-2020/Gyak02|következő]]

A lap 2021. február 10., 16:50-kori változata

előző fel következő

Tartalomjegyzék

Python futtatása

Jupyterhub

  • Jelentkezzetek be a jupyter.math.bme.hu-ra a leibniz-es felhasználónévvel és jelszóval
  • Python 3-at fogunk használni!
  • Ez a notebook hasonlít ahhoz, mint amikor saját gépről ezt futtatod:
jupyter notebook

leibniz

  • A konzol-ba ezt írjuk be:
python3
  • kilépni az így lehet:
exit()

Saját gépről

Installáljuk az Anaconda-t, 3.7-es verzió!

Ha ezt megtettük, akkor több parancs segítségével is interakcióba léphetünk a Python-nal:

  • parancssor: python vagy ipython
  • Spyder
  • idle
  • jupyter notebook

Feladatok

Köszönés

Írjunk egy programot, ami bekért két inputot, majd kiprinteli a következő mondatot:

"Szia input1! Én input2 vagyok."

Próbáljuk megírni kétféleképpen is. Összefűzéssel (concatenate) és a tanult behelyettesítéssel (%) is.

celsiusra

Írjunk python függvényt, ami egy Fahrenheitben megkapott hőmérsékletet átvált Celsius fokra. A függvény neve legyen celsiusra, és paraméterként egy fahrenheit nevű számot kapjon. Úgy lehet kiszámolni ezt az értéket, hogy a Fahrenheit-ben mért hőmérsékletből kivonunk 32-t, majd az így kapott számot megszorozzuk 5/9-el.

prime

Írjunk python függvényt, ami megmondja, hogy egy pozitív egész szám prím-e.

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

  • x, a vizsgálandó szám

A függvény True-val vagy False-al térjen vissza attól függően hogy a szám prím vagy sem.

A biztonság kedvéért érdemes leellenőrizni, hogy az x változó helyes-e egyáltalán. Ha nem egy integer-t vagy nem pozitív integer-t kapunk, akkor térjen vissza a függvény a None értékkel.

szobahomerseklet_1

A Wikipedia szerint a szobahőmérséklet 18°C és 25°C között van Írjunk egy függvényt, ami leellenőrzi ezt.

A függvény

  • neve legyen szobahomerseklet
  • egyetlen változója fok, ami a szoba hőmérséklete Celsiusban
  • térjen vissza az alábbi string-ek egyikével:
    • "Túl hideg!"
    • "Túl meleg!"
    • "OK"

Figyeljük meg a különbséget a print és return között!

szobahomerseklet_2

Írjuk meg az előző függvényt úgy is, hogy a bemenetet Fahrenheitben adjuk meg. (Használjuk ehhez a celsiusra függvényünket.)

factorial

Írjunk egy függvényt, ami kiszámolja n faktoriális értékét.

haromszog

Írjunk egy függvényt, melynek bemenete egy n szám, és egy olyan háromszöget printtel ki, melynek n sora van és az n-dik sorban pontosan n-szer szerepel az n szám.
Pl.: n=4 esetén:
1
22
333
4444
Próbáljuk megírni minél többféleképpen.

without_2

Írjunk egy függvényt, ami egy adott n számra visszaadja azt a számot, amelyet úgy kapunk, hogy leosztjuk azzal a legnagyobb kettőhatvánnyal, amivel még osztható a szám.

Például:

1 -> 1
2 -> 1
3 -> 3
4 -> 1
6 -> 3
7 -> 7
9 -> 9
10 -> 5
100 -> 25

Tökéletes számok

Írjunk programot, mely bekér egy pozitív egész számot és leellenőrzi, hogy tökéletes szám-e.

Trükkösebb feladatok

A következő feladatok azok számára vannak, akik szeretnének mélyebben elmerülni a programozásban. Az itt található feladatok több gondolkodást igényelhetnek, de hasznosak. Későbbi tanulmányaitok során találkozhattok más tárgyak során az itt felmerülő feladatokkal.

Fermat-prímteszt

Implementáljuk a Fermat-prímtesztet. https://hu.wikipedia.org/wiki/Fermat-pr%C3%ADmteszt
A már megírt prime függvény és a Fermat-prímteszt segítségével határozzuk meg az összes 100 és 1000 közötti 2-es alapú Fermat-álprímet. https://en.wikipedia.org/wiki/Fermat_pseudoprime

Miller–Rabin-prímteszt

Implementáljuk a Miller-Rabin prímtesztet. https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test Határozzuk meg a 100 és 1000 közötti 2-es alapú erős álprímeket. https://en.wikipedia.org/wiki/Strong_pseudoprime

Mit veszünk észre? Melyik tesztnél találtunk több álprímet?

Carmichael-számok

Keressünk egy Carmichael-számot. https://hu.wikipedia.org/wiki/Carmichael-sz%C3%A1mok Ha túl lassan fut a függvény, akkor elég ha keresünk egy számot interneten, és leteszteljük az előbb megírt függvények közül a megfelelővel, hogy valóban Carmichael-szám-e?

előző fel következő

Személyes eszközök