Helyes zárójelezés programozási tétele LL
Feladat: Írjuk ki egy garantáltan helyes zárójelezés minden összetartozó nyitó és csukó zárójelpárjainak a sorszámait egymás mellé. Mintapélda: Bemenet: ( ( ( ) ( ) ) ( ) ) ( ) Kimenet:
Megoldás: Egy veremmel. Sorban olvassuk a bejövő jeleket. Ha nyitózárójelet olvastunk, akkor a sorszámát bedobjuk a verembe. Ha csukózárójelet, akkor kivesszük a veremből a felső számot, majd kiírjuk – az éppen olvasott zárójel sorszámával együtt. A struktogramm: Bemutató - - >
Bemenet: ( ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem:
Bemenet: ( ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem:
Bemenet: ( ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 1
Bemenet: ( ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 1 Status = norm Ertek = ‘ ( ‘
Bemenet: ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 1 Status = norm Ertek = ‘ ( ‘ igen
Bemenet: ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 1 Status = norm Ertek = ‘ ( ‘ igen
Bemenet: ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 1 Status = norm Ertek = ‘ ( ‘ 1
Bemenet: ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 2 Status = norm Ertek = ‘ ( ‘ 1
Bemenet: ( ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 2 Status = norm Ertek = ‘ ( ‘ 1
Bemenet: ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 2 Status = norm Ertek = ‘ ( ‘ igen 1
Bemenet: ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 2 Status = norm Ertek = ‘ ( ‘ igen 1
Bemenet: ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 2 Status = norm Ertek = ‘ ( ‘ 1 2
Bemenet: ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 3 Status = norm Ertek = ‘ ( ‘ 1 2
Bemenet: ( ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 3 Status = norm Ertek = ‘ ( ‘ 1 2
Bemenet: ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 3 Status = norm Ertek = ‘ ( ‘ igen 1 2
Bemenet: ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 3 Status = norm Ertek = ‘ ( ‘ igen 1 2
Bemenet: ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 3 Status = norm Ertek = ‘ ( ‘ 1 2 3
Bemenet: ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 4 Status = norm Ertek = ‘ ( ‘ 1 2 3
Bemenet: ) ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 4 Status = norm Ertek = ‘ ) ‘ 1 2 3
Bemenet: ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 4 Status = norm Ertek = ‘ ) ‘ igen 1 2 3
Bemenet: ( ) ) ( ) ) ( ) Kimenet: még üres Verem: i = 4 Status = norm Ertek = ‘ ) ‘ nem 1 2 3
Bemenet: ( ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 4 Status = norm Ertek = ‘ ) ‘ 1 2 3
Bemenet: ( ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 5 Status = norm Ertek = ‘ ) ‘ 1 2
Bemenet: ( ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 5 Status = norm Ertek = ‘ ( ‘ 1 2
Bemenet: ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 5 Status = norm Ertek = ‘ ( ‘ igen 1 2
Bemenet: ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 5 Status = norm Ertek = ‘ ( ‘ igen 1 2
Bemenet: ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 5 Status = norm Ertek = ‘ ( ‘ 1 2 5
Bemenet: ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 6 Status = norm Ertek = ‘ ( ‘ 1 2 5
Bemenet: ) ) ( ) ) ( ) Kimenet: 3 4 Verem: i = 6 Status = norm Ertek = ‘ ) ‘ 1 2 5
Bemenet: ) ( ) Kimenet: 3 4 Verem: i = 6 Status = norm Ertek = ‘ ) ‘ 1 2 5
Bemenet: ) ( ) Kimenet: 3 4 Verem: i = 6 Status = norm Ertek = ‘ ) ‘ 1 2 5
Bemenet: ) ( ) Kimenet: Verem: i = 6 Status = norm Ertek = ‘ ) ‘ 1 2 5
Bemenet: ) ( ) Kimenet: Verem: i = 7 Status = norm Ertek = ‘ ) ‘ 1 2
Bemenet: ) ( ) Kimenet: Verem: i = 7 Status = norm Ertek = ‘ ) ‘ 1 2
Bemenet: ( ) ) ( ) Kimenet: Verem: i = 7 Status = norm Ertek = ‘ ) ‘ igen 1 2
Bemenet: ( ) ) ( ) Kimenet: Verem: i = 7 Status = norm Ertek = ‘ ) ‘ nem 1 2
Bemenet: ( ) ) ( ) Kimenet: Verem: i = 7 Status = norm Ertek = ‘ ) ‘ 1 2
Bemenet: ( ) ) ( ) Kimenet: Verem: i = 8 Status = norm Ertek = ‘ ) ‘ 1
Bemenet: ( ) ) ( ) Kimenet: Verem: i = 8 Status = norm Ertek = ‘ ( ‘ 1
Bemenet: ) ) ( ) Kimenet: Verem: i = 8 Status = norm Ertek = ‘ ( ‘ igen 1
Bemenet: ) ) ( ) Kimenet: Verem: i = 8 Status = norm Ertek = ‘ ( ‘ igen 1
Bemenet: ) ) ( ) Kimenet: Verem: i = 8 Status = norm Ertek = ‘ ( ‘ 1 8
Bemenet: ) ) ( ) Kimenet: Verem: i = 9 Status = norm Ertek = ‘ ( ‘ 1 8
Bemenet: ) ) ( ) Kimenet: Verem: i = 9 Status = norm Ertek = ‘ ) ‘ 1 8
Bemenet: ) ( ) Kimenet: Verem: i = 9 Status = norm Ertek = ‘ ) ‘ igen 1 8
Bemenet: ) ( ) Kimenet: Verem: i = 9 Status = norm Ertek = ‘ ) ‘ nem 1 8
Bemenet: ) ( ) Kimenet: Verem: i = 9 Status = norm Ertek = ‘ ) ‘ 1 8
Bemenet: ) ( ) Kimenet: Verem: i = 10 Status = norm Ertek = ‘ ) ‘ 1
Bemenet: ) ( ) Kimenet: Verem: i = 10 Status = norm Ertek = ‘ ) ‘ 1
Bemenet: ( ) Kimenet: Verem: i = 10 Status = norm Ertek = ‘ ) ‘ 1 igen
Bemenet: ( ) Kimenet: Verem: i = 10 Status = norm Ertek = ‘ ) ‘ 1 nem
Bemenet: ( ) Kimenet: Verem: i = 10 Status = norm Ertek = ‘ ) ‘ 1
Bemenet: ( ) Kimenet: Verem: i = 11 Status = norm Ertek = ‘ ) ‘
Bemenet: ( ) Kimenet: Verem: i = 11 Status = norm Ertek = ‘ ( ‘
Bemenet: ) 12 Kimenet: Verem: i = 11 Status = norm Ertek = ‘ ( ‘ igen
Bemenet: ) 12 Kimenet: Verem: i = 11 Status = norm Ertek = ‘ ( ‘ igen
Bemenet: ) 12 Kimenet: Verem: i = 11 Status = norm Ertek = ‘ ( ‘ 11
Bemenet: ) 12 Kimenet: Verem: i = 12 Status = norm Ertek = ‘ ( ‘ 11
Bemenet: ) 12 Kimenet: Verem: i = 12 Status = norm Ertek = ‘ ) ‘ 11
Bemenet: Kimenet: Verem: i = 12 Status = norm Ertek = ‘ ) ‘ igen 11
Bemenet: Kimenet: Verem: i = 12 Status = norm Ertek = ‘ ) ‘ nem 11
Bemenet: Kimenet: Verem: i = 12 Status = norm Ertek = ‘ ) ‘ 11
Bemenet: Kimenet: Verem: i = 13 Status = norm Ertek = ‘ ) ‘
Bemenet: Kimenet: Verem: i = 13 Status = abnorm Ertek = ?
Bemenet: Kimenet: Verem: i = 13 Status = abnorm Ertek = ? nem
Bemenet: Kimenet: Verem: i = 13 Status = abnorm Ertek = ? nem
Summa: Tehát algoritmusunk megoldotta ezt a problémát.
Lócsi Levente