Proyecto final. Análisis de Algoritmos
Enviado por Manuel Pardo - Geret • 10 de Diciembre de 2018 • Tarea • 2.754 Palabras (12 Páginas) • 601 Visitas
PROYECTO FINAL.
Nicolás Román Valenzuela.
Análisis de Algoritmos.
Instituto IACC.
Santiago, 17 de noviembre de 2018.
INTRODUCCIÓN
En este ramo se ha logrado revisará diferentes conjuntos de algoritmos y las estructuras de datos que entregar diferentes tipos de soluciones con otros algoritmos y estructuras y otros datos, para diversos problemas. Dado que muchos de estos algoritmos y estructuras existen dentro de las bibliotecas de desarrollo de los diversos lenguajes, A conocer el diferente proceder y procesamiento de ellos.
DESARROLLO
Instrucciones: Lea el siguiente caso y en base a los contenidos abordados en el curso, realice las acciones solicitadas.
- Suponga que está cocinando un queque, haga el diagrama de flujo para la receta de cocina.
|
- Suponga que Ud. es programador experto en del nuevo lenguaje Phlayt v3.0 (Como aclaración, este nombre de lenguaje informático es ficticio) y necesita saber si una función matemática tiene sus paréntesis balanceados (es decir tiene tantos símbolos de abre paréntesis como de cierre paréntesis), lo que es un problema clásico de pilas. Lamentablemente, Phlayt no tiene dentro de sus bibliotecas una implementación de pilas y solo tiene la estructura de datos cola. Implemente, en pseudocódigo, una pila utilizando la estructura de datos cola.
Cree las funciones pop() y push() en términos de encolar() y desencolar().
Notas:
- Asuma que encolar() y desencolar() existen.
- ii. Solamente preocúpese que haya tantos símbolos “(“como símbolos”)”. No se preocupe si hay expresiones incorrectas como “( 9 + ) -3”.
En pseudocódigo | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | pop(símbolo) { Si símbolo == '(' y contadorParsimbolo ==1 Entonces //verifica condición nodo n; n<-new nodo(); n.dato<- símbolo; n.siguiente<-null; auxiliar.siguiente<-n; auxiliar<-n; FinSi Si símbolo == ')' y contadorParsimbolo ==2 Entonces //verifica condición nodo n; n<-new nodo(); n.dato<- símbolo; n.siguiente<-null; auxiliar.siguiente<-n; auxiliar<-n; FinSi } push(símbolo) { nodo actual<-primero; nodo anterior<-null; mientras actual!=null { Si actual.dato== símbolo Entonces Si actual==primero Entonces //verifica condición Primero<-primero.siguiente; nodo segundo; segundo<-new nodo(); segundo.dato<-actual.dato; segundo.siguiente<-cabeza; cabeza<-segundo; Sino anterior.siguiente<-actual.siguiente; nodo segundo; segundo<-new nodo(); segundo.dato<-actual.dato; segundo.siguiente<-cabeza; cabeza<-segundo; Finsi Fin mientras Anterior<-actual; Actual<-actual.siguiente; } } |
...