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

A Helyes Zárójelezés Struktogramja

Hasonló előadás


Az előadások a következő témára: "A Helyes Zárójelezés Struktogramja"— Előadás másolata:

1 A Helyes Zárójelezés Struktogramja
Feladat A Helyes Zárójelezés Struktogramja

2 A Helyes Zárójelezés Az algoritmus egy garantáltan helyes zárójelezés
minden összetartozó nyitó- és csukózárójelpárjának a sorszámait egymás mellé kiírja.

3 Egy példa (( )) ((( ))) ( ) ?? ??

4 A Struktogram HZ(s) Empty(V); I := 0 S!=EOF Read(S,X); I:=I+1 X=“(”
Push(V,I) Pop(V,J) Write(J,I)

5 A példa megoldása Üres verem létrehozása, ‘I’ index 0-ra állítása.
V verem: I:=0; (üres)

6 A példa megoldása (( )) ((( ))) ( ) “1”
Az első elem - nyitózárójel. az ‘I’ indexet növeljük 1-el, és a “1” –est betesszük a verembe. (( )) ((( ))) ( ) “1”

7 A példa megoldása “2” (( )) ((( ))) ( ) “1”
A 2. elem is nyitózárójel. Az ‘I’ indexet növeljük 1-el, és a “2” – est betesszük a verembe. “2” (( )) ((( ))) ( ) “1”

8 A példa megoldása (( )) ((( ))) ( ) “1”
Az 3. elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 2-est kivesszük a veremből. A 2-est és a 3-ast kiírjuk : megvan az első zárójelpár! Output: (2,3), (( )) ((( ))) ( ) “1”

9 A példa megoldása (( )) ((( ))) ( )
Az 4. elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 1-est kivesszük a veremből. A 1-est és a 4-est kiírjuk. Megvan az második zárójelpár! Output: (2,3),(1,4), (( )) ((( ))) ( )

10 A példa megoldása (( )) ((( ))) ( ) “5”
Az 5. elem nyitózárójel. Az ‘I’ indexet növeljük 1-el, és az “5” – öst betesszük a verembe. Output: (2,3),(1,4), (( )) ((( ))) ( ) “5”

11 A példa megoldása “6” (( )) ((( ))) ( ) “5”
Az 6. elem nyitózárójel. Az ‘I’ indexet növeljük 1-el, és az “6” – ost betesszük a verembe. Output: (2,3),(1,4), “6” (( )) ((( ))) ( ) “5”

12 A példa megoldása “7” “6” (( )) ((( ))) ( ) “5”
Az 7. elem nyitózárójel. Az ‘I’ indexet növeljük 1-el, és az “7” – est betesszük a verembe. Output: (2,3),(1,4), “7” “6” (( )) ((( ))) ( ) “5”

13 A példa megoldása “6” (( )) ((( ))) ( ) “5”
Az 8. elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 7-est kivesszük a veremből. A 7-est és a 8-ast kiírjuk. Megvan a harmadik zárójelpár! Output: (2,3),(1,4),(7,8), “6” (( )) ((( ))) ( ) “5”

14 A példa megoldása (( )) ((( ))) ( ) “5”
Az 9. elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 6-ost kivesszük a veremből. A 6-ost és a 9-est kiírjuk. Megvan a negyedik zárójelpár! Output: (2,3),(1,4),(7,8),(6,9), (( )) ((( ))) ( ) “5”

15 A példa megoldása (( )) ((( ))) ( )
Az 10. elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 5-öst kivesszük a veremből. A 5-öst és a 10-est kiírjuk. Megvan az ötödik zárójelpár! Output: (2,3),(1,4),(7,8),(6,9),(5,10), (( )) ((( ))) ( )

16 A példa megoldása (( )) ((( ))) ( ) “11”
Az 11. elem nyitózárójel. Az ‘I’ indexet növeljük 1-el, és a “11” – est betesszük a verembe. Output: (2,3),(1,4),(7,8),(6,9),(5,10), (( )) ((( ))) ( ) “11”

17 A példa megoldása (( )) ((( ))) ( )
Az utolsó elem - csukózárójel. az ‘I’ indexet növeljük 1-el, a 11-est kivesszük a veremből.A 5-öst és a 10-est kiírjuk. Megvan az utolsó zárójelpár! Output: (2,3),(1,4),(7,8),(6,9),(5,10),(11,12) (( )) ((( ))) ( )

18 Egy egyszerű nem üres lista aktuális elemének a törlése.
2. Feladat Egy egyszerű nem üres lista aktuális elemének a törlése.

19 A Lista Az ‘l’ pointer a listánk első elmére mutat, és a lista nem üres : l akt Az akt pointer értéke NIL lesz üres lista esetén, de akkor is, ha „lelépünk” a listáról.

20 A Törlés Struktogramja
Töröl(l) akt = NIL H I B A p := l akt = l l:=l.mut akt:=l dispose(p) p.mut != akt p:=p.mut p.mut := akt.mut dispose(akt) akt := p.mut

21 Az Aktuális Elem Törlése
Ha nem NIL az aktuális pointer, de tegyük fel, hogy a legelső : l akt Ilyenkor az elem törlése az alábbi módon : …

22 Az Aktuális (Első) Elem Törlése
l := l.mut : akt := l dispose(p) (p:=l volt a stuki elején), azaz: l akt akt l akt

23 Az Aktuális (Nem Első) Elem Törlése
p.mut != akt : (addig lépünk a pointerrel, míg meg nem találjuk az aktuális elemet). l akt akt p.mut := akt.mut

24 Az Aktuális (Nem Első) Elem Törlése
dispose(akt) : akt := p.mut akt akt


Letölteni ppt "A Helyes Zárójelezés Struktogramja"

Hasonló előadás


Google Hirdetések