You are on page 1of 13

Tarea Semana 4

Jorge Rivas

Estructura de Datos

Instituto IACC

Septiembre 2018
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.

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 salida 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:

<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

Contenido semana 4 Estructuras de Datos, IACC 2018, más recursos adicionales.

You might also like