Funções

Uma função é uma unidade de código de programa autônoma desenhada para cumprir uma tarefa particular.

A chamada de uma função desvia a execução do código para o corpo da função (bloco de código da função):

chamada_funcao

Motivação:

Problema 1:

  1. Escreva a função fat(n) que recebe n e devolve o fatorial de n.

  2. Escreva uma função que recebe dois inteiros m e n e calcula m!/(n!(m-n)!). Escreva essa função usando a função fat(n) do item anterior.

  3. Faça um programa que lê um numero inteiro n > 0 e imprime os coeficientes da expansão de (a+b)n.
def fat(n):
    fat = 1
    i = 1
    while i<=n:
        fat *= i
        i += 1
    return fat


def comb(m,n):
    return fat(m)/(fat(n)*fat(m-n))


n = int(input("Digite n: "))
k = 0
while k<=n:
    print(int(comb(n,k)), end=" ")
    k += 1
  

Problema 2:

  1. Usando a função sqrt(x) do módulo de matemática da linguagem Python (import math), escreva uma função que recebe as coordenadas cartesianas de dois pontos no plano e devolve a distância entre os pontos.

  2. Faça um programa que lê um ponto origem (x0, y0) e uma sequência de n > 1 pontos e determina o ponto mais próximo do ponto origem.
import math

def distancia(xa,ya, xb,yb):
    """ Calcula a distancia entre dois pontos"""
    dx = xb-xa
    dy = yb-ya
    d = math.sqrt(dx*dx + dy*dy)
    return d    

x0 = float(input("Digite x0 da origem: "))
y0 = float(input("Digite y0 da origem: "))

n = int(input("Digite n:"))

dmin = -1
for i in range(0,n,1):
    x = float(input("Digite x%d: "%(i+1)))
    y = float(input("Digite y%d: "%(i+1)))
    d = distancia(x0,y0, x,y)
    if dmin < 0 or d < dmin:
        dmin = d
        xmin = x
        ymin = y

print("x=%.2f, y=%.2f, d=%.2f"%(xmin,ymin,dmin))
  

Problema 3:

Escreva uma função que recebe uma lista de inteiros e devolve o menor e o maior valor da lista.
def menorMaiorLista(lista):
    maior = lista[0]
    menor = lista[0]
    for x in lista:
        if x > maior:
            maior = x
        elif x < menor:
            menor = x
    return menor,maior
  
Essa função poderia ser testada no IDLE, por exemplo, com a seguinte chamada:
m,M = menorMaiorLista([5,-4,18,8,-9,4])
print("menor =",m,", maior=",M)