Sie sind auf Seite 1von 6

INSTRUCCIONES: Las respuestas a las preguntas del control deben ser una elaboración propia.

Usted se apoyará en los contenidos de la semana y también puede hacerlo en otros textos, pero
siempre debe identificar los autores y citar las fuentes. Recuerde agregar la bibliografía al final
del control en formato APA. Cuide su redacción y ortografía. Puede consultar en el Foro
Novedades el documento de Normas APA. (El cumplimiento con las formalidades del trabajo tiene
un valor de 1 punto).

PREGUNTAS:

1.-De acuerdo a lo visto en los contenidos de la semana y al hecho de que las estructuras de datos
pueden ser implementadas utilizando otras estructuras de datos, ¿cómo sería una estrategia para
contar los elementos existentes en una pila? (Es decir, ¿cómo sería una forma eficiente de
construir la función Count?).

Antes de responder la pregunta, es necesario describir las características de los tipos de estructuras

de datos listas, pilas y colas.

Listas

Son nodos enlazados, que forman una cadena. En el caso de las listas es posible implementarlas

utilizando otras estructuras de datos, en este caso se pude implementar listas a través de arreglos.

Pilas

Las pilas pueden implementarse utilizando arreglos. Las pilas poseen las siguientes operaciones

básicas:

 Count: cantidad de ítems existentes en la pila.

 Print: imprime los ítems existentes.

 Push: permite agregar elementos en la parte superior del último ítem.

 Pop: saca de la pila el primer elemento.

 IsEmpty: valor booleano que indica si la pila está vacía con true o false.

 Peek: retorna el valor del primer elemento de la pila.


Colas

Al igual que las colas que realizan las personas en los bancos, las estructuras de datos llamadas colas

usan memoria del tipo FIFO .Las colas pueden implementarse utilizando arreglos.

 Count: cantidad de ítems existentes en la cola.

 Print: imprime los ítems existentes.

 Add: permite agregar elementos en la parte final de la cola.

 Remove: saca de la cola el primer elemento.

 IsEmpty: valor booleano que indica si la cola está vacía con true o false.

Una vez expuesto los conocimientos previos sobre listas, pilas y colas, la forma eficiente de construir

la función Count a través de los elementos existentes en una pila, permitirá contar datos más

rápidamente consiguiendo además escribir una menor cantidad de código fuente.

La función Count, permite contar datos que cumplan ciertos requisitos, pero también es muy

eficiente cuando se necesita buscar si existe algún dato en particular dentro de la Base de Datos.

En el siguiente código se adjunta el código en lenguaje PHP para crear una pila, adicionar elementos

en este caso marcas de vehículos con la operación Push, luego utilizamos una función donde se

muestra la operación Count de forma eficiente, para obtener la cantidad de marcas agregadas en la

pila.
<?php

class Pila{

public function __construct(){

$this->Pila = array(); // tratar pila como arreglo.

public function push($elemento){

$this->Pila[] = $elemento; // agregar parámetro a pila.

echo '- Marca ‘. $elemento .' agregada a pila.<br/>';

public function contador (){

return count($this->Pila); // contar elementos en pila.

// instancia a clase Pila.

$objMarcas = new Pila();

// ingreso de marcas a pila.

$objMarcas->push('Chevrolet');

$objMarcas->push('Ford');

$objMarcas->push('Dodge');

// Obtener cantidad de elementos ingresados.

echo '<p><b>Cantidad de elementos en pila: '. $objMarcas->contador ().’</b></p>';

?>
2. La empresa ferroviaria ABC-Ferrocarriles está en proceso de remodelación de algunos de sus
terminales de trenes y necesita mover un tren completo (locomotora y 4 vagones) desde el
terminal A al terminal C, como muestra la figura.

La dificultad en esta operación es que el tren debe quedar en el terminal C en el mismo orden
del que salió del terminal A, frente a esta situación se le ha pedido a Ud. que ayude con una
estrategia para cumplir con el objetivo. Entonces, ¿qué tipo de estructura de datos utilizaría
para resolver el problema? Genere la estrategia para mover el tren y escriba cómo lo haría
(puede usar el terminal B para apoyarse).