You are on page 1of 8

Control 4

Gonzalo Sanchez
INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACION
Instituto IACC
1/1/2017

haciendo cita al contenido de la semana la cual nos dice: Los programas computacionales por lo general manejan muchos objetos del mismo tipo. ¿qué estructura de datos usaría? ¿Por qué? Fundamente su respuesta. etc. Ciertamente es poco práctico (y por lo general imposible) declarar una variable para cada uno de estos datos ya que la organización de estos sería un problema mayor. Estos 6 valores deben ser recolectados y manejados de distinta forma. En estos casos se construye una estructura de datos para almacenar y nombrar a todo este conjunto de información. de menor a mayor. estas pueden ser cientos. la expkicacion a continuacion. ordenados de mayor a menor. desviación. Son 6 jueces y cada uno de ellos le asigna un valor fraccionario a cada participante. .Desarrollo 1) Si se le solicitara construir un programa que recibiera cierto input y lo procesara en orden reverso. Suponiendo que se debe realizar un programa para manejar los puntajes que los jueces otorgan a los clavadistas durante los juegos olímpicos. Respuesta: En este caso podemos ocupar un Array o Arreglo. miles o más. promedio. por ejemplo el software de un banco para manejar las cuentas de sus clientes.

$puntaje3=0.0. como se indica a continuación: $puntaje0=0.Lo natural para almacenar estos valores es mediante variables.0.0. $puntaje2=0.0. $puntaje1=0. $puntaje4=0. .0.0. $puntaje5=0.

a $puntaje1 como . } if ($puntaje3>$mayor){ $mayor=$puntaje3. } if ($puntaje4>$mayor){ $mayor=$puntaje4. una forma de poder referirnos a $puntaje0 $ como $ �������0. pero se tiene un problema: las 6 variables tienen nombres distintos y un ciclo no puede ir cambiando el nombre de la variable. es decir. } Esta compleja tarea puede ser incluso más compleja si fueran más de 6 puntajes o si por ejemplo se le solicita un algoritmo que muestre los puntajes ordenados de mayor a menor. seguramente se utilizarán las estructuras de control y el código terminará siendo algo similar a esto: $mayor=$puntaje0. y que este visitará desde $puntaje1 hasta $puntaje6. } if ($puntaje2>$mayor){ $mayor=$puntaje2. Se necesita otra forma de realizar esto. } if ($puntaje5>$mayor){ $mayor=$puntaje5.Si se solicitara escribir un código que determine el mayor puntaje otorgado por un juez. Idealmente se busca una forma de manejar “índices”. if ($puntaje1>$mayor){ $mayor=$puntaje1. Una forma eficiente de realizarlo sería utilizando un ciclo.

} } . For ($i=0. De esta forma se puede escribir código en $ forma de ciclo.$i++){ if ($puntaje1>$mayor){ $mayor=$puntaje1.$i<6.$ �������1 y así sucesivamente.

array_push ( $misterio. es decir. ?> La estructura de datos presentada es definida como PILA. último en entrar. Una estructura dinámica de datos es una colección de elementos que son normalmente registros. Pilas. pop). y su operación inversa. a continuación detallamos la estructura. Las estructuras dinámicas de datos son estructuras que crecen a medida que ejecuta un programa. primero en salir) que permite almacenar y recuperar datos. n cada momento sólo se tiene acceso a la parte superior de la pila. $last_in = array_pop ( $misterio ) . '111'. retirar (o desapilar.2) ¿Qué estructura de datos utiliza el código que se detalla a continuación? Fundamente su respuesta. Esta estructura se aplica en multitud de ocasiones en el área de informática debido a su simplicidad y ordenación implícita de la propia estructura. al último objeto apilado . Al contrario de un arreglo que contiene espacio para almacenar un número fijo de elementos. <?php $misterio = array ( ) . una estructura dinámica de datos se amplía y contrae durante la ejecución del programa. que coloca un objeto en la pila. Una pila (stack en inglés) es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out. basada en los registros de almacenamiento de datos del programa. Para el manejo de los datos se cuenta con dos operaciones básicas: apilar . '555' ) . que retira el último elemento apilado.

Las pilas suelen emplearse en los siguientes contextos: • • Evaluación de expresiones en notación postfija (notación polaca inversa). que es retirado de la pila permitiendo el acceso al siguiente (apilado con anterioridad). y una operación retirar a retirarlo. • • Reconocedores sintácticos de lenguajes independientes del contexto Implementación de recursividad . que pasa a ser el nuevo TOS. una operación apilar equivaldría a colocar un plato sobre una pila de platos. La operación retirar permite la obtención de este elemento. Top of Stack en inglés).(denominado TOS. Por analogía con objetos cotidianos.

Bibliografía https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica) Contenido de la semana 4 .