Académique Documents
Professionnel Documents
Culture Documents
PILAS
PSEUDOCODIGO:
Tope tope + 1
Pila [tope] doc
Longitud [tope] lon
T0
Para (i = 0; i <= tope; i++) {
T t + longitud[i]
Mensaje: longitud[i] + t + pila[i] "
}
}
} Si no (op = 2) {
Mensaje: Gracias..."
K1
} Caso contrario {
Mensaje: Opcin incorrecta..."
}
}
4- Dados los caracteres (), [], {} y una cadena s; s esta balanceada si tiene
algunos de estos formatos, s=, (String nulo), s= (T), s= [T], s= {T}, s= TU en
donde T y U son cadenas balanceadas (en otras palabras, para cada
parntesis, llave o corchete abierto existe un carcter de cierre
respectivamente). Ejemplo {(a+b) [(c-d) ^2]}. Escribir el algoritmo que use
una pila para ver si es balanceada.
PSEUDOCODIGO:
C0
L0
Com 0
Para (i=0; i<=tamao-1; i++) {
Si (pila[i] = ')) {
p++
}
Si (pila[i] = '( ') {
p--
}
Si (pila[i] = ']') {
c++
}
Si (pila[i] = '[') {
c--
}
Si (pila[i] = '}') {
l++
}
Si (pila[i] = '{') {
l--
}
Si (pila[i] = '"') {
com++
}
Si (pila[i] = '"') {
com--
}
}
PSEUDOCODIGO:
Mientras (k = 0) {
Mensaje: Elija la operacin a realizar: 1-Meter.2-Sacar.3-Salir
Si (op= 1) {
Si (topea >= tamao-1 || topeb >= tamao-1 || topec >=
tamao-1) {
Mensaje:"-------- PILA LLENA --------"
} Caso contrario {
Mensaje: Elija la pila a usar: 1-Pila A.2-Pila B.3-Pila C
Si (ope = 1) {
Mensaje: Ingrese dato:"
Si (topec != topeb){
aux2 null
Para (i=topeb+1;i<=topec+1;i++){
aux pila[i]
Pila[i] aux2
aux2 aux
}
}
Topec topec+1
Si (topeb!= topea) {
aux2 null
Para (i=topea+1; i<=topeb+1; i++){
aux pila[i]
Pila[i] aux2
aux2 aux
}
}
Topeb topeb+1
Topea topea+1
Pila [topea] dato
} Sino (ope = 2) {
Mensaje: Ingrese dato:
Si (topec != topeb){
aux2 null
Para (i=topeb+1; i<=topec+1; i++) {
aux pila[i]
Pila[i] aux2
aux2 aux
}
}
Topec topec+1
Topeb topeb+1
Pila [topeb] dato
} Sino (ope = 3) {
Mensaje: Ingrese dato:"
Topec topec+1
Si (topeb =-1) {
Mensaje:"------- PILA 'B' VACIA -----"
} Caso contrario {
Pila [topeb] null
Si (topec!= topeb) {
Para (i=topeb+1; i<=topec; i++) {
Pila [i-1] pila[i]
}
Pila [topec] null
}
Topec topec-1
topeb topeb-1
}
} Sino (operacin = 3) {
Si (topec = -1) {
Mensaje:"------- PILA 'C' VACIA -----"
} Caso contrario {
Pila [topec] null
topec topec-1
}
} Caso contrario {
Mensaje: Opcin incorrecta...
}
}
} Sino (op = 3) {
Mensaje: Gracias...
K1
} Caso contrario {
Mensaje: Opcin incorrecta...
}
}
6.1.
+ 2
3
***Infija:
(a+(b^2-c)^(1/2))/(d^(1/3)-e/f)
***Prefija:
[+a^-^b2c/12]/(-^d/13/ef)
/+a^-^b2c/12-^d/13/ef
***Sufijo:
(ab2^c-12/^+)/(d13/^ef/-)
ab2^c-12/^+d13/^ef/-/
6.2.
si(elegir==1)entonces
Si (finN==1N) entonces
Cola llena
Sino
Leer VALOR
Si(op==1)entonces
FinN =fin+1;
CN[fin]=VALOR;
Si(frenteN==0) entonces
Frente=1;
Fin si
Fin si;
Si (op==2) entonces
Si (opcin==1) entonces
Si (finE==2N) entonces
sino
CE[i+1]= CE[i];
Fin para
Toque =10;
CE[toque]=VALOR;
FinE=finE+1;
Fin si
CE[i+1]= CE[i];
Fin para
Toque =5;
CE[toque]=VALOR;
FinE=finE+1;
Fin si
finE= finE+1;
CE[finE]= VALOR;
Si ( frente==0) entonces
FrenteE= 1;
Fin si
Fin si
Fin si
Fin si
Si ( opcin==2 ) entonces
Si ( finE==2N) entoces
Sino
finE= finE+1;
CE[finE]=VALOR;
Si ( frente==0 ) entonces
Frente=1;
Fin si
Fin si
Fin si
Fin si
Fin si
Si ( frenteN==0) entonces
Cola vacia
Sino
CN[frenteN]= ;
Si (fin==frenteN) entonces
FrenteN=0;
fin=0;
sino
frenteN=frenteN+1;
fin si
fin si
fin si
Si ( frenteE==0) entonces
Cola vacia
Sino
CN[frenteE]= ;
Si (fin==frenteN) entonces
FrenteN=0;
fin=0;
sino
frenteE= frenteE+1;
fin si
fin si
fin si
fin si
si (elegir == 3) entonces
salir
fin si
7.
Pila[]={1,2,3,4,5,6,7,8,9,10}
Cola[]={11,12,13,14,15,16,17,18,19,20}
Tope=10
Frente=1
X,y,s=0;
//pila
Xpila[tope]
tope--;
//cola
Ycola[frente]
Frente++;
S=s+(x*y)
Fin_Para
Mostrar S
COLAS
Fin de mientras
PALABRA P PALABRA P
1 e 6 1 6
2 x 5 2 x 5
3 a 4 3 a 4
4 m 3 4 m 3
5 e 2 5 e 2
6 n 1 6 n 1 e
PALABRA P PALABRA P
1 6 1 6
2 5 2 5
3 a 4 3 4
4 m 3 4 m 3 a
5 e 2 x 5 e 2 x
6 n 1 e 6 n 1 e
Pseudocdigo:
Inicio
Leer cadena
Almacenar cadena en A[ ]
.ntamao de A [ ]
frente1 finaln
si (n mod 2 <> 0)
cc+1
fin_si
i++
fin_mientras
caso contrario
cc+1
fin_si
i++
fin_mientras
fin_si
si (c=n/2)
Escribir ES PALNDROMO
Sino
Escribir NO ES PALNDROMO
Fin_si
Fin
PSEUDOCODIGO:
Tamao 12
fin -1,frente -1,k 0
cont 0, aux,aux2 0
Mientras (k = 0) {
Mensaje: Ingrese la operacin que desea hacer: 1-Meter a cola.2-Sacar
de cola.3-Salir
Si (op = 1) {
Si (fin = tamao-1) {
Mensaje:"--- COLA LLENA ---"
} Caso contrario {
Mensaje: Ingrese el nmero de matrcula"
Fin fin+1
Cola [fin] matricula
Si (frente = -1) {
Frente 0
}
cont++
}
}
Si (op = 2) {
Si (cont = 0) {
Mensaje:"--- COLA VACIA ---"
} Caso contrario {
Mensaje: Que nmero de placa quiere retirar?:"
Pos -1
Para (i=frente;i<=fin;i++){
Si (cola[i] = placa) {
Pos i
}
}
Si (pos = -1) {
Mensaje: Avioneta N:"+placa+", no encontrada...
} Caso contrario {
Matri cola [pos];
Para (i=frente; i<=pos; i++){
Aux cola[i]
Cola[i] aux2
aux2 aux
}
Cola [frente] cola [pos]
Frente frente+1
para ( i=frente; i<=fin; i++){
Cola [i-1] cola[i]
}
Frente frente-1
Fin fin-1
Mensaje:"**Datos del ltimo vuelo: Avioneta N:"+placa
cont--
}
}
}
Si (op = 3) {
K1
}
}
Leer N
Si opcin=1 entonces
Si op=1 entonces
Leer x
Si final = N entonces
Caso contrario
Si frente =0 entonces
Final final+1
Frente 1
Cola[frente] x
Caso contrario
Cola[i+1]cola[i]
Fin_para
finalfinal+1
cola[frente] x
fin_si
contRacaontRa+1
fin_si
fin_si
si op=2 entonces
leer y
si final=N entonces
caso contrario
finalfinal+1
cola[final] x
si frente=0 entonces
frente1
fin _si
contTelecontTele+1
fin _si
fin _si
fin_si
si opcin=2 entonces
Escribir Fin
Salir
Fin_si
C c+1
Fin _mientras
fin
Inicio
C1, i1
Mientras (i<=finalA)
Salir
Caso contrario
Leer apellido
FinalAfinalA+1
Si (frenteA=0)
FrenteA1
Fin_si
Leer nombre
FinalBfinalB+1
Si (frenteB=0)
FrenteB1
Fin_si
Leer dorsal
FinalCfinalC+1
Dor[finalC]dorsal
Si (frenteC=0)
FrenteC1
Fin_si
Leer platos
FinalDfinalD+1
Si (frenteD=0)
FrenteD1
Fin_si
Fin_si
i++
Fin_mientras
Mientras (c<=3)
Si (mayor<= Pla[i])
mayorPla[i]
posi
fin_si
fin_para
mayape Ape[pos]
maynomNom[pos]
maydor Dor[pos]
Y=Pla[pos]
Y=Ape[pos]
Y=Nom[pos]
Y=Dor[pos]
Pla[pos]Pla[pos+1]
Ape[pos]Ape[pos+1]
Nom[pos]Nom[pos+1]
Dor[pos]Dor[pos+1]
Fin_para
finalDfinalD-1
finalAfinalA-1
finalBfinalB-1
finalCfinalC-1
cc+1
Fin_mientras
Escribir Ape[i]
Escribir Nom[i]
Escribir Dor[i]
Escribir Pla[i]
Fin_para
Fin