2015, Diszkrét matematika

Hasonló dokumentumok
2016, Diszkrét matematika

2016, Diszkrét matematika

2018, Diszkrét matematika

2018, Diszkrét matematika

2018, Diszkrét matematika

2018, Diszkre t matematika. 10. elo ada s

2015, Diszkrét matematika

2016, Diszkrét matematika

2016, Diszkrét matematika

2017, Diszkrét matematika

Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

2018, Diszkrét matematika

2016, Diszkrét matematika

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

TANTÁRGYI ADATLAP. 2.7 A tantárgy jellege DI

Differenciál és integrálszámítás diszkréten

2018, Diszkre t matematika. 8. elo ada s

Sorozatok I. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Információs Technológia

INFORMATIKA javítókulcs 2016

Osztályozóvizsga és javítóvizsga témakörei Matematika 9. évfolyam

Felvételi tematika INFORMATIKA

Analízis előadás és gyakorlat vázlat

Tanmenet a évf. fakultációs csoport MATEMATIKA tantárgyának tanításához

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

17.2. Az egyenes egyenletei síkbeli koordinátarendszerben

Rekurzív algoritmusok

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

Sapientia Egyetem, Matematika-Informatika Tanszék.

Osztályozó- és javítóvizsga témakörei MATEMATIKA tantárgyból 2016 / tanév

Matematika szóbeli érettségi témakörök 2016/2017-es tanév őszi vizsgaidőszak

2010. október 12. Dr. Vincze Szilvia

Kombinatorikai algoritmusok. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Kombinatorikai algoritmusok

Intergrált Intenzív Matematika Érettségi

2016, Funkcionális programozás

11. Sorozatok. I. Nulladik ZH-ban láttuk:

Matematika tanmenet 12. osztály (heti 4 óra)

A félév során előkerülő témakörök

Osztályozó- és javítóvizsga. Matematika tantárgyból

Osztályozó- és javítóvizsga témakörei MATEMATIKA tantárgyból

2018, Diszkrét matematika

Programozási módszertan. Mohó algoritmusok

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

INFORMATIKA tétel 2019

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - minta Informatika írásbeli

2018, Funkcionális programozás

TANMENET. a matematika tantárgy tanításához a 12. E osztályok számára

MATEMATIKA EMELT SZINTŰ SZÓBELI VIZSGA TÉMAKÖREI (TÉTELEK) 2005

PTE PMMFK Levelező-távoktatás, villamosmérnök szak

Az osztályozóvizsgák követelményrendszere 9. évfolyam

Tartalomjegyzék Algoritmusok - pszeudókód

Programozási módszertan. Dinamikus programozás: A leghosszabb közös részsorozat

Diszkrét matematika 1.

ARANYMETSZÉS. - érettségi dolgozat védése analízis és algebrából - Készítette: Szénási Eszter Mentor: Dr. Péics Hajnalka június 11.

9.fejezet: Függvények és külső eljárások

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

Matematika osztályozó vizsga témakörei 9. évfolyam II. félév:

Diszkrét matematika 1.

Algoritmusok pszeudókód... 1

2018, Funkcionális programozás

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Sorozatok II.

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

Érettségi feladatok: Egyenletek, egyenlőtlenségek 1 / május a) Melyik (x; y) valós számpár megoldása az alábbi egyenletrendszernek?

ÖSSZEVONT ÓRÁK A MÁSIK CSOPORTTAL. tartósság, megerősítés, visszacsatolás, differenciálás, rendszerezés. SZÁMTANI ÉS MÉRTANI SOROZATOK (25 óra)

Országos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása

A programozás alapjai 1 Rekurzió

Matematika. 9.osztály: Ajánlott tankönyv és feladatgyűjtemény: Matematika I-II. kötet (Apáczai Kiadó; AP és AP )

Osztályozó és Javító vizsga témakörei matematikából 9. osztály

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Matematika. Specializáció évfolyam

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Adatszerkezetek II. 10. előadás

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

Tartalomjegyzék. 3. Elsőfokú egyenletek és egyenlőtlenségek Elsőfokú egyenletek Valós szám abszolút értéke...

5.13. A szinusz függvény Az árkusz-szinusz függvény A koszinusz függvény Az árkusz-koszinusz függvény...

Oeconomicus Napocensis Verseny Március 24 és május IV. szekció Tantárgy: MATEMATIKA I

Halmazelméleti alapfogalmak

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Programozási módszertan. Függvények rekurzív megadása "Oszd meg és uralkodj" elv, helyettesítő módszer, rekurziós fa módszer, mester módszer

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

MATEMATIKA. Szakközépiskola

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Matematika emelt szint a évfolyam számára

Rekurzív sorozatok oszthatósága

OSZTÁLYOZÓVIZSGA TÉMAKÖRÖK 9. OSZTÁLY

2019, Diszkrét matematika. 1. el adás

Hogyan folytatnád? Gellért-hegy, Kékes. /Kilimandzsáró,, Mount Everest,Mount Blanc/ Háromszögszámok

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

Az osztályozóvizsgák követelményrendszere MATEMATIKA

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér

MATEMATIKA ÉRETTSÉGI október 19. KÖZÉPSZINT

Átírás:

Diszkrét matematika 4. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015, őszi félév

Miről volt szó az elmúlt előadáson? Számtartományok: valós számok, komplex számok, Algoritmusok Python-ban. híresebb irracionális számok számjegyeinek a kigenerálása, n-ik gyök meghatározása: Newton módszerrel. logaritmus maghatározása másodfokú egyenlet komplex gyökei fraktálok: Mandelbrot, Julia

Miről lesz szó? számtani, mértani, harmonikus számsorozatok sajátos számsorozatok: a faktoriális függvény Stirling számok Fibonacci számok Lucas számok Catalan számok algoritmusok Python-ban

Számsorozatok, haladványok Számtani sorozat: a, a + d, a + 2d,..., a + nd,..., ahol az a kezdő tag és a d különbség (differencia) valós számok. A számtani sorozat az f (x) = d x + a lineáris függvény diszkrét analógja. Mértani sorozat: a, ar, ar 2,..., ar n,..., ahol az a kezdő tag és az r hányados valós számok. A mértani sorozat az f (x) = a r x exponenciális függvény diszkrét analógja. Harmonikus sorozat: olyan 1 a n sorozat, ahol a tagok inverzei számtani sorozatot alkotnak. Pl. a n = 1 n, ahol a sorozat első 4 tagja a következő: 1, 1 2, 1 3, 1 4,...

1.feladat: Az a kezdő tagú, d különbségű számtani sorozat első n tagjának kíırása: def aseq (a, d, n): i = 0 s = a while i < n: print s, s += d i += 1 Kérdések: Milyen bemenetre kell meghívni a fenti függvényt, hogy a következő sorozatokat kapjuk? 1, 3, 7, 11, 15,... 7, 4, 1, 2, 5,... 1, 2, 3, 4, 5,... 0, 2, 4, 6, 8,... 5, 3, 1, 1, 3,...

Számtani sorozat, rekurziós képlet: def aseq_r2 (s, d, i): if i == 0: return s print s return aseq_r2 (s+d, d, i-1) meghívás: aseq_r2(7, -3, 10) x 0 = a, x n = d + x n 1

2.feladat: Az a kezdő tagú, r hányadosú mértani sorozat első n tagjának kíırása: def gseq (a, r, n): i = 0 p = a while i < n: print p, p *= r i += 1 Kérdések: Milyen bemenetre kell meghívni a fenti függvényt, hogy a következő sorozatokat kapjuk? 1, 1, 1, 1, 1,... 1, 2, 4, 8, 16,... 1, 3, 9, 27, 81,... 1, 0.5, 0.25, 0.125, 0.0625,... 2, 10, 50, 250, 1250,...

Mértani sorozat, rekurziós képlet: def gseq_r2 (p, r, i): if i == 0 : return p print p return gseq_r2 (r*p, r, i-1) meghívás: gseq_r2(1, 1/2.0, 10) x 0 = a, x n = r x n 1

Számtani sorozatok Rekurziós képlet: A sorozat n-ik tagjának kiszámítása: A sorozat első n tagjának összege: s n = x 1 = a, x n = d + x n 1 x n = x 1 + d (n 1) 2 x1 + d (n 1) 2 n

Mértani sorozatok Rekurziós képlet: A sorozat n-ik tagjának kiszámítása: A sorozat első n tagjának összege: x 1 = a, x n = r x n 1 x n = x 1 r n 1 s n = x 1 r n 1 r 1, r 1

3.feladat: Egy személy S euro összeget tett be egy bankba, k%-os évi kamatra. N év után mennyi pénzt tud felvenni a bankból: ( ciklussal és képlettel: S 1 + k ) N 100 def bank (S, k, N): msum = S for i in range(0, N): msum += msum * (k/100.0) return msum, S * ((1 + k/100.0) ** N)

4.feladat: Egy személy N éven keresztül minden év elején S euro összeget tett be egy bankba, k%-os évi kamatra. N év után mennyi pénzt tud felvenni a bankból: ( ( ciklussal és képlettel: s n = S 1 + k ) 100 1 + k ) n 1 100 ( 1 + k ) 1 100 def bank1 (S, k, N): msumv = 0 for j in range (1, N + 1): msum = S for i in range(0, j): msum += msum * (k/100.0) msumv += msum k1 = 1 + k/100.0 return msumv, S * k1 * (k1 ** N - 1) / (k1-1)

5.feladat: Határozzuk meg az n-ik Harmonikus számot a képlet: H n = n k=1 1 k az első harmonikus számok: 1, 3 2, 11 6, 25 12, 137 60,... def osszeg (x, y, a, b): sz = x * b + y * a n = y * b g = lnko (sz, n) return sz/g, n/g def harmonikus (n): s1, s2 = 1, 1 for i in range (2, n+1): a, b = 1, i s1, s2 = osszeg(s1, s2, a, b) return s1, s2

Sajátos számsorozatok A faktoriális függvény: n! = 1 2 (n 1) n A számsorozat: 1, 1, 2, 6, 24, 120, 720,..., F 0 = 1, F 1 = 1, F 2 = 2,... A rekurziós képlet: F n = n F n 1, A Catalan számok: A számsorozat: 1, 1, 2, 5, 14, 42, 132,..., C 0 = 1, C 1 = 1, C 2 = 2,... A számítási képlet: C n = 1 n + 1 ( 2n n 2(2n + 1) A rekurziós képlet: C n+1 = C n, n + 2 alkalmazási terület: kombinatorika ) = (2n)! (n + 1)! n!,

6.feladat: A faktoriális függvény, iteratív változat: def fakti (n): p = 1 for i in range (1, n+1): p *= i return p 7.feladat: A faktoriális függvény, az összes érték kiiratása: def fakti1 (n): p = 1 print p, for i in range (1, n+1): p *= i print p,

8.feladat: A faktoriális függvény, listába: def fakti2 (n): p = 1 L = [] for i in range (1, n+1): p *= i L += [p] return L

9.feladat: A faktoriális függvény, rekurzív változat I: def faktr (n): if n == 0: return 1 return n * faktr (n-1) 10.feladat: A faktoriális függvény, rekurzív változat II: def faktr1 (n, res): if n == 0: return res return faktr1 (n-1, n * res) Meghívás: faktr1 (10, 1)

Sajátos számsorozatok A Stirling számok Elsőfajú Stirling számok: az [ x (x 1) (x 2)... (x n + 1) együtthatója n k] = s(n, k) = s(n 1, k 1) (n 1) s(n 1, k), n k, Másodfajú Stirling számok: meghatározza, hogy egy n elemű halmaz hány k elemű nem üres részhalmazra { bontható n } k = s(n, k) = s(n 1, k 1) + k s(n 1, k), n k, ha k == 0, akkor s(n, 0) = 0 ha n == k, akkor s(n, k) = 1 [ ] kapcsolat a Harmonikus számokkal: H n = 1 n! n + 1 2

Stirling számok 11.feladat: kapcsolat a harmonikus számok és Stirling számok között: def stirling1 (n, k): if k == 0: return 0 if n == k: return 1 return stirling1(n-1, k-1) - (n-1) * stirling1(n-1, k) def harmonikus(n): return stirling1(n+1, 2), fakti(n)

Sajátos számsorozatok A Fibonacci számok: A számsorozat: 0, 1, 1, 2, 3, 5, 8, 13,..., A rekurziós képlet: F 0 = 0, F 1 = 1, F n = F n 1 + F n 2, léteznek hatékonyabb rekurziós összefüggések, alkalmazásuk: A Lucas számok: kombinatorika, algoritmusok futási idejének elemzése, minden pozitív egész szám feĺırható Fibonacci számok összegeként, aranymetszés, zene, művészetek, természet. A számsorozat: 2, 1, 3, 4, 7, 11, 18, 29, 47,..., A rekurziós képlet: L 0 = 2, L 1 = 1, L n = L n 1 + L n 2,

12.feladat: Fibonacci számok, klasszikus rekurzív megoldás, nem hatékony: def fibr (n): if n == 0: return 0 if n == 1: return 1 return fibr (n-1) + fibr (n-2) 13.feladat: Fibonacci számok listába, iteratív megoldás, lineáris futási idő: def fibl (n): a, b = 0, 1 L = [a, b] for i in range (1, n): L += [a + b] temp = a + b a = b b = temp return L

14.feladat: Fibonacci számok, rekurzív megoldás hatékony, logaritmikus futási idő: a feladat visszavezethető a gyorshatványozás algoritmusára: F n = [ 1 1 1 0 ] n 1, F 5 = [ 1 1 1 0 ] 4 = [ 5 3 3 2 és 2 2 mátrixszorzásokra, ahol a mátrix speciális alakú: [ ] [ ] [ ] a b a b a 2 + b 2 b (a + c) = b c b c b (a + c) b 2 + c 2 a mátrixot egy számhármassal tudjuk reprezentálni: (a, b, c) ]

A gyors-hatványozás másképp: def my_pow (x, n): if n == 0: return 1 temp = my_pow (x, n/2) if n % 2 == 1: return x * temp * temp else: return temp * temp Fibonacci számok, gyors-hatványozásra visszavezetve: def fibr1 (n): (a, b, c) = sfib (n) return b def sfib (n): if n == 0: return (1, 0, 1) (a, b, c) = sfib (n / 2) (a, b, c) = (a*a + b*b, b*(a+c), b*b + c*c) if n % 2 == 1: return (a+b, a, b) else: return (a, b, c)