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

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

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

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

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

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

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

ELEMI PROGRAMOZÁSI TÉTELEK

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

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

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

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

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

Bináris egység: bit (binary unit) bit ~ b; byte ~ B (Gb Gigabit;GB Gigabyte) Gb;GB;Gib;GiB mind más. Elnevezés Jele Értéke Elnevezés Jele Értéke

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

Bevezetés a számítástechnikába

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

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

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

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.

Bevezetés a programozásba I.

Közismereti informatika 2.zh T-M szakirány

Bevezetés a programozásba I.

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

Informatika tagozat osztályozóvizsga követelményei

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

Web-programozó Web-programozó

Programozási nyelvek Python

Szövegfeldolgozás II.

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

1. Egyszerű (primitív) típusok. 2. Referencia típusok

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

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

HTML ÉS PHP ŐSZI FÉLÉV

ELTE SAP Excellence Center Oktatóanyag 1

I. Internetes keresési feladatok (ajánlott idő: 20 perc)

Webdesign II Oldaltervezés 3. Tipográfiai alapismeretek

Algoritmizálás + kódolás C++ nyelven és Pascalban

Java II. I A Java programozási nyelv alapelemei

Témák. Bevezetés az informatikába 7. Előadás. Szövegfile-ok típusai. Szövegszerkesztők típusai. Mértékegységek. Szövegszerkesztők szolgáltatásai

Adatszerkezetek I. 1. előadás

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

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

INFORMATIKAI ALAPISMERETEK

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

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Programozás alapjai (ANSI C)

Előadó. Bevezetés az informatikába. Cél. Ajánlott irodalom. Előismeretek? Felmentés? Dudásné Nagy Marianna. csütörtök Bolyai terem

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. 6. Előadás: C++ bevezető

A 2011/2012 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. INFORMATIKÁBÓL II. (programozás) kategóriában

Java II. I A Java programozási nyelv alapelemei

Bevezetés a programozásba

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

Forráskód formázási szabályok

Bevezetés a programozásba I.

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

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

Shannon és Huffman kód konstrukció tetszőleges. véges test felett

Algoritmizálási feladatok

Informatika terméktervezőknek

Bevezetés az elektronikába

Programozási nyelvek 6. előadás

INFORMATIKAI ALAPISMERETEK

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

Feladataink, kötelességeink, önkéntes és szabadidős tevékenységeink elvégzése, a közösségi életformák gyakorlása döntések sorozatából tevődik össze.

Mintavételes szabályozás mikrovezérlő segítségével

Occam 1. Készítette: Szabó Éva

Bevezetés az informatikába

Programozás II. előadás

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

Az informatika kulcsfogalmai

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

3. ZH-ban a minimum pontszám 15

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

Mikrobiológiai leletfogadás az OSZIR rendszerbe

INFORMATIKA TANMENET 9. OSZTÁLY

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

A C# programozási nyelv alapjai

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

Python tanfolyam Python bevezető I. rész

Regisztrálási útmutató

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Haladó rendezések. PPT 2007/2008 tavasz.

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

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

Algoritmizálás, adatmodellezés tanítása 11. előadás. (Horváth Gyula előadása alapján)

Bevezetés az SPSS program használatába

Í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!

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

Alapvetések. Szövegszerkesztés szabályai. Állományok névadási szabálya I. 10. heti (összevont) gyakorlat. Videó beszúrásának története

Szövegkezelő programok általuk kínált lehetőségek

Minta felvételi feladatsor programozásból

I+K technológiák. Számrendszerek, kódolás

Gyakorló feladatok Gyakorló feladatok

Flex tutorial. Dévai Gergely

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

Átírás:

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

Szöveges típusok (ismétlés) karakter típus szöveg típus szövegfájl típus (input, illetve output szövegfájl) 2018. 01. 2/30

Karakterábrázolás fix kódhossz (ASCII, EBCDIC,..., több karakterkészlet) változó kódhossz (pl. morze, Huffman) telex: betű-számváltó UTF-8-ban minden ékezetes magyar betű 2 byte-ot foglal el, míg egyéb speciális karakterek akár ennél hosszabbak is lehetnek. 2018. 01. 3/30

Szövegábrázolás fix hossz változó hossz karakterszámmal végjellel (pl. 0 kódú karakter) Műveletek hossz(s) relációk, értékadás + (azaz egymásután írás) 2018. 01. 4/30

A. A szöveg karakterek tömbje indexelés s(i) B. A szöveg karakterek sorozata első(s), elsőutániak(s), utolsó(s), utolsóelőttiek(s), elejére(s,k), végére(s,k) C. A szöveg szövegekből áll függvények: bal(s,db), jobb(s,db), közép(s,k,db), közép(s,k,v) vagy részképzés s(a..b), s(a..), s(..b) 2018. 01. 5/30

B. A szöveg karakterek sorozata Függvény első(s):karakter első:=s(1) Függvény vége. Függvény elsőutániak(s):szöveg t:= Ciklus i=2-től hossz(s)-ig t:=t+s(i) Ciklus vége elsőutániak:=t Függvény vége. Függvény elejére(s,k):szöveg elejére:=k+s Függvény vége. 2018. 01. 6/30

C. A szöveg szövegekből áll Függvény bal(s,db):szöveg t:= Ciklus i=1-től db-ig t:=t+s(i) Ciklus vége bal:=t Függvény vége. 2018. 01. 7/30

Fogalmak (azaz új típusok): karakter szó sor lap dokumentum Szöveges típusok Fogalmak a megjelenítéshez: képsor képlap 2018. 01. 8/30

Szó típus fogalma szó=sorozat(karakter) Szó típus műveletei: végére(szó,karakter) elejéről(szó,karakter) Szöveges típusok Ha írásjelek vannak a szövegben, akkor azok tartozzanak az adott szóhoz! 2018. 01. 9/30

Műveletek megvalósítása: Szöveges típusok Eljárás végére(szó,karakter): szó:=szó+karakter Eljárás elejéről(szó,karakter): karakter:=első(szó) szó:=elsőutániak(szó) 2018. 01. 10/30

Sor típus fogalma: sor=sorozat(szó) Sor típus műveletei: végére(sor,szó) elejéről(sor,szó) Szöveges típusok Elválasztó jel szavak között: szóköz sorvég 2018. 01. 11/30

Műveletek megvalósítása: Eljárás végére(sor,szó): Ha sor= akkor sor:=szó különben sor:=sor+ +szó Eljárás elejéről(sor,szó): szó:= Ciklus amíg sor és első(sor) szó:=szó+első(sor); sor:=elsőutániak(sor) Ciklus vége Ha sor akkor sor:=elsőutániak(sor) Figyelem! Itt és a későbbi algoritmusokban használt első() és elsőutániak()a szöveg típus műveleteit jelentik! 2018. 01. 12/30

Lap típus fogalma lap=sorozat(sor) Lap típus műveletei: végére(lap,sor) elejéről(lap,sor) Végjel sorok után: sorvég Szöveges típusok 2018. 01. 13/30

Műveletek megvalósítása: Eljárás végére(lap,sor): lap:=lap+sor+sorvég Eljárás elejéről(lap,sor): sor:= Ciklus amíg első(lap) SORVÉG sor:=sor+első(lap); lap:=elsőutániak(lap) Ciklus vége lap:=elsőutániak(lap) 2018. 01. 14/30

Dokumentum típus fogalma dokumentum=sorozat(lap) Dokumentum típus műveletei: végére(dokumentum,lap) elejéről(dokumentum,lap) Végjel lapok után: lapvég Mi van, ha az utolsó lap után nincs lapvég-jel? 2018. 01. 15/30

Műveletek megvalósítása: Eljárás végére(dokumentum,lap): dokumentum:=dokumentum+lap+lapvég Eljárás elejéről(dokumentum,lap): lap:= Ciklus amíg első(dokumentum) LAPVÉG lap:=lap+első(dokumentum) dokumentum:=elsőutániak(dokumentum) Ciklus vége dokumentum:=elsőutániak(dokumentum) 2018. 01. 16/30

Meggondolandó: mondat típus A. A mondat szavak sorozata, ahol az utolsó szó utolsó karaktere mondat-vég jel (. vagy? vagy!). Eljárás végére(sor,mondat,jel): Ha sor= akkor sor:=mondat+jel különben sor:=sor+ +mondat+jel 2018. 01. 17/30

Meggondolandó: mondat típus A. A mondat szavak sorozata, ahol az utolsó szó utolsó karaktere mondat-vég jel (. vagy? vagy!). Eljárás elejéről(sor,mondat,jel): mondat:= Ciklus amíg első(sor) {.,?,! } mondat:=mondat+első(sor) sor:=elsőutániak(sor) Ciklus vége jel:=első(sor); sor:=elsőutániak(sor) 2018. 01. 18/30

Meggondolandó: Szó típus B. Az írásjel ne legyen része a szónak! Eljárás elejéről(sor,szó,jel): szó:= ; jel:= Ciklus amíg sor és első(sor) { } Írásjelek szó:=szó+első(sor); sor:=elsőutániak(sor) Ciklus vége Ha sor akkor Ha első(sor) akkor jel:=első(sor); sor:=elsőutániak(sor) sor:=elsőutániak(sor) 2018. 01. 19/30

Műveletek a formázáshoz: ElsőKépsor BalrólLevág JobbrólLevág BalraIgazít JobbraIgazít KözépreIgazít Sorkizárt Szöveges típusok 2018. 01. 20/30

Műveletek megvalósítása: Eljárás ElsőKépsor(sor,képsor): elejéről(sor,képsor) Ha sor akkor elejéről(sor,x); van:=igaz Ciklus amíg hossz(képsor)+hossz(x)+1 KSHOSSZ és van képsor:=képsor+ +X Ha sor akkor elejéről(sor,x) különben van:=hamis Ciklus vége Ha van akkor sor:=x+ +sor Elágazás vége Elágazás vége 2018. 01. 21/30

Műveletek megvalósítása: Eljárás BalrólLevág(ks): Ciklus amíg ks és ks(1)= ks:=elsőutániak(ks) Ciklus vége Eljárás JobbrólLevág(ks): Ciklus amíg ks és ks(hossz(ks))= ks:=utolsóelőttiek(ks) Ciklus vége 2018. 01. 22/30

Műveletek megvalósítása: Szöveges típusok Eljárás BalraIgazít(ks): BalrólLevág(ks) Eljárás Jobbraigazít(ks): JobbrólLevág(ks) Ciklus amíg hossz(ks)<kshossz ks:= +ks Ciklus vége 2018. 01. 23/30

Műveletek megvalósítása: Szöveges típusok Eljárás KözépreIgazít(ks): BalrólLevág(ks); JobbrólLevág(ks) Ciklus amíg hossz(ks)<kshossz-1 ks:= +ks+ Ciklus vége Ha hossz(ks)<kshossz akkor ks:=ks+ 2018. 01. 24/30

Műveletek megvalósítása: Szöveges típusok Eljárás Sorkizárt(ks): BalrólLevág(ks); JobbrólLevág(ks) kell:=kshossz-hossz(ks); db:=szoszamol(ks)-1 kellplusz:=kell MOD db; kell:=kell DIV db Elejéről(ks,szó,jel); uj:=szó+jel Ciklus i:=1-től db-ig Ha i kellplusz akkor uj+=szöközök(kell+1) különben uj+=szöközök(kell) Elejéről(ks,szó,jel); uj+=szó+jel Ciklus vége ks:=uj 2018. 01. 25/30

Algoritmizálás és adatmodellezés tanítása 9. előadás vége