Bevezetés a programozásba I.

Hasonló dokumentumok
Bevezetés a programozásba I.

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

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

Bevezetés a programozásba I.

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. 5. Előadás: Tömbök

Bevezetés a programozásba I.

Programozási segédlet

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

Felvételi tematika INFORMATIKA

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

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

1. gyakorlat

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

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

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

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

Egyszerű programozási tételek

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

I. Specifikáció készítés. II. Algoritmus készítés

Példatár a bevezetés a Matlab programozásába tárgyhoz

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

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Gyakorló feladatok az 1. nagy zárthelyire

INFORMATIKA javítókulcs 2016

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

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

1. Jelölje meg az összes igaz állítást a következők közül!

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

BME MOGI Gépészeti informatika 5.

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Bevezetés a programozásba I.

START. Billentyűzár ki. Üss be egy számot. Beütöttem az összes számot. Hívás. Várakozás. felveszik. Beszélek. Befejezem a beszélgetést.

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

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

Alkalmazott modul: Programozás. Programozási tételek, rendezések Giachetta Roberto

Programozás I gyakorlat

INFORMATIKAI ALAPISMERETEK

Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök. Adatfolyamok Hibalehetőségek

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

ELEMI PROGRAMOZÁSI TÉTELEK

Bevezetés a programozásba I 8. gyakorlat. C++: szövegfolyamok, intelligens tömbök

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

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

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.

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

Tájékoztató. Használható segédeszköz: -

Programozás alapjai 9.Gy: Struktúra 2.

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

Bevezetés a programozásba I.

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

Ö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.

3 A C programozási nyelv szintaktikai egységei

PROGRAMOZÁSI TÉTELEK

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

Objektumorientált Programozás VI.

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Tartalomjegyzék Algoritmusok - pszeudókód

Hasonlítsd össze! Melyik nagyobb, mennyivel? Tedd ki a jelet!

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

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

Hatékonyság 1. előadás

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

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

Számítógép és programozás 2

Gyakorló feladatok. Az alaputasítások olyanok, mint C-ben. (Részleteket ld. segedletek/02.pdf vagy bármelyik Java tutorial.)

Objektum Orientált Programozás VII.

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Egyszerű programok készítése Kifejezések Bitszintű műveletek Relációs műveletek... 58

BME MOGI Gépészeti informatika 6.

Alkalmazott modul: Programozás

Maximum kiválasztás tömbben

Adatszerkezetek és algoritmusok Geda, Gábor

Programozási nyelvek Java

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

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

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

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál.

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Számelmélet Megoldások

MATEMATIKA VERSENY

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Véletlen sorozatok ellenőrzésének módszerei. dolgozat

BASH SCRIPT SHELL JEGYZETEK

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

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Adatszerkezetek és algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok

Intézményi felhasználók karbantartása, jogosultság beállítása. Felhasználói dokumentáció. 1 / 9 oldal

Matematikai és matematikai statisztikai alapismeretek

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

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Tájékoztató a Rendszeres Tanulmányi Ösztöndíj Modulóban található adataival kapcsolatban

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Tanmenetjavaslat 5. osztály

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Ajánlott elemi feladatok az AAO tárgyhoz 41 feladat

Átírás:

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 adattal dolgoztunk (pl. egy EGÉSZ, VALÓS, SZÖVEG (bár ez már karakterek sorozata volt), stb.) A SZÖVEGhez hasonlóan most is adatok sorozatával fogunk dolgozni, de most az alaptípus bármilyen típus lehet lehet. Az indexelés (a SZÖVEGhez hasonlóan) nullával indul. tomb : így kérdezhetjük le a tömb hosszát.

Tömbök Tömbök, példa Feladat: Készíts egy három elem EGÉSZ alaptípus feletti tömböt, és töltsd föl 0-100 közötti véletlen számokkal, majd írd ki a tömb tartalmát! PROGRAM tomb1 VÁLTOZÓK: tomb: EGÉSZ[3] tomb[0] := RND 100 tomb[1] := RND 100 tomb[2] := RND 100 KI: tomb PROGRAM_VÉGE

Tömbök Tömbök, második példa Módosítjuk a feladatot: Készíts egy harminc elem EGÉSZ alaptípus feletti tömböt, és töltsd föl 0-100 közötti véletlen számokkal, majd írd ki a tömb tartalmát! PROGRAM tomb1b VÁLTOZÓK: tomb: EGÉSZ[30], i: EGÉSZ i := 0 CIKLUS AMÍG i < tomb tomb[i] := RND 100 i := i + 1 CIKLUS_VÉGE KI: tomb PROGRAM_VÉGE

A programozási tételek valamilyen sorozaton elvégzett m velet. (a sorozat nem feltétlenül számsorozat!) A mai órán ezekr l lesz szó: Összegzés tétele: a sorozat elemeit valamilyen m velettel összegezzük (általában összeadással) Számlálás tétele: a sorozat elemei közül bizonyos tulajdonságúakat összeszámolunk Lineáris keresés: a sorozat elemei között megkeressük, hogy van-e adott tulajdonságú elem Maximum keresés: a sorozat elemei közül melyik a legnagyobb (minimum keresésnél: melyik a legkisebb)

Összegzés Összegzés, alappélda Feladat: Adjuk össze a bemenetr l számokat! (Addig olvassunk be, amíg a bemeneten 0 nem lesz!) Specikáció: BE: egész számok, utolsó helyen nulla KI: a beolvasott számok összege Ehhez kell egy segédváltozó (sum), ami olyan típusú, mint amilyen típusú elemeket beolvasunk. Valamint kell egy olyan változó, amibe beolvasunk (in).

Összegzés Összegzés, alappélda (folyt.) PROGRAM osszeg1 VÁLTOZÓK: sum, in: EGÉSZ sum := 0 ** nulla a kezd. érték in := -1 CIKLUS AMÍG in /= 0 BE: in sum := sum + in CIKLUS_VÉGE KI: sum PROGRAM_VÉGE

Összegzés Összegzés, második példa Feladat: Szorozzunk össze a bemenetr l számokat! (Addig olvassunk be, amíg a bemeneten 0 nem lesz!) Specikáció: BE: egész számok, utolsó legyen nulla KI: a beolvasott számok szorzata A változók ugyanazok, csupán a '+' jelet kell '*'-ra cserélni, illetve a sum kezd értékét 1-re változtatni.

Összegzés Összegzés, második példa (folyt.) PROGRAM osszeg2 VÁLTOZÓK: sum, in: EGÉSZ sum := 1 in := -1 CIKLUS AMÍG in /= 0 BE: in sum := sum * in CIKLUS_VÉGE KI: sum PROGRAM_VÉGE Hibás a program! Az érték mindig nulla lesz, mert a legvégén beolvassuk a nullát, és azzal is megszorozzuk!

Összegzés El reolvasás A megoldást az el reolvasás jelenti. a beolvasás mindig a ciklusmag végére kerül, a ciklusmag elejére pedig a feldolgozás (ami most itt szorzás) mivel a ciklusmag elején dolgozzuk fel, így a ciklus el tt el re kell olvasnunk!

Összegzés El reolvasás (folyt.) PROGRAM osszeg2 VÁLTOZÓK: sum, in: EGÉSZ sum := 1 BE: in ** előreolvasás CIKLUS AMÍG in /= 0 sum := sum * in BE: in CIKLUS_VÉGE KI: sum PROGRAM_VÉGE Láthatjuk, hogy a ciklusmagban el ször elvégezzük a m veletet (szorzás), majd beolvasunk.

Számlálás Számlálás tétele Egy sorozatban valamilyen tulajdonságú elemeket számoljuk össze. Egy felhasználótól bekért szövegben számoljuk össze a nagybet ket! Specikáció: BE: szöveg KI: nemnegatív egész szám, hogy mennyi nagybet van a szövegben Szükség van egy segédváltozóra (c), ami kezd értékként a nullát kapja. A ciklus során ezt a változót fogjuk növelni, ha találunk nagybet t.

Számlálás PROGRAM szamlalas VÁLTOZÓK: i, c: EGÉSZ, s: SZÖVEG c := 0 BE: s i := 0 CIKLUS AMÍG i < s HA s[i] = NAGY s[i] AKKOR c := c + 1 HA_VÉGE i := i + 1 CIKLUS_VÉGE KI: c PROGRAM_VÉGE

Lineáris keresés Lineáris keresés Egy sorozatban megkeressük, hogy van-e egy adott tulajdonságú elem. Ha van, akkor visszaadjuk a helyét vagy magát az elemet. Ha több is van, akkor a legels helyét (vagy az elemet) adjuk vissza. Feladat: A bemenetr l olvassunk be egész számokat nulláig. Közben keressük meg a legels kétjegy számot! Használjunk el reolvasást! (ha nem találunk ilyen számot, azt jelezzük szövegesen!) Specikáció: BE: számok, a végén nulla KI: mi a legels kétjegy szám

Lineáris keresés Lineáris keresés PROGRAM linker1 VÁLTOZÓK: e, t: EGÉSZ, talalt: LOGIKAI t := 0 talalt := HAMIS BE: e...

Lineáris keresés Lineáris keresés (folyt.)... CIKLUS AMÍG e /= 0 ÉS NEM talalt HA e > 9 ÉS e < 100 AKKOR t := e talalt := IGAZ HA_VÉGE BE: e CIKLUS_VÉGE HA talalt AKKOR KI: t KÜLÖNBEN KI: "nincs köztük kétjegyű szám!" HA_VÉGE PROGRAM_VÉGE

Maximumkeresés Maximumkeresés Maximumkeresés során egy sorozat elemei között megkeressük a legnagyobb elemet, és visszaadjuk magát az elemet, vagy a helyét. A sorozat elemei között kell valamilyen összehasonlítási m velet. Például számoknál a kisebb/nagyobb, szövegnél lehet a hosszuk, de lehet ábécé-sorrend szerint is.

Maximumkeresés Maximumkeresés, példa Feladat: Olvassunk be számokat nulláig! Közben keressük meg a legnagyobbat! (el reolvasás!) Specikácó: BE: egész számok, a végén nulla KI: (egész) a legnagyobb szám Szükség lesz egy segédváltozóra (max), amiben tároljuk az addigi legnagyobb elemet.

Maximumkeresés Maximumkeresés, példa (folyt.) PROGRAM maxker VÁLTOZÓK: e, max: EGÉSZ BE: e max := e CIKLUS AMÍG e /= 0 HA max < e AKKOR max := e HA_VÉGE BE: e CIKLUS_VÉGE KI: max PROGRAM_VÉGE

Maximumkeresés Feladatok III-1. Számítsd ki egy szám faktoriálisát! (1 2 3... (n 1) n) III-22. Egy tetsz leges szövegr l add meg, hány számjegy, hány nagybet és hány kisbet van benne! III-27. Add meg egy tetsz leges szöveg leghosszabb szavát! Add meg egy tetsz leges szövegb l az els nagybet t, és a helyét!

Maximumkeresés Házi feladatok III-12.) Egy tetsz leges számsorban add meg a legkisebb és a legnagyobb számot. (a számsort vagy bemenetr l olvasd, vagy véletlen számokkal feltöltött tömbben tárold) III-11.) Egy pozitív egész számokból álló számsorban add meg, hogy hány páros szám van! III-19.) Egy egész számról döntsd el, hogy prímszám-e! V-2.) Számítsd ki egy vektor átlagát (vektor: egy dimenziós tömb)!

Maximumkeresés Szorgalmi feladatok III-20.a) Sorold fel az els N prímszámot! III-30.a) Egy tetsz leges szövegr l add meg, hány mondat található benne. Mondatnak tekintünk minden olyan sort, ami nagybet vel kezd dik, és ponttal, felkiáltójellel vagy kérd jellel végz dik!