Buscar

10_-_Funcoes

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

30/09/2008
Aula 08 - Funções(1)
*
Funções
Aula nº 10
Definição de Funções
Protótipos de Funções
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Objetivos
Construir programas modularmente usando funções;
Ser capaz de criar novas funções;
Entender os mecanismos para passar informações entre funções;
Aprender técnicas de simulação com geração aleatória de números;
Entender a visibilidade dos identificadores;
Entender e escrever funções que chamam a si mesmas.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Introdução
Uma função é um componente capaz de executar uma ou mais tarefas;
Contribui para a resolução de um problema a ser resolvido por um programa;
Um programa pode chamar várias funções, cada uma das quais com um objetivo específico.
Funções da Biblioteca padrão do Python;
Funções definidas pelo programador;
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Introdução
main
ajudante 1
ajudante 2
ajudante 3
ajudante 4
ajudante 5
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Introdução
Construir programas a partir de pequenas partes ou componentes – dividir para conquistar;
Uma função é invocada (ou chamada) por uma chamada de função;
A chamada especifica o nome da função e provê informações – argumentos.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Biblioteca Matemática
import math
Exemplo:
 >>> math.sqrt (900.0);
Calcula a raiz quadrada de 900.0
Argumentos podem ser constantes, variáveis ou expressões;
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Ei! sqrt!
Me dá o valor da raiz quadrada de 900 !
Estou calculando ...
 30 !
Obrigado !
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
		
		 ...
		 math.sqrt (900.0);
		 ...
		
Neste ponto, a execução do programa pára, chama a função e aguarda o retorno dela
A função sqrt calcula a raiz quadrada de 900.0 e retorna o resultado para main
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
...	
math.sqrt (900.0);
...
900.0
30.0
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Funções
Modularização – vantagens: 
Código mais administrável;
Reutilização de software;
Evita repetição de código num programa.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Funções definidas pelo programador
Funções podem ser definidas no programa;
Ao invés de usarmos funções da biblioteca padrão, nós criamos as funções necessárias no nosso programa;
Inserimos, então, chamadas à função no nosso programa.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Variáveis em funções
Variáveis declaradas nas funções – locais.
Parâmetros provêem um meio de passar informações para funções – locais.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Funções
Cada função deve se limitar a realizar uma tarefa simples e bem definida;
Em um programa com muitas funções, o programa principal deveria ser implementado como um grupo de chamadas a funções que executam o “grosso” do trabalho do programa.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Definição de função
Considere um programa que use a função quadrado para calcular quadrados dos números inteiros de 1 a 10.
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Exemplo
# função quadrado
def quadrado (x):
		return x*x
# programa principal
n=int(raw_input('Digite um número: '))
print "O quadrado do número é ", quadrado(n)
Primeiro escrevemos a função quadrado
Agora escrevemos o programa que vai usar a função
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
# função quadrado
def quadrado (x):
		return x*x
# programa principal
c = 1
while c<=10:
		print quadrado(c)
		c += 1
1
1
2
4
3
9
O processo continua até ...
10
100
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
 Definição de funções
 
def nome da função (lista de parâmetros) :
		declarações e comandos
	 	return valor/expressão
def quadrado( int x)
	return (x * x);
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Função definida pelo programador para calcular o máximo de três valores
Exemplo 2
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
3 8 5
Exemplo de execução
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
3
Definição da Função
def maximo (int x, int y, int z):
 max = x
 if (y > max):
	max = y
 if (z > max):
	max = z
 return max
3 8 5
max
8
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
def maximo (int x, int y, int z):
 max = x;
 if (y > max)
	max = y;
 if (z > max)
	max = z;
 return max;
print “Forneça três inteiros: ” ;
a = raw_input ()
b = raw_input ()
c = raw_input ()
print “O maior é: ”, maximo(a,b,c)
8
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Exercícios
Faça um programa para imprimir: 
	1
	2 2
	3 3 3
	...
	n n n n n n ... n
	para um n informado pelo usuário. Use uma função que receba um valor n inteiro e imprima até a n-ésima linha. 
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Exercícios
Faça um programa para imprimir: 
1
1 2
1 2 3
...
1 2 3 ... n
para um n informado pelo usuário. Use uma função que receba um valor n inteiro imprima até a n-ésima linha. 
Aula 08 - Funções(1)
30/09/2008
Aula 08 - Funções(1)
*
30/09/2008
Aula 08 - Funções(1)
*
Exercícios
Faça um programa, com uma função que necessite de três argumentos, e que forneça a soma desses três argumentos.
Faça um programa, com uma função que necessite de um argumento. A função retorna o valor de caractere ‘P’, se seu argumento for positivo, e ‘N’, se seu argumento for zero ou negativo. 
Aula 08 - Funções(1)
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais