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, cola,pila,array
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.
Respuestas
1. La dulceria en Santiago quiere implementar un sistema que en programación se conoce como Colas o Queue, con esto se puede aplicar acciones como:
- Crear, encolar, desencolar y front.
Con esto se crea una cola vacía, se añaden elementos, se retiran elementos y el valor del primer elemento en la cola, vemos que lo que desea la dulceria, de vender a medida que se vaya produciendo practicaría este proceso. Al Queue se le conoce también como Fila
2. Código en C para verificar si una palabra es Palíndromo.
Vamos a realizar el código simple y teniendo en cuanta que una palabra es palíndromo si se lee igual de izquierda a derecha que de derecha a izquierda, empecemos:
//Vamos a declarar las variables y constantes necesarias:
TAM 40;
char palabra[TAM]; //Creamos un vector donde se almacenara cada carácter de la palabra
int longitud; // Variable que guardará el número de caracteres.
int i=0; //Variables de control
int fin;
//Programa principal
main(){
printf("\n Ingrese una palabra:\n\n"); //ingresar una palabra por teclado y se visualiza en la consola
gets(palabra); // Guardar la palabra en el vector palabra
longitud=strlen(palin); // Obtener la longitud de la palabra
//Creamos un ciclo For para que recorra el vector de izquierda a derecha y viceversa y luego compare los caracteres.
for(fin=longitud-1; palabra[fin] == palabra[i] && fin>=0; i++, fin--);
//Imprimir por consola lo indicado en el problema con printf.
if( i == longitud){
printf("\nLa palabra es un palindromo"); }
else{
printf ("\nLa palabra no es palindromo"); }
getch(); //Para que no se cierre la ventana hasta pulsar una tecla
}
Aquí vemos que usamos los arreglos para verificar la palabra, simplemente almacenamos cada carácter en un arreglo inicial y vamos comparando las letras según su ubicación.