0% encontró este documento útil (0 votos)
67 vistas2 páginas

Guía de Ejercicios Stack, Colas: Taller de Programación II

Este documento presenta 8 ejercicios relacionados con el uso de pilas (stacks) para resolver problemas de programación. Los ejercicios incluyen codificar y decodificar mensajes secretos usando una pila, invertir una lista almacenando sus elementos en una pila, verificar el patrón de una cadena de caracteres usando una pila, determinar si paréntesis están balanceados usando una pila, invertir un string usando una pila, ordenar personas en una fila de cine usando preferencia y edad, verificar si una cadena tiene la forma X&Y' usando una p

Cargado por

pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
67 vistas2 páginas

Guía de Ejercicios Stack, Colas: Taller de Programación II

Este documento presenta 8 ejercicios relacionados con el uso de pilas (stacks) para resolver problemas de programación. Los ejercicios incluyen codificar y decodificar mensajes secretos usando una pila, invertir una lista almacenando sus elementos en una pila, verificar el patrón de una cadena de caracteres usando una pila, determinar si paréntesis están balanceados usando una pila, invertir un string usando una pila, ordenar personas en una fila de cine usando preferencia y edad, verificar si una cadena tiene la forma X&Y' usando una p

Cargado por

pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

UNIVERSIDAD DE TARAPACA

FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN E INFORMÁTICA
ARICA - CHILE

Guía de Ejercicios Stack, Colas


Taller de programación II
Ibar Ramírez Varas
Héctor Ossandón Díaz

1. El agente 007 ha inventado un nuevo método de codificación de mensajes secretos.


El mensaje original X se codifica en dos etapas: en primer lugar, X se transforma
en X´ reemplazando cada secuencia de caracteres consecutivos que no sean vocales
por su inversa. En segundo lugar, X´ se transforma en la sucesión de caracteres X´´
obtenida al ir tomando sucesivamente el primer carácter de X´, luego el último,
luego el segundo, luego el penúltimo, etc. Por ejemplo:

X = Anacleto, agente secreto


X´ = Analceto ,agetnes erceto
X´´ = Aontaelccreet os e,natge

Suponiendo que los mensajes se representan como una secuencia de caracteres,


diseñar la función de codificación y de decodificación.

Sugerencia: use una pila para ir guardando los caracteres mientras estos no sean
vocales. Cuando se alcance una vocal, se desapilan los caracteres de la pila, luego
se añade al resultado la vocal.

2. Escriba una función invertirLista, que invierta los elementos de la lista a1, a2, ..., an.
Para implementar esta función utilice un stack, ingrese los elementos de la lista en
el stack, de comienzo a fin. El último elemento de la lista queda en el tope del stack,
luego debe agregarlos a la lista de forma que los elementos queden en el siguiente
orden:

an, an-1, an-2, . . ., a1

3. Escriba una función que admita un string y nos diga si este corresponde al patrón
descrito por la siguiente regla, todos los string que tienen como prefijo el doble de b
´s que a´s; es decir: { b2nan | n > 0 }

Ejemplo, las siguientes palabras SI pertenecen al lenguaje:


bba
bbbbaa
bbbbbbbbaaaa
bbabba
Las siguientes palabras NO pertenecen al lenguaje:
UNIVERSIDAD DE TARAPACA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA EN COMPUTACIÓN E INFORMÁTICA
ARICA - CHILE

ba
bbbba
abb
aabb
Para resolver el problema use un stack.

4. Utilizando un stack S donde almacene paréntesis “abiertos” de una expresión,


determine si ésta tiene los paréntesis “balanceados”.
Ej: (4+6)* (7-8)
Ej: (4+6*(7-8)
Ej: 4+6)*(7-8)
Ej: (4+6)*((7-8)

5. Dado un String, implemente la función invertir(s) que utilizando un stack, retorna el


string invertido. El string str no se modifica.

6. Para ir a ver la película “Titanic II, la ira de Rose” hay dos filas de personas. Un
acomodador es el encargado de dejar entrar a la gente. Sus instrucciones son
simples: “deja entrar siempre a la persona que es mayor, si tienen la misma edad, la
gente de la fila 1 tiene preferencia”. Resuelva este problema.

7. Escribir un método para determinar si una secuencia de caracteres de entrada es de


la forma: X & Y siendo X una cadena de caracteres e Y la cadena inversa. El
carácter & es el separador. Ejemplo: abbbc&cbbba

8. Dado un string de caracteres, construya una función que reciba un string y retorne
verdadero si vienen n a’es partir de alguna posición del string y luego n b’es a partir
de otra posición y falso en otro caso. Use Stack para resolver el problema

sdfaaaaghdfsfdbbbbdf Verdadero

saaahgfjhkghbgfdg Falso

También podría gustarte