• Sábado 14 de Diciembre de 2024, 21:47

Autor Tema:  Re: Filas Urgente  (Leído 770 veces)

jochelo

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Filas Urgente
« en: Viernes 22 de Junio de 2007, 02:30 »
0
necesitamos esto antes de las 23:30 hora chilena
de esto depende k pacemos el ramo


se supone que se hace usando colas, cualquier ayuda aunque sea parte de la solucion mandenla please

Don Cuasimodo, agente del banco “Inverlink” del pueblo de Pelotillehue decide contratar a un ingeniero que lo asesore en el estudio de la ampliación de las instalaciones, puesto que se instalará una nueva planta generadora de energía en el pueblo que traerá un incremento considerable de clientes. La ampliación trae consigo la eventual contratación de personal para atender nuevas cajas. En la actualidad el banco solo funciona con 2 cajeros que atienden en promedio a 100 personas diariamente. El Agente a descubierto que el tiempo promedio de atención esta entre (los 200 a 300ms). El tiempo total del dìa de atenciòn es de 30.000ms


Realice una simulación en C++ del caso y elabore un informe que permita mostrar la capacidad máxima de atención actual.

Que sucede si la dotación de público aumenta a 100 personas más diariamente.

Que sucede si se agrega un cajero más (considerando el aumento)








ESTO ES UNA BASE DE COMO HACER EL PROGRAMA, PERO NO CONSIGO MODIFICARLO PARA K FUNCIONE KON LO K ME PIDEN AHORA



el sr. perez salió a celebrar el día del niño junto a sus 3 niños
a "Fantasilandia", la sorpresa fue al llegar, puesto que todos los juegos
se encontraban llenos, sin embargo, el "Tagadá" tenía una cola más pequeña
que el resto de los juegos, por esto deciden incorporarse a la cola que hasta
ese entonces tenía 44 personas.
Considerando:
que en el juego entran 8 personas a la vez
el horario de inicio y termino de funciones es de 10:00 a 19:00 respectivamente
la cantidad de usuarios (niños) promedio en un día de semana es de 450 niños
el tiempo de funcionamiento de cada servicio (juego) ocila entre los 5 a 6 minutos
 
preguntas:

1. cuanto tiempo tendrán que esperar los 3 niños para subir al juego
2. Cuanta es la capacida total de funcionamiento durante la semana
3. Que sucede si en un día normal llegan 2 cursos con 40 personas c/u



#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct nodo{
int dato; //dato que va a guardar
struct nodo *sig; //puntero al nodo siguiente
struct nodo *ant; //puntero al nodo anterior
int tmp; //tiempo de proceso
};

struct nodo *inicio, *final;


void inicializar(struct nodo *a, struct nodo *s)
{
inicio=NULL;
final=NULL;
}

void insertar(int num, struct nodo *a, struct nod *s,int tiempo)
{
struct nodo *aux1,*aux2,*p;
aux1=a;
aux2=s;
if ((aux1==NULL)&&(aux2==NULL))
{
p=(struct nodo *)malloc(sizeof (struct nodo));
p->dato=num;
p->sig=NULL;
p->ant=NULL;
p->tmp=tiempo;//guarda el tiempo de proceso
inicio=p;
final=p;
}
else
{

p=(struct nodo *)malloc(sizeof (struct nodo));
p->dato=num;
p->sig=inicio;
p->tmp=tiempo;//guarda el tiempo de proceso
inicio->ant=p;
p->ant=NULL;
inicio=p;
}
}

void recorrer(struct nodo *s)
{
struct nodo *aux2;aux2=s;
gotoxy(30,20);
if (aux2==NULL)
{
gotoxy(30,20);cprintf("COLA VACIA");
}
else
{
while(aux2!=NULL)
{
printf("%i - ",aux2->dato);
aux2=aux2->ant;
}
}
getch();
}

void recorrer_pro(struct nodo *s)
{
struct nodo *aux;
int c=0,pos=35;aux=s;

gotoxy(30,30);cprintf("ELEM | MS | TOTn");
while(aux!=NULL)
{
c=c+aux->tmp;
gotoxy(30,pos);cprintf(" %i ",aux->dato);
gotoxy(35,pos);cprintf(" %i ",aux->tmp);
gotoxy(40,pos);cprintf(" %i n ",c);
aux=aux->ant;
pos++;
}

getch();

}

void aleatorio()
{
int i,num,ale1,ale2;
printf("INGRESE CANT. DE ELEMENTOS:");
scanf("%d",&num);

for(i=0;i<num;i++)
{
ale1=rand()%500;//genera un numero aleatorio entre 1 y 500 (NO SE OCUPAN PARA ESTE CASO)
ale2=rand()%100;//genera un numero aleatorio entre 1 y 100
delay(ale1); //demora <ale1> ms en ejecutar la siguiente instrucci¢n (NO SE OCUPA PARA ESTE CASO)
insertar(ale1,inicio,final,ale2);//invoca la funci¢n insertar y pasa los valores aleatorios
}
}

void procesar()
{
int t;struct nodo *fin;fin=final;

while(fin!=NULL)
{
t=rand()%400;//genera numero aleatorio entre 1 y 500
delay(t);//demora t ms
fin->tmp=t;//guardamos el tiempo que supuestamente se demora (simulado) con la variable t
fin=fin->ant; //hacemos devolver hacia atras
}
recorrer_pro(final);
}

void menu()
{
clrscr();
gotoxy(32,4); cprintf("n OPCIONES");
gotoxy(25,5); cprintf("n COLA DOBLEMENTE ENLZADA ");
gotoxy(25,; cprintf("n1. INICIALIZAR COLA");
gotoxy(25,9); cprintf("n2. INSERTAR");
gotoxy(25,10); cprintf("n3. RECORRER");
gotoxy(25,11); cprintf("n4. GENERAR");
gotoxy(25,12); cprintf("n5. PROCESAR");
gotoxy(25,13); cprintf("n6. SALIR");
}

void main()
{
int op,opcion, numero;
do
{
menu();
gotoxy(25,1;cprintf("n Ingrese Opci¢n: ");
scanf("%i",&op);
while((op<1)||(op>6));

switch (op)
{
case 1: inicializar(inicio,final); break;

case 2: gotoxy(20,20); cprintf("n INGRESE DATO PARA LA COLA: ");
scanf("%i",&numero);
insertar(numero,inicio,final,0);break;

case 3: recorrer(final);break;

case 4: aleatorio();break;

case 5: procesar(final);break;

case 6: break;

}
}while(op!=6);

}