Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Você pode me dar um exemplo do uso do loop for em um programa computacional?

0 votos
333 visitas
perguntada Mar 12, 2016 em Programação Computacional por danielcajueiro (5,806 pontos)  
Compartilhe

5 Respostas

0 votos
respondida Mar 12, 2016 por danielcajueiro (5,806 pontos)  

Um exemplo simples em Python para o cálculo do n-ésimo termo da sequência de Fibonacci:

Python 2

    def fibonacci(n):
        if(n==1):
            print "1st Fibonacci number is", 0
        elif (n==2):
            print "2nd Fibonacci number is", 1
        else:
           fib2=0
           fib1=1
           for i in range(3,n+1):
               print "i: ",i
               fib=fib2+fib1
               fib2=fib1
               fib1=fib
           print "nth Fibonacci number is", fib    

    if __name__ == '__main__':

        fibonacci(2)

Python 3

def fibonacci(n):
    if(n==1):
        print ("1st Fibonacci number is", 0)
    elif (n==2):
        print ("2nd Fibonacci number is", 1)
    else:
       fib2=0
       fib1=1
       for i in range(3,n+1):
           print( "i: ",i)
           fib=fib2+fib1
           fib2=fib1
           fib1=fib
       print ("nth Fibonacci number is", fib)    

if __name__ == '__main__':
    fibonacci(5) 
0 votos
respondida Abr 7, 2016 por danielcajueiro (5,806 pontos)  

Um outro exemplo simples para calcular o máximo e o mínimo de uma sequência:

def max_function(x):
    n=len(x)
    maxValue=x[0]
    for i in range(1,n):    
        if(x[i]>maxValue):
            maxValue=x[i]
    return maxValue

def min_function(x):
    n=len(x)
    minValue=x[0]
    for i in range(1,n):    
        if(x[i]<minValue):
            minValue=x[i]
    return minValue

if __name__ == '__main__':
    key=9
    x=[5, 3, 8, 9, 1, 7, 2, 4, 6]
    print max_function(x)
    print min_function(x)    
0 votos
respondida Abr 7, 2016 por danielcajueiro (5,806 pontos)  

Um outro exemplo é um pequeno programa para fazer uma busca linear em uma sequência de números:

def linearSearch(x,key):
    x.append(key)
    n=len(x)
    i=0
    while (key!=x[i]):
        i=i+1
    if(i<n-1):
        return i
    else:
        return -1




if __name__ == '__main__':
    key=9
    x=[5, 3, 8, 9, 1, 7, 2, 4, 6]
    print linearSearch(x,key)
0 votos
respondida Abr 7, 2016 por danielcajueiro (5,806 pontos)  

Produto de matrizes em Python:

if __name__ == '__main__':


    A=((1, 2, 3),(4, 5 , 6))
    B=((7, 8, 9),(10 ,11, 12),(13,14,15))
    m=shape(A)[0]
    pA=shape(A)[1]
    pB=shape(B)[0]
    n=shape(B)[1]

    C= [[None for j in range(n)] for i in range(m)] # List Comprehensions
    if(pA!=pB):
        print "The matrices are NOT compatible"
    else:    
        p=pA
        for i in range(m):
            for j in range(n):
                C[i][j]=0
                for k in range(p):
                    C[i][j]=C[i][j]+A[i][k]*B[k][j]
0 votos
respondida Abr 7, 2016 por danielcajueiro (5,806 pontos)  

Encontrar o par mais próximo em um conjunto de pontos (closest pair) em python:

import numpy as np
import matplotlib.pyplot as plt
np.random.seed(10)
fig=plt.figure(num=None, figsize=(8, 8), dpi=80, facecolor='w', edgecolor='k')
plt.hold(True)
epsilon=0.1
plt.axis([0-epsilon, 1+epsilon, 0-epsilon, 1+epsilon])

def closest_pair(vector):
    n=np.shape(vector)[0]
    minDist=np.power(vector[0,0]-vector[1,0],2)+np.power(vector[0,1]-vector[1,1],2)+1.0
    for i in range(n-1):
        for j in range(i+1,n):
            dist=np.power(vector[i,0]-vector[j,0],2)+np.power(vector[i,1]-vector[j,1],2)
            if(dist<minDist):
                minDist=dist
                point1=vector[i,:]
                point2=vector[j,:]
    return point1,point2

if __name__ == '__main__':

    n=10
    vector=np.random.uniform(size=[n,2])    
    point1,point2=closest_pair(vector)
    plt.plot(vector[:,0],vector[:,1],'b.',markersize=20)
    plt.plot([point1[0],point2[0]],[point1[1],point2[1]],'r',markersize=20)
    plt.savefig('closestPair.eps')
...