You are on page 1of 5

ANEXO A

Cdigo en C++ para el programa V1 de lneas de espera.


#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h> main() { int N, Na, S ; float Exp,Lam, Mu, Lq, Fi, Fp, Po, Wq, Ws; //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Introduzca el numero estimado de potenciales \ncompradores que entran al super cada hora \n"); //Guarda el numero de potenciales compradores en la variable N scanf("%i",&N); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Cuantos compradores son atendidos por hora? \n"); //Guarda el numero de compradores atendidos en una hora en la variable Na scanf("%i",&Na); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Proporcione un factor para potenciales compradores que entran \ny salen sin comprar mercancia (Valor entre 0 y 1) \n"); //Guarda el factor de potenciales compradores que entran y salen sin comprar mercanca en la variable Fi scanf("%f",&Fi); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Proporcione un factor de compradores que adquieren \nmenos de 15 articulos (los que van a cajas rapidas) \n"); //Guarda el factor de compradores que adquieren menos de 15 artculos en la variable Fp scanf("%f",&Fp); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Cuantas cajas de cobro (sin contar las rapidas) \nen operacion hay en el super?\n"); //Guarda la cantidad de cajas de cobro en la variable S scanf("%i",&S); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una solicitud de datos printf("Cual es la experiencia del cajero? \n0.5 para poca o nula experiencia \n1 para experiencia completa\n"); //Guarda la experiencia del cajero en la variable Exp scanf("%f",&Exp);

//Limpia la pantalla del programa system("cls"); //Imprime en pantalla un mensaje de espera printf("Espere un momento\n"); //Realiza una serie de operaciones Lam=(N*(1-Fi-Fp))/S; Mu= Na*Exp; Lq=Lam/(Mu*(Mu-Lam)); Wq=Lam/(Mu*(Mu*Lam)); Ws=Wq + (1/Mu); Ro=Lam/Mu; Po=abs((Mu-Lam)/Mu); //Imprime en pantalla un mensaje para continuar printf("Los resultados estan listos, presione \ncualquier tecla para continuar y mostrar los resultados \n"); //Espera a que el usuario presione cualquier tecla getch(); //Limpia la pantalla del programa system("cls"); //Imprime en pantalla una serie de resultados printf("\n La probabilidad de encontrar desocupada la caja es de: %f \n",Po); printf("\n El promedio de clientes que llegan a la caja de cobro es de: %f por hora \n",Lam); printf("\n El promedio de servicios por caja de cobro es de: %f por hora \n",Mu); printf("\n La longitud esperada de la cola es de: %f \n",Lq); printf("\n El tiempo que pasa el cliente en la fila es de: %f de hora \n",Wq); printf("\n El tiempo que pasa el cliente en el sistema es de: %f de hora \n",Ws); //Espera a que el usuario presione cualquier tecla getch(); }

Cdigo en C++ para el programa V2 de lneas de espera.


#include <stdlib.h> #include <conio.h> #include <stdio.h> #include <math.h> main() { int x,t,v, i, N, Na, S, L ; float Exp,Lam, Mu, Lq, Fi, Fp, Po, Wq, Ws; //Limpia la pantalla del programa system("cls"); //Imprime en pantalla opciones para el usuario printf("Seleccione una opcion de entrada \n1.Numero de personas que entran al super en una hora (N) \n2.Promedio de personas que llegan en una hora a una caja de cobro (Lam) \n"); //Almacena la opcin del usuario en la variable x scanf("%i",&x); system("cls"); //Comienza una condicin, s la opcin del usuario fue la no. 1 entonces ejecutar las acciones que siguen if(x==1){ //Imprime en pantalla una solicitud de datos printf("Ingrese la cantidad estimada de clientes que entran al super en una hora \n(Considere cliente a la persona o grupo de personas que compran mercancia)\n"); //Almacena la cantidad estimada de clientes que entran al super en una hora en la variable N scanf("%i",&N); system("cls"); printf("Ingrese un porcentaje estimado de clientes que abandonan el super sin \n adquirir mercancia \n"); //Almacena el porcentaje estimado de clientes que abandonan el super sin adquirir mercancia en la variable Fi scanf("%f",&Fi); system("cls"); printf("Ingrese un porcentaje estimado de clientes que adquieren menos de 15 articulos \n"); //Almacena el porcentaje estimado de clientes que aue adquieren menos de 15 articulos en la variable Fp scanf("%f",&Fp); system("cls"); printf("Ingrese la cantidad de cajas de cobro que estan en operacion \n(sin contar las rapidas) \n"); //Almacena la cantidad de cajas de cobro que estan en operacion en la variable S scanf("%f",&S); system("cls"); //Realiza la operacin para calular el valor promedio de clientes que llegan a la caja de cobro cada hora Lam=(N*(1-Fi-Fp))/S; } //S la condicin no se cumple, es decir, s la opcin del usuario fue la no. 2 entonces ejecutar las acciones que siguen else{ printf("Ingrese el promedio de clientes que llegan a la caja de cobro cada hora \n"); //Almacena el promedio de clientes que llegan a la caja de cobro cada hora en la variable Lam

scanf("%f",&Lam); system("cls"); } printf("Ingrese el promedio de clientes atendidos en una hora en una caja de cobro \n"); //Almacena el promedio de clientes atendidos en una hora en una caja de cobro en la variable Na scanf("%i",&Na); system("cls"); printf("Ingrese el nivel de experiencia del cajero \n0.5 para poca o nula experiencia \n1 para amplia experiencia\n"); //Almacena el nivel de experiencia del cajero en la variable Exp scanf("%f",&Exp); system("cls"); //Operacin para calcular Mu Mu=Na*Exp; printf("Seleccione la opcion de salida de tiempo en una unidad \n1.Minutos \n2.Horas \n"); //Almacena la opcin del usuario en la variable t scanf("%i",&t); system("cls"); printf("Seleccione la variable que desea incrementar \n1.Promedio de clientes que llegan a la caja de cobro cada hora \n2.Promedio de clientes atendidos en una hora en una caja de cobro \n"); //Almacena la opcin del usuario en la variable v scanf("%i",&v); system("cls"); //Le da a la variable i un valor inicial de 1 antes de iniciar una sentencia i=1; //Imprime en pantalla las cabeceras de los resultados printf("| Lam| Mu |Po|Lq|Wq|Ws| \n"); //Inicia un ciclo que se repetira mientras el valor de Lam sea menor a Mu, o que el valor de i sea menor a 11 while(Lam<Mu || Lam==Mu-1 ||i==10){ Po=(Mu-Lam)/Mu; Lq=Lam/(Mu*(Mu-Lam)); Wq=Lam/(Mu*(Mu-Lam)); Ws=Wq+1/Mu; //Si la opcin del usuario para la salida de datos de tiempo fue en minutos se realizaran las operaciones para la conversin a dicha unidad if(t==1){ Wq=Wq*60; Ws=Ws*60; } //Imprime los resultados de Lam,Mu,Po,Lq,Wq,Ws en cada rengln printf("| %.f | %.f | %.4f | %.4f |%.4f | %.4f | \n",Lam,Mu,Po,Lq,Wq,Ws); //Si el usuario eligio incrementar Lam se realizara el incremento de dicha variable if(v==1){ Lam=Lam+1; } //Si por el contrario, el usuario eligio incrementar Mu se realizara el incremento de dicha variable else{ Mu=Mu+1; //Se incrementa el valor de i en 1 para que pueda terminar en algn momento el ciclo i=i+1; } }

getch(); }

Cdigo en Basic para el programa lneas de espera en Visual Basic.


Private Sub CommandButton1_Click() Dim N, Na, S, Min, Var As Integer Dim Exp, Fi, Mu, Lam, Fp, Lq, Wq, Ws As Double Range("B16:K90").Clear N = CDbl(Cells(3, 3)) Lam = CDbl(Cells(4, 3)) Na = CDbl(Cells(5, 3)) Exp = CDbl(Cells(6, 3)) Fi = CDbl(Cells(7, 3)) Fp = CDbl(Cells(8, 3)) S = CDbl(Cells(9, 3)) t = CDbl(Cells(10, 3)) Var = CDbl(Cells(12, 3)) If Lam = 0 Then Lam = Int((Na * (1 - Fi - Fp)) / S) End If Mu = Na * Exp i=0 While i < 11 And Lam <> Mu Po = (Mu - Lam) / Mu Lq = Abs((Lam ^ 2) / (Mu * (Mu - Lam))) Wq = Lam / (Mu * (Mu - Lam)) Ws = Wq + 1 / Mu If t = 1 Then Wq = Wq * 60 Ws = Ws * 60 End If Cells(16 + i, 6) = Lam Cells(16 + i, 7) = Mu Cells(16 + i, 8) = Po Cells(16 + i, 9) = Lq Cells(16 + i, 10) = Wq Cells(16 + i, 11) = Ws If Var = 1 Then Lam = Lam + 1 Else Mu = Mu + 1 End If i=i+1 Wend End Sub