SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Funções
Curso de Programação em Python
Filipe Chagas Ferraz
Faculdade de Tecnologia SENAI Mato Grosso
28 10 2023
Introdução
Até o momento, aprendemos a desenvolver programas como
sequências contíguas de comandos e estruturas como if-else,
while e for. No entanto:
quando a complexidade do programa é alta, torna-se
necessário “quebrar” ele em pedaços menores e depois
juntar;
quando há trechos de código que tendem a se repetir
muitas vezes, não é interessante reescrevê-lo várias vezes,
pois isso dificulta a compreensão do código.
Para resolver esses dois problemas, existem as funções.
1 16
Em programação, funções são blocos autônomos de código
que realizam tarefas bem específicas.
Uma vez que um trecho de código é colocado em uma
função, pode ser “chamado” em qualquer outra parte do
código com uma única linha.
Com funções, é possível “quebrar” um código complexo em
vários pedaços simples, facilitando a compreensão do
código.
Há algumas funções built-in na linguagem Python, como
print, input e len.
2 16
Figura: Exemplo ilustrado de um programa que resolve equações de 2º
grau com funções.
3 16
Sintaxe – sem parâmetros e sem retorno
A sintaxe de uma função sem parâmetros e sem retorno é a
seguinte:
def <nome_da_funcao > ( ) :
#codigo da funcao
Exemplo
# define a funcao ola_mundo
def ola_mundo ( ) :
print ( ’ Ola Mundo ! ’ )
#chama a funcao ola_mundo
ola_mundo ( )
4 16
Sintaxe – com parâmetros e sem retorno
Parâmetros são ´´variáveis” que recebem valores quando a
função é chamada.
A sintaxe de uma função com parametros é a seguinte:
def <nome_da_funcao >( < parametros > ) :
#codigo da funcao
Exemplo
# define a funcao ola_usuario
def ola_usuario (nome ) :
print ( ’ Ola ’ , nome, ’ ! ’ )
#chama a funcao ola_usario
ola_usuario ( ’ F i l i p e ’ )
5 16
Sintaxe – com parâmetros e com retorno
O retorno de uma função é seu resultado, que é obtido pelo
código que chamou a função.
A sintaxe de uma função com parametros e retorno é a seguinte:
def <nome_da_funcao >( < parametros > ) :
#codigo da funcao
return <expressao >
Exemplo
# define a funcao calc_delta
def calc_delta ( a , b , c ) :
delta = b**2 − 4*a*c
return delta
#chama a funcao calc_delta e mostra o resultado
print ( calc_delta ( 4 , − 2 , 1 ) )
6 16
Exercício 1
Faça uma função que calcule o quadrado de um valor x.
7 16
Exercício 1
Faça uma função que calcule o quadrado de um valor x.
Resolução
def quadrado ( x ) :
resultado = x **2
return resultado
# teste
valor = float ( input ( ’ Valor : ’ ) )
res = quadrado ( valor )
print ( res )
7 16
Exercício 2
Faça uma função que calcule a soma de dois valores x e y.
8 16
Exercício 2
Faça uma função que calcule a soma de dois valores x e y.
Resolução
def soma( x , y ) :
resultado = x + y
return resultado
# teste
v1 = float ( input ( ’ V1 : ’ ) )
v2 = float ( input ( ’ V2 : ’ ) )
res = soma( v1 , v2 )
print ( res )
8 16
Exercício 3
Faça um programa que resolve equações do 2º grau.
1. O usuário insere os coeficientes a, b e c;
2. O programa chama uma função para calcular ∆ a partir de
a, b, c;
3. O programa chama outra função para calcular x1 e x2;
4. O programa mostra os resultados x1 e x2.
9 16
Exercício 4
Faça uma função para buscar o valor máximo de uma lista.
10 16
Exercício 4
Faça uma função para buscar o valor máximo de uma lista.
Resolução
def maximo( l i s t a ) :
aux = l i s t a [0]
for valor in l i s t a :
i f aux < valor :
aux = valor
return aux
10 16
Exercício 5
Faça uma função para calcular a média de uma lista.
11 16
Exercício 5
Faça uma função para calcular a média de uma lista.
Resolução
def media ( l i s t a ) :
soma = 0
for valor in l i s t a :
soma += valor
media = soma/len ( l i s t a )
return media
11 16
Exercício 6
Faça uma função para transformar um número inteiro em uma
lista de algarismos. Exemplo: 6245 7→ [6, 2, 4, 5].
Dica
Há uma forma simples de decompor um inteiro em algarismos
decimais:
1. Converta o inteiro para string
2. Itere pelos caracteres da string com for
3. Converta os caracteres para inteiros e coloque-os em outra
lista
12 16
Exercício 6
Resolução 1
def int_para_lista ( valor ) :
valor_str = str ( valor )
l i s t a = [ ]
for c in valor_str :
l i s t a . append ( int ( c ) )
return l i s t a
13 16
Exercício 7
Faça uma função para inverter a ordem de uma lista. Exemplo:
[1, 2, 3, 4] 7→ [4, 3, 2, 1].
14 16
Exercício 7
Faça uma função para inverter a ordem de uma lista. Exemplo:
[1, 2, 3, 4] 7→ [4, 3, 2, 1].
Resolução
def inverter ( l i s t a ) :
l i s t a 2 = [ ]
for item in l i s t a :
l i s t a 2 . insert (0 , item )
return l i s t a 2
14 16
Exercício 8
Faça uma função para verificar se um número é palíndromo.
Números palíndromos são aqueles que ficam iguais de trás para
frente. Exemplos: 13431, 303, 252, 15451.
Utilize as funções feitas anteriormente como parte da resolução
deste exercício.
15 16
Exercício 8
Faça uma função para verificar se um número é palíndromo.
Números palíndromos são aqueles que ficam iguais de trás para
frente. Exemplos: 13431, 303, 252, 15451.
Utilize as funções feitas anteriormente como parte da resolução
deste exercício.
Resolução
def palindromo (numero ) :
algarismos = int_para_lista (numero)
algarismos_inv = inverter ( algarismos )
return algarismos == algarismos_inv
15 16
Exercício 9
Faça uma função para verificar se um número é primo.
Dica
Um número é primo quando só é divisível por 1 e por ele mesmo.
Exemplos de números primos são 2, 3, 5, 7, 11, 13, 17...
16 / 16

Mais conteúdo relacionado

Semelhante a Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)

Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introduçãoRicardo Fahham
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
Funções inline e Recursivas
Funções inline e RecursivasFunções inline e Recursivas
Funções inline e RecursivasKadzuwa Kuyeri
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02thomasdacosta
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçaossuserc6132d
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxMarceloRosenbrock1
 

Semelhante a Aula - Funções (Curso de Python Básico -- FATEC SENAI MT) (20)

Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 
Intro funcoes(2)
Intro funcoes(2)Intro funcoes(2)
Intro funcoes(2)
 
Aula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmosAula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmos
 
Aula 7 aed - sub algoritmos
Aula 7   aed - sub algoritmosAula 7   aed - sub algoritmos
Aula 7 aed - sub algoritmos
 
Aula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmosAula 7 -_aed_-_sub_algoritmos
Aula 7 -_aed_-_sub_algoritmos
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
Funções inline e Recursivas
Funções inline e RecursivasFunções inline e Recursivas
Funções inline e Recursivas
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
Funções e procedimentos
Funções e procedimentosFunções e procedimentos
Funções e procedimentos
 
Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02Programação Estruturada 2 - Aula 02
Programação Estruturada 2 - Aula 02
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
Utilizandoo winplot
Utilizandoo winplotUtilizandoo winplot
Utilizandoo winplot
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
 
07-lambda.pdf
07-lambda.pdf07-lambda.pdf
07-lambda.pdf
 
Python 02
Python 02Python 02
Python 02
 
Python
PythonPython
Python
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 

Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)

  • 1. Funções Curso de Programação em Python Filipe Chagas Ferraz Faculdade de Tecnologia SENAI Mato Grosso 28 10 2023
  • 2. Introdução Até o momento, aprendemos a desenvolver programas como sequências contíguas de comandos e estruturas como if-else, while e for. No entanto: quando a complexidade do programa é alta, torna-se necessário “quebrar” ele em pedaços menores e depois juntar; quando há trechos de código que tendem a se repetir muitas vezes, não é interessante reescrevê-lo várias vezes, pois isso dificulta a compreensão do código. Para resolver esses dois problemas, existem as funções. 1 16
  • 3. Em programação, funções são blocos autônomos de código que realizam tarefas bem específicas. Uma vez que um trecho de código é colocado em uma função, pode ser “chamado” em qualquer outra parte do código com uma única linha. Com funções, é possível “quebrar” um código complexo em vários pedaços simples, facilitando a compreensão do código. Há algumas funções built-in na linguagem Python, como print, input e len. 2 16
  • 4. Figura: Exemplo ilustrado de um programa que resolve equações de 2º grau com funções. 3 16
  • 5. Sintaxe – sem parâmetros e sem retorno A sintaxe de uma função sem parâmetros e sem retorno é a seguinte: def <nome_da_funcao > ( ) : #codigo da funcao Exemplo # define a funcao ola_mundo def ola_mundo ( ) : print ( ’ Ola Mundo ! ’ ) #chama a funcao ola_mundo ola_mundo ( ) 4 16
  • 6. Sintaxe – com parâmetros e sem retorno Parâmetros são ´´variáveis” que recebem valores quando a função é chamada. A sintaxe de uma função com parametros é a seguinte: def <nome_da_funcao >( < parametros > ) : #codigo da funcao Exemplo # define a funcao ola_usuario def ola_usuario (nome ) : print ( ’ Ola ’ , nome, ’ ! ’ ) #chama a funcao ola_usario ola_usuario ( ’ F i l i p e ’ ) 5 16
  • 7. Sintaxe – com parâmetros e com retorno O retorno de uma função é seu resultado, que é obtido pelo código que chamou a função. A sintaxe de uma função com parametros e retorno é a seguinte: def <nome_da_funcao >( < parametros > ) : #codigo da funcao return <expressao > Exemplo # define a funcao calc_delta def calc_delta ( a , b , c ) : delta = b**2 − 4*a*c return delta #chama a funcao calc_delta e mostra o resultado print ( calc_delta ( 4 , − 2 , 1 ) ) 6 16
  • 8. Exercício 1 Faça uma função que calcule o quadrado de um valor x. 7 16
  • 9. Exercício 1 Faça uma função que calcule o quadrado de um valor x. Resolução def quadrado ( x ) : resultado = x **2 return resultado # teste valor = float ( input ( ’ Valor : ’ ) ) res = quadrado ( valor ) print ( res ) 7 16
  • 10. Exercício 2 Faça uma função que calcule a soma de dois valores x e y. 8 16
  • 11. Exercício 2 Faça uma função que calcule a soma de dois valores x e y. Resolução def soma( x , y ) : resultado = x + y return resultado # teste v1 = float ( input ( ’ V1 : ’ ) ) v2 = float ( input ( ’ V2 : ’ ) ) res = soma( v1 , v2 ) print ( res ) 8 16
  • 12. Exercício 3 Faça um programa que resolve equações do 2º grau. 1. O usuário insere os coeficientes a, b e c; 2. O programa chama uma função para calcular ∆ a partir de a, b, c; 3. O programa chama outra função para calcular x1 e x2; 4. O programa mostra os resultados x1 e x2. 9 16
  • 13. Exercício 4 Faça uma função para buscar o valor máximo de uma lista. 10 16
  • 14. Exercício 4 Faça uma função para buscar o valor máximo de uma lista. Resolução def maximo( l i s t a ) : aux = l i s t a [0] for valor in l i s t a : i f aux < valor : aux = valor return aux 10 16
  • 15. Exercício 5 Faça uma função para calcular a média de uma lista. 11 16
  • 16. Exercício 5 Faça uma função para calcular a média de uma lista. Resolução def media ( l i s t a ) : soma = 0 for valor in l i s t a : soma += valor media = soma/len ( l i s t a ) return media 11 16
  • 17. Exercício 6 Faça uma função para transformar um número inteiro em uma lista de algarismos. Exemplo: 6245 7→ [6, 2, 4, 5]. Dica Há uma forma simples de decompor um inteiro em algarismos decimais: 1. Converta o inteiro para string 2. Itere pelos caracteres da string com for 3. Converta os caracteres para inteiros e coloque-os em outra lista 12 16
  • 18. Exercício 6 Resolução 1 def int_para_lista ( valor ) : valor_str = str ( valor ) l i s t a = [ ] for c in valor_str : l i s t a . append ( int ( c ) ) return l i s t a 13 16
  • 19. Exercício 7 Faça uma função para inverter a ordem de uma lista. Exemplo: [1, 2, 3, 4] 7→ [4, 3, 2, 1]. 14 16
  • 20. Exercício 7 Faça uma função para inverter a ordem de uma lista. Exemplo: [1, 2, 3, 4] 7→ [4, 3, 2, 1]. Resolução def inverter ( l i s t a ) : l i s t a 2 = [ ] for item in l i s t a : l i s t a 2 . insert (0 , item ) return l i s t a 2 14 16
  • 21. Exercício 8 Faça uma função para verificar se um número é palíndromo. Números palíndromos são aqueles que ficam iguais de trás para frente. Exemplos: 13431, 303, 252, 15451. Utilize as funções feitas anteriormente como parte da resolução deste exercício. 15 16
  • 22. Exercício 8 Faça uma função para verificar se um número é palíndromo. Números palíndromos são aqueles que ficam iguais de trás para frente. Exemplos: 13431, 303, 252, 15451. Utilize as funções feitas anteriormente como parte da resolução deste exercício. Resolução def palindromo (numero ) : algarismos = int_para_lista (numero) algarismos_inv = inverter ( algarismos ) return algarismos == algarismos_inv 15 16
  • 23. Exercício 9 Faça uma função para verificar se um número é primo. Dica Um número é primo quando só é divisível por 1 e por ele mesmo. Exemplos de números primos são 2, 3, 5, 7, 11, 13, 17... 16 / 16