Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Szövegfeldolgozás 3. Copyright, 1999 © Szlávi Péter Szlávi Péter

Hasonló előadás


Az előadások a következő témára: "Szövegfeldolgozás 3. Copyright, 1999 © Szlávi Péter Szlávi Péter"— Előadás másolata:

1 Szövegfeldolgozás 3. Copyright, 1999 © Szlávi Péter Szlávi Péter
Szövegfeldolgozás 3. Copyright, 1999 © Szlávi Péter Programozásmódszertan, 1999

2 Tartalomjegyzék 4. Szövegtípus speciális feladatai (folytatás)
Szlávi Péter Tartalomjegyzék 4. Szövegtípus speciális feladatai (folytatás) 4.1. Szövegminta keresés Eltolás a minta jelei alapján Eltolás a szöveg jelei alapján Keresés leképező függvénnyel 4.2. Szövegtitkosítás módszerei Caesar-féle kódolás Vignère-féle kódolás Helyettesítő táblás kódolás Blokk-permutáló kódolás Nyilvános kulcsos (RSA) kódolás 4.3. Hiperszöveg-kezelés Programozásmódszertan Programozásmódszertan, 1999

3 Szlávi Péter 4.1. Szövegminta keresés A feladat: Hol kezdődik az s szövegben az sminta szöveg? Alapmegoldás: A keresés tétel és az eldöntés tételéből: siker:=Hamis; i:=1 [ahol tartunk az s-ben] Ciklus amíg iHossz(s)-Hossz(sminta)+1 és nem siker j:=1 [ahol tartunk az sminta-ban] Ciklus amíg jHossz(sminta) és Jele(sminta,j)=Jele(s,i+j-1) j:+1 Ciklus vége siker:=(j>Hossz(sminta)) Ha nem siker akkor i:+1 Ciklus vége A keresés+eldöntés PT12 szerinti „egybetranszformálása”. (Lásd: Ha s hossza: sH, és sminta hossza smH, akkor „nagyvonalú” (átlagos rossz eseteket alapul vevő) számítás szerint: sH/2 * smH/2, azaz sH*smH/4 hasonlítással jár egy sikeres keresés. A sikertelen legrosszabb esetében, amikor az sH-ban végigmegyünk és eközben a legkésőbb jövünk rá a nem-illeszkedésre: (sH-smH+1)*(smH-1) = sH*smH-smH2+smH-sH+smH-1. A probléma forrása, hogy az s egy-egy jelét többször is hasonlítja a minta más-más jelével. Programozásmódszertan, 1999 Programozásmódszertan, 1999

4 4.1. Szövegminta keresés 4.1.1. Eltolás a minta jelei alapján
Szlávi Péter 4.1. Szövegminta keresés Eltolás a minta jelei alapján Probléma: nem veszi figyelembe a feladat specialitásait… ui.: … a „tudhatná”-kat … „Meggondolatlan” lépések: 1  2, 3  4 ui. előrelátható a kudarc Jelmagyarázat: karakterhasonlítás egyezéssel; illetve ütközéssel. Hasonlítások száma konkrétan: = 12; a jóslás szerint: 9*3/4~7. Programozásmódszertan Programozásmódszertan, 1999

5 4.1. Szövegminta keresés 4.1.1. Eltolás a minta jelei alapján
Szlávi Péter 4.1. Szövegminta keresés Eltolás a minta jelei alapján Egy „gondolkodó” algoritmus lépései: Így a korábbi 12 hasonlítás helyett 10-et tenne. Megoldás: eltolás vektor, amely megadja, hogy az smintabeli i. karakter nem egyezésekor mennyivel léptethető a keresett minta. Jelmagyarázat: karakterhasonlítás egyezéssel; illetve ütközéssel. Az 12 tudhatná előreutalás KNP-módszerre, a 34 pedig inkább a BM-módszerre… Hasonlítások száma: = 10 Programozásmódszertan Programozásmódszertan, 1999

6 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) A módosított algoritmus: Pl. a korábbi ‘aba’ mintához a (1,1,2) Eltolás vektor jónak tű-nik… vagy az ‘aaaaaa’-hez kitűnő lenne az (1,2,3,4,5,6)... siker:=Hamis; i:=1 [i:ahol tartunk az s-ben] Ciklus amíg iHossz(s)-Hossz(sminta)+1 és nem siker j:=1 [j:ahol tartunk az sminta-ban] Ciklus amíg jHossz(sminta) és Jele(sminta,j)=Jele(s,i+j-1) j:+1 Ciklus vége siker:=(j>Hossz(sminta)) Ha nem siker akkor i:+Eltolás(j) Ciklus vége Itt az várható, hogy a fölösleges, többszörös hasonlításokat elkerüljük, vagyis a hasonlítások száma nagyjából az s hosszával arányos. A korábbival összhangban lévő számítás alapján várható hasonlításszám: sH/2. Az előbbi „naivhoz” képest smH/2-szeres a nyereség, vagyis annál nagyobb, minél hosszabb a minta. Programozásmódszertan Programozásmódszertan, 1999

7 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) A továbbiak legfontosabb felfedezése: a hasonlítás visszafelé történő megszervezése! Knuth-Morris-Pratt algoritmusa: siker:=Hamis; i:=1 [i:ahol tartunk az s-ben] Ciklus amíg iHossz(s)-Hossz(sminta)+1 és nem siker j:=Hossz(sminta) [j:ahol tartunk az sminta-ban] Ciklus amíg 1j és Jele(sminta,j)=Jele(s,i+j-1) j:-1 Ciklus vége siker:=(j=0) Ha nem siker akkor i:+Eltolás(j) Ciklus vége Figyelem az alábbi megjegyzés „általánosságban” értendő (esetleg a következőkben tárgyalt BM-módszerre) és –sajnos– nem vonatkozni a KMP-módszerre! A „visszafelé-ség” nyeresége abban áll, hogy így minél hamarabb kiderül egy adott pozícióban a minta illeszthetetlensége, annál több jel maradhat ki az összehasonlításból. Szélsőségesen pl. lehetséges az, hogy egy adott minta csak utolsó jelét vetjük össze a sorozat egy jelével, s máris odébb toljuk a mintát teljes hosszával (mondván, hogy a szöveg olyan jelével történt az összehasonlítás, amely a mintában egyáltalán nincsen). Ilyenkor a szükséges hasonlításszám, akár sM/smH-ra is lecsökkenhet. Az „alap” algoritmushoz képesti hatékonyságnövekedés: smH2-szeres. (Pl. 10 hosszú minta esetén 100-szoros.) Programozásmódszertan Programozásmódszertan, 1999

8 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) Az Eltolás vektor generálása: Alapeset: ha a keresett minta minden eleme különböző, a léptetés értéke a hátulról számított pozícióval egyezik meg. Programozásmódszertan Programozásmódszertan, 1999

9 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) Közel ismétlődő jelek esete: ha van közeli ismétlődés a mintában, akkor ez nem jelent különbséget az alapesettől. Az eltolási vektor elemei hátulról monoton növekedőek. (És nem csak az eddig megszerzett tapasztalatok súgják!) A monotonitás: nyilvánvaló! Ui. a monotonitás megsértése egyet jelentene azzal, hogy egy korábban meghozott, akkor garantáltan jó döntésünket vonnánk vissza! Biztos, hogy ha kevesebbel tolnánk el, mint egy hátrább lévő eltolási érték előírja, akkor amiatt garantáltan ütközést produkálnánk a hátulsó jelek valamelyikénél. Programozásmódszertan Programozásmódszertan, 1999

10 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) Távol ismétlődő jelek esete: másrészt (?=5) ha az ismétlődő jel távolsága nagyobb, mint az első azonos jel pozíciószáma, akkor vagy az ismétlődő jel pozíciószáma lesz a léptetési érték, vagy a kettejük pozíciószámának különbsége. Programozásmódszertan Programozásmódszertan, 1999

11 4.1.1. Eltolás a minta jelei alapján (folytatás)
Szlávi Péter Eltolás a minta jelei alapján (folytatás) Típus EVektor=Tömb(1..MaxHossz:Egész) Az algoritmusa: Eljárás EltolásVektor(Konstans minta: Szöveg, Változó ev: EVektor): Változó n,i:PozEgész n:=Hossz(minta); ev(n):=1 Ciklus i=n-1-től 1-ig -1-esével [ismétlődéskeresés:] ev(i):=ev(i+1) [monoton kezdés  a túl közeli ismétlődés nem érdekes] Ciklus amíg i+ev(i)n és Jele(minta,i)Jele(minta,i+ev(i)) ev(i): Ciklus vége Ciklus vége Eljárás vége. Programozásmódszertan Programozásmódszertan, 1999

12 4.1. Szövegminta keresés 4.1.2. Eltolás a szöveg jelei alapján
Szlávi Péter 4.1. Szövegminta keresés Eltolás a szöveg jelei alapján Boyer-Moore ötlete: Ha a minta helyett a szöveg jeleihez rendelünk eltolási érté-keket, akkor –elvben– az addig elvégzett hasonlítás számnál nagyobb ugrásra is mód lehet. Ui. legyen Változó Eltolás:EVektor N-i, ha Jele(minta,i)=c és cVége(minta,i+1) Eltolás(c):= N, ha cminta ahol N:=Hossz(minta) Típus EVektor=Tömb(1..MaxHossz:Egész) EVektor=Tömb(Karakter:Egész) { ad Eltolás vektor definíciója: A vektort értelmezhetjük úgy, hogy ennyi jellel lehet továbbléptetni, amikor a minta utolsó jele az adott s-beli jellel ütközik. Ez után érthető, hogy a minta utolsó jeléhez miért 0 tartozik. Programozásmódszertan Programozásmódszertan, 1999

13 4.1.2. Eltolás a szöveg jelei alapján (folytatás)
Szlávi Péter Eltolás a szöveg jelei alapján (folytatás) 1. példa: s : ’abcadabcab’; sminta : ’abcab’ Eltolásvektor: ’a’1; ’b’0; ’c’2; más jel5 2. példa: s : ’abcccabcab’; sminta : ’abcab’ ad 2. példa: A c-nél ütközés után az előírt 2-vel elmozgatás után semmi garancia nincs, hogy a minta vége egyezni fog… hiszen nem a minta ütköző jeléből indultunk ki, s nem vettük figyelembe, hogy a minta mely jelével; ezért további korrekciós léptetést végzünk úgy, hogy az utolsó jel s-beli párja szerint, gondolkodás nélkül odébb toljuk a mintát. Ez megerősíti az eddig „furcsa” 0 értékét az utolsó jel lépésszámának: ha nem kell odébb tolni, akkor a 0-val léptetést éppen ezt eredményezi. Programozásmódszertan Programozásmódszertan, 1999

14 4.1.2. Eltolás a szöveg jelei alapján (folytatás)
Szlávi Péter Eltolás a szöveg jelei alapján (folytatás) Az algoritmusa: siker:=Hamis; m:=Hossz(sminta); i:=m Szinkronizálás(i) Ciklus amíg [iHossz(s) és] i+Eltolás(Jele(s,i))Hossz(s) és nem siker j:=m; siker:=(Jele(sminta,j)=Jele(s,i)) Ciklus amíg j>1 és siker j:-1; i:-1; siker:=(Jele(sminta,j)=Jele(s,i)) Ciklus vége Ha nem siker akkor Ha Eltolás(Jele(s,i))>m-j+1 akkor i:+Eltolás(Jele(s,i)) különben i:+m-j+1 Szinkronizálás(i) Elágazás vége Ciklus vége [sikerminta=s(i..i+m-1)] ad „Eltolás(Jele(s,i))>m-j+1”: Az „előírt” eltolás és a hátulról vett sorszám (azaz a már vizsgált mintahossz) közül a nagyobbik… Hiszen mindkettő azt állítja, így legalább annyival léptethető, ergo a nagyobbal léptetendő! ad gomb: rákattintva, le kell tölteni és kicsomagolni a SzovKer.zip-et. Kipróbálni a Keres.exe-t 1. a felkínált opcionális paraméterekkel, majd 2. a keresendő szöveg legyen megtalálhatatlan, esetleg még 3. a keresendő egy megtalálható, de rövid. Összehasonlítandó a kétféle keresés lépésszáma! Eljárás Szinkronizálás(Változó i:Egész): Ciklus amíg iHossz(s) és Eltolás(Jele(s,i))0 i:+Eltolás(Jele(s,i)) Ciklus vége Eljárás vége. Programozásmódszertan Programozásmódszertan, 1999

15 4.1. Szövegminta keresés 4.1.3. Keresés leképező függvénnyel
Szlávi Péter 4.1. Szövegminta keresés Keresés leképező függvénnyel Rabin-Karp ötlete: a mintát tekintsük d-alapú számrendszerbeli számként, ahol d a szövegben előforduló jelféleségek száma. Legyen a minta i. jeléhez rendelt szám – sm(i):=Kód(Jele(minta,i)) akkor a mintához rendelt szám – x:=sm(1)*dm-1+sm(2)*dm …+sm(m-1)*d+sm(m) A szövegben is képezve ugyanennyi jelből egy számot: y:=sm(i)*dm-1+sm(i+1)*dm-2+…+sm(i+m-2)*d+sm(i+m-1), s e két számot kell összehasonlítani. Ha különböznek, akkor az eggyel odébb léptetés utáni új szám könnyen adódik: y’:=(y-sm(i)*dm-1)*d+s(i+m) [0..d) A Kód fv. speciális (a szokásos, ugyanilyen nevűtől eltérő) fv. Hiszen most csak d-féle jelhez kell folyamatosan kódértéket rendelnie! Programozásmódszertan Programozásmódszertan, 1999

16 4.1.3. Keresés leképező függvénnyel (folytatás)
Szlávi Péter Keresés leképező függvénnyel (folytatás) Javítása: Hogy ne kelljen nagypontosságú aritmetikával küzdeni, a szám-hozzárendelést Mod q végezzük; ahol q egy kellően nagy, de még „kezelhető” nagyságú prím szám. Következmény: a szám-azonosság is csak „modulo” értendő, azaz még a karakteres azonosság ellenőrizendő. Algoritmus: sminta s1:=0 Ciklus i=1-től m-ig s1:=(s1*d+Kód(Jele(sminta,i))) Mod q Ciklus vége s2:=0 Ciklus i=1-től m-ig s2:=(s2*d+Kód(Jele(s,i))) Mod q Ciklus vége Konstans q:PozEgész( ) d:PozEgész(26) Változó m,s1,s2,dh:PozEgész m:=Hossz(sminta); dh:=1 Ciklus i=1-től m-1-ig dh:=(d*dh) Mod q Ciklus vége (a+b) Mod q  ((a Mod q)+b) Mod q Az első ciklus célja: dhm-1 mod q kiszámítása. dm-1 s Programozásmódszertan Programozásmódszertan, 1999

17 4.1.3. Keresés leképező függvénnyel (folytatás)
Szlávi Péter Keresés leképező függvénnyel (folytatás) i:=1 Ciklus amíg iHossz(s)-m és s1s2 s2:=(s2+d*q-Kód(Jele(s,i))*dh) Mod q [s2 pozitív maradjon] s2:=(s2*d+Kód(Jele(s,i+m))) Mod q i:+1 Ciklus vége siker:=(s1=s2) Eddig tehát a siker megadja, hogy lehet, hogy itt megvan (siker=Igaz), vagy biztosan nincs (siker=Hamis). Ha lehet, hogy megvan, akkor még a karakteres ellenőrzés hátra- van, és nem azonosság esetén folytatódik ettől a ponttól a keresés az előbbiek szerint. Az s2 kiszámítása két lépésben: hogy ne csorduljon túl. A +dq, hogy pozitív legyen, ami az s2 „modul q” volta miatt nem lenne garantált. Programozásmódszertan Programozásmódszertan, 1999

18 4.2. Szövegtitkosítás 4.2.1. Caesar-féle kódolás
Szlávi Péter 4.2. Szövegtitkosítás Caesar-féle kódolás Caesar ötlete: a jelek eltolása az abc-ben rögzített k lépéssel. Pl.: ha abc:={‘A’,’B’, … ,‘Z’}; k:=3 akkor tabc={‘D’,‘E’, …,‘C’} és s:=‘MARCIUSIDUSA’   ts=‘PDUFLXVLGXVD’ PDUFLXVLGXVD 26-féle „kulcs” lehet A B C D E F … X Y Z A B C D E F … X Y Z Programozásmódszertan Programozásmódszertan, 1999

19 4.2. Szövegtitkosítás 4.2.2. Vignère-féle kódolás
Szlávi Péter 4.2. Szövegtitkosítás Vignère-féle kódolás Vignère ötlete: a jelek eltolása az abc-ben rögzített K kulcs-szó alap-ján számolt lépéssel. Az eltolás szabálya: Pl.: ha abc:={‘A’, ‘B’, … ‘Z’} K:=‘CAESAR’ akkor s:=‘MARCIUSIDUSA’ CAESARCAESAR   ts=‘OAVUIMUIHNSR’ OAVUIMUIHNSR JEL LÉPÉS ‘A’  0 ‘B’  1 ‘Z’  25 „Vignere = Vigenere” a helyesírása változó az irodalomban ‘M’+’C’ = CiklikusLéptetés(‘M’,Lépés(‘C’)) A „megfejthetetlenségről”: a próbaprogram (Vignere-féle) kulcsa legyen egy jel, majd nézzük meg a betűstatisztikát, és következtessünk a próbaprogram kulcsa most legyen hosszabb (pl. CAESAR), majd nézzük meg a betűstatisztikát, és következtessünk Megjegyzés: a futás és a dia közötti eltérés magyarázata az, hogy a dián nagybetűs az abc, míg a program kisbetűket is ismer és megkülönböztet. ‘M’+‘C’= = Shift(‘M’,2)= =‘O’ Programozásmódszertan Programozásmódszertan, 1999

20 4.2. Szövegtitkosítás 4.2.3. Helyettesítő táblás kódolás
Szlávi Péter 4.2. Szövegtitkosítás Helyettesítő táblás kódolás Ötlet: a jelek helyettesítése egy rögzített („szabálytalanul” feltöltött) táblázat alapján. Pl.: ha abc:={‘A’, ‘B’, ‘C’, … ‘Z’} HT:Tömb(abc:abc)(‘Q’, ‘W’, ‘E’,…‘M’) akkor tabc={‘Q’, ‘W’, … ‘M’} és s:=‘MARCIUSIDUSA’   ts=‘DQKEOXLORXLQ’ DQKEOXLORXLQ JEL JEL’ ‘A’  ‘Q’ ‘B’  ‘W’ Ez az „összevisszaság” némileg nehezíti a kalózkodó dolgát. A kulcsok száma: 26!~1028, ez azonban csalóka. A jelgyakoriság egy hosszú szöveg esetében sokat elárul. ‘M’HT(‘M’)=‘D’ Programozásmódszertan Programozásmódszertan, 1999

21 4.2. Szövegtitkosítás 4.2.4. Blokk-permutáló kódolás
Szlávi Péter 4.2. Szövegtitkosítás Blokk-permutáló kódolás Ötlet: rögzített számú jelből álló blokkok kódolása úgy, hogy egy előre meghatározott séma szerint cserél-getjük meg a blokk jeleit. Pl.: ha abc:={‘A’, ‘B’, … ‘Z’}; k:=3 perm:Tömb(1..k:1..k)(2,3,1) akkor s:=‘MARCIUSIDUSA’      ts=‘ARMIUCIDSSAU’ ARMIUCIDSSAU ‘MAR’Jele(‘MAR’,perm(1))+…+Jele(‘MAR’,perm(k)) Programozásmódszertan Programozásmódszertan, 1999

22 4.2. Szövegtitkosítás 4.2.5. Nyilvános kulcsos kódolás
Szlávi Péter 4.2. Szövegtitkosítás Nyilvános kulcsos kódolás RSA eredete: Rivest-Shamir-Adleman, 1978 Ötlet: külön k kulcs a kódoláshoz, ill. d a dekódoláshoz; k – nyilvános kulcs, akiktől várom az üzeneteket d – titkos kulcs, csak én ismerem. Részletek: Kis Fermat-tétel: ha a,pN: p prím és (a,p)=1  ap-1  1 (mod p) más szóval: …  p | ap-1-1 ad RSA eredete: ad Kis Fermat-tétel: (a,p)=a és p legnagyobb közös osztója Programozásmódszertan Programozásmódszertan, 1999

23 4.2. Szövegtitkosítás 4.2.5. Nyilvános kulcsos kódolás
Szlávi Péter 4.2. Szövegtitkosítás Nyilvános kulcsos kódolás Következmény: ha p,qN: p,q prím ((p,q)=1)  p | (a(q-1))(p-1)-1 és q | (a(p-1))(q-1)-1  ((a(q-1))(p-1)=(a(p-1))(q-1)=a(p-1)(q-1)) pq | a(p-1)(q-1)-1  (a-val szorozva) a(p-1)(q-1)+1  a (mod pq) Legyen a továbbiakban: n=p*q és  ae*f  a (mod n) e*f=(p-1)*(q-1)+1 } Ha (p,q)=1, akkor (aq-1,p)=1 és (ap-1,q)=1; így alkalmazható rájuk a Kis Fermat-tétel. Programozásmódszertan Programozásmódszertan, 1999

24 4.2. Szövegtitkosítás 4.2.5. Nyilvános kulcsos kódolás
Szlávi Péter 4.2. Szövegtitkosítás Nyilvános kulcsos kódolás Ötlet: Ha k=(e,n) a nyilvános kulcs, és d=(f,n) titkos kulcs, akkor az s (<n) „szöveg” kódolása: t=se Mod n; a t dekódolása: s=tf Mod n. Pl.: ha p:=59, q:=47  n:=2773; e:=17, f:=157 abc:={‘A’, ‘B’, … ‘Z’}; abcKód:Tömb(abc:0..25)(0,1,…,25) akkor s:=‘MARCIUSIDUSA’       A tétel miatt: s  t=se Mod n t  (se Mod n)f Mod n= =se*f Mod n=s Az n=2773 miatt: 4-jegyű számmal dolgozunk, azaz 2 betűs blokkokkal Programozásmódszertan Programozásmódszertan, 1999

25 4.2. Szövegtitkosítás 4.2.5. Nyilvános kulcsos kódolás
Szlávi Péter 4.2. Szövegtitkosítás Nyilvános kulcsos kódolás       ‘O?A?…’  t=…egy nem „karakteresíthető” kódsorozat… … és a dekódolás:   Hogyan választandó ki az n, e és f? L.: p,q nagy (véletlen) prím  n=p*q L.: f nagy (véletlen) prím: f<n ((f,p-1)=1, (f,q-1)=1)  e: e*f = (p-1)*(q-1)+1 Mod 2773=1444 … Mod 2773=1200 … Programozásmódszertan Programozásmódszertan, 1999

26 4.3. Hiperszöveg-kezelés A „hiper”-ség tulajdonság Tartalom és forma
Szlávi Péter 4.3. Hiperszöveg-kezelés A „hiper”-ség tulajdonság Általában: pl. hipermátrix, hiperautomata… valami rekurzívan strukturált szerkezet A hipertext (hiperszöveg) = hiperdokumentum, amelyben egyes rész-szövegek bizonyos tartalmi és kezelési „önálló-sággal” bírnak Tartalom és forma Forma (a felhasználó szempontjából): Megjelenés – hogyan válik el a „normál” szövegtől a „hiperül” kezelendő rész? Kezelés – hogyan választható ki egy hiperszöveg? Ismert példák: Böngészők – GUI-s világban Help-fájlok – GUI-t megelőző, konzolos világban Programozásmódszertan Programozásmódszertan, 1999

27 4.3. Hiperszöveg-kezelés Ábrázolás
Szlávi Péter 4.3. Hiperszöveg-kezelés Tartalom (a fejlesztő szempontjából): Ábrázolás + Műveletek Ábrázolás Absztrakt szinten Hivatkozó szöveg (link, „ugrópont”) - (kísérő)szöveg + hivatkozás Hivatkozott szöveg - egy pont = pontdefiníció - egy tartomány = „tartománykezdet+tartományvég”-definíció valamely dokumentumban Programozásmódszertan Programozásmódszertan, 1999

28 4.3. Hiperszöveg-kezelés Konkrét szinten
Szlávi Péter 4.3. Hiperszöveg-kezelés Konkrét szinten Kulcs-szavas (=tag-es) - olvasható, mnemonikus (pl. HTML); könnyen kiterjeszthető Bináris - fix hosszan, binárisan kódolt; speciális kód(okat) igényel <a href="#info" target="jobb">napi információk</a> Kód: 0 cc cc db "i" "n" "f" "o" Byte: … i. i+1. i+2. i+3. i+4. i+5. i+6. i+7. cccc=ugráscím, db=kísérő szöveg hossza Példaként l.: public_html\publikaciok.html Programozásmódszertan Programozásmódszertan, 1999

29 4.3. Hiperszöveg-kezelés Műveletek Inputfigyelés Szövegfókuszálás
Szlávi Péter 4.3. Hiperszöveg-kezelés Műveletek Inputfigyelés = eseményfigyelés (GUI) = billentyűfigyelés („DOS-os rendszerben”) Szövegfókuszálás Ugrópont-keresés (pl. tag-eseknél) = szövegkeresés Direktpozícionálás (pl. binárisoknál) = ugrópontra ugrás (feltéve, hogy a fájl típusa ezt megengedi) Programozásmódszertan Programozásmódszertan, 1999


Letölteni ppt "Szövegfeldolgozás 3. Copyright, 1999 © Szlávi Péter Szlávi Péter"

Hasonló előadás


Google Hirdetések