180 likes | 308 Views
Introdução a Computação e Cálculo Numérico. Rodrigo Cristiano Silva rodrigo@facens.br. Agenda. O que são funções ? Características de funções Escopo de funções Protótipo de funções Definição de funções Chamando funções Passando dados para uma função Tipos de funções.
E N D
Introdução a Computação e Cálculo Numérico Rodrigo Cristiano Silva rodrigo@facens.br
Agenda • O que são funções? • Características de funções • Escopo de funções • Protótipo de funções • Definição de funções • Chamando funções • Passando dados para uma função • Tipos de funções Introdução a Computação e Cálculo Numérico
O que são funções? “É uma seção de código independente e autônoma, escrita para desempenhar uma tarefa específica.” Introdução a Computação e Cálculo Numérico
Características de funções • O programa fica mais legível e melhor estruturado; • Reutilização de código; • Cada função tem um nome único; • Os nomes de funções seguem as mesmas regras de nomenclatura para variáveis; • Podem ter qualquer nome exceto main. Introdução a Computação e Cálculo Numérico
Escopo de funções • Uma função pode chamar outras funções; • O bloco que compreende o corpo da função (bloco entre chaves) 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. Introdução a Computação e Cálculo Numérico
Variáveis Locais • São declaradas dentro de uma função; • Toda variável declarada dentro de um bloco pode ser referenciada apenas dentro deste bloco; • Permanecem na memória apenas durante a execução do bloco de código no qual estão declaradas. Introdução a Computação e Cálculo Numérico
Variáveis Globais • São conhecidas por todo o programa, ou seja, podem ser utilizadas em qualquer parte do código; • Permanecem na memória durante toda a execução do programa; • Deve ser declarada fora de qualquer função (até mesmo da função main). Introdução a Computação e Cálculo Numérico
Variáveis Globais e Locais 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++) ... } Introdução a Computação e Cálculo Numérico
Protótipo de funções 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++) ... } “Fornece ao compilador a descrição de uma função que será definida posteriormente no programa.” Sintaxe: tipo_retorno <nome_da_função>(tipo <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 e paramX: tipo e nome do(s) parâmetro(s) da função. Os parâmetros são separados por vírgula; Introdução a Computação e Cálculo Numérico
Definição de funções • É a função propriamente dita; • Composta de cabeçalho e corpo; • 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 chaves; • Protótipo e definição podem aparecer no mesmo arquivo ou em arquivos diferentes (recurso utilizado para criação de bibliotecas de funções). Introdução a Computação e Cálculo Numérico
Definição de funções 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++) ... } Sintaxe: tipo_retorno <nome_da_função>(tipo <param1>, tipo <param2>, ...) { <comando_1>; <comando_2>; ... } • 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 e paramX: tipo e nome do(s) parâmetro(s) da função. Os parâmetros são separados por vírgula; Introdução a Computação e Cálculo Numérico
Chamando funções “Chamamos ou executamos uma função, simplesmente usando seu nome seguido de parênteses, podendo ou não conter a lista de argumentos.” Exemplos: Protótipos:Chamada: void moldura( ); moldura(); int produto(int x, int y); p = produto(10, 20); float metade(float num); m = metade(z); Introdução a Computação e Cálculo Numérico
Parâmetros e Argumentos • Parâmetros • São os “receptores” dos argumentos; • São variáveis que recebem os valores com os quais a função irá trabalhar; • Especificam o tipo de dado que a função necessita receber. • Argumentos • São os valores passados para função. Introdução a Computação e Cálculo Numérico
Passando dados para uma função • Os dados passados para uma função são chamados de argumentos. • Os argumentos podem ser constantes, variáveis, expressões matemáticas, expressões lógicas e até mesmo outras funções. Exemplo: Protótipo: Chamada: int produto(int x, int y, int z); p = produto(a, b, c); float metade(int num); m = metade(produto(a, b, c)); Os argumentos a, b e c devem ser compatíveis com os parâmetros x, y e z em quantidade e tipo. Introdução a Computação e Cálculo Numérico
Tipos de funçõesFunções que não retornam valor • São declaradas como void; • Em seu corpo existem apenas comandos, dispensa o uso do return. Exemplo: Protótipo: void Mensagem(int iVezes); Chamada: Mensagem(10); Definição: void Mensagem(int iVezes) { int i; for(i=0; i<iVezes; i++) printf(“Olá mundo!”); } Introdução a Computação e Cálculo Numérico
Tipos de funçõesFunções que retornam valor • Podem ser declaradas como char, int, float ou double; • O valor de retorno pode ser armazenado em uma variável; • Além dos comandos do corpo da função é necessário o return. Exemplo: Protótipo: float fSoma(float fVal1, float fVal2); Chamada: fResultado = fSoma(10, 20); Definição: float fSoma(float fVal1, float fVal2) { return(fVal1 + fVal2); } Introdução a Computação e Cálculo Numérico
Exercício • Escrever uma função que calcule a média de dois números decimais (float) e retorne o resultado. Criar um programa para utilizar essa função. Introdução a Computação e Cálculo Numérico
Exercício • Criar um programa para simular uma calculadora que possui as quatro operações básicas (soma, subtração, multiplicação e divisão). Cada uma das operações deve ser implementada por uma função. Introdução a Computação e Cálculo Numérico