# IAL-501 (Prof. Dr. Silvio do Lago Pereira) 

#-----------------------------------------------------------
# Exemplo 2
#-----------------------------------------------------------

def resto(a,b):
    r = a
    while r > b:
        r -= b
    return r

#-----------------------------------------------------------
# Exercicio 4
#-----------------------------------------------------------

from time import *

def tempo(f,*a):
    i = time()
    f(*a) 
    return time()-i

#-----------------------------------------------------------
# Exercicio 6
#-----------------------------------------------------------

from pylab import plot, grid, show

def experimento(): 
    X = range(16,27)
    Y = [tempo(resto,2**k-1,1) for k in X]
    plot(X,Y,'r-o')
    grid(True)
    show()

#-----------------------------------------------------------
# Exercicio 7
#-----------------------------------------------------------

from pylab import plot, grid, show

def T(k): return 2**(k+1)+1

def resultado(): 
    X = range(16,27)
    Y = [T(k) for k in X]
    plot(X,Y,'b-s')
    grid(True)
    show()
    
