Bevezetés az informatikába

Hasonló dokumentumok
5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Programozási Módszertan definíciók, stb.

PROGRAMOZÁS VISSZAVEZETÉSSEL

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Bevezetés az informatikába

I. RÉSZ PROGRAMOZÁSI FOGALMAK

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

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.

S0-01 Szintézis és verifikáció (Programozás elmélet)

3. Strukturált programok

PROGRAMOZÁS 1. kötet TERVEZÉS

Bevezetés az informatikába

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

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

Programozási alapismeretek 1. előadás

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

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.

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

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

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

Bevezetés a programozáshoz I. Feladatok

Programozás alapjai (ANSI C)

ELEMI PROGRAMOZÁSI TÉTELEK

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Algoritmizálás, adatmodellezés 1. előadás

Informatika tanítási módszerek

Aritmetikai kifejezések lengyelformára hozása

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

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

A C# programozási nyelv alapjai

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

Helyi tanterv Német nyelvű matematika érettségi előkészítő. 11. évfolyam

Programozási tételek. PPT 2007/2008 tavasz.

Algoritmusok helyességének bizonyítása. A Floyd-módszer

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Algoritmizálás és adatmodellezés 2. előadás

7.4. A programkonstrukciók és a kiszámíthatóság

Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.

Bevezetés a programozásba I.

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozási nyelvek 6. előadás

Algoritmusok. Dr. Iványi Péter

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

Bevezetés az informatikába

Számításelmélet. Második előadás

Számítógépes alapismeretek

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

AZ ALGORITMUS. az eredményt szolgáltatja

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

2. Logika gyakorlat Függvények és a teljes indukció

Bevezetés a programozásba I.

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés

Matematikai logika és halmazelmélet

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

PROGRAMOZÁS MÓDSZERTANI ALAPJAI I. TÉTELEK ÉS DEFINÍCIÓK

Algoritmusok, adatszerkezetek, objektumok

Objektumorientált paradigma és a programfejlesztés

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Számítógépes alapismeretek

Programozási módszertan

Bevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata

Bevezetés a programozásba

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

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

Webprogramozás szakkör

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

Az összetett programozási tételek is egy tőről fakadnak

Adatszerkezetek I. 1. előadás

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

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

Kiterjesztések sek szemantikája

Összetett programozási tételek

Az informatika kulcsfogalmai

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

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

Modellezés Gregorics Tibor Mesterséges intelligencia

A matematika nyelvéről bevezetés

Gyakorló feladatok Gyakorló feladatok

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

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

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

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Pásztor Attila. Algoritmizálás és programozás az emeltszintű érettségin

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Programozási alapismeretek 3. előadás

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

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

Bevezetés az informatikába

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Formális nyelvek - 9.

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

Rekurzió. Dr. Iványi Péter

Bevezetés a programozásba I.

Átírás:

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. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 1 / 32

1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 2 / 32

Tartalom Alapfogalmak 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 3 / 32

Alapfogalmak Többszintű számítógépek (Andrew S. Tannenbaum) 5. problémaorientált nyelvi szint (magas szintű nyelv) 4. assembly nyelvi szint 3. operációs rendszer gépi szintje 2. utasításrendszer-architektúra szintje 1. mikroarchitektúra szintje 0. digitális logikai szint "Hogyan tudunk problémaorientált (magas) nyelvi szintű programot készíteni?" Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 4 / 32

Alapfogalmak Programozás, programtervezés Programozás "A programozás az a tevékenység, amikor bizonyos feladatok megoldására programokat készítünk,... amelyeket azután számítógépekkel hajtunk végre." programtervezés kódolás Programtervezés Programtervezés : megoldandó problémára összpontosít független a programozási környezettől az alkalmazott módszerek matematikai alapossággal igazolhatók Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 5 / 32

Tartalom Alapfogalmak típus 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 6 / 32

Típus Alapfogalmak típus típus = felvehető értékek halmaza + elvégezhető műveletek Adat típusok : típus jelölés értékhalmaz műveletek természetes pozitív egész N szám számok és a 0 +,-,*,/,=,>,<,... egész szám Z +,-,*,/,=,>,<,... valós szám R +,-,*,/,=,>,<,... logikai L igaz,hamis,, karakter a,b,c,... A,B,C,... >,<,=,... halmaz 2 E E alaphalmaz,,kivétel,hozzáadás,... sorozat E E alaphalmaz hossz,hivatkozás,törlés,... vektor mátrix összetett típusok... Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 7 / 32

Tartalom Alapfogalmak állapottér, feladat 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 8 / 32

Állapottér Alapfogalmak állapottér, feladat feladat egy állapota: a feladat adatainak az értékei állapottér : az összes lehetséges állapot kezdőállapot célállapot a feladat egy leképzés : a kezdőállapot(ok)ból a célállapot(ok)ba Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 9 / 32

Tartalom Alapfogalmak program, megoldás 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 10 / 32

Program Alapfogalmak program, megoldás Mi a program? "A program utasítások sorozata"? utasítás készlet? programozási nyelv? utasításokat értelmező gép? Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32

Program Alapfogalmak program, megoldás Mi a program? "A program utasítások sorozata"? utasítás készlet? programozási nyelv? utasításokat értelmező gép? Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32

Program Alapfogalmak program, megoldás Mi a program? "A program utasítások sorozata"? utasítás készlet? programozási nyelv? utasításokat értelmező gép? Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32

Program Alapfogalmak program, megoldás Mi a program? "A program utasítások sorozata"? utasítás készlet? programozási nyelv? utasításokat értelmező gép? Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32

Program Alapfogalmak program, megoldás Mi a program? "A program utasítások sorozata"? utasítás készlet? programozási nyelv? utasításokat értelmező gép? Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 11 / 32

Program Alapfogalmak program, megoldás Állapottér n:n, d:n, program utasítások : 1. Legyen d értéke vagy n-1 vagy 2. 2. Ha d értéke megegyezik 2-vel akkor: Amíg d nem osztja n-t addig növeljük d értékét 1-gyel, különben: Amíg d nem osztja n-t addig csökkentjük d értékét 1-gyel. kiindulási állapot (n:6,d:8) első utasítás (n:6,d:2) vagy (n:6,d:5) második utasítás vagy (n:6,d:2) és leáll, célállapot vagy (n:6,d:4) következő (n:6,d:3) és leáll, célállapot (6,8) : <(6,8),(6,2)> <(6,8),(6,5) (6,4) (6,3)> Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 12 / 32

Program Alapfogalmak program, megoldás 1. Legyen d értéke vagy n-1 vagy 2. 2. Ha d értéke megegyezik 2-vel akkor: Amíg d nem osztja n-t addig növeljük d értékét 1-gyel, különben: Amíg d nem osztja n-t addig csökkentjük d értékét 1-gyel. (5,y) : <(5,y) (5,2) (5,3) (5,4) (5,5)> <(5,y) (5,4) (5,3) (5,2) (5,1)> (1,y) : <(1,y) (1,0) (1,0)...> <(1,y) (1,2) (1,3) (1,4)...> (4,y) : <(4,y) (4,2)> <(4,y) (4,3) (4,2)> (0,y) : <(0,y) (0,y) (0,y)...> <(0,2)> Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 13 / 32

Program Alapfogalmak program, megoldás Program (15,y) : A program az általa befutható összes lehetséges végrehajtást jelenti. Állapotterének bármelyik állapotból el tud indulni, és ahhoz olyan végrehajtási sorozatot rendel, amelyik első állapota a kiinduló állapot. Egy kiinduló állapothoz akár több végrehajtási sorozat is tartozhat. Az, hogy ilyenkor éppen melyik végrehajtás következik be, nem definiált, azaz a program nem-determinisztikus. <(15,2) (15,3)> <(15,14) (15,13) (15,12) (15,11) (15,10) (15,9) (15,8) (15,7) (15,6) (15,5)> Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 14 / 32

Megoldás Alapfogalmak program, megoldás Egy program megold egy feladatot, ha: a feladat bármely kezdőállapotból terminál, olyan célállapotban áll meg, amelyet a feladat az adott kezdőállapothoz rendel Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 15 / 32

Tartalom Specifikáció 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 16 / 32

Tartalom Specifikáció állapottér, előfeltétel, utófeltétel 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 17 / 32

Feladat specifikációja Specifikáció állapottér, előfeltétel, utófeltétel Feladat specifikációja Példa állapottér, A, adatokhoz tartozó változó nevek előfeltétel, Q, bemenő adatértékek ( ), kezdőállapotot leíró logikai állítás utófeltétel, R, kezdőértékhez rendelt célállapotot leíró logikai állítás Feladat: egyenes vonalú egyenletes mozgást végző testnek a megtett út (s ) és az eltelt idő (t ) függvényében kell az átlagsebességét (v) kiszámolni. A = (s : R, t : R, v : R) Q = (s = s és t = t és s 0 és t 0) R = (v = s /t ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 18 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Feladat : egy összetett szám legnagyobb valódi osztóját keressük. Az adott természetes összetett szám (n ), a keresett valódi osztó (d) Mindkét adat természetes szám típusú. Az állapottér : A = (n : N, d : N) A két adat közül az első a bemeneti, a második a kimeneti adat. Legyen n a tetszőlegesen kiválasztott bemenő érték. Mivel a feladat nem értelmes a 0-ra, az 1-re és a prímszámokra; ezért az n csak összetett szám lehet. Az előfeltétel : Q = (n = n és n összetett szám ) A célállapot első komponensének, azaz a bemeneti adatnak értéke ne változzon meg, maradjon továbbra is n ; a második adat pedig legyen az n legnagyobb valódi osztója: Az utófeltétel : R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 19 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Specifikáció - összetett szám legnagyobb osztója A = (n : N, d : N) Q = (n = n és n összetett szám ) R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) A = (n : N, d : N) Q = (n = n k [2..n 1] : k n) R = (Q d [2..n 1] d n k [d + 1..n 1] : k n) [m..n] = [m, n] Z Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 32

Specifikáció állapottér, előfeltétel, utófeltétel Specifikáció - összetett szám legnagyobb osztója A = (n : N, d : N) Q = (n = n és n összetett szám ) R = (Q és d valódi osztója n-nek és bármelyik olyan k szám esetén, amelyik nagyobb mint a d, a k nem valódi osztója n-nek ) A = (n : N, d : N) Q = (n = n k [2..n 1] : k n) R = (Q d [2..n 1] d n k [d + 1..n 1] : k n) [m..n] = [m, n] Z Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 20 / 32

Tartalom Elemi programok és szerkezetek 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 21 / 32

Tartalom Elemi programok és szerkezetek strukturált programok 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 22 / 32

Elemi programok és szerkezetek Strukturált programok strukturált programok Elemi programok 1 üres program 2 rossz program 3 értékadás Program szerkezetek 1 szekvencia 2 elágazás 3 ciklus Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 23 / 32

Tartalom Elemi programok és szerkezetek elemi programok 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 24 / 32

Elemi programok és szerkezetek Üres program - SKIP elemi programok SKIP Bármelyik állapotból indul el, abban az állapotban marad A = (a : N, b : N, c : N) Q = (a = 2 b = 5 c = 7) R = (Q (c = a + b c = 10)) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 25 / 32

Elemi programok és szerkezetek Rossz program - ABORT elemi programok ABORT Bármelyik állapotból indul el, abnormális végrehajtást kezd el Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 26 / 32

Értékadás Elemi programok és szerkezetek elemi programok x,y:=y,x Egy vagy több változó új értéket kap. A = (x : Z, y : Z) Q = (x = x y = y ) R = (x = y y = x ) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 27 / 32

Tartalom Elemi programok és szerkezetek programszerkezetek 1 Alapfogalmak típus állapottér, feladat program, megoldás 2 Specifikáció állapottér, előfeltétel, utófeltétel 3 Elemi programok és szerkezetek strukturált programok elemi programok programszerkezetek Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 28 / 32

Szekvencia Elemi programok és szerkezetek programszerkezetek S1 S2 Az egyik program végrehajtása után közvetlenül a másikat hajtódik végre. A = (x : Z, y : Z) Q = (x = x y = y ) R = (x = y y = x ) x:=x-y y:=x+y x:=y-x x=2, y=5 x:=x-y (x=-3,y=5) y:=x+y (x=-3,y=2) x:=y-x (x=5,y=2) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 29 / 32

Szekvencia Elemi programok és szerkezetek programszerkezetek S1 S2 Az egyik program végrehajtása után közvetlenül a másikat hajtódik végre. A = (x : Z, y : Z) Q = (x = x y = y ) R = (x = y y = x ) x:=x-y y:=x+y x:=y-x x=2, y=5 x:=x-y (x=-3,y=5) y:=x+y (x=-3,y=2) x:=y-x (x=5,y=2) Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 29 / 32

Elágazás Elemi programok és szerkezetek programszerkezetek Két vagy több programhoz egy-egy feltételt rendelünk. Az a program (programág) hajtódik végre, amelyhez tartozó feltétel az aktuális állapotban teljesül. S1 f S2 f 1 S1 fn Sn x y max := x y x max := y Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 30 / 32

Ciklus Elemi programok és szerkezetek programszerkezetek Egy adott program (ciklusmag) egymás után annyiszor hajtódik végre, valahányszor olyan állapotban állunk, amelyre egy adott feltétel (ciklusfeltétel) teljesül. A = (n : N, d : R) Q = (n = n k [2..n 1] : k n d = n 1) R = (n = n d [2..n 1] d n k [d + 1..n 1] : k n) cf S d n d := d 1 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 31 / 32

Ciklus Elemi programok és szerkezetek programszerkezetek Egy adott program (ciklusmag) egymás után annyiszor hajtódik végre, valahányszor olyan állapotban állunk, amelyre egy adott feltétel (ciklusfeltétel) teljesül. A = (n : N, d : R) Q = (n = n k [2..n 1] : k n d = n 1) R = (n = n d [2..n 1] d n k [d + 1..n 1] : k n) cf S d n d := d 1 Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 31 / 32

Összefoglalás Elemi programok és szerkezetek programszerkezetek "Programkészítés": 1 szöveges feladat megadás 2 specifikáció 3 struktogramm (elemi programok + programszerkezetek) 4 magas szintű nyelvi kód (forrás) 5 "futtatható kód" programozási tételek... Ajánlott irodalom : Bevezetés a programozásba (Fóthi Ákos) http://people.inf.elte.hu/ekonyvtar/ Programozás módszertan (Gregorics Tibor) http://people.inf.elte.hu/gt/prog/konyv/konyv.html Dr. Istenes Zoltán (ELTE-IK-PSZT) Bevezetés az informatikába 2008 32 / 32