Buscar

IFES TP Aula04 Funcoes&Procedimentos

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 18 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 18 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 18 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

Funções	
  e	
  Procedimentos	
  
Técnicas	
  de	
  Programação	
  
Rafael	
  Silva	
  Guimarães	
  
<p://<p.ci.ifes.edu.br/informaBca/rafael_guimaraes	
  
Declaração	
  de	
  Funções	
  
•  No	
  Visualg	
  2.0	
  a	
  declaração	
  de	
  funções	
  é	
  feita	
  da	
  
seguinte	
  forma:	
  
 
funcao <nome da função>(<variável>:<tipo>) : <tipo do retorno> 
inicio 
 <sequência de comandos> 
fimfuncao 
Declaração	
  de	
  Funções	
  
•  Em	
  C	
  a	
  declaração	
  de	
  funções	
  é	
  bastante	
  
semelhante	
  obedecendo	
  ao	
  seguinte	
  formato:	
  
 
<tipo do retorno> <nome da função> (<tipo> <variável> ){ 
 <sequência de comandos> 
} 
Declaração	
  de	
  Funções	
  
•  Exemplo:	
  
 
/* Calcula o quadrado de x */ 
int square (int x){ 
 return(x*x); 
} 
Local	
  de	
  Implementação	
  
•  No	
  Visualg,	
  as	
  funções	
  e	
  procedimentos	
  eram	
  
declarados	
  após	
  a	
  declaração	
  das	
  variáveis	
  do	
  
algoritmo.	
  
 
algoritmo “<nome do algoritmo>” 
var <nomes das variáveis e seus tipos> 
<declaração de funções e procedimentos> 
inicio 
 <sequência de comandos> 
fimalgoritmo 
Local	
  de	
  Implementação	
  
•  Em	
  C	
  as	
  funções	
  devem	
  ser	
  declaradas	
  antes	
  
da	
  função	
  main,	
  obedecendo	
  assim	
  o	
  seguinte	
  
formato:	
  
 
<declaração de funções e procedimentos> 
int main(){ 
 <sequência de comandos> 
} 
Local	
  de	
  Implementação	
  
•  Exemplo:	
  
#include <stdio.h> 
/* Calcula o quadrado de x */ 
int square (int x) { 
 return(x*x); 
} 
 
int main (){ 
 int num; 
 printf ("Entre com um numero: "); 
 scanf ("%i",&num); 
 printf ("%i", square(num)); 
 return(0); 
} 
Uso	
  de	
  Função	
  
•  Para	
  uBlizar	
  uma	
  função	
  em	
  C	
  é	
  bastante	
  
simples,	
  basta	
  uBlizar	
  a	
  seguinte	
  sintaxe:	
  
 
<nome da função>(<parâmetros de entrada>); 
	
  
•  Exemplo:	
  
square(num); 
Procedimentos	
  
•  Em	
  Visualg,	
  os	
  procedimentos	
  são	
  declarados	
  
da	
  seguinte	
  forma:	
  
 
procedimento <nome do procedimento>(<variável>:<tipo>) 
inicio 
 <sequência de comandos> 
fimprocedimento 
Procedimentos	
  
•  A	
  linguagem	
  C	
  não	
  trabalha	
  o	
  conceito	
  de	
  
procedimentos,	
  mas	
  existe	
  o	
  Bpo	
  de	
  retorno	
  
void,	
  que	
  em	
  C	
  significa	
  que	
  nada	
  será	
  
retornado.	
  
•  Uma	
  função	
  que	
  retorna	
  void	
  pode	
  ser	
  
declarada	
  da	
  seguinte	
  forma:	
  
 
void <nome da função>(<tipo da variável> <variável>) 
Procedimentos	
  
•  Exemplo:	
  
	
  
void mensagem (){ 
 printf ("Ola! Eu estou vivo.\n"); 
} 
Passagem	
  de	
  Parâmetros	
  por	
  Valor	
  
•  Tanto	
  em	
  C	
  como	
  em	
  Visualg	
  a	
  forma	
  de	
  passagem	
  de	
  
parâmetros	
  padrão	
  é	
  a	
  por	
  valor,	
  que	
  é	
  o	
  Bpo	
  de	
  passagem	
  de	
  
parâmetros	
  que	
  NÃO	
  permite	
  a	
  alteração	
  de	
  variáveis	
  no	
  interior	
  
de	
  funções.	
  
•  Exemplo:	
  
int square (int x){ 
 ... 
} 
int main (){ 
 int num; 
 ... 
 printf(“%i”,square(num)); 
 return(0); 
} 
 
•  X	
  é	
  passado	
  por	
  valor,	
  sendo	
  assim,	
  quando	
  a	
  função	
  square	
  é	
  
chamada	
  recebendo	
  num	
  como	
  parâmetro,	
  ela	
  não	
  altera	
  o	
  
valor	
  de	
  num.	
  
Passagem	
  de	
  Parâmetros	
  por	
  Referência	
  
•  Em	
  C	
  não	
  existe	
  passagem	
  de	
  parâmetros	
  por	
  
referência,	
  para	
  uBlizar	
  esse	
  recurso	
  são	
  
uBlizados	
  “ponteiros”.	
  
•  Nesse	
  momento	
  vamos	
  entender	
  o	
  ponteiro	
  
apenas	
  como	
  uma	
  forma	
  de	
  simular	
  passagem	
  
de	
  parâmetros	
  por	
  referência.	
  
Passagem	
  de	
  Parâmetros	
  por	
  Referência	
  
•  No	
  Visualg,	
  a	
  passagem	
  de	
  parâmetros	
  por	
  
referência	
  (	
  em	
  funções	
  )	
  é	
  feita	
  da	
  seguinte	
  forma:	
  
 
funcao <nome da função>(var <variável>:<tipo>) : <tipo> 
inicio 
 <sequência de comandos> 
fimfuncao 
Passagem	
  de	
  Parâmetros	
  por	
  Referência	
  
•  Em	
  C	
  precisaremos	
  uBlizar	
  os	
  “ponteiros”.	
  
Façamos	
  um	
  exemplo	
  de	
  procedimento	
  com	
  
passagem	
  por	
  referência	
  em	
  Visualg	
  sendo	
  
transformada	
  em	
  passagem	
  por	
  valor	
  usando	
  
ponteiros	
  em	
  C.	
  
Passagem	
  de	
  Parâmetros	
  por	
  Referência	
  
•  Exemplo	
  em	
  Visualg:	
  
 
var n1, n2: inteiro 
 
procedimento lerDados(var num1: inteiro; var num2: inteiro) 
inicio 
 num1 <- 10 
 num2 <- 20 
fimprocedimento 
 
inicio 
 lerDados(n1, n2) 
fimalgoritmo 
Passagem	
  de	
  Parâmetros	
  por	
  Referência	
  
•  Exemplo	
  em	
  C:	
  
 
void lerDados (int *num1, int *num2){ 
 *num1 = 10; 
 *num2 = 20; 
} 
 
int main(){ 
 int n1, n2; 
 lerDados(&n1, &n2); 
} 
Bibliografia	
  
•  SANTOS,	
  Henrique	
  José.	
  Curso	
  de	
  Linguagem	
  C	
  
da	
  UFMG,	
  aposBla.	
  
•  FORBELLONE,	
   André	
   Luiz.	
   Lógica	
   de	
  
Programação	
  –	
  A	
  Construção	
  de	
  Algoritmos	
  e	
  
Estruturas	
   de	
   Dados.	
   São	
   Paulo:	
   MAKRON,	
  
1993.

Continue navegando