Está en la página 1de 13

Tarea semana 4

Franco Sierra Espinoza

ESTRUCTURAS DE DATOS

Instituto IACC
Desarrollo

1) Realizar un programa en PHP que cree una cola donde se almacenen los números del 1 al 28.

Luego, extraiga todos sus elementos uno a uno, sin eliminarlos, sino que se almacenarán en colas

distintas de manera desigual, es decir, se extrae un elemento de la cola principal y se inserta en la

cola A, luego se extrae otro elemento de la cola principal y se inserta en la cola B, y así hasta que

la cola principal se encuentre vacía. Imprima ambas colas al final del programa.

Respuesta:

Para comenzar se realiza la creación de clase cola y el arreglo con 28 elementos para PHP:

Se presenta la clase cola y el arreglo con 28 elementos<br>

<?php

class cola {

// variable $cola que contiene el arreglo tipo cola

private $cola = array ();

//funcion void para crear la cola

public function __construct () {

$this->cola = array ();}

//funcion que extrae el elemento del frente de la cola

public function desencolar () {

return array_shift($this->cola);}

//funcion que inserta el elemento al final de la cola


public function encolar($elemento) {

$this->cola [] = $elemento;}

//Devuelve el tamano de la cola

public function length () {

return count($this->cola);}}

class colaA {

// variable $cola que contiene el arreglo tipo cola

private $colaA = array ();

//funcion void para crear la cola

public function __constructa () {

$this->colaA = array ();}

//funcion que extrae el elemento del frente de la cola

public function desencolarA () {

return array_shift($this->colaA); }

//funcion que inserta el elemento al final de la cola

public function encolarA($elemento2) {

$this->colaA [] = $elemento2;}}

class colaB {

// variable $cola que contiene el arreglo tipo cola

private $colaB = array ();

//funcion void para crear la cola

public function __constructB () {

$this->cola3 = array(); }

//funcion que extrae el elemento del frente de la cola


public function desencolarB () {

return array_shift($this->colaB);}

//funcion que inserta el elemento al final de la cola

public function encolarB($elemento3) {

$this->colaB [] = $elemento3;}}

//Ahora cremamos 3 nuevas colas

$cola = new cola ();

$colaA = new colaA ();

$colaB = new colaB ();

echo "<strong>Cola Principal Tarea Semana 4</br><strong>";

echo

"**************************************************************************<br

>";

//Elementos en la cola principal

for ($i= 1; $i <= 28; $i++)

$cola->encolar($i);

$cola++;

print_r($cola);

echo "<br><br><strong> LA COLA DISEÑADA CONTIENE: </strong> “. $cola->length ()."

elementos.";

echo
"<br>*************************************************************************

*<br><br>";

// se mueven los elementos de la cola principal a las colas A y B

echo "<h3><strong>MOVIMIENTO DE ELEMENTOS A COLAS: A y

B</h3></br><strong>";

$i=1;

for ($i=1; $i<=28; $i++) {

if ($i%2==1) {

$aux2=$cola->desencolar ();

$colaA->encolarA($aux2);

} else{

$aux3=$cola->desencolar ();

$colaB->encolarB($aux3);}}

echo "<br>La cola A tendrá los elementos impares</br>";

echo "<br>"; print_r($colaA);

echo "</br>";

echo

"**************************************************************************";

echo "<br>La cola B tendrá los elementos pares</br>";

echo "<br>"; print_r($colaB);

echo "</br>";

echo
"**************************************************************************</b

r>";

echo "<br><strong>A no existen valores en la cola Principal: </strong> “. $cola->length ()."

elementos. <br>";

echo "<h3><br>"; print_r($cola);"</h3>";

?>

A continuación, se muestra las salidas del código con la herramienta PHP Designer, primero el

código y después el mismo ya desarrollado:


2) Cree un programa en PHP para crear una cola que contenga 10 números menores a 20 y
realice un ciclo donde verifique uno a uno si es múltiplo de 5. Si es así inserte dicho número en
una pila. Imprima la pila al final de su ejecución. Como primer paso se crea el código para PHP:

Imprima la pila al final de su ejecución.

Como primer paso se crea el código para PHP:

<h2>Tarea semana 4, problema 2 </h2>

<p> Se presentan múltiplos de 5 en 10 números menores a 20</p>

<?php

class pila {

// variable $pila que contiene el arreglo tipo pila

private $pila;

//funcion void para crear la pila

public function __construct () {

$this->pila = array ();

//Inserta el elemento al tope de la pila

public function push($elemento) {

$this->pila[] = $elemento;

//Devuelve el elemento tope de la pila, el cual es removido de la misma

public function pop () {


return array_pop($this->pila);

class cola {

// variable $cola que contiene el arreglo tipo cola

private $cola = array ();

//funcion void para crear la cola

public function __construct () {

$this->cola = array();

//funcion que extrae el elemento del frente de la cola

public function desencolar() {

return array_shift($this->cola);

//funcion que inserta el elemento al final de la cola

public function encolar($elemento) {

$this->cola [] = $elemento;

//Nueva cola

$cola = new cola ();

//Nueva pila

$pila = new pila ();

for ($i=8; $i<=18; $i++){


$cola->encolar($i);

//10 elementos menores que 20

echo "<strong>Numeros menores a 20</strong><br>";

echo "<br><strong>Los elementos del arreglo son: </strong><br><br>";

print_r($cola);

echo

"<br><br>*********************************************************************

****<br>";

echo "<br><strong>Numeros multiplos de 5 </strong><br>";

for ($i=8; $i<=18; $i++) {

$cola->encolar($i);

if( ( $i % 5 ) == 0 ){

echo "<br>El ". $i . " es múltiplo de 5";

$pila->push($i);

}else{

echo " <br>El “. $i. " no es múltiplo de 5";

}
}

echo

"<br><br>*********************************************************************

****<br>";

echo "<br><strong>Pila con los multiplos de 5</strong><br>";

echo "<br>";

print_r($pila);

?>

A continuación, se muestran las salidas en PHP Designer:


Bibliografía

[Haga triple clic en cualquier parte de este párrafo para escribir la primera referencia

bibliográfica.]

Instrucciones para la sección de las citas bibliográficas:


Escriba la bibliografía aquí en orden alfabético (empezando por el apellido del primer autor o, de
no haber autor, por la primera palabra del título). Esta página ya está formateada con sangrías
francesas. Incluya sólo las citas bibliográficas a las que haya hecho referencia en su trabajo y
asegúrese de incluir todas las citas bibliográficas a las que se haya referido en el mismo.

Ejemplo de un periódico:

Lee, H. W. (2005). Los factores que influyen en los expatriados. Journal of American Academy of

Business, 6(2), 273-279. Consultado el 29 de enero de 2009, del banco de datos

ProQuest.

Ejemplo de un texto:

McShane, S. L., & Von Glinow, M. (2004). Organizational behavior: Emerging realities for the

workplace. New York: The McGraw-Hill Companies.

NOTA: Liste las citas bibliográficas en orden alfabético del apellido del autor, NO por el tipo de la
publicación. Los ejemplos previos le ayudarán a darle formato a cada tipo de publicación
en forma adecuada.

Por ejemplo:

 Banco de datos EBSCOhost


 Banco de datos ProQuest
 EIU Viewswire
 InvestText Plus

 Borre este recuadro de instrucciones antes de enviar su trabajo de investigación final.

También podría gustarte