Está en la página 1de 7

Título de la tarea

Principio de estructura de datos

Nombre Alumno

Sebastián Palma

Nombre Asignatura

Introducción a la programación

Instituto IACC

Ponga la fecha aquí

19/07/2020
Título de la tarea

Principio de estructura de datos

Nombre Alumno

Sebastián Palma

Nombre Asignatura

Introducción a la programación

Instituto IACC

Ponga la fecha aquí

19/07/2020

PRINCIPIO DE Introducción a la

ESTRUCTURA DE
programación

DATOS
Tarea semana 6
1) En Santiago se ha inaugurado una dulcería famosa porque solo produce un
tipo de queque de chocolate que satisface todos los gustos. La dulcería no
vende ni hornea ningún otro tipo de producto. Cada día asisten más y más
clientes y se ha decidido implementar un sistema de ventas con ticket para
la atención de los usuarios. Además, se debe considerar, por orden del
repostero, que los queques se vendan en el orden en que van saliendo y no
se deben acumular en los mostradores (esto para garantizar calidad y
frescura del producto). Al implementar este sistema en la repostería, ¿qué
tipo de datos abstractos reconoce que pueden estar presentes en la
implementación del sistema final? Fundamente su respuesta.

Análisis:

Analizando el problema en cuestión, se puede apreciar a primera vista que


existen 2 tipos de datos abstractos, los cuales son la lista que genera los tickets
de llegada de clientes y la fila que se genera al momento de obtener el ticket de
llegada, iniciando el proceso para hornear el pastel, el cual va saliendo y es
entregado según la orden del ticket de llegada.

Primer dato abstracto “secuencia”:

- Llegada de cliente Ticket 4


- Retiro de ticket
Ticket 3

Ticket 2

Ticket 1
Segundo dato abstracto “cola”:

- Recepción ticket
- Inicio proceso horneado

2) Se requiere diseñar una función que calcule si una palabra es palíndromo1


o no. Para ello debe comparar las estructuras de datos: pila, cola, arreglos,
secuencias o listas, y argumentar cuál recomienda para implementarla dentro
de un programa.

Argumento:
Basándonos en el proceso general, en el cual debemos ingresar una palabra o
frase, se podría definir como un proceso LIFO, por ende basándonos en la
información de cada tipo de estructuras de abstracción, automáticamente
dejamos fuera las filas, listas y secuencias, por lo cual la estructura de pila es
la más fácil de implementar para crear una solución más acorde al problema.
A continuación explicare el proceso que utilice para resolver el problema
basándome en la estructura de pila y además el sub proceso en el cual utilice
la estructura de array:
Primeramente indicare que utilice PHP para la resolución del problema.
1- Se define la variable $cadena, la cual almacenara la palabra o frase a
comparar.
$cadena='ati no bonita';
2- Luego se realizan los sub procesos. Asumiendo que al ser una frase
puede tener espacios, puntos, comas y/o mayúsculas.
a. Utilizaremos la estructura de Array para definir todo lo que no
sirve dentro del proceso de comparación
$nosirve = array();
$nosirve[0]=" ";
$nosirve[1]= ",";
$nosirve[2]= ".";
b. Luego declararemos otro Array para definir con que se
reemplazara lo que no sirve.
$remplaso= array();
$remplaso[0]="";
$remplaso[1]="";
$remplaso[2]="";
3- Luego de esto se declara la variable “$sinespacio” en la cual se guardara
el resultado del reemplazo, para esto se utiliza la función de PHP
“str_replace.”

$sinespacio = str_replace($nosirve,$remplaso,$cadena);

4- Despues se declara la variable “$min” en la cual se guardara el resultado


de la conversión del texto utilizando la función “strtolower” “$sinespasio”
$min = strtolower($sinespacio);
5- Continuamos declara la variable “$cadenainvertida” en el cual se
guardara el resultado de la cadena invertida, utilizando la función “strrev”.

$cadenainvertida = strrev($min);

6- Pondremos un título para identificar el nombre del proceso.


echo "Cálculo de palíndromos <br>";

7- Utilizamos la condicional ”IF” con la cual comparamos las variables para


determinar si el resultado es o no es un palíndromo.

a. Primero determinaremos la condición de verdadero si ambas


variables nos entregan un valor de 0 esto indica que en la
comparación no se encuentran diferencias entre las variables,
para esto utilizaremos la función de “strcmp”

if (strcmp($sinespacio, $cadenainvertida)==0){
echo "La cadena '". $cadena . "' es un palíndromo";
}
b. De lo contrario al no dar 0 la comparación entrara al “else” de “If”
else{
    echo "La cadena ". $cadena ." no es un palíndromo";
}
A continuación dejo el código completo y testeado en http://phptester.net/.
<?php
$cadena='ati no, bonita';
$nosirve = array();
$nosirve[0]=" ";
$nosirve[1]= ",";
$nosirve[2]= ".";
$remplaso= array();
$remplaso[0]="";
$remplaso[1]="";
$remplaso[2]="";
$sinespacio = str_replace($nosirve,$remplaso,$cadena);
$min = strtolower($sinespacio);
$cadenainvertida = strrev($min);

echo "Cálculo de palíndromos <br>";

if (strcmp($sinespacio, $cadenainvertida)==0){
    echo "La cadena '". $cadena . "' es un palíndromo";
}
else{
    echo "La cadena ". $cadena ." no es un palíndromo";
}

?>   

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.

Ejemplos de un artículo:

Apellido, A. A., Apellido, B. B., y Apellido, C. C. (año). Título del artículo específico. Título
de la Revista, número de la revista, número de página.
https://doi.org/xx.xxxxxxxxxx

Lee, H. W. (2005). Los factores que influyen en los expatriados. Journal of American Academy of
Business, 6(2), 273-279.

Osorio-Delgado, M. A., Henao-Tamayo, L. J., Velásquez-Cock, J. A., Cañas-Gutiérrez, A. I.,


Restrepo-Múnera, L. M., Gañán-Rojo, P. F., Zuluaga-Gallego, R. O., Ortiz-Trujillo, I C. y
Castro-Herazo, C. I. (2017). Aplicaciones biomédicas de biomateriales poliméricos.
DYNA, 84(201), 241-252. https://doi.org/10.15446/dyna.v84n201.60466

Nota: Si el artículo de la revista no tiene un DOI y proviene de una base de datos de investigación académica,
finalice la referencia después del rango de páginas. No incluya información de la base de datos en la
referencia. La referencia en este caso es la misma que para un artículo de revista impresa. Si el artículo de la
revista no tiene un DOI, pero tiene una URL que resolverá para los lectores (por ejemplo, es de una revista en
línea que no forma parte de una base de datos), incluya la URL del artículo al final de la referencia, en vez del
DOI.

Ejemplos de un texto:

También podría gustarte