document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #!/usr/bin/python
  2. from random import *
  3. import math
  4. import os, sys
  5.  
  6.  
  7. def manual(a):
  8.     n = int(raw_input("Cantidad de numeros a ingresar: "))
  9.     num = []
  10.     for i in range(n):
  11.         num.append(float(raw_input("")))
  12.         print num
  13.     num.sort()
  14.     print "Ordenados:\\n", num
  15.     Dn = hacer_tabla(n, num)
  16.     d = tablas(n, a)
  17.     comparacion(d,a,Dn,n)
  18.  
  19.  
  20. def tabla(a):
  21.     columna = int(raw_input("De que columna se tomaran los numeros: ")) -1
  22.     fila1 = int(raw_input("En que parrafo empieza a tomar los numeros: ")) -1
  23.     fila2 = int(raw_input("En que parrafo termina de tomar los numeros: "))
  24.     if fila1 == 2:
  25.         fila1 = 6
  26.     if fila1 > 2:
  27.         fila1 = fila1*5
  28.     if fila2 >= 2:
  29.         fila2 = fila2*5
  30.     matrix = cargar("aleatorio.txt")        
  31.     num = []
  32.     for fila in range(fila1,fila2):
  33.         num.append(matrix[fila][columna])
  34.     print num
  35.     n = len(num)
  36.     num.sort()
  37.     print "Ordenados:\\n", num
  38.     Dn = hacer_tabla(n, num)
  39.     d = tablas(n, a)
  40.     comparacion(d,a,Dn,n)
  41.  
  42.  
  43. def aleatorio(a):
  44.     n = int(raw_input("Cuantos numeros aleatorios deseas generar: "))
  45.     num  = []
  46.     for i in range(n):
  47.     num.append(float(round(random(),5)))
  48.     print num
  49.     num.sort()
  50.     print " "
  51.     print "Ordenados:\\n", num
  52.     print " "
  53.     Dn = hacer_tabla(n, num)
  54.     d = tablas(n, a)
  55.     comparacion(d,a,Dn,n)
  56.  
  57. def libreta(a):
  58.     print "Ejemplo de la libreta:"
  59.     num = ejemplo("ejemplo.txt")
  60.     print num
  61.     n = len(num)
  62.     print "n: ", n
  63.     a = 10
  64.     num.sort()
  65.     print "Ordenados:\\n", num
  66.     Dn = hacer_tabla(n, num)
  67.     d = tablas(n, a)
  68.     comparacion(d,a,Dn,n)
  69.  
  70. def hacer_tabla(n, num):
  71.     print "| i  |     xi    | F(xi)=i/n |             F(xi)-xi"
  72.     Dn = []
  73.     for i in range(n):
  74.         ii = float(i)
  75.         Fxi = float((ii+1)/n)
  76.         dn = abs(Fxi-num[i])
  77.         print "|",i+1, " | ",num[i], " |   ",Fxi, "   |   ", Fxi,"-",num[i],"=",dn
  78.         Dn.insert(i, dn)
  79.     Dn.sort()
  80.     print "El numero mayor es: ", Dn[n-1]
  81.  
  82.     return Dn
  83.  
  84. def cargar(file):
  85.     fl = open(file, "r")
  86.     matrix = []
  87.     for i in  fl:
  88.         temp = []
  89.         i = i.split()
  90.         for j in i:
  91.             temp.append(float(j))
  92.         matrix.append(temp)
  93.     fl.close()
  94.     return matrix
  95.  
  96. def ejemplo(file):
  97.     fl = open(file, "r")
  98.     num = []
  99.     for i in fl:
  100.         i = i.split()
  101.         for j in i:
  102.             j = float(j)
  103.         num.append(j)
  104.     fl.close()
  105.     return num
  106.  
  107.  
  108. def tablas(a, n):
  109.     d = 1 #(raw_input("Escribe 1 Para continuar: "))
  110.     if d == 1:
  111.         d = float(raw_input("Ingresa el numero del Estadistico de Tablas: "))
  112.     else:
  113.         tabla = distribucion("muestras.txt")
  114.         if a == 10:
  115.             for j in range(30):
  116.                 for i in range(4):
  117.                     if tabla[j][i] == a:
  118.                         d = tabla[j][1]
  119.                        
  120.  
  121.         if a == 5:
  122.             for j in range(30):
  123.                 for i in range(4):
  124.                     if tabla[j][i] == a:
  125.                         d = tabla[j][2]
  126.                        
  127.  
  128.         if a == 1:
  129.             for j in range(30):
  130.                 for i in range(4):
  131.                     if tabla[j][i] == a:
  132.                         d = tabla[j][3]
  133.                    
  134.     return d
  135.  
  136. def comparacion(d,a,Dn,n):
  137.     b = 100 - a
  138.     print " "
  139.     print "Z a/2 =", 100,"-",a,"= ",b
  140.     print "Z",b,"%","/",2
  141.     b = float(b/100.0)
  142.     b = float(b/2.0)
  143.     print "Z",b,"= ",d
  144.  
  145.     if Dn[n-1] > d:
  146.         print " "
  147.         print "Comparacion"
  148.         print Dn[n-1], ">", d
  149.         print "Los numeros son rechazados"
  150.     print "Hecho por el equipo #1"
  151.     if Dn[n-1] < d:
  152.         print " "
  153.         print "Comparacion"
  154.         print Dn[n-1], "<", d
  155.         print "Los numeros son aceptados"
  156.     print "Hecho por el equipo #1"
  157.    
  158.     sys.exit()
  159.  
  160. def distribucion(file):
  161.     fl = open(file, "r")
  162.     tabla = []
  163.     for i in  fl:
  164.         tabl = []
  165.         i = i.split()
  166.         for j in i:
  167.             tabl.append(float(j))
  168.         tabla.append(tabl)
  169.     fl.close()
  170.     return tabla
  171.  
  172. def main():
  173.     os.system("clear") # OJO clear es comando de linux en windows seria cls
  174.     done = False
  175.     print "    ------- Kolmogorov ------ Equipo 1 ------"
  176.     while done == False:
  177.         try:
  178.             a = int(val)
  179.         except:
  180.             a = int(raw_input("Cual sera el valor de alfa: "))
  181.         #try:
  182.         #    numeros = int(val)
  183.         #except:
  184.         #    numeros = int(raw_input("Agregar los numeros manualmente = 0 \\nAgregar los numeros segun la tabla = 1 \\nGenerar los numeros aleatoriamente = 2 \\nIngrese un numero: "))
  185.     numeros = 2
  186.        
  187.         if numeros == 0:
  188.             manual(a)
  189.         elif numeros == 1:
  190.             tabla(a)
  191.         elif numeros == 2:
  192.             aleatorio(a)
  193.         else:
  194.             libreta(a)
  195.  
  196. main()
');