1 / 21

Funções

Funções. Marco Antonio Montebello Júnior marco.antonio@aes.edu.br. Estrutura de Dados. Funções Definições. É um bloco de código do programa que pode ser usado diversas vezes em uma execução. Seção de código independente e autônoma, escrita para desempenhar uma tarefa específica.

mya
Télécharger la présentation

Funções

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Funções Marco Antonio Montebello Júnior marco.antonio@aes.edu.br Estrutura de Dados

  2. FunçõesDefinições • É um bloco de código do programa que pode ser usado diversas vezes em uma execução. • Seção de código independente e autônoma, escrita para desempenhar uma tarefa específica. Linguagem C - Estrutura de Dados

  3. FunçõesCaracterísticas • Permite que o programa fique mais legível e melhor estruturado; • Reutilização de código; • Normalmente contém protótipo e definição da função; • Cada função tem um nome único; • Uma das características mais importantes da Linguagem C; • Pode ter qualquer nome exceto main. Linguagem C - Estrutura de Dados

  4. Variáveis Locais e Globais • Uma função pode chamar outras funções; • O bloco que compreende o corpo da função (bloco entre { }) está escondido do resto do programa; • Esse bloco não pode afetar nem ser afetado por outras partes do programa, a não ser que o código utilize variáveis globais. Linguagem C - Estrutura de Dados

  5. Variáveis Locais • São declaradas dentro do main ou de uma função criada pelo usuário; • Toda variável declarada dentro de um bloco { } podem ser referenciadas apenas dentro deste bloco; • Existem apenas durante a execução do bloco de código no qual estão declaradas. Linguagem C - Estrutura de Dados

  6. Variáveis Globais • São conhecidas por todo o programa; • Podem ser utilizadas em qualquer parte do código; • Permanecem com o seu valor durante toda a execução do programa; • Deve ser declarada fora de qualquer função (até mesmo da função main). Linguagem C - Estrutura de Dados

  7. Variáveis Locais e Globais void Linha(int iTam); //Protótipo da função int iColuna; //Declaração de Variável GLOBAL main() //Função principal MAIN { int iValorLinha; //Declaração de Variável LOCAL ... iColuna = 10; Linha(iValorLinha); ... } void Linha(int iTam) //Definição da função { int iCont; //Declaração de Variável LOCAL ... for(iCont = 0; iCont < iTam; iCont++) ... for(iCont = 0; iCont < iColuna; iCont++) ... } Linguagem C - Estrutura de Dados

  8. Protótipo da Função • Descrição da função que será definida posteriormente no programa. tipo_retorno <nome_da_função>(tipo_p <param1>, tipo <param2>, ...); tipo_retorno: tipo de dado que será retornado pela função; nome_da_função: nome que será dado a função, deve descrever resumidamente a funcionalidade da função; tipo_p e paramX: tipo e nome do(s) parâmetro(s) da função. Os parâmetros são separados por , (vírgula); • Sempre termina com ; (ponto e vírgula). Linguagem C - Estrutura de Dados

  9. Protótipo da Função int iSoma (int iValorA, int iValorB); float fMedia (float fNota1, float fNota2); void Mensagem(); void Calculo(float fValorF, int iValorI, char cResp); Linguagem C - Estrutura de Dados

  10. Definição / Declaração da Função • É a função propriamente dita; • Composta de cabeçalho e corpo da função; • O cabeçalho da função é idêntico ao protótipo com exceção do ; (ponto e vírgula); • O corpo da função deve estar entre { ... }; • Aparecem no mesmo código-fonte e após a função main() ou em arquivo independente. Linguagem C - Estrutura de Dados

  11. Definição da Função tipo_retorno <nome_da_função>(tipo_p <param1>, tipo <param2>, ...) { ... //Comando(s) } tipo_retorno: tipo de dado que será retornado pela função; nome_da_função: nome que será dado a função, deve descrever resumidamente a funcionalidade da função; tipo_p e paramX: tipo e nome do(s) parâmetro(s) da função. Os parâmetros são separados por , (virgula); Linguagem C - Estrutura de Dados

  12. Definição da Função int iSoma (int iValorA, int iValorB) { int iResultado; iResultado = iValorA + iValorB; return(iResultado); } void Mensagem() { printf(“Minha 1a. Função em Linguagem C!!!”); } Linguagem C - Estrutura de Dados

  13. Funções – Exemplo Geral Protótipo: float fMedia(float fNota1, float fNota2); Chamada: fMediaAluno = fMedia(10, 8); ou printf(“Resultado: %f!”, fMedia(5, 9)); Definição: float fMedia(float fNota1, float fNota2) { float fMed; fMed = (fNota1 + fNota2)/2; return(fMed); //return((fVal1 + fVal2)/2); } Linguagem C - Estrutura de Dados

  14. Parâmetros e Argumentos • Parâmetros • Entradas que a função recebe; • Guardadores de lugar para um argumento; • Fixos; • Contém tipo e o nome do(s) dado(s); • Argumentos • Valores reais Linguagem C - Estrutura de Dados

  15. Passagem de parâmetros por Valor • Valor de um argumento é copiado para o parâmetro formal da função; • As alterações no processamento não alteram as variáveis. Protótipo: int iQuadrado(int iValor); Chamada: iResult = iQuadrado(10); Definição: int iQuadrado(int iValor) { int iTemp; iTemp = iValor * iValor; return(iTemp); } Linguagem C - Estrutura de Dados

  16. Passagem de parâmetros Referência • Permite a alteração do valor de uma variável; • É necessária a utilização de ponteiros; Protótipo: void iTroca(int *iValA, int *iValB); Chamada:iTroca(&iNumA, &iNumB); Definição: void iTroca(int*iValA, int*iValB) { int iTemp; iTemp = *iValA; *iValA = *iValB; *iValB = iTemp; } Linguagem C - Estrutura de Dados

  17. Funções que NÃO retornam valores • São declaradas como void; • O corpo da função contém apenas instruções e comandos. Protótipo: void Mensagem(int iVezes); Chamada: Mensagem(5); Definição: void Mensagem (int iVezes) { int i; for(i = 0; i < iVezes; i++) printf(“Ola mundo %i”, i); } Linguagem C - Estrutura de Dados

  18. Funções que RETORNAM valores • São declaradas como char, int, float ou double; • O valor do retorno deve ser armazenado em uma variável; • O corpo da função além das instruções e comandos contém sempre o comando return. Linguagem C - Estrutura de Dados

  19. Funções que RETORNAM valores Protótipo: float fSoma(float fVal1, float fVal2); Chamada: fResultado = fSoma(10, 20); ou printf(“Resultado: %f!”, fSoma(15, 35)); Definição: float fSoma(float fVal1, float fVal2) { float fRes; fRes = fVal1 + fVal2; return(fRes); //return(fVal1 + fVal2); } Linguagem C - Estrutura de Dados

  20. Exercícios • Criar uma função para exibir uma mensagem qualquer na tela. • Escrever uma função que calcule a média 2 números do tipo float e retorne o valor calculado da média; • Criar uma função que calcula uma equação do 2o. Grau Linguagem C - Estrutura de Dados

  21. Exercícios • Criar uma função que converte a temperatura de graus Celsius para Fahrenheit ou vice-versa • c= 5.0 / 9.0 * (f-32). • f = 9.0 / 5.0 * c + 32 • Criar um programa calculadora, utilizando funções para somar, subtrair, multiplicar e dividir • Criar uma função que calcule o fatorial de um número fornecido pelo usuário. Linguagem C - Estrutura de Dados

More Related