You are on page 1of 5

ANEXO A

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

Fp. system("cls").h> #include <conio. printf("Ingrese la cantidad de cajas de cobro que estan en operacion \n(sin contar las rapidas) \n"). L . //Realiza la operación para calular el valor promedio de clientes que llegan a la caja de cobro cada hora Lam=(N*(1-Fi-Fp))/S.&S).Numero de personas que entran al super en una hora (N) \n2. //Almacena el promedio de clientes que llegan a la caja de cobro cada hora en la variable Lam .&x). float Exp. Ws.t. system("cls"). 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"). i. Po. //Limpia la pantalla del programa system("cls"). sí la opción del usuario fue la no.h> main() { int x. printf("Ingrese un porcentaje estimado de clientes que abandonan el super sin \n adquirir mercancia \n"). system("cls"). Fi. //Almacena el porcentaje estimado de clientes que aue adquieren menos de 15 articulos en la variable Fp scanf("%f". system("cls"). Wq.h> #include <stdio. es decir. Na. #include <stdlib.Promedio de personas que llegan en una hora a una caja de cobro (Lam) \n"). system("cls"). } //Sí la condición no se cumple. //Almacena la opción del usuario en la variable x scanf("%i". 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 la cantidad de cajas de cobro que estan en operacion en la variable S scanf("%f".&Fi). //Almacena el porcentaje estimado de clientes que abandonan el super sin adquirir mercancia en la variable Fi scanf("%f". //Imprime en pantalla opciones para el usuario printf("Seleccione una opcion de entrada \n1. printf("Ingrese un porcentaje estimado de clientes que adquieren menos de 15 articulos \n"). N.Código en C++ para el programa V2 de líneas de espera. sí la opción del usuario fue la no. Mu.h> #include <math. //Comienza una condición. //Almacena la cantidad estimada de clientes que entran al super en una hora en la variable N scanf("%i". S.&N).Lam.&Fp). Lq.v.

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

8) = Po Cells(16 + i. Wq. 3)) S = CDbl(Cells(9. 3)) Lam = CDbl(Cells(4. 3)) Na = CDbl(Cells(5.Lam)) Ws = Wq + 1 / Mu If t = 1 Then Wq = Wq * 60 Ws = Ws * 60 End If Cells(16 + i. 7) = Mu Cells(16 + i. 11) = Ws If Var = 1 Then Lam = Lam + 1 Else Mu = Mu + 1 End If i=i+1 Wend End Sub . 9) = Lq Cells(16 + i. 6) = Lam Cells(16 + i. } Código en Basic para el programa líneas de espera en Visual Basic. S. Na. Mu. 3)) Fi = CDbl(Cells(7. 10) = Wq Cells(16 + i. 3)) Fp = CDbl(Cells(8.Fp)) / S) End If Mu = Na * Exp i=0 While i < 11 And Lam <> Mu Po = (Mu .getch(). Private Sub CommandButton1_Click() Dim N. Min. 3)) Var = CDbl(Cells(12. Var As Integer Dim Exp.Fi . Lq. Ws As Double Range("B16:K90"). Fp. Fi.Lam) / Mu Lq = Abs((Lam ^ 2) / (Mu * (Mu .Clear N = CDbl(Cells(3. Lam. 3)) t = CDbl(Cells(10. 3)) If Lam = 0 Then Lam = Int((Na * (1 .Lam))) Wq = Lam / (Mu * (Mu . 3)) Exp = CDbl(Cells(6.