Egyszerű algoritmusok

Hasonló dokumentumok
Másolásra épülő algoritmusok

Rendező algoritmusok. Tartalomjegyzék. Készítette: Gál Tamás

Vezérlési szerkezetek

Vezérlési szerkezetek

Algoritmusok és adatszerkezetek I. 10. előadás

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

Véletlenszám generátorok. 5. előadás

OAF Gregorics Tibor: Minta dokumentáció a 4. házi feladathoz 1. Feladat. Megoldás

8. Programozási tételek felsoroló típusokra

PROGRAMOZÁSI TÉTELEK

Programozási segédlet

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

/11 Változtatások joga fenntartva. Kezelési útmutató. UltraGas kondenzációs gázkazán. Az energia megőrzése környezetünk védelme

Maximum kiválasztás tömbben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

14. Mediánok és rendezett minták

ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs

Algoritmusok, adatszerkezetek I.

ELEMI PROGRAMOZÁSI TÉTELEK

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Leica DISTOTMD510. X310 The original laser distance meter. The original laser distance meter

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Statisztikai. Statisztika Sportszervező BSc képzés (levelező tagozat) Témakörök. Statisztikai alapfogalmak. Statisztika fogalma. Statisztika fogalma

Programozási tételek. Elemi programozási tételek. (Sorozathoz érték rendelése)

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Dinamikus programozás

Érdekes informatika feladatok

Programozás alapjai. 5. előadás

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Objektumorientált Programozás VI.

GEOTECHNIKA I. LGB-SE VÍZMOZGÁSOK A TALAJBAN

Szerelési és beüzemelési útmutató

C# feladatok gyűjteménye

hatására hátra lép x egységgel a toll

A mágneses tér energiája, állandó mágnesek, erőhatások, veszteségek

BME MOGI Gépészeti informatika 5.

Párhuzamos algoritmusok

BASH script programozás II. Vezérlési szerkezetek

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

Eljárások, függvények

Rekord adattípus. Egymásba ágyazott rekordok. With utasítás. Változó rekord. Rekord konstans

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Programozási tételek általánosítása 2. Szlávi Péter 2015

9. Visszavezetés egyedi felsorolókkal

Algoritmizálás és adatmodellezés tanítása 1. előadás

ALGORITMUSOK ÉS PROBLÉMAOSZTÁLYOK (1. előadás)

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Apple Swift kurzus 3. gyakorlat

The original laser distance meter. The original laser distance meter

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Békefi Zoltán. Közlekedési létesítmények élettartamra vonatkozó hatékonyság vizsgálati módszereinek fejlesztése. PhD Disszertáció

VALLALKQZÁSf SZERZ Ő DES ESPAN Nyugat-dunántúli Regionális Energia Stratégia és a három kistérség i energetikai koncepció kidolgozása tárgyban "

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

Előző óra összefoglalása. Programozás alapjai C nyelv 3. gyakorlat. Karakter típus (char) Karakter konstansok. Karaktersorozatot lezáró nulla

7. Strukturált típusok

Adatsorok jellegadó értékei

Programozási tételek. Dr. Iványi Péter

Egyszerű programozási tételek

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Dinamikus programozás

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

Smalltalk 2. Készítette: Szabó Éva

Döntéstámogató módszerek segédlet

Egyszerű programozási tételek

A struktúrált programozás

XI. ERDÉLYI TUDOMÁNYOS DIÁKKÖRI KONFERENCIA

MŰSZAKI TUDOMÁNYI DOKTORI ISKOLA. Napkollektorok üzemi jellemzőinek modellezése

8. Mohó algoritmusok Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

Fuzzy rendszerek. A fuzzy halmaz és a fuzzy logika

OOP: Java 1.Gy: Java alapok

Ahol mindig Ön az első! Segítünk online ügyféllé válni Kisokos

Adatbázis rendszerek Gy: Algoritmusok C-ben

PAL és s GAL áramkörök

Darupályák ellenőrző mérése

Mátrix-vektor feladatok Összeállította dr. Salánki József egyetemi adjunktus Begépelte Dr. Dudás László és Bálint Gusztáv

Adatelemzés és adatbányászat MSc

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

ERP beruházások gazdasági értékelése

Felvételi tematika INFORMATIKA

A feladat. A főprogram

4 2 lapultsági együttható =

Konfidencia-intervallumok

Neumann János Tehetséggondozó Program Gráfalgoritmusok II.

Gyakorlatok. P (n) = P (n 1) + 2P (n 2) + P (n 3) ha n 4, (utolsó lépésként l, hl, u, hu-t léphetünk).

10. gyakorlat Tömb, mint függvény argumentum

Összegzés a 92/2011.(XII.30.) NFM rendelet 9. melléklete alapján

Die Sensation in der Damenhygiene Hasznos információk a tamponokról

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Komplex regionális elemzés és fejlesztés tanév DE Népegészségügyi Iskola Egészségpolitika tervezés és finanszírozás MSc

Bevezetés a programozásba. 5. Előadás: Tömbök

Szövegek C++ -ban, a string osztály

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Programozási tételek. Jegyzet. Összeállította: Faludi Anita 2012.

C string műveletek (string.h alkalmazása)

INFORMATIKAI ALAPISMERETEK

Budapesti Műszaki Egyetem Villamosmérnöki kar Műszaki informatika szak Kommunikációs hálózatok szakirány V. évf., 9. félév

Algoritmizálás, adatmodellezés tanítása 1. előadás

Átírás:

Egyszerű algortmusok Tartalomjegyzék Összegzés...2 Maxmum kválasztás...3 Mnmum kválasztás...4 Megszámlálás...5 Eldöntés...6 Eldöntés - wle...8 Lneárs keresés...10 Készítette: Gál Tamás Creatve Commons -Nevezd meg!-ne add el!-így add tovább! 2.5 Magyarország lcenc alatt asználató GT Egyszerű algortmusok 1

Összegzés Ossz = 0 cklus = 0.. n - 1 Ossz = Ossz + T[] cklus vége nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt Ossz = 0; for(nt =0; <n; ++) { Ossz = Ossz + T[]; for (nt =0;<n;++) {Console.Wrte(T[]+", "); Console.WrteLne(); Console.WrteLne("Összeg: "+Ossz); - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Ossz = 0 = 0 < n Cklusmag Ossz = Ossz + T[] = + 1 Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték program Osszeg; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, Ossz: nteger; begn randomze; for :=1 to n do T[]:=random(200); Ossz:=0; for :=1 to n do begn Ossz:=Ossz + T[]; end; for :=1 to n do wrte(t[], ', ');wrteln(); wrteln('összeg: ', Ossz); Ossz = 0 = 1 > n Cklusmag Ossz = Ossz + T[] = + 1 GT Egyszerű algortmusok 2

Maxmum kválasztás Max = T[0] cklus = 0.. n - 1 Ha Max<T[] akkor Max = T[] cklus vége Megj. Ha a kezdő értékadásnál Max = T[0] megoldást asználjuk, akkor a FOR cklus cklusváltozójának kezdő értéke leet 1. Max = T[0] = 0 nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt Max = T[0]; for(nt =0; <n; ++) { f (Max<T[]) { Max = T[]; < n Max < T[] Cklusmag Max = T[] for (nt =0;<n;++) {Console.Wrte(T[]+", "); Console.WrteLne(); Console.WrteLne("Maxmum: "+Max); = + 1 - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték program Maxmum; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, Max: nteger; begn randomze; for :=1 to n do T[]:=random(200); Max:=T[1]; for :=2 to n do begn f Max<T[] ten Max:=T[]; end; Max = T[1] = 1 > n Max < T[] Cklusmag for :=1 to n do wrte(t[], ', ');wrteln(); wrteln('maxmum: ', Max); = + 1 Max = T[] GT Egyszerű algortmusok 3

Mn = T[0] cklus = 0.. n - 1 Ha Mn>T[] akkor Mn = T[] cklus vége Mnmum kválasztás Megj. Ha a kezdő értékadásnál Mn = T[0] megoldást asználjuk, akkor a FOR cklus cklusváltozójának kezdő értéke leet 1. nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt Mn = T[0]; for(nt =0; <n; ++) { f (Mn>T[]) { Mn = T[]; for (nt =0;<n;++) {Console.Wrte(T[]+", "); Console.WrteLne(); Console.WrteLne("Mnmum: "+Mn); - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Mn = T[0] = 0; < n Mn > T[] = + 1 Cklusmag Mn = T[] Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték program Mnmum; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, Mn: nteger; begn randomze; for :=1 to n do T[]:=random(200); Mn:=T[1]; for :=2 to n do begn f Mn>T[] ten Mn:=T[]; end; Mn = T[1] = 1; > n Mn > T[] Cklusmag for :=1 to n do wrte(t[], ', ');wrteln(); wrteln('mnmum: ', Mn); = + 1 Mn = T[] GT Egyszerű algortmusok 4

Megszámlálás Mondatszerű leírás: db = 0 cklus = 0.. n - 1 Ha 100<T[] akkor db = db + 1 cklus vége db = 0 = 0 nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt db = 0; for(nt =0; <n; ++) { f (100<T[]) { db++; < n Feltétel Pl. 100 < T[] Cklusmag db = db + 1 for (nt =0;<n;++) {Console.Wrte(T[]+", "); Console.WrteLne(); Console.WrteLne("Darabszám: "+db); = + 1 - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték db = 0 program Mnmum; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, db: nteger; begn randomze; for :=1 to n do T[]:=random(200); db:=0; for :=1 to n do begn f 100<T[] ten db:=db+1; end; = 1 > n Feltétel Pl. 100 < T[] Cklusmag db = db + 1 for :=1 to n do wrte(t[], ', ');wrteln(); wrteln('darabszám: ', db); = + 1 GT Egyszerű algortmusok 5

Eldöntés van = 0 cklus = 0.. n - 1 Ha 100<T[] akkor van = 1 cklus vége Ha van=1 akkor KI: van egyébként KI: nncs nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt van = 0; for(nt =0; <n; ++) { f (100<T[]) { van=1; f (van==1) {Console.WrteLne("van"); else {Console.WrteLne("nncs"); for (nt =0;<n;++) {Console.Wrte(T[]+", "); - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln van = 0 = 0 < n K: van van = 1 K: nncs Feltétel Pl. 100 < T[] Cklusmag van = 1 = + 1 GT Egyszerű algortmusok 6

Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték program Eldont; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, van: nteger; begn randomze; for :=1 to n do T[]:=random(200); van:=0; for :=1 to n do begn f 100<T[] ten van:=1; end; f van=1 ten wrteln('van') else wrteln('nncs'); for :=1 to n do wrte(t[], ', ');wrteln(); van = 0 = 1 > n K: van van = 1 K: nncs Feltétel Pl. 100 < T[] Cklusmag van = 1 = + 1 GT Egyszerű algortmusok 7

Eldöntés - wle = 0 cklus amíg <n és T[]<> ker = + 1 cklus vége Ha van=1 akkor KI: van egyébként KI: nncs nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt ; nt = 0; wle(<n && T[]!= ker) { ++; f (<n) {Console.WrteLne("van"); else {Console.WrteLne("nncs"); for (nt j=0;j<n;j++) {Console.Wrte(T[j]+", "); - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Megtalálató az n elemű t tömbben a keresett érték? C alapú és Java nyelv esetén a tömbelemek ndexelése 0-val kezdődk. = 0 < n Cklusmag < n és t[]<>ker = + 1 K: van K: nncs GT Egyszerű algortmusok 8

Pascal esetén: - A tömbndex rendszernt 1-től ndul - Klépés a FOR cklusból, a a cklusváltozó > mnt a végérték program Eldont; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, ker: nteger; begn randomze; for :=1 to n do T[]:=random(200); ker:=5; :=1; wle (<=n) and (T[] <> ker) do := + 1; f <=n ten wrteln('van') else wrteln('nncs'); for :=1 to n do wrte(t[], ', ');wrteln(); Megtalálató az n elemű t tömbben a keresett érték? = 1 <= n és t[]<>ker <= n Cklusmag = + 1 K: van K: nncs GT Egyszerű algortmusok 9

Lneárs keresés = 0 cklus amíg <n és T[]<> ker = + 1 cklus vége Ha van=1 akkor KI: Inexe, egyébként KI: nncs nt[] T = {101, 7, 8, 11, 255, 321; nt n = T.Lengt; //a tömb mérete nt ; nt = 0; wle(<n && T[]!= ker) { ++; f (<n) {Console.WrteLne("Indexe: "+); else {Console.WrteLne("nncs"); for (nt j=0;j<n;j++) {Console.Wrte(T[j]+", "); - Lengt elyett lengt - Console.Wrte elyett System.out.prnt - Console.WrteLne elyett System.out.prntln Megtalálató az n elemű t tömbben a keresett érték, és ányadk elyen van? C alapú és Java nyelv esetén a tömbelemek ndexelése 0-val kezdődk. < n Cklusmag = 0 < n és t[]<>ker = + 1 K: 'Indexe:', K: nncs GT Egyszerű algortmusok 10

Pascal esetén: - A tömbndex rendszernt 1-től ndul program Eldont; const n=20; {a tömb elemenek a száma var T: array[1..n] of nteger;, ker: nteger; begn randomze; for :=1 to n do T[]:=random(200); ker:=5; :=1; wle (<=n) and (T[] <> ker) do := + 1; f <=n ten wrteln('indexe: ', ) else wrteln('nncs'); for :=1 to n do wrte(t[], ', ');wrteln(); Megtalálató az n elemű t tömbben a keresett érték, és ányadk elyen van? A Pascal nyelv esetén a tömbelemek ndexelése rendszernt 1-el kezdődk. <= n Cklusmag = 1 <= n és t[]<>ker = + 1 K: 'Indexe', K: nncs GT Egyszerű algortmusok 11