Advertisement
idsystems

SLE_Practica58_Farmacia

Jun 24th, 2024
472
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.56 KB | None | 0 0
  1.  
  2. /* En una farmacia llegaron 3 cajas de medicamentos, el empleado de dicha farmacia va acomodar los medicamentos
  3.    en tres anaqueles alfabéticamente por laboratorio.
  4.    Con una cola estática simular la distribución de los anaqueles (anaquel 1: A-F, anaquel 2: G-P y anaquel 3: Q-Z)
  5.    e imprimir los medicamentos de cada uno de estos.
  6.    La información que se tiene del medicamento es clave, nombre y laboratorio.
  7.  
  8.    NOTA: La cola esta preparada para 100 medicamentos, pero para ejecutar la operacion solo usaremos 10.
  9.             Cambiar valor si es necesario
  10.  
  11. */
  12.  
  13.  
  14. tipos
  15.     Medicamento : registro
  16.    {
  17.     clave: cadena
  18.     nombre: cadena
  19.     laboratorio: cadena
  20.    }
  21.  
  22. var
  23.     cola_anaquel1, cola_anaquel2, cola_anaquel3: vector [100] Medicamento
  24.     frente1, final1, frente2, final2, frente3, final3: numerico
  25.     i, n: numerico
  26.     medicamento: Medicamento
  27.  
  28. inicio
  29.    cls()
  30.     // Inicializar las colas
  31.     frente1 = 1
  32.     final1 = 1
  33.     frente2 = 1
  34.     final2 = 1
  35.     frente3 = 1
  36.     final3 = 1
  37.  
  38.     // Leer el número total de medicamentos
  39.     imprimir("\nIntroduce el número total de medicamentos: ")
  40.     leer(n)
  41.  
  42.     // Insertar datos de los medicamentos
  43.     desde i=1 hasta n {
  44.         imprimir("\nIntroduce la clave del medicamento ", i, ": ")
  45.         leer(medicamento.clave)
  46.         imprimir("\nIntroduce el nombre del medicamento ", i, ": ")
  47.         leer(medicamento.nombre)
  48.         imprimir("\nIntroduce el laboratorio del medicamento ", i, ": ")
  49.         leer(medicamento.laboratorio)
  50.  
  51.         si (medicamento.laboratorio[1] >= 'A' and medicamento.laboratorio[1] <= 'F') {
  52.             // Insertar en la cola del anaquel 1
  53.             si (final1 < n) {
  54.                 final1 = final1 + 1
  55.                 cola_anaquel1[final1] = medicamento
  56.             sino
  57.                 imprimir("\nLa cola del anaquel 1 está llena.")
  58.             }
  59.         sino
  60.             si (medicamento.laboratorio[1] >= 'G' and medicamento.laboratorio[1] <= 'P') {
  61.                // Insertar en la cola del anaquel 2
  62.                si (final2 < n) {
  63.                    final2 = final2 + 1
  64.                    cola_anaquel2[final2] = medicamento
  65.                sino
  66.                    imprimir("\nLa cola del anaquel 2 está llena.")
  67.                }
  68.             sino
  69.                si (medicamento.laboratorio[1] >= 'Q' and medicamento.laboratorio[1] <= 'Z') {
  70.                          // Insertar en la cola del anaquel 3
  71.                    si (final3 < n) {
  72.                       final3 = final3 + 1
  73.                       cola_anaquel3[final3] = medicamento
  74.                    sino
  75.                       imprimir("\nLa cola del anaquel 3 está llena.")
  76.                    }
  77.                }
  78.             }
  79.          }
  80.       }   // cerrar el ciclo
  81.  
  82.     // Desplegar la cola del anaquel 1
  83.     imprimir("\n\nMedicamentos en el anaquel 1 (A-F):")
  84.     desde i=1 hasta final1 {
  85.         imprimir("\nClave: ", cola_anaquel1[i].clave, ", Nombre: ", cola_anaquel1[i].nombre, ", Laboratorio: ", cola_anaquel1[i].laboratorio)
  86.     }
  87.  
  88.     // Desplegar la cola del anaquel 2
  89.     imprimir("\nMedicamentos en el anaquel 2 (G-P):")
  90.     desde i=1 hasta final2 {
  91.         imprimir("\nClave: ", cola_anaquel2[i].clave, ", Nombre: ", cola_anaquel2[i].nombre, ", Laboratorio: ", cola_anaquel2[i].laboratorio)
  92.     }
  93.  
  94.     // Desplegar la cola del anaquel 3
  95.     imprimir("\nMedicamentos en el anaquel 3 (Q-Z):")
  96.     desde i=1 hasta final3 {
  97.         imprimir("\nClave: ", cola_anaquel3[i].clave, ", Nombre: ", cola_anaquel3[i].nombre, ", Laboratorio: ", cola_anaquel3[i].laboratorio)
  98.     }
  99. fin
  100.  
Tags: Colas
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement