Programozási alapismeretek * A Zh-írás módszertana.

Slides:



Advertisements
Hasonló előadás
Kiválasztás (N,A,sorszam) i := 1 Ciklus amíg (A(i) nem T) i := i+1 Ciklus vége sorszam := i Eljárás vége Kiválasztás.
Advertisements

Sorozatszámítás Sorozatszámítás (N,A,s) s := kezdőérték
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
Algoritmizálás, adatmodellezés tanítása 4. előadás
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
Copyright, 2009 © Szlávi Péter A kupac és a prioritási sor típuskonstrukciók Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Programozási ismeretek oktatása: kód vagy algoritmus
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozási alapismeretek 2. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 2.2/  Adatokkal kapcsolatos.
Programozási alapismeretek 7. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 7. előadás2/  Sorozatszámítás.
Programozási alapismeretek 3. előadás
Programozási alapismeretek 13. előadás. ELTE Érdekességek - kombinatorika  Az iskola bejáratánál N lépcsőfok van. Egyszerre maximum K fokot tudunk lépni,
Programozási alapismeretek
Programozási alapismeretek 1. előadás
Programozási alapismeretek 10. előadás
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Programozási alapismeretek 11. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom.
Programozási alapismeretek 9. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 9. előadás2/
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Borland C/C++ mintapéldák tömbökre
Gombkötő Attila Lineáris egyenlet.
Készítette: Pető László
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Keresés Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
ELTE Szlávi - Zsakó: Programozási alapismeretek 5.1/ Sorozatszámítás Specifikáció (a végleges) :  Bemenet:
ELTE Szlávi-Zsakó: Programozási alapismeretek Szlávi-Zsakó: Programozási alapismeretek 3. 1/
C++ alapok, harmadik óra
Programozás C# -ban Tömbök.
A problémamegoldás lépései
Félévi típus feladatok
Tömbök és programozási tételek
Specifikáció Specifikáció Követelményei: Tömör legyen, egyértelmű, precíz, jól formalizált, szemléletes, érthető Meg kell adni a program bemenő adatait.
Programozási Paradigmák és Technikák
Programozási alapismeretek 11. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 11.2/ Tartalom  Rendezési.
Nevezetes algoritmusok
Programozási tételek.
Copyright, 1999 © Szlávi Péter Sor típuskonstrukció Szlávi Péter ELTE IK Média- és Oktatásinformatikai Tanszék
Programozási tételek.
Programozás I. Típus algoritmusok
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Hőméréskelt változás Okt.23-.nov.6. A hőmérséklet méréseink alapján diagrammokat készitettünk, melyeken feltüntettük az átlag, a minimum és a maximum.
Algoritmizálás, adatmodellezés tanítása 2. előadás.
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
Feladatok (értékadás)
INFOÉRA 2006 Nagypontosságú aritmetika I.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Algoritmizálás, adatmodellezés
Programozási alapismeretek 10. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 10.2/  Kiválogatás + összegzés.
Horváth Bettina VZSRA6 Feladat: Szemléltesse az edényrendezést.
Programozási alapismeretek 11. előadás
Programozási alapismeretek 2. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 2.2/  Adatokkal kapcsolatos.
INFOÉRA 2006 Nagypontosságú aritmetika II.
Excel programozás (makró)
Programozási alapismeretek 4. előadás. ELTE  Programozási tételek – a lényeglényeg  Sorozatszámítás – összegzés… Sorozatszámítás  Megszámolás.
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
INFOÉRA 2006 Nagypontosságú aritmetika III.
Hatékony-e a rekurzió? FÉLEGYHÁZI TAMÁS GÁBOR 1 Kovács Magda-díj pályázat 2015/16.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Programozási alapismeretek 2. előadás
Informatikai gyakorlatok 11. évfolyam
Programozási tételek.
Előadás másolata:

Programozási alapismeretek * A Zh-írás módszertana

ELTE Elvárások 1. Feladatmegértés 2. Specifikáció-megértés (mi mit fejez ki?) + fel- használás (mi mit határoz meg a későbbi lépések- ben?) 3. Algoritmizálási / algoritmusértelmezési készség (hogyan építhető föl elemibb lépésekből? / struktogramolvasás: mi mit ír le?) 4. Kódolási rutin (mi hogyan valósítható meg C++- ban; milyen kódolási sémák vannak? Mikor, melyik séma alkalmazható?) 2/18 Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Programozási folyamat  Kapcsolatok a programozási folyamat- ban: 3/18Feladatszöveg Specifikáció Uf  Lényegi algoritmus Kód Be,Ki  Típusok, deklarációk Ef  beolvasás Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa  Egy példa:  Feladat: Ismerjük az elmúlt N napon dél- ben mért hőmérsékletet. Adjuk meg min- den 7-napos időszakra az átlaghőmérsék- letet! Feladat  Értelmezés:  N napon mért …  valamiből sok, alighanem valamilyen N-elemű tömb lesz  hőmérséklet  tömbelem: valós v. egész  7-napos időszakra  a tömbbeli 7 elemű részsorozattal kell valamit csinálni  minden 7-napos időszakra  sok részsoro- zat, az eredmény is tömb lesz  átlaghőmérséklet  összegzés (  tétel) 4/18 Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana Példa  Specifikáció-létrehozás:  Bemenet: N:Egész; H:Tömb[1..N:Egész]  Kimenet: A:Tömb[1..N–6:Valós]  Előfeltétel: N  7  Utófeltétel:  i(1  i  N–6):  Értelmezés:  Bemenet – deklarálandó + beolvasandó  Kimenet – deklarálandó + kiírandó  Előfeltétel – N ellenőrizendő, H-ra nincs előírás  legfeljebb szintaktikusan ellenő- rizhető 5/18  N napon mért …  valamiből sok, alighanem valamilyen N-elemű tömb lesz  hőmérséklet  tömbelem: valós v. egész  7-napos időszakra  a tömbbeli 7 elemű részsorozattal kell valamit csinálni  minden 7-napos időszakra  sok részsorozat, az eredmény is tömb lesz  átlaghőmérséklet  összegzés (  tétel)

ELTE Példa  Értelmezés (folytatás) :  Utófeltétel – meggondolandó:  i(1  i  N–6): A[i]=…  egy ciklus lesz az A[i]-k kiszámolására; A[i]:=(7*A[i–1]–H[i–1]+H[i+6])/7  A[2..N–6] egyszerűen számolható, de a rekurzió miatt a kiinduló A[1] másként: a sorozatszámítás (összegzés) tétel segítsé- gével 6/18  átlaghőmérséklet  összegzés (  tétel) Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa  Algoritmuslétrehozás: 7/18  Utófeltétel – meggondolandó:  i(1  i  N–6): A[i]:=…  egy ciklus lesz az A[i]-k kiszámolására; A[i]:=(7*A[i–1]–H[i–1]+H[i+6])/7  A[2..N–6] egyszerűen számolható, de a rekurzió miatt a kiinduló A[1] másként: a sorozatszámítás (összegzés) tétel segítsé- gével S:=0 i=1..7 S:=S+H[i] A[1]:=S/7 i=2..N –6 S:=S–H[i–1]+H[i+6] A[i]:=S/7 Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa  Algoritmusolvasás (ha a zh-n kéri) : 8/18 S:=0 i=1..7 S:=S+H[i] A[1]:=S/7 i=2..N –6 S:=S–H[i–1]+H[i+6] A[i]:=S/7 S-t H 1..7 elemeivel növeljük egy ciklus segítségével; majd az átlagot A[1]-be tesszük Egy (2..N-6) ciklussal S-et két, H-beli elem különbségével növeljük, majd az átlagot A[i]-be tesszük Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa  Kódolás (minimum, de már így is lehet ötös) : 9/18 … a kód szokásos részei … int main() { … int N; int MaxN=100; int H[MaxN]; double A[MaxN-6]; … Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 10/18 … bool hiba; do{ cout > N; hiba=N MaxN; if (hiba) { cout << "Helytelen elemszám!" << endl; } }while (hiba); cout << "Kérem a hőmérsékletet!" << endl; for (int i=0;i<N;++i) { cout > H[i]; } … Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 11/18 int s=0; for (int i=0;i<7;++i) { s+=H[i]; } A[0]=s/7; for (int i=1;i<N-6;++i) { s=s-H[i-1]+H[i+6]; A[i]=s/7; } … Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 12/18 … cout << "A hetes átlagok:" << endl; for (int i=0;i<N-6;++i) { cout << i+1 << ".:" << A[i] << endl; } system("pause"); return 0; } Kód Kód jegyzet- ként Kód Kód jegyzet- ként Kód Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa Még szebb, ha függvényekből építkezünk: 13/18 int main() { … deklarációk … int_be("Elemszám:",N,7,MaxN); int_tomb_be("Kérem a hőmérsékletet!",H,N); mozgo_atlagok(H,N,A); int_tomb_ki(A,N-6); system("pause"); return 0; } Makroszerkezet: finomítás-hívások Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 14/18 int main() { … deklarációk … int_be("Elemszám:",N,7,MaxN); int_tomb_be("Kérem a hőmérsékletet!",H,N); mozgo_atlagok(H,N,A); int_tomb_ki(A,N-6); system("pause"); return 0; } void int_be(string kerd, int &_n, int _minN, int _maxN); void int_tomb_be(string kerd, int _h[], int _N); void mozgo_atlagok(const int _h[], int _n, double _a[]); void int_tomb_ki(const double_a[], int _n); Finomítás-fejsorok definíciói Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 15/18 … int main() { … deklarációk … int_be("Elemszám:",N,7,MaxN); int_tomb_be("Kérem a hőmérsékletet!",H,N); mozgo_atlagok(H,N,A); int_tomb_ki(A,N-6); system("pause"); return 0; } Finomítások definíciói; kifejtései void int_be(string kerd, int &_n, int _minN, int _maxN) { … a finomítás törzse … } … Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE Példa 16/18 Finomítások definíciói; kifejtései void int_tomb_be(string kerd, int _h[], int _N) { … a finomítás törzse … } void mozgo_atlagok(const int _h[], int _n, double _a[]) { … a finomítás törzse … } void int_tomb_ki(const double _a[], int _n) { … a finomítás törzse … } Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE A „nagy” elemszám okoz-e valami bajt (pl. túlcsordulást) MaxN+1 MaxN Példa Tesztelési terv:  N-hez – érvényes / érvénytelen / határeset  14 / 5, 101 / 6, 7, 100  N-hez – ekvivalencia-osztályok: 1-hét / több teljes hét / csonka hét is  7 / 14 / 10  N-hez – „volumenteszt”  100  H-hoz – ekvivalencia-osztályok: csupa azonos / szisztematikusan változó / véletlenszerű  {1,1,…} / {1,4,7,10,…} / {1,9,9,2,3,7,2,1,5…} 17/18 MaxN Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana

ELTE 7 elemű, sziszte- matikusan (1, 1+3= 4, 4+3= 7,10,13,16,19) feltöltve Példa A tesztesetek  elvárt eredményekkel kiegészítése (teszteset=bemenet+kimenet)  összevonások (a különböző céllal létrehozottak egyesítése) Tesztfájlok létrehozása (célszerűen megvá- lasztva a fájlnevet, hogy a teszt céljára utaljon). Pl.: K1.14, S1_3.7 Tesztelés elvégzése (a bináris kód elindítása be- meneti és –esetleg– kimeneti fájl paraméterekkel). Pl.: mozgoatlag.exe _K /18 14 elemű, konstans sorozat (1-ekkel feltöltve) Bemeneti fájl Kimeneti fájl Szlávi-Zsakó: Programozási alapismeretek * a Zh-írás módszertana