Clube de Programação — Dia 3

Instituto HUB
Nov 4 · 3 min read
Foto: Zeilane Fernandes / Instituto HUB

O terceiro encontro do Clube de Programação aconteceu no último dia 15 de outubro e o conteúdo trabalhado foi função e recursividade em python.

A função é uma sequência de comandos que realiza uma tarefa e tem como principal finalidade organizar o programa que está sendo construído em blocos. Ou seja, dividir seu problema maior em partes menores e mais simples [1]. Dessa forma sua principal finalidade é nos ajudar a organizar programas em pedaços que correspondam a como imaginamos uma solução do problema [1].

COMANDOS

NOME é o nome dado a função

PARÂMETROS são especificações da função e pode ser 0, 1 um ou mais parâmetros em cada função.

COMANDO são as instruções a ser executadas quando a função é chamada



Vamos aos exemplos. Calcular fatorial:

Entrada:

def calcularFatorial (numero):

if (numero < 0):

return numero

fatorial = 1

for contador in range (1, numero +1):

fatorial *= contador

return fatorial

resultado = calcularFatorial (4) #você pode substituir o número que está entre parênteses. Esse será número fatorado.

if (resultado >0):

print (resultado)

else:

print (‘Erro.’)

Saída:

>>>

24

>>>

Calcular Combinação:

Entrada:

def calcularFatorial (numero):

if (numero < 0):

return numero

fatorial = 1

for contador in range (1, numero +1):

fatorial *= contador

return fatorial

def calcularCombinacao (n,p):

return calcularFatorial (n)/(calcularFatorial(p)*calcularFatorial(n-p))

print (calcularCombinacao (10,2)) #onde n=10 e p=2. Para alterar a combinação você altera os números aqui.

Saída:

>>>

45.0

>>>

Como vimos você pode criar qualquer nome para as suas funções, exceto aquelas que são usadas pelo python com alguma função já pré-definida. Além disso, também é possível uma função citar a si mesma. Para isso damos o nome de recursão! Lembra do for e do while que criavam formas de loops? Agora a recursão permite a você criar um loop até chegar ao seu resultado [3].

Segue um exemplo de recursividade:

Entrada:

def contar ():

if (inicio>10):

return inicio

print (inicio)

inicio += 1

contar (inicio)

def calcularFatorialRecursivo (n):

if (n==1):

return 1

return n*calcularFatorialRecursivo (n-1)

print (calcularFatorialRecursivo (5))

Saída:

>>>

120

>>>

Mas cuidado para não escrever algo que nunca termina, como por exemplo:

Entrada:

def infinita ():

print (‘infinito’)

infinita()

infinita()

Você pode conferir o primeiro texto sobre o Clube de programação e encontrar maiores informações em nosso github para treinar em casa!

Acompanhem as nossas mídias para saber mais sobre essa e outras atividades!

Fontes:

[1] https://python.ime.usp.br/pensepy/static/pensepy/05-Funcoes/funcoes.html

[2] https://www.dcc.ufrj.br/~fabiom/mab225/07func.pdf

[3] http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/node17.html

Para saber mais sobre o tema:

https://www.python.org

https://github.com/instituto-hub/ClubeDeProgramacao

http://orion.lcg.ufrj.br/python/_08%20-%20Programando%20em%20Python%20-%20Recursao.pdf

http://algol.dcc.ufla.br/~monserrat/icc/Introducao_linguagens.pdf

https://wiki.python.org.br/ListaDeExercicios

Livros:

Introdução à Programação com Python (Português) — Nilo Ney Coutinho Menezes

Automate the Boring Stuff with Python — Practical programming for total beginners. — Al Sweigart.

https://wiki.python.org.br/DocumentacaoPython

Assine a nossa newsletter quinzenal e receba conteúdo do Instituto HUB e parceiros em primeira mão!


Quer levar essa experiência e outras para a sua organização? Veja o que já foi feito por nós e entre em contato conosco. Conte-nos suas ideias!

institutohub

Um espaço para Instituto HUB compartilhar conteúdo sobre as áreas de atuação da organização.

Instituto HUB

Written by

Organização que tem por finalidade servir de plataforma física e virtual aos diferentes atores do ecossistema local e regional de inovação e empreendedorismo.

institutohub

Um espaço para Instituto HUB compartilhar conteúdo sobre as áreas de atuação da organização.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade