Introdução à Programação
Aula Prática 3
Funções
Monitoria 2013.1
O que são funções e para que usar?




Funções são pedaços de código separados do
programa principal
Podem ser chamadas a qualquer momento dentro
da main ou de outras funções ou da própria
função
Dividem problemas complexos em problemas
menores (modularização)
Podem ser invocadas quantas vezes for preciso
(reusabilidade)
Estrutura de uma função
Tipo nome da função (parâmetros)
{
…comandos
retorno;
}
O Tipo de retorno da função (podendo ser void, isto é, sem
retorno)
O nome funciona como o de variáveis
Os parâmetros da função
O valor retornado pela função (quando ela retorna algo)
Parâmetros
Os parâmetros são informações a função
precisa receber para executar. Eles são separados
por vírgulas e podem ter tipos diversos
Os valores passados para a função são
meramente copiados
Exemplos:
void funcao( int num, char ch, float f)
{…}
void funcao_sem_parametros()
{…}
Comando return
- Comando de saída da função
- É obrigatório em funções que possuem tipo de retorno diferente
de void, devendo retornar exatamente o tipo definido na assinatura
- Em funções void podem ser usadas para sair da função
arbitrariamente (Porém, é considerada má pratica de programação)
Exemplos:
return var; // retornando uma variável
return 5; //retornando uma constante
return (((x*2) + (y/5)) * z) + 4; //podem ser usadas expressões
Exemplos
float Media_aritmetica( int n1, int n2)
{
return (n1 + n2) / 2.0;
}
void Imprime_menu()
{
printf(“Menu\n”);
printf(“1. Iniciar\n”);
printf(“2. Sair\n”);
}
Exemplo de uso
int main()
{
int num1 = 100, num2 = 200;
int resultado;
resultado = Media_aritmetica(num1, num2);
printf(“%d”, resultado);
return 0;
}
*Note que eu poderia ter impresso o resultado sem armazená-lo em
uma variável
printf(“%d”, Media_aritmetica(num1, num2));
Escopo
• O escopo de uma variável é o conjunto de locais
onde ela pode ser acessada.
• As variáveis e funções só podem ser acessadas
dentro da função onde foram declaradas.
• Variáveis declaradas dentro de funções são chamadas
de variáveis locais.
• Variáveis declaradas fora de todas as funções
(inclusive da main) são chamadas de variáveis
globais e podem ser referenciadas em todo o
programa.
Escopo
• Variáveis globais numéricas têm como padrão
serem inicializadas com 0 (ou seja, quando não
inicializadas explicitamente pelo programador)
• Há a possibilidade de se usar o mesmo nome para
uma variável global e uma local.
• Quando uma variável é chamada num lugar onde os
dois escopos são visíveis, o programa dará preferência
à variável local.
Escopo
• Lembre-se de que quando uma função chega ao
final, as variáveis nela declaradas deixam de
existir.
• As variáveis declaradas dentro de funções podem
ainda vir com o modificador static. Com ele, a
variável é criada apenas uma vez, e volta a ser
usada em todas as outras execuções da função.
int funcao()
{
static int num = 2;
num = num * 2;
return num;
}
Dúvidas?
Exercício 1

Crie uma função que receba o raio de uma
circunferência (float) e um ângulo em graus
(float) e retorne a área do setor circular
correspondente.
Obs: Considere PI = 3.14
Exemplo:
Entrada:
Saída:
4 // raio
180 // ângulo
25,12 // área
Exercício 2

Implemente as funções toupper e tolower (para 1
caracter) e usando elas faça um programa que receba
4 letras do usuário e para cada uma se for maiúscula
transforme para minúscula e vice-versa
Obs: toupper transforma para maiúscula e tolower para minúscula
Exemplo:
Entrada: cASa
Saída: CasA
Exercício 3

Faça uma função conversora de unidades de
velocidade. Ela deverá receber uma velocidade(float)
em m/s e uma opção. Se a opção for 1 retornar em
km/s, 2 -> Km/h, 3 -> milhas/h.
Obs: 1 milha = 1 609,344 metros
Exemplo:
Entrada: 12 //velocidade
2 //opção
Saída:
43,2
Download

Aula prática 1 Aula de Apresentação Monitoria 2012.2