Introduo Programao Aula Prtica 3 Funes Monitoria 2013

  • Slides: 14
Download presentation
Introdução à Programação Aula Prática 3 Funções Monitoria 2013. 1

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

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

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

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

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 n 1, int n 2) { return (n 1 +

Exemplos float Media_aritmetica( int n 1, int n 2) { return (n 1 + n 2) / 2. 0; } void Imprime_menu() { printf(“Menun”); printf(“ 1. Iniciarn”); printf(“ 2. Sairn”); }

Exemplo de uso int main() { int num 1 = 100, num 2 =

Exemplo de uso int main() { int num 1 = 100, num 2 = 200; int resultado; resultado = Media_aritmetica(num 1, num 2); printf(“%d”, resultado); return 0; } *Note que eu poderia ter impresso o resultado sem armazená-lo em uma variável printf(“%d”, Media_aritmetica(num 1, num 2));

Escopo • O escopo de uma variável é o conjunto de locais onde ela

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,

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 quando uma função chega ao final, as variáveis nela declaradas

Escopo • Lembre-se de 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?

Dúvidas?

Exercício 1 Faça uma função que receba 2 números e retorne: • 0 –

Exercício 1 Faça uma função que receba 2 números e retorne: • 0 – Se forem iguais • 1 – Se o primeiro for maior • -1 – Se o segundo for maior Exemplo: Entrada: 12 2 Saída: 1 Entrada: Saída: 77 0

Exercício 2 Implemente um função que calcule a nota que o aluno precisa para

Exercício 2 Implemente um função que calcule a nota que o aluno precisa para passar, recebendo 2 das notas e a média que precisa atingir. Obs: Assuma que há 3 unidades. Exemplo: Entrada: 10 4 // Notas 7 // Média necessária Saída: 7 // Nota necessária

Exercício 3 Crie duas funções: • uma que converta de Celsius para Fahrenheit. •

Exercício 3 Crie duas funções: • uma que converta de Celsius para Fahrenheit. • uma que converta de Fahrenheit para Celsius. Implemente um programa no qual o usuário escolha a conversão desejada e a realize. Exemplo: Entrada: f // Fahrenheit 104 Saída: Entrad f Entrada: c 20 // °C Saída: 68 // °F // Fahrenheit Saída: 104 40 // °F // °C // °F 40 // °C // Celsius