ESTÁS EN: Calidad. Fiabilidad

QUIÉN hay detrás

QUÉ hay detrás

INICIO


Pgs.  1   2   3   4   5   6    

Ya hace más de 40 años que empecé a trabajar con el BASIC de IBM en cálculos un tanto engorrosos y complicados. Entonces descubrí que BASIC era una maravilla para resolver tanto problemas matemáticos como técnicos (que entonces se atacaban con FORTRAN), o administrativos que requerían COBOL. De ahí mi apego a BASIC que me ha acompañado hasta hoy. El de IBM ofrecía todo género de recursos pero desgraciadamente hoy carezco, en mi versión QUICK BASIC, de muchos de ellos, incluidos algunos elementales.

     

A mis fatigas tengo que añadir que mi QUICK BASIC estaba soportado en MSDOS de Windows y ahora trabajo con un MAC. Aunque me las apañaba con VIRTUAL PC, la mezcla no es nada favorable. Sin embargo, la misma dificultad me sirve de estímulo para ejercitarme en buscar las soluciones que necesito, y ello me resulta muy estimulante.

     

Digo esto para que los lectores no se extrañen de ciertas cosas: A falta de una adecuada interfase entre MAC y MSDOS tengo dificultades con los exponentes, no dispongo de la función factorial, etc.

     

Y ahora, algunas acotaciones al programa.

     

Las 8 primeras sentencias se destinan a la introducción de los 4 datos de partida y a su conversión a tanto por uno que es como los maneja el programa.

     

No es éste un programa “panacea”, es decir de los que resuelven un problema con la sola inyección de datos externos. Es más bien un programa  “plantilla”: en función de esos datos externos hay que acomodar algunos datos internos. Por ejemplo:

     

Los dos límites de la sentencia 100, y el superior de la 200 habrán de inspirarse en las prescripciones de las MIL-STD-105D que tienen en cuenta otra información a añadir a los datos externos: el tamaño del lote o partida, el nivel de inspección que ha de seguirse, etc.

     

A la sentencia 100 se le puede asignar un escalonado (STEP) para facilitar su ajuste propiciando un horquillado de la solución.

     

El límite superior de  la sentencia 200 se puede situar todo lo alto que se quiera (de hecho, si se llegara a n tendríamos una PR0 del 100 % de aceptar partidas con 0.8 % de defectuosos, puesto que eso es lo acordado); hay que saber, sin embargo, que el único valor de x que  interesa es aquel que produce una PR0 acumulada del 95 %.


     300.- Resuelve los factoriales de 0 y 1 que no soluciona la subrutina 20.

     10.- s es el sumatorio del segundo miembro (primera ecuación del sistema): la de w0.

     400.- t es el sumatorio del segundo miembro (segunda ecuación del sistema): la de w1.

     30.- Impone la condición de 95 % y 10 % para imprimir como resultado:

n, tamaño de la muestra.

x, equivalente a la cifra de aceptación c; obsérvese que vale 4 unidades, es decir que no llega a las 5 de 200.

s y t son los sumatorios que deben estar asociados al 95 % y al 10 %.

     500.- Cierra el bucle x.

     600 y 700.- ponen a cero el contador de s y t antes de saltar al siguiente bucle n.

     20.- Subrrutina para obtener los facoriales necesarios.


RESULTADO

     

Tal como está diseñado el programa, la solución consiste en 15 líneas de las que destacamos la primera y la última:












    x se mantiene con el valor 4 en las 15 líneas.

    n tiene valores crecientes.

    s y t ofrece valores decrecientes.

     

Ya se ve que la opción razonable es (n = 246; c = 4) si, como debe ser,  damos más importancia al NCA que al NCI y transigimos con que éste corresponda a un % de defectuosos del 14 % en vez del 10 % previsto inicialmente. Obsérvese asimismo que las 246 se obtienen antes de agotar el barrido de 250 que señala la sentencia100.

     

Ya sólo falta dibujar la curva. Para ello basta obtener varios de sus puntos llevando los valortes

n = 246           c = 4

a la primera ecuación del sistema. Así tendremos:


REM este program poisson1.bas busca puntos para la primera ecuación del sistema.

INPUT “Introduce el valor de la abscisa del punto w en%”, w

w = w / 100


100 n = 246

200 FOR x = 0 TO 4

300 IF x = 0 OR x = 1 THEN Fx =1 ELSE GOSUB 20

10 s = s + EXP(-n*w)*EXP(x*LOG(n*w))/Fx

400 IF x= 4 THEN PRINT n, x, 100*w, 100*s

500 NEXT x


END


20 REM Obtención de Fx = factorial de x

Fx = x

FOR j = 1 TO x-1

Fx = Fx*(x-j)

NEXT j

900 RETURN





















     




La tabla da los resultados obtenidos (siempre para n = 246 y c = 4) y la Fig. 3 muestra la CCO que se obtiene.

     












































ANTERIOR                                                                                                                                       SIGUIENTE

                                                                                PAG. 4 / 6