1 / 24

Feladat

Feladat. A Helyes Zárójelezés Struktogramja. 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. Egy példa. (( )) ((( ))) ( ) ??

Télécharger la présentation

Feladat

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 (( )) ((( ))) ( ) ?? 12 34 567 8910 11 12??

  4. A Struktogram HZ(s) Empty(V); I := 0 S!=EOF Read(S,X); I:=I+1 X=“(” 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 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 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 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 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 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 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 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 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 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. 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

More Related