Algoritmusok 2


  1. Algoritmus: a T szöveg és a P minta a memóriában van. Ez az algoritmus a P valamennyi előfordulását törli a T szövegből.
    1. [P előfordulási helyének megkeresése.] K:=INDEX(T,P).
    2. Repeat while: K . 0:
      1. [P törlése T-ből.]
        T:=DELETE(T, INDEX(T, P), LENGTH(P))
      2. [Az index aktualizálása.] K:= INDEX(T, P).
        [A ciklus vége.]
    3. Write: T.
    4. Exit.


  2. Algoritmus: a T szöveg, valamint a P és a Q minta egyaránt a memóriában van. Ez az algoritmus a P valamennyi előfordulását Q-val cseréli fel a T-ben.
    1. [P előfordulási helyének megkeresése.] K:=INDEX(T,P).
    2. Repeat while: K . 0:
      1. [P kicserélése Q-val.] T:=REPLACE(T,P,Q).
      2. [Az index aktualizálása.] K:= INDEX(T,P).
        [A ciklus vége.]
    3. Write: T.
    4. Exit.


  3. Algoritmus: mintaegyeztetés. A P, illetve a T olyan R, illetve S hosszúságú karakterlánc, amelyet a tömbök valósítanak meg a memóriában. A tömbök egy-egy eleme egy-egy karaktert tartalmaz. Ez az algoritmus a T-ben a P minta helyét (INDEX) adja meg.
    1. [A kezdőérték beállítása.] K:=1, MAX:=S-R+1.
    2. Repeat 3. lépés to 5. lépés while K<=MAX:
    3. Repeat for L=1 to R:[P karaktereinek összehasonlítása.]
      If P[L] . T[K+L-1], then: Go to 5. lépés.
      [A belső ciklus vége.]
    4. [Sikeres keresés.] INDEX:=K, Exit.
    5. K:=K+1.
      [A 2. lépésben elkezdődött ciklus vége.]
    6. [Sikertelen keresés.] INDEX:=0.
    7. Exit.


  4. Algoritmus: mintaegyeztetés. A P minta F(Q1, T) mintaegyeztető táblázata a memóriában van, az adatbevitel pedig az N karakterből álló T=T1T2...TN karakterlánc. Ez az algoritmus a P minta helyét (INDEX) keresi meg a T szövegben.
    1. [A kezdőértékek beállítása.] K:=1, S1:=Q0.
    2. Repeat 3. lépés to 5. lépés while SK.P and K<=N.
    3. Read TK.
    4. SK+1:=F(SK, TK). [A következő állapot megkeresése.]
    5. K:=K+1. [A számláló aktualizálása.]
    6. [Sikeres művelet volt?]

    7. If SK=P, then:
      INDEX:=K-LENGTH(P).
      Else:
      INDEX:=0.
      [Az If szerkezet vége.]
    8. Exit


    9. Egy szintet vissza, vagy vissza a főmenübe.