9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
|
|
- Erika Boros
- 8 évvel ezelőtt
- Látták:
Átírás
1
2 Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi fogalmakat: - állapottér (A = A 1... A n ) - változó (a i A i ) - feladat (F A A) - program (S A A ) - programfüggvény (a programfutás eredménye) (p (S) A A)
3 Programozási tételek Egy S program megoldja az F feladatot, ha D F D p(s) és a D F : p (S) (a) F (a). A megoldás ellenőrzésére és a programhelyesség részleges bizonyítására bevezettük az elő- és utófeltétel, valamint a leggyengébb előfeltétel fogalmát: Legyen Q, R : A L két állítás, S program. A {Q} S {R} szimbólummal jelöltük azt, hogy a [Q] esetén p (S) (a) [R]. A [Q] előfeltétel halmazt felfoghatjuk az állapottér azon részeként, amelyre meg akarjuk a feladat megoldását kapni. Az elérő eredmény megadására szolgál az [R] utófeltétel halmaz. A {Q} S {R} szimbólummal jelölt implikáció igazolása jelenti a parciális programhelyesség igazolását. Az lf (S, R) leggyengébb előfeltétel a legbővebb Q előfeltételt jelenti.
4 Programozási tételek Egy feladat megadása (specifikációja) a következőképpen történhet: - bemenő (input) adatok - kimenő (output) adatok - a feladatban használt fogalmak definíciója - az eredmény kiszámítási szabálya - a bemenő adatokra kirótt feltételeket (előfeltételek) - a kimenő adatokra kirótt feltételek (utófeltételek).
5 Programozási tételek Lényeges észrevétel: a feladatok osztályokba sorolhatók a feladat jellege szerint és a feladatosztályokhoz a teljes feladatosztály megoldó algoritmusokat tudunk készíteni. Ezeket a tipus feladatokat programozási tételeknek nevezzük, mert igazolható, hogy megoldásaik a feladat garantáltan helyes megoldásai. A programozási tételek ismeretében a legtöbb feladat megoldása során csak a megfelelő programozási tételt kell alkalmazni. Így elvileg helyes (de nem mindig optimális) megoldást kapunk. A feladatok olyanok, hogy egy, vagy több adatsokasághoz relünk valamilyen eredményt. Egyszerűség kedvéért feltesszük, hogy ezek sorozatok, amelyeket tömbbel ábrázolhatunk. Vizsgált feladatosztály típusok: - egy sorozathoz egy értéket relő feladatok - egy sorozathoz egy sorozatot relő feladatok - egy sorozathoz több sorozatot relő feladatok - több sorozathoz egy sorozatot relő feladatok.
6 Elemi programozási tételek A feladatok általános alakja: Input : n N 0, x H n, F : H G Output : S G Q : R : S = F (x 1,..., x n ) Egy bemenő sorozattól függő S értéket kell meghatároznunk. A feladatcsoporthoz több feladattípus tartozik.
7 Sorozatszámítás Néhány példa: F1. Adjuk meg n alkalmazottból álló osztály bértömegét a bérek ismeretében! F2. Egy m elemű betűsorozat betűit füzzük össze egyetlen szövegtipusú változóba! F3. A Balatonnál k madarász végez megfigyeléseket. Mindegyik megadta, hogy milyen madarakat látott. Készítsünk algoritmust, amely megadja a Balatonnál látott madarakat! F4. Adjuk meg az első n természetes szám szorzatát! A feladatokban közös: adatok sorozatához relünk egy értéket, amelyet, egy az egész sorozaton értelmezett függvény ad meg (n szám összege, m betű konkatenációja, k halmaz uniója, n szám szorzata).
8 Sorozatszámítás Az algoritmus: Változók: n : egész {a feldolgozandó sorozat elemszáma} x : tömb(1..n:elemtipus) {a feldolgozandó sorozat elemei} F 0 : elemtipus 1 {a művelet nulleleme} S : elemtipus 2 {az eredmény}
9 Sorozatszámítás Input : n N 0, x H n, F : H G Output : S G Q : F 0 G (nullelem) és f : G H G és F (x 1,..., x n ) = f (F (x 1,..., x n 1 ), x n ) és F () = F 0 R : S = F (x 1,..., x n ) A feladat lehetséges variációi: F =,,,,,, & (konkatenáció) F 0 = 0, 1, [], alaphalmaz, igaz, hamis,. A megoldás indukció segítségével: - i = 0 esetre tudjuk az eredmény: F 0, - ha (i 1)-re tudjuk az F i 1 eredményt, akkor az i-re az eredményt F i = f (F i 1, x i ) adja (i = 1,..., n).
10 Sorozatszámítás A feladatot megoldó algoritmus: sorozatszámítás(n, x, s) s := F 0 for i = 1 : n s := f (s, x (i))
11 Sorozatszámítás Az F1. feladat esetén az eljárás: Az F2. feladat esetén az eljárás: sorozatszámítás(n, x, s) s := 0 for i = 1 : n s := s + x (i) sorozatszámítás(m, x, sz) sz := {üres szöveg} for i = 1 : m sz := sz&x (i)
12 Sorozatszámítás Az F3. feladat esetén: Végül az F4. feladat esetén: unio(k, X, H) H := [] for i = 1 : k H := H X (i) sorozatszámítás(n, x, p) p := 1 for i = 1 : n p := p x (i)
13 Eldöntés A feladat annak eldöntése, hogy a) van-e a sorozatban adott tulajdonságú elem b) a sorozat mindegyik eleme relkezik-e ezzel a tulajdonsággal. Az a) esetben a feladat alakja: Input : n N 0, x H n, T : H L Output : VAN L Q : R : VAN ( i (1 i n) : T (x i )) Az algoritmus: Függvény: T : elemtípus L
14 Eldöntés Változók: n : egész a feldolgozandó sorozat elemszáma x : tömb (1..n:elemtipus) a feldolgozandó sorozat elemei VAN : logikai az eredmény A feladattípus megoldására az előző programozási tétel is alkalmas az F =, f =, F 0 = hamis megfeleltetéssel: eldöntés(n, X, S) S := hamis for i = 1 : n S := S T (x (i))
15 Eldöntés Vegyük észre, hogy ha egyszer S igaz lesz, akkor igaz is marad. Tehát nem kell a ciklust végig számolni. Eszerint az igazi megoldó algoritmus: eldöntés(n, x, VAN) i := 1 while (i n) ( T (x (i))) i := i + 1 VAN := (i n) A b) esetben a megoldást az adja, hogy átfogalmazzuk: i : 1 i n : T (x i ) i : 1 i n T (x i ). A sorozatszámítás itt az F =, f =, F 0 = igaz értékekkel lehet alkalmazni.
16 Eldöntés A megoldó algoritmus: eldöntés(n, x, MIND) i := 1 while (i n) (T (x (i))) i := i + 1 MIND := (i > n)
17 Eldöntés Példa: Döntsük el, hogy egy adott sorozat monoton növekedő-e! Esetünkben T (x i ) (x i x i+1 ) és ezért a ciklus csak (n 1)-ig mehet. A megoldás: eldöntés(n, x, MONOTON) i := 1 while (i n 1) (x (i) x (i + 1)) i := i + 1 MONOTON := (i > n 1)
18 Kiválasztás A feladat sorozat adott tulajdonságú elemének (indexének) megadása, amelynek létezését feltesszük: Input : n N, x H n, T : H L Output : SORSZ N Q : i (1 i n) : T (x i ) R : (1 SORSZ n) T (x SORSZ ) Az algoritmus: Függvény: T : elemtípus L Változók: n : egész {a feldolgozandó sorozat elemszáma} x : tömb(1..n:elemtipus) {a feldolgozandó sorozat elemei} SORSZ : egész {az eredmény}
19 Kiválasztás A megoldás hasonlít az előző feladattípushoz: kiválasztás(n, x, SORSZ) i := 1 while T (x (i)) i := i + 1 SORSZ := i Feladat: A program az első T tulajdonságú elemet adja meg. Hogyan kell módosítani, hogy az utolsó ilyet adja meg?
20 Lineáris keresés A feladat adott tulajdonságú elem megadása egy sorozatban, ha van ilyen. Ha nincs, akkor ezt a tényt kell megadni. Tehát az előző két tétel mindegyikét tartalmazza: Input : n N, x H n, T : H L Output : VAN L, SORSZ N Q : R : VAN ( i (1 i n) : T (x i )) (VAN = (1 SORSZ n) T (x SORSZ )) Az algoritmus: Függvény: T : elemtípus L
21 Lineáris keresés Változók: n : egész {a feldolgozandó sorozat elemszáma} x : tömb(1..n:elemtipus) {a feldolgozandó sorozat elemei} VAN : logikai {az eredmény - van-e megfelelő elem} SORSZ : egész {az eredmény -a megfelelő elem sorszáma} A megoldó algoritmust az eldöntés algoritmusa adja kiegészítve a kiválasztási algoritmus megfelelő részével: keresés(n, x, VAN, SORSZ) i := 1 while (i n) ( T (x (i))) i := i + 1 VAN := (i n) if VAN then SORSZ := i
22 Megszámolás A feladat annak meghatározása, hogy hány adott tulajdonságú elem van egy sorozatban: Input : n N 0, x H n, T : H L, χ : H {0, 1} χ (x) = 1, ha T (x) és χ (x) = 0, ha T (x) Output : DB N 0 Q : R : DB = n i=1 χ (x i) Az algoritmus: Függvény: T : elemtípus L Változók: n : egész {a feldolgozandó sorozat elemszáma} x : tömb(1..n:elemtipus) {a feldolgozandó sorozat elemei} DB : egész {az eredmény -a megfelelő elemek száma}
23 Megszámolás A feladat egy sorozatszámítás (tkp. összegzés a χ függvény értékeire). A megoldó algoritmus: megszámolás(n, x, DB) DB := 0 for i = 1 : n if T (x (i)) then DB := DB + 1
24 Maximumkiválasztás A feladat az, hogy válasszuk ki egy sorozat legnagyobb (legkisebb) elemét: Input : n N 0, x H n, H rezett halmaz ( <, reláció) Output : MAX N Q : n 1 R : 1 MAX n i (1 i n) : x MAX x i Az algoritmus: Változók: n : egész {a feldolgozandó sorozat elemszáma} x : tömb(1..n:elemtipus) {a feldolgozandó sorozat elemei} MAX : egész {a maximális értékű elem sorszáma}
25 Maximumkiválasztás A sorozatszámításnál F (x 1,..., x n ) = max (x 1,..., x n ) és f (x, y) = max (x, y) függvényeket használjuk és az F 0 = x 1 választást (Nem neutrális elem, de az indexeléssel kompenzáljuk)! A megoldó algoritmus: maximumkiválasztás(n, x, MAX ) MAX := 1 for i = 2 : n if x (MAX ) < x (i) then MAX := i
26 Maximumkiválasztás Ha a maximális értéket is akarjuk, akkor az algoritmus: maximumkiválasztás(n, x, MAX, MEXERT ) MAX, MAXERT := 1, x (1) for i = 2 : n if MAXERT < x (i) then MAX, MAXERT := i, x (i) A legkisebb érték meghatározásához a < relációt át kell írni a > relációra (A változóneveket is célszerű átírni a MIN, MINERT nevekre).
Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
Ö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.
Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,
Egyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Az algoritmus fogalma végrehajtható (van hozzá végre-hajtó) lépésenként hajtható végre a lépések maguk is algoritmusok pontosan definiált, adott végre-hajtási
ELEMI PROGRAMOZÁSI TÉTELEK
ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk
Bánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Programozási Módszertan definíciók, stb.
Programozási Módszertan definíciók, stb. 1. Bevezetés Egy adat típusát az adat által felvehető lehetséges értékek halmaza (típusérték halmaz, TÉH), és az ezen értelmezett műveletek (típusműveletek) együttesen
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 9. ÖSSZETETT FELADATOK...111 9.1. ELEMI ALGORITMUSOK ÖSSZEÉPÍTÉSE...111 9.2. ÖSSZEFOGLALÁS...118 9.3. GYAKORLÓ FELADATOK...118
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.
Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]
Programozási tételek. Dr. Iványi Péter
Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,
PROGRAMOZÁSI TÉTELEK
PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté 2016. szeptember 14. Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Elemi programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV-2012-0018 Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján
ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha
ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig
Algoritmizálás és adatmodellezés tanítása 2. előadás
Algoritmizálás és adatmodellezés tanítása 2. előadás Tartalom Összegzés vektorra, mátrixra Megszámolás vektorra, mátrixra Maximum-kiválasztás vektorra, mátrixra Eldöntés vektorra, mátrixra Kiválasztás
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
Összetett programozási tételek
Összetett programozási tételek 3. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 19. Sergyán (OE NIK) AAO 03 2011. szeptember
Algoritmizálás, adatmodellezés tanítása 1. előadás
Algoritmizálás, adatmodellezés tanítása 1. előadás Specifikáció A specifikáció elemei bemenet mit ismerünk? kimenet mire vagyunk kíváncsiak? előfeltétel mit tudunk az ismertekről? utófeltétel mi az összefüggés
Térinformatikai algoritmusok Elemi algoritmusok
Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,
Programozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
Rekurzió. (Horváth Gyula és Szlávi Péter előadásai felhasználásával)
Rekurzió (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Rekurzió és iteráció Balrekurzió Ha az eljárás első utasításaként szerepel a rekurzív hívás, akkor a rekurzió lényegében az első nem
Algoritmizálás, adatmodellezés 1. előadás
Algoritmizálás, adatmodellezés 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az induló élből
Sorozat érték típusú programozási tételek
Sorozat érték típusú programozási tételek A soron következő specifikációk és algoritmusok mind olyan típusfeladatokhoz kötődnek, amik igazán sűrűn előfordulhatnak a gyakorlatban. Meg kell keresni valamit,
Az összetett programozási tételek is egy tőről fakadnak
Az összetett programozási tételek is egy tőről fakadnak Zsakó László 1, Törley Gábor 2, Szlávi Péter 3 1 zsako@caesar.elte.hu, 2 pezsgo@inf.elte.hu, 3 szlavi@elte.hu ELTE IK Absztrakt. A programozás tanulás
Objektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Programozási tételek. PPT 2007/2008 tavasz.
Programozási tételek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Strukturált programozás paradigma Alapvető programozási tételek Összetett programozási tételek Programozási
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
Adatbázis és szoftverfejlesztés elmélet. Programozási tételek
Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek
Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
Objektum Orientált Programozás VII.
Objektum Orientált Programozás VII. Összetett programozási tételek Programozási tételek összeépítése Feladatok ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
Algoritmizálás, adatmodellezés tanítása 2. előadás
Algoritmizálás, adatmodellezés tanítása 2. előadás Programozási tételek Mi az, hogy programozási tétel? Típusfeladat általános megoldása. Sorozat érték Sorozat sorozat Sorozat sorozatok Sorozatok sorozat
A félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
Programozási módszertan
1 Programozási módszertan 1. Alapfogalmak Feldhoffer Gergely 2012 Féléves tananyag terve 2 Program helyességének bizonyítása Reprezentáció Logikai-matematikai eszköztár Programozási tételek bizonyítása
Egyszerű programozási tételek
Egyszerű programozási tételek Sorozatszámítás Eljárás Sorozatszámítás(N, X, S) R R 0 Ciklus i 1-től N-ig R R művelet A[i] A : számokat tartalmazó tömb N : A tömb elemszáma R : Művelet eredménye Eldöntés
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok
6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 6. ELEMI ALGORITMUSOK I... 72 6.1. KERETPROGRAM... 72 6.2. SOROZATSZÁMÍTÁS... 74 6.3. ELDÖNTÉS... 75 6.4. KIVÁLASZTÁS...
Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Algoritmizálás és adatmodellezés 2. előadás
Algoritmizálás és adatmodellezés 2 előadás Összetett típusok 1 Rekord 2 Halmaz (+multialmaz, intervallumalmaz) 3 Tömb (vektor, mátrix) 4 Szekvenciális fájl (input, output) Pap Gáborné, Zsakó László: Algoritmizálás,
Programozási alapismeretek 3. előadás
Programozási alapismeretek 3. előadás Tartalom Ciklusok specifikáció+ algoritmika +kódolás Egy bevezető példa a tömbhöz A tömb Elágazás helyett tömb Konstans tömbök 2/42 Ciklusok Feladat: Határozzuk meg
1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
Algoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
10. gyakorlat Tömb, mint függvény argumentum
10. gyakorlat Tömb, mint függvény argumentum 1. feladat: A 6. gyakorlat 1. feladatát oldja meg a strukturált programtervezési alapelv betartásával, azaz minden végrehajtandó funkciót külön függvényben
Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok és programozási tételek
Sorozatok. 5. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Sorozatok p. 1/2
Sorozatok 5. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Sorozatok p. 1/2 A sorozat definíciója Definíció. A természetes számok halmazán értelmezett valós értékű a: N R függvényt
Bevezetés a programozáshoz I. Feladatok
Bevezetés a programozáshoz I. Feladatok 2006. szeptember 15. 1. Alapfogalmak 1.1. példa: Írjuk fel az A B, A C, (A B) C, és A B C halmazok elemeit, ha A = {0, 1}, B = {1, 2, 3}, C = {p, q}! 1.2. példa:
Algoritmizálás és adatmodellezés tanítása 6. előadás
Algoritmizálás és adatmodellezés tanítása 6. előadás Összetett típusok 1. Rekord 2. Halmaz (+multihalmaz, intervallumhalmaz) 3. Tömb (vektor, mátrix) 4. Szekvenciális file (input, output) Pap Gáborné,
PROGRAMOZÁSMÓDSZERTAN
PROGRAMOZÁSMÓDSZERTAN 2. ELŐADÁS 2004 (VÁZLAT) 1. SPECIFIKÁCIÓ 1.1. Alapvető matematikai jelölések Lásd http://izzo.inf.elte.hu/szlavi honlapon a Prtetel.doc -ban (vagy a Prtetel.pdf-ben)! H halmaz tetszőleges
Algoritmizálás és adatmodellezés tanítása 3. előadás
Algoritmizálás és adatmodellezés tanítása 3. előadás Szövegfájl Fájl típus A szövegfájl karakterek sorozata: input fájl Műveletei: nyit, zár, olvas, vége? output fájl Műveletei: nyit, zár, ír Pap Gáborné,
Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat
9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:
Edényrendezés. Futási idő: Tegyük fel, hogy m = n, ekkor: legjobb eset Θ(n), legrosszabb eset Θ(n 2 ), átlagos eset Θ(n).
Edényrendezés Tegyük fel, hogy a rendezendő H = {a 1,...,a n } halmaz elemei a [0,1) intervallumba eső valós számok. Vegyünk m db vödröt, V [0],...,V [m 1] és osszuk szét a rendezendő halmaz elemeit a
Programozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
Bevezetés a programozásba I.
Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy
Programozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI
19. AZ ÖSSZEHASONLÍTÁSOS RENDEZÉSEK MŰVELETIGÉNYÉNEK ALSÓ KORLÁTJAI Ebben a fejezetben aszimptotikus (nagyságrendi) alsó korlátot adunk az összehasonlításokat használó rendező eljárások lépésszámára. Pontosabban,
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere
Szekvenciális programok kategóriái strukturálatlan strukturált NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE Hoare-Dijkstra-Gries módszere determinisztikus valódi korai nem-determinisztikus általános fejlett
Maximum kiválasztás tömbben
ELEMI ALKALMAZÁSOK FEJLESZTÉSE I. Maximum kiválasztás tömbben Készítette: Szabóné Nacsa Rozália Gregorics Tibor tömb létrehozási módozatok maximum kiválasztás kódolása for ciklus adatellenőrzés do-while
Adatszerkezetek II. 10. előadás
Adatszerkezetek II. 10. előadás Kombinatorikai algoritmusok A kombinatorika: egy véges halmaz elemeinek valamilyen szabály alapján történő csoportosításával, kiválasztásával, sorrendbe rakásával foglalkozik
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
Általános algoritmustervezési módszerek
Általános algoritmustervezési módszerek Ebben a részben arra mutatunk példát, hogy miként használhatóak olyan általános algoritmustervezési módszerek mint a dinamikus programozás és a korlátozás és szétválasztás
PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar
PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea
Algoritmuselmélet 1. előadás
Algoritmuselmélet 1. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 11. ALGORITMUSELMÉLET 1. ELŐADÁS 1 Források
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 2 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában több bemenő sorozat alapján egy sorozatot
Kiterjesztések sek szemantikája
Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
Algoritmusok. Hogyan csináljam?
Algoritmusok Hogyan csináljam? 1 Az algoritmus fogalma Algoritmusnak olyan pontos előírást nevezünk, amely megmondja, hogy bizonyos feladat megoldásakor milyen műveleteket milyen meghatározott sorrendben
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.
1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,
Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Programozási tételek, rendezések 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Felvételi vizsga mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Összetett programozási tételek 1 TÁMOP-4.2.3.-12/1/KONV Feladataink egy jelentős csoportjában egyetlen bemenő sorozat alapján egy
Láncolt listák Témakörök. Lista alapfogalmak
Láncolt listák szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Lista alapfogalmai Egyirányú egyszerű láncolt lista Egyirányú rendezett láncolt lista Speciális láncolt listák Témakörök
Számjegyes vagy radix rendezés
Számláló rendezés Amennyiben a rendezendő elemek által felvehető értékek halmazának számossága kicsi, akkor megadható lineáris időigényű algoritmus. A bemenet a rendezendő elemek egy n méretű A tömbben
Programozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
PROGRAMOZÁSMÓDSZERTAN
PROGRAMOZÁSMÓDSZERTAN 4. ELŐADÁS 2004 (VÁZLAT). A TÉTELEK SZIGNATÚRÁJÁRÓL.. Formája és célja Induljunk ki egy ismert tételből: Megszámolás(H *,F(H, )): Be: N N, X H *, T:H L Ki: Ef: Db N ez most nem érdekes
Algoritmizálás, adatmodellezés tanítása 6. előadás
Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér
Multihalmaz, intervallumhalmaz
Multihalmaz, intervallumhalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}
A C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:
Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...
7.4. A programkonstrukciók és a kiszámíthatóság
H @ tj 68 7 PROGRAMKONSTRUKCIÓK 74 A programkonstrukciók és a kiszámíthatóság Ebben az alfejezetben kis kitérőt teszünk a kiszámíthatóság-elmélet felé, és megmutatjuk, hog az imént bevezetett három programkonstrukció
2010. október 12. Dr. Vincze Szilvia
2010. október 12. Dr. Vincze Szilvia Tartalomjegyzék 1.) Sorozat definíciója 2.) Sorozat megadása 3.) Sorozatok szemléltetése 4.) Műveletek sorozatokkal 5.) A sorozatok tulajdonságai 6.) A sorozatok határértékének
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
Halmaz típus Értékhalmaz:
Halmaz, multihalmaz Halmaz féleségek 1. Halmaz Gyümölcsök: {alma,körte,szilva,barack} 2. Multihalmaz Állatok: {(macska,4),(rigó,2),(galamb,3)} 3. Intervallumhalmaz diszjunkt Óráim: {[8-10],[13-14],[16-20)}
Számláló rendezés. Példa
Alsó korlát rendezési algoritmusokra Minden olyan rendezési algoritmusnak a futását, amely elempárok egymással való összehasonlítása alapján működik leírja egy bináris döntési fa. Az algoritmus által a
Informatikai tehetséggondozás:
Ég és Föld vonzásában a természet titkai Informatikai tehetséggondozás: Visszalépéses keresés korlátozással TÁMOP-4.2.3.-12/1/KONV A visszalépéses keresés (backtrack) a problémamegoldás igen széles területén
3. előadás. Programozás-elmélet. A változó fogalma Kiterjesztések A feladat kiterjesztése A program kiterjesztése Kiterjesztési tételek Példa
A változó fogalma Definíció Legyen A = A 1 A 2... A n állapottér. A pr Ai projekciós függvényeket változóknak nevezzük: : A A i pr Ai (a) = a i ( a = (a 1, a 2,..., a n ) A). A változók jelölése: v i =
1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás
Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.
Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles
Matematika szigorlat, Mérnök informatikus szak I. 2013. jan. 10. Név: Neptun kód: Idő: 180 perc Elm.: 1. f. 2. f. 3. f. 4. f. 5. f. Fel. össz.: Össz.: Oszt.: Az elérhető pontszám 40 (elmélet) + 60 (feladatok)
A = fx j P (x) igazg ; A = fx j 1 x 7; x prímszámg : A [ B = fx j x 2 A, vagy x 2 Bg ; [a::b] := [a; b] \ Z
1 Alapfogalmak Halmaz: Azonos tulajdonságú elemek összessége. Halmaz jelölése: Latin ABC nagybet½ui (általában). Halmaz elemeinek jelölése: Latin kisbet½uk (általában). Halmaz megadása: a) elemeinek felsorolásával,
Programozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny első fordulójának feladatai 1. feladat: Repülők (20 pont) INFORMATIKA II. (programozás) kategória Ismerünk városok közötti repülőjáratokat.
Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán