Buscar

[Prof. Emiliana]aula09

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Procedimentos e Funções
CIC107-Programação de Computadores I
Emiliana Mara Lopes Simões
simoes.eml@gmail.com
Universidade Federal de Ouro Preto
novembro 2009
Funções
Um problema complexo é melhor abordado se for dividido
primeiramente em vários subproblemas
Função
É um bloco de instruções que realiza uma tarefa específica quando
é chamada de algum outro ponto do programa
Exemplo 1: Função sqrt da biblioteca matemática (cmath)
Já utilizamos a função sqrt definida na biblioteca cmath de
C++. Vejam um programa exemplo para relembrar o seu uso:
#include <cmath>
#include <iostream>
using namespace std;
main(){
float num, raiz;
cout << “Digite o numero que voce deseja obter a raiz quadrada: ”;
cin >> num;
raiz = sqrt(num);
cout << “A raiz quadrada de ” << num << “ eh ” << raiz << endl;
system(“pause”);
}
Exemplo 1: Função sqrt da biblioteca matemática (cmath)
Podemos fazer uma analogia de uma função com uma
caixa-preta
Não importa como mas... Qualquer valor passado à função
sqrt será manipulado e sua raiz quadrada retornada
Exemplo 1: Função sqrt da biblioteca matemática (cmath)
sqrt(9)
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
Para calcular a área de um retângulo qualquer de quais
informações precisamos?
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
Obviamente a informação retornada será o valor da área do
retângulo...
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
float area(float b, float h){
float a;
a = b * h;
return a;
}
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
#include <iostream>
using namespace std;
float area(float b, float h){
float a;
a = b * h;
return a;
}
main(){
float resp;
resp = area(10, 15);
cout << “A area do retangulo e: ” << resp;
system(“pause>null”);
}
Exemplo 2: Implementação de uma função para calcular a
área de um retâgulo
Funções: Forma Geral
tipo_retorno nome_da_funcao(<lista_de_parâmetros>)
{
<declarações e instruções>
return <valor_de_retorno>;
}
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
float area(float b, float h){
float a;
a = b * h;
return a;
}
Funções: tipo_retorno, nome_da_função
tipo_retorno é o tipo do resultado (valor) retornado pela
função (Exemplo: int, float, char, bool)
O tipo_retorno void indica que a função não retorna um
valor
nome_da_função é qualquer identificador válido e
corresponde ao nome pelo qual será possível chamar a função
Funções: lista_de_parâmetros
lista_de_parâmetros é uma lista separada por vírgulas na qual
a função determina o tipo e o nome dos seus parâmetros, por
exemplo, int x
Cada parâmetro funciona dentro da função como qualquer
outra variável
Forma geral da lista de parâmetros:
(tipo nome1, tipo nome2, ..., tipo nomeN)
Uma função pode não ter parâmetros (lista de parâmetros
vazia!!!);
Funções: Comando return
O comando return determina o fim da execução de uma
função;
A expressão contida dentro do comando return é chamada de
valor de retorno, e corresponde à resposta de uma
determinada função;
O valor de retorno deve ser compatível com o tipo de
retorno declarado para a função!!!
Exemplo 3: Implementação de uma função para imprimir na
tela uma mensagem de boas vindas
Problema: Implementar uma função para imprimir na tela a
mensagem “Sejam bem vindos ao curso de programacao II”
Exemplo 3: Implementação de uma função para imprimir na
tela uma mensagem de boas vindas
Problema: Implementar uma função para imprimir na tela a
mensagem “Sejam bem vindos ao curso de programacao II”
Exemplo 3: Implementação de uma função para imprimir na
tela uma mensagem de boas vindas
#include <iostream>
using namespace std;
void msg(){
cout << “Sejam bem vindos ao curso de programacao II” << endl;
return;
}
main(){
msg();
system(“pause>null”);
}
Exemplo 3: Implementação de uma função para imprimir na
tela uma mensagem de boas vindas
Exemplo 3: Implementação de uma função para imprimir na
tela uma mensagem de boas vindas
Protótipos de funções
Até o momento, as funções apareceram antes da função
main()
Assim como ocorre com uma variável, não podemos usar uma
função sem antes declará-la
A declaração de uma função é chamada protótipo e é uma
instrução que estabelece o tipo da função, seu nome e
especifica os argumentos que ela recebe
Protótipos de funções
Protótipo da função area (implementada anteriormente)
Protótipos de funções
Modificação do Exemplo 2:
Regras de Escopo
A parte do programa em que um identificador pode ser utilizado é
conhecida como escopo
Variáveis Locais
São aquelas que só têm validade dentro do bloco no qual são
declaradas
Variáveis Locais
Variáveis Locais
Variáveis Locais
Variáveis Globais
São declaradas fora de todas as funções do programa. Uma variável
global tem validade dentro de todas as funções que aparecem
após a sua declaração no arquivo
Variáveis Globais
#include <iostream>
using namespace std;
int x; //variável global
void f1(){
x += 10;
}
void f2(){
x += 20;
}
main(){
x = 0;
f1();
f2();
cout << “valor atual de x: ” << x << endl;
system(“pause>null”);
}
Exemplo de Uso de Funções
PROBLEMA: Implementar uma função capaz de calcular o
fatorial de um número
Exemplo de Uso de Funções
PROBLEMA: Implementar uma função capaz de calcular o
fatorial de um número
int fatorial(int n);
Exemplo de Uso de Funções
int fatorial(int n){
int fat;
fat = 1;
for(int i = 2; i <= n; i++)
fat = fat * i;
return fat;
}
Exemplo de Uso de Funções
PROBLEMA: Desenvolver um programa que calcule a
combinação de n elementos tomados p a p e escreva o seu
resultado. A fórmula da combinação é dada por:
C(n,p) =
n!
p!× (n − p)!
Exemplo de Uso de Funções
main(){
int n, p, c;
do{
cout << “Digite a quantidade de elementos: ”;
cin >> n;
}while(n <= 0);
do{
cout << “Digite a quantidade de elementos a combinar: ”;
cin >> p;
}while( (p <= 0) || (p > n) );
c = fatorial(n) / ( fatorial(p) * fatorial(n - p) );
cout << “As combinacoes possiveis sao:” << c << endl;
system(“pause>null”);
}
Exemplo de Uso de Funções
Dúvidas?

Continue navegando