158 lines
5.8 KiB
Plaintext
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
|
|
}
|