Files
2024-12-05 20:20:03 +01:00

158 lines
5.8 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Előadás anyag\n",
"Nézzük meg a 2. heti előadás anyagát tartalmazó Jupyter notebook (02_ea.ipynb) tartalmát! Futtassuk az egyes cellákat, módosítsunk, kisérletezzünk szabadon!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Feladatok\n",
"Készítsünk programokat az alábbi feladatokra!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Szekvencia\n",
"- Adott egy téglatest három oldalának a hossza. Határozzuk meg a test térfogatát és felszínét!\n",
"- Adott két hallgató a nevével és a tanulmányi átlageredményével. Írjuk ki az adatokat két sorban úgy, hogy egy sorban egy hallgató legyen a két adatával, először a név, aztán az eredmény. Az eredmények legyenek 2 tizedesjegyűek és egymás alá igazítottak!"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Térfogat: 120\n",
"Felszín: 148\n"
]
}
],
"source": [
"a = 4\n",
"b = 5\n",
"c = 6\n",
"\n",
"print(f\"Térfogat: {a*b*c}\" )\n",
"print(f\"Felszín: {2*(a*b + a*c + b*c)}\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Szelekció\n",
"- Adott két szám, mint input adat. Kérjük be őket és írjuk ki a kisebbiket! Pl. 3, 2 -> 2; 1, 1 -> 1. A megoldáshoz ne használja a min függvényt!\n",
"- Oldjuk meg a fentebbi két hallgató adatainak kiírását abban az esetben is, amikor nem tudjuk a nevek, ill. az érdemjegyek maximális hosszát (pl. az eredmények ne 1-től 5-ig terjedő valós számok, hanem tetszőleges valós számok legyenek)!"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"'b' nagyobb\n"
]
}
],
"source": [
"a = int(input(\"Első szám: \"))\n",
"b = int(input(\"Második szám: \"))\n",
"\n",
"print(\"'a' nagyobb\") if a > b else print(\"'b' nagyobb\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Iteráció\n",
"- Írjuk ki 1-től 10-ig az egész számokat (mindkét ciklusfajtával)!\n",
"- Csak a páros számokat írjuk ki (az előbbi intervallumból)!\n",
"- Általánosítsuk az előző feladatot egy $[a, b]$ zárt intervallumba eső, $c$-vel maradék nélkül osztható egész számok kiírására, ahol $a, b, c$ egész számok!\n",
"- A számokat egy sorba írjuk ki (egy-egy szóközzel elválasztva)!\n",
"- Írjuk ki a valós számokat 0-tól 1-ig egytizedes lépésekkel!\n",
"- Írjunk ki egy $nxn$ -es háromszöget * karakterekből két, egymásba ágyazott for ciklussal!\n",
"- Döntsük el két, pozitív egész számról azt, hogy [relatív prímek](https://hu.wikipedia.org/wiki/Relatív_prímek)-e vagy sem!\n",
"- Határozzuk meg a [binomiális együttható](https://hu.wikipedia.org/wiki/Binomiális_együttható) értékét adott $n>0$ és $n>=k>0$ egész számokra!"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6 12 \n",
" **\n",
" ****\n",
" ******\n",
" ********\n"
]
}
],
"source": [
"for i in range(a, b, 1):\n",
" if i % c == 0:\n",
" print(i, end=' ') \n",
"\n",
"for i in range(5):\n",
" print((5-i)* ' ' + '*'*i*2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Házi feladatok\n",
"- Egy szobát szeretnénk kifesteni. Ismerjuk a szoba (mint téglatest) három oldalának hosszát (méterben), az ablakok és az ajtók összes felületét (négyzetméterben), valamint azt, hogy 1 liter festék hány négyzetméter lefestésére elegendő. Meghatározandó, hogy hány liter festék szükséges a szoba falainak és mennyezetének egyszeri lefestéséhez (a padlót, az ablakokat és az ajtókat nem kell lefesteni)!\n",
"- Kérjünk be három számot és írjuk ki a legkisebbet! A megoldáshoz ne használja a min függvényt!\n",
"- Határozzuk meg két adott, síkbeli egyenes metszéspontját!\n",
"- Bővítsük az előadás másodfokú egyenlet megoldó programját úgy, hogy az komplex gyököket is meghatározzon!\n",
"- Képzeljünk el egy olyan céltáblát, aminek a középpontja az origó és a találati körök sugara egyesével nő, azaz a legkisebb kör 1, a legnagyobb 10 sugarú. Meghatározandó egy adott lövés (mint síkbeli pont) találata! Ha a lövés a legkisebb (1 sugarú) körben van, akkor 10-t ér, ha abban nincs, de a 2 sugarú körben benne van, akkor 9-t, és így tovább. Ha a 10-es sugarú körben sincs benne, akkor 0-t ér. Egy köríven lévő pontot a körbe esőnek vegyünk (pl. az (1, 0) pont 10-est ér). A megoldást (lehetőleg) ne egy 11 ágú szelekcióval (vagy iterációval) végezzük!\n",
"- Határozzuk meg két pozitív egész szám legnagyobb közös osztóját, ill. legkisebb közös többszörösét!\n",
"- Írjuk ki a [Pascal háromszög](https://hu.wikipedia.org/wiki/Pascal-háromszög) első $n$ darab sorát, ahol $n$ értéke legyen input adat!"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}