SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Funções	
  
Escola	
  Secundária	
  Filipa	
  de	
  Vilhena	
  
Programação	
  Estruturada???	
  	
  O	
  que	
  vou	
  ter	
  de	
  saber	
  no	
  final	
  deste	
  módulo	
  …	
  espero	
  eu	
  …	
  
	
  
	
  
§  Blocos	
  de	
  um	
  programa,	
  variáveis	
  locais	
  e	
  globais;	
  
§  Procedimentos	
  e	
  funções;	
  
§  Subprogramas,	
  parâmetros	
  e	
  argumentos;	
  
§  Recursividade;	
  
§  Passagem	
  de	
  argumentos	
  por	
  valor	
  e	
  por	
  referência;	
  
	
  
	
  
Sóóóóóóó???	
  	
  
Agora	
  que	
  já	
  sabem	
  programar	
  em	
  C++	
  …	
  sabem???	
  Hmmmmm…	
  em	
  C++???	
  Mas	
  o	
  que	
  é	
  isso??	
  
	
  
Vamos	
  começar	
  a	
  falar	
  de	
  funções	
  e	
  pode-­‐se	
  começar	
  logo	
  por	
  aquela	
  que	
  é	
  a	
  mais	
  conhecida	
  
das	
  funções	
  e	
  que	
  vocês	
  já	
  tratam	
  por	
  tu,	
  cuidado	
  com	
  as	
  confianças,	
  que	
  é	
  a	
  função	
  …	
  
…	
  int	
  main()	
  ou	
  simplesmente	
  main()	
  …	
  
Que	
  função	
  é	
  esta???	
  Ainda	
  esta	
  pergunta	
  …	
  
É	
  a	
  função	
  principal	
  de	
  um	
  programa	
  em	
  C++	
  e	
  indispensável	
  para	
  o	
  seu	
  funcionamento.	
  
	
  
Mas	
  já	
  utilizou	
  outras	
  funções	
  ainda	
  que	
  camufladas	
  …	
  Como???	
  
Através	
  da	
  directiva	
  #include	
  …	
  
#include<string.h>	
  (manipular	
  strings)	
  à	
  strlen,	
  strcmp,	
  strcopy	
  
#include<math.h>	
  (funções	
  matemáticas)	
  à	
  sqrt,	
  pow,	
  sin,	
  cos,	
  …	
  
#include<iostream>	
  (directavas	
  de	
  input	
  /	
  output)	
  à	
  cin,	
  cout	
  ,…	
  
Mas	
  não	
  existem	
  funções	
  para	
  todas	
  as	
  situações.	
  	
  Podia	
  haver	
  …	
  mas	
  não	
  era	
  a	
  mesma	
  coisa,	
  daí	
  
que	
  o	
  utilizador	
  tenha	
  necessidade	
  de	
  criar	
  as	
  suas	
  próprias	
  funções	
  para	
  situações	
  especificas	
  
…	
  a	
  vantagem	
  é	
  que	
  essas	
  funções	
  podem	
  ser	
  facilmente	
  criadas	
  /	
  utilizadas	
  /	
  partilhadas	
  em	
  
outras	
  situações	
  (programas)	
  semelhantes.	
  	
  
	
  
O	
  que	
  são	
  então	
  funções???	
  
	
  
§  Unidades	
   de	
   código	
   fundamentais	
   com	
   que	
   se	
   escrevem	
   e	
   estruturam	
   os	
   programas	
   	
   de	
  
forma	
   a	
   aproveitar	
   as	
   potencialidades	
   da	
   programação	
   estruturada	
   que	
   a	
   linguagem	
   C++	
  
oferece;	
  
§  	
  São	
  também	
  unidades	
  de	
  código	
  /	
  rotinas,	
  que	
  executam	
  uma	
  sequência	
  de	
  instruções,	
  que	
  
para	
  além	
  disso,	
  podem	
  devolver	
  um	
  valor	
  para	
  o	
  ponto	
  onde	
  são	
  chamadas;	
  
§  	
  De	
  uma	
  forma	
  mais	
  simples,	
  pode-­‐se	
  dizer	
  que	
  é	
  um	
  bloco	
  de	
  instruções	
  que	
  é	
  executado	
  
quando	
  é	
  chamada	
  em	
  alguma	
  parte	
  do	
  programa.	
  
Agora	
  que	
  já	
  sabem	
  o	
  que	
  são	
  funções,	
  uma	
  pergunta	
  se	
  impõe	
  …	
  já	
  acabou???	
  	
  
Oooooops,	
  não	
  é	
  essa…	
  é	
  mais	
  esta:	
  Qual	
  a	
  sintaxe	
  de	
  uma	
  função	
  e	
  como	
  funciona???	
  
	
  
	
  <tipo_dados>	
  <nome_função>(tipo_arg	
  <arg1>,	
  tipo_arg	
  <arg2>,	
  …)	
  {	
  
	
   	
  <conjunto_de_instruções>	
  
	
  }	
  
§  	
  <tipo_dados>	
  –	
  tipo	
  de	
  dados	
  devolvido	
  pela	
  função,	
  que	
  podem	
  ser	
  …	
  ;	
  
§  	
  <nome_função>	
  –	
  identificador	
  pela	
  qual	
  a	
  função	
  é	
  conhecida.	
  Regras	
  para	
  definição	
  de	
  um	
  
identificador	
  são	
  as	
  mesmas	
  que	
  para	
  as	
  variáveis;	
  
§  	
   <argumento	
   1>,	
   <argumento	
   2>,...	
   –	
   um	
   argumento	
   é	
   como	
   uma	
   declaração	
   de	
   uma	
  
variável	
   dentro	
   da	
   função.	
   Os	
   argumentos	
   permitem	
   passar	
   parâmetros	
   para	
   dentro	
   da	
  
função	
   quando	
   esta	
   é	
   invocada.	
   Os	
   diferentes	
   parâmetros	
   tem	
   que	
   ser	
   separados	
   pelo	
  
operador	
  vírgula	
  (“,”);	
  
A	
  chamada	
  a	
  esta	
  função,	
  no	
  main(),	
  seria	
  algo	
  do	
  género:	
  
<nome_da_função>(argumento1,	
  argumento2,	
  …);	
  
Uma	
  função	
  pode	
  ter	
  qualquer	
  número	
  de	
  argumentos,	
  até	
  mesmo	
  …	
  nenhum	
  …	
  
	
  
Oooooops,	
  não	
  é	
  essa…	
  é	
  mais	
  esta:	
  Qual	
  a	
  sintaxe	
  de	
  uma	
  função	
  e	
  como	
  funciona???	
  
	
  
	
  <tipo_dados>	
  <nome_função>()	
  {	
  
	
   	
  <conjunto_de_instruções>	
  
	
  }	
  
	
  
	
  
A	
  chamada	
  a	
  esta	
  função	
  sem	
  argumentos,	
  no	
  main(),	
  seria	
  algo	
  do	
  género:	
  
<nome_da_função>();	
  
	
  
	
  
IMPORTANTE:	
  As	
  funções	
  devem	
  	
  ser	
  sempre	
  (e	
  todas)	
  	
  declaradas	
  antes	
  do	
  main();	
  
Actividade	
  Exemplo:	
  
Escreva	
   um	
   programa	
   que	
   recorra	
   a	
   uma	
   função,	
   soma,	
   para	
   fazer	
   a	
   soma	
   de	
   dois	
   números	
  
inteiros	
  e	
  que	
  retorne	
  esse	
  valor	
  à	
  função	
  main(),	
  onde	
  é	
  apresentado	
  no	
  ecrã.	
  
	
  
#include<iostream>	
  
	
  
using	
  namespace	
  std;	
  
int	
  main	
  (	
  )	
  {	
  
	
  int	
  a	
  ,	
  b;	
  
	
  
	
  cout	
  <<	
  “Introduza	
  1º	
  valor:	
  “	
  <<	
  endl;	
  
	
  cin	
  >>	
  a;	
  
	
  cout	
  <<	
  “Introduza	
  2º	
  valor:	
  “	
  <<	
  endl;	
  
	
  cin	
  >>	
  b;	
  
	
  
	
  system(“cls”);	
  
	
  
	
  cout	
  <<	
  "Resultado	
  :	
  "	
  <<	
  soma	
  (a	
  ,	
  b)	
  ;	
  
	
  
	
  system(“PAUSE”);	
  
}	
  
O	
  que	
  falta	
  neste	
  programa?	
  
…	
  função	
  para	
  fazer	
  a	
  soma…	
  
Onde	
  a	
  vai	
  implementar????	
  
…	
  antes	
  do	
  main()	
  …	
  
Qual	
  o	
  nome	
  da	
  função???	
  
…	
  	
  soma	
  …	
  
Número	
  de	
  argumentos…	
  
…	
  dois	
  (soma	
  de	
  2	
  valores)…	
  
Tipo	
  da	
  função???	
  
…	
  int	
  (soma	
  de	
  inteiros)…	
  
 
	
  
	
  
	
  
Devolve	
  um	
  valor	
  
inteiro	
   para	
   o	
  
sítio	
  da	
  chamada	
  
da	
  função.	
  
	
  
	
  
Faz	
   chamada	
   à	
  
f u n ç ã o	
   p a r a	
  
obter	
   o	
   valor	
   da	
  
s o m a	
   d o s	
   2	
  
números…	
  
A	
   chamada	
   tem	
  
o 	
   n o m e 	
   d a	
  
função:	
  
soma	
  
E	
   os	
   dois	
   valores	
  
a	
  somar:	
  a	
  e	
  b.	
  
Recebe	
   os	
   dois	
   parâmetros	
   /	
  
argumentos,	
  em	
  que:	
  
n1	
  =	
  a	
  /	
  n2	
  =	
  b	
  
Apenas	
   localmente	
   (dentro	
   da	
  
função)…	
  
	
  
	
  	
  	
  
Vamos	
   tentar	
   fazer	
   a	
   função	
   de	
   soma	
  
dos	
  dois	
  valores???	
  Que	
  entusiasmo...	
  
	
  
Vejamos	
  uma	
  aplicação	
  da	
  mesma	
  função	
  num	
  outro	
  contexto:	
  
	
  
(1)	
  Chama	
  a	
  função	
  soma,	
  em	
  que:	
  
n1	
  fica	
  com	
  o	
  valo:	
  5	
  
n2	
  fica	
  com	
  o	
  valor:3	
  
(3)	
  Retorna	
  o	
  valor	
  de	
  r	
  para	
  o	
  local	
  da	
  chamada	
  da	
  função	
  no	
  main:	
  
r	
  tem	
  o	
  valor:	
  7	
  
Esse	
  valor	
  é	
  guardado	
  em	
  z	
  e	
  enviado	
  para	
  o	
  ecrã.	
  
(2)	
  Soma	
  os	
  valores:	
  	
  
n1	
  +	
  n2	
  
E	
   guarda-­‐o	
   em	
   r,	
  
depois	
  envia-­‐o	
  para	
  
O	
   local	
   da	
   chamada	
  
no	
  main().	
  
Actividade	
  1:	
  
Calcule	
  a	
  área	
  de	
  um	
  circulo,	
  em	
  que	
  o	
  raio	
  é	
  introduzido	
  pelo	
  utilizador.	
  A	
  fórmula	
  da	
  área	
  é:	
  
PI	
  *	
  raio	
  *	
  raio	
  
a)	
  Implemente	
  o	
  programa	
  anterior	
  sem	
  funções;	
  
b)	
  Faça	
  agora	
  o	
  mesmo	
  exercício	
  mas	
  utilizando	
  funções.	
  
Algumas	
  Notas:	
  Utilize	
  o	
  define	
  para	
  definir	
  PI	
  como	
  3.14…	
  A	
  área	
  de	
  um	
  circulo	
  não	
  é	
  um	
  valor	
  
inteiro…	
  Utilize	
  a	
  função	
  pow(valor,expoente)	
  que	
  pertence	
  à	
  	
  biblioteca	
  math.h…	
  
	
  
Actividade	
  2:	
  
Elabore	
   um	
   programa,	
   que	
   utilize	
   uma	
   função,	
   que	
   verifique	
   se	
   um	
   número	
   introduzido	
   pelo	
  
utilizador	
  é,	
  ou	
  não,	
  perfeito.	
  Exemplo:	
  
	
   	
   	
   	
   	
  Divisores	
  de	
  28:	
  1,	
  2,	
  4,	
  7,	
  14	
  
	
   	
   	
   	
   	
  Soma	
  dos	
  divisores:	
  	
  1	
  +	
  2	
  +	
  4	
  +	
  7	
  +	
  14	
  =	
  28	
  
	
   	
   	
   	
   	
  Conclusão:	
  28	
  é	
  perfeito…	
  perfeito	
  :o)	
  
Actividade	
  3:	
  
Utilize	
  funções	
  para	
  escrever	
  uma	
  implementação	
  possível	
  para	
  as	
  seguintes	
  funções	
  
matemáticas:	
  	
  
	
  
a)  Quadrado	
  de	
  um	
  número;	
  
	
  
b)  Potência	
  (x	
  ^	
  -­‐>3	
  ^	
  2	
  =	
  9-­‐>2	
  ^	
  3	
  =	
  8);	
  	
  
Actividade	
  4:	
  	
  
Utilize	
  a	
  função	
  soma	
  da	
  aula	
  anterior	
  de	
  forma	
  a	
  somar	
  n	
  valores	
  introduzidos	
  pelo	
  utilizador.	
  
Deve	
  também	
  pedir	
  ao	
  utilizador	
  o	
  número	
  de	
  valores	
  que	
  vai	
  inserir	
  (n).	
  	
  
	
  
	
  
¡  Já	
  que	
  estão	
  cheios	
  de	
  energia,	
  que	
  tal	
  queimá-­‐las	
  com	
  mais	
  (poucas	
  ...)	
  umas	
  actividades???	
  	
  
	
  
¡  Actividade	
  5	
  (Passagem	
  de	
  um	
  vector	
  como	
  argumento):	
  Será	
  possível	
  passar	
  um	
  vector	
  como	
  
argumentos	
  para	
  uma	
  função???	
  	
  
	
  
	
  Já	
  devem	
  perceber	
  que	
  em	
  Informática	
  não	
  há	
  impossíveis,	
  para	
  além	
  de	
  que	
  o	
  título	
  desta	
  
actividade	
  possa	
  ser	
  sugestivo	
  e	
  tendencioso	
  :o)	
  analise	
  então	
  a	
  função	
  abaixo	
  ...	
  	
  
	
  
Qual	
  o	
  objectivo	
  da	
  função	
  que	
  se	
  segue???	
  Como	
  chamaria	
  esta	
  função,	
  tendo	
  em	
  conta	
  os	
  
conhecimentos	
  que	
  adquiriu	
  até	
  ao	
  momento	
  sobre	
  funções???	
  	
  
	
  void	
  dobro(int	
  vec[],	
  int	
  x)	
  {	
  int	
  i;	
  	
  
	
  for(i=0;	
  i	
  <	
  x;i++)	
  {	
  
	
  vec[i]	
  =	
  vec[i]	
  *	
  2;	
  	
  
	
  }	
  
	
  
 
¡  Actividade	
  6:	
  
Utilize	
  a	
  actividade	
  5	
  e	
  modifique-­‐a	
  de	
  forma	
  a	
  que	
  a	
  função	
  calcule	
  a	
  soma	
  de	
  todos	
  os	
  valores	
  de	
  um	
  
vector	
  e	
  a	
  imprima	
  (à	
  soma)	
  na	
  função	
  principal	
  (main()).	
  	
  
	
  
¡  Actividade	
  7:	
  	
  
Para	
  o	
  auxiliar	
  nesta	
  actividade,	
  cada	
  um	
  terá	
  no	
  seu	
  mail	
  um	
  ficheiro	
  com	
  a	
  implementação	
  de	
  um	
  
possível	
  algoritmo	
  de	
  ordenação	
  (existem	
  diversos	
  algoritmos	
  de	
  graus	
  de	
  complexidade	
  /	
  eficiência	
  
diferentes)	
  cujo	
  funcionamento	
  será	
  analisado	
  nas	
  aulas.	
  	
  
	
  
Esta	
  actividade	
  consiste	
  em	
  gerar	
  /	
  ordenar	
  /	
  apresentar	
  uma	
  chave	
  do	
  euromilhões	
  ...	
  	
  
	
  
	
  O	
  objectivo	
  é	
  que	
  nesse	
  ficheiro	
  implemente	
  as	
  seguintes	
  funções:	
  
	
  -­‐	
  GeraChave	
  Aleatoria()-­‐>gera	
  /	
  guarda	
  5	
  números	
  aleatórios	
  no	
  vector;	
  
	
  -­‐	
  ImprimeBoletim()-­‐>imprime	
  boletim	
  em	
  que	
  no	
  lugar	
  dos	
  números	
  gerados	
  aparece	
  “xx”;	
  	
  
	
  Nos	
  entretantos	
  deve	
  chamar	
  a	
  função	
  OrdenaVetor()	
  para	
  que	
  a	
  chave	
  seja	
  ordenada	
  ...	
  	
  

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Java4
Java4Java4
Java4
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Java3
Java3Java3
Java3
 
Java5
Java5Java5
Java5
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Visualg
VisualgVisualg
Visualg
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
Java2
Java2Java2
Java2
 
Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica Programando em C++ // Estrutura Básica
Programando em C++ // Estrutura Básica
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Spring framework 2.5
Spring framework 2.5Spring framework 2.5
Spring framework 2.5
 

Destaque

Módulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internasMódulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internasdiogoa21
 
Módulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computadorMódulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computadordiogoa21
 
Psi-mod-op2
Psi-mod-op2Psi-mod-op2
Psi-mod-op2diogoa21
 
Tic-excel-02
Tic-excel-02Tic-excel-02
Tic-excel-02diogoa21
 
Tic-excel-01
Tic-excel-01 Tic-excel-01
Tic-excel-01 diogoa21
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13diogoa21
 
Tic-excel-03
Tic-excel-03Tic-excel-03
Tic-excel-03diogoa21
 
Ac Mod 3 deteção de avarias - Esquemas
Ac  Mod 3 deteção de avarias - EsquemasAc  Mod 3 deteção de avarias - Esquemas
Ac Mod 3 deteção de avarias - Esquemasfilipereira
 
Módulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuraçãoMódulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuraçãodiogoa21
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Ac m3 correção das fichas 4,5 e 6
Ac m3   correção das fichas 4,5 e 6Ac m3   correção das fichas 4,5 e 6
Ac m3 correção das fichas 4,5 e 6Caniggia123
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 

Destaque (17)

Módulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internasMódulo-2.2-estudo das componentes internas
Módulo-2.2-estudo das componentes internas
 
Correcção da ficha 4 e 5
Correcção da ficha 4 e 5Correcção da ficha 4 e 5
Correcção da ficha 4 e 5
 
Módulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computadorMódulo 2.1-componentes de um computador
Módulo 2.1-componentes de um computador
 
Psi-mod-op2
Psi-mod-op2Psi-mod-op2
Psi-mod-op2
 
Tic-excel-02
Tic-excel-02Tic-excel-02
Tic-excel-02
 
Tic-excel-01
Tic-excel-01 Tic-excel-01
Tic-excel-01
 
So-mod-1
So-mod-1So-mod-1
So-mod-1
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13
 
Modulo-3
Modulo-3 Modulo-3
Modulo-3
 
Tic-excel-03
Tic-excel-03Tic-excel-03
Tic-excel-03
 
So-mod-4
So-mod-4So-mod-4
So-mod-4
 
Ac Mod 3 deteção de avarias - Esquemas
Ac  Mod 3 deteção de avarias - EsquemasAc  Mod 3 deteção de avarias - Esquemas
Ac Mod 3 deteção de avarias - Esquemas
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Módulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuraçãoMódulo-2.3-estudo de periféricos e suas características e configuração
Módulo-2.3-estudo de periféricos e suas características e configuração
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Ac m3 correção das fichas 4,5 e 6
Ac m3   correção das fichas 4,5 e 6Ac m3   correção das fichas 4,5 e 6
Ac m3 correção das fichas 4,5 e 6
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 

Semelhante a Funções Programação Estruturada

RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxClaudia Ferlin
 
Funções inline e Recursivas
Funções inline e RecursivasFunções inline e Recursivas
Funções inline e RecursivasKadzuwa Kuyeri
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)Filipe Chagas Ferraz
 
Aula01
Aula01Aula01
Aula01vdlos
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxItamarGoncalves2
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcionalGabriel Schade Cardoso
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.SchoolByte
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcionalPéricles Miranda
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03thomasdacosta
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdfGabrielEduardo16342
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem CLeonardo Lima
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introduçãoRicardo Fahham
 

Semelhante a Funções Programação Estruturada (20)

RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
 
Funções inline e Recursivas
Funções inline e RecursivasFunções inline e Recursivas
Funções inline e Recursivas
 
Funções em C
Funções em CFunções em C
Funções em C
 
Funções em C
Funções em CFunções em C
Funções em C
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
 
Modularização
ModularizaçãoModularização
Modularização
 
Aula01
Aula01Aula01
Aula01
 
M2ti - Python Brasil
M2ti - Python BrasilM2ti - Python Brasil
M2ti - Python Brasil
 
Aula 4
Aula 4Aula 4
Aula 4
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptx
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcional
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.
 
Funções e procedimentos
Funções e procedimentosFunções e procedimentos
Funções e procedimentos
 
4 introdução ao paradigma funcional
4 introdução ao paradigma funcional4 introdução ao paradigma funcional
4 introdução ao paradigma funcional
 
Aula 4 | Funções
Aula 4 | Funções Aula 4 | Funções
Aula 4 | Funções
 
Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03Algoritmos e Estrutura de Dados - Aula 03
Algoritmos e Estrutura de Dados - Aula 03
 
aula intro de Python sobre Funcoes.pdf
aula intro de  Python sobre  Funcoes.pdfaula intro de  Python sobre  Funcoes.pdf
aula intro de Python sobre Funcoes.pdf
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem C
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteVanessaCavalcante37
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresAnaCarinaKucharski1
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 

Último (20)

Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos DescritoresATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
ATIVIDADE PARA ENTENDER -Pizzaria dos Descritores
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 

Funções Programação Estruturada

  • 1. Funções   Escola  Secundária  Filipa  de  Vilhena  
  • 2. Programação  Estruturada???    O  que  vou  ter  de  saber  no  final  deste  módulo  …  espero  eu  …       §  Blocos  de  um  programa,  variáveis  locais  e  globais;   §  Procedimentos  e  funções;   §  Subprogramas,  parâmetros  e  argumentos;   §  Recursividade;   §  Passagem  de  argumentos  por  valor  e  por  referência;       Sóóóóóóó???    
  • 3. Agora  que  já  sabem  programar  em  C++  …  sabem???  Hmmmmm…  em  C++???  Mas  o  que  é  isso??     Vamos  começar  a  falar  de  funções  e  pode-­‐se  começar  logo  por  aquela  que  é  a  mais  conhecida   das  funções  e  que  vocês  já  tratam  por  tu,  cuidado  com  as  confianças,  que  é  a  função  …   …  int  main()  ou  simplesmente  main()  …   Que  função  é  esta???  Ainda  esta  pergunta  …   É  a  função  principal  de  um  programa  em  C++  e  indispensável  para  o  seu  funcionamento.     Mas  já  utilizou  outras  funções  ainda  que  camufladas  …  Como???   Através  da  directiva  #include  …   #include<string.h>  (manipular  strings)  à  strlen,  strcmp,  strcopy   #include<math.h>  (funções  matemáticas)  à  sqrt,  pow,  sin,  cos,  …   #include<iostream>  (directavas  de  input  /  output)  à  cin,  cout  ,…  
  • 4. Mas  não  existem  funções  para  todas  as  situações.    Podia  haver  …  mas  não  era  a  mesma  coisa,  daí   que  o  utilizador  tenha  necessidade  de  criar  as  suas  próprias  funções  para  situações  especificas   …  a  vantagem  é  que  essas  funções  podem  ser  facilmente  criadas  /  utilizadas  /  partilhadas  em   outras  situações  (programas)  semelhantes.       O  que  são  então  funções???     §  Unidades   de   código   fundamentais   com   que   se   escrevem   e   estruturam   os   programas     de   forma   a   aproveitar   as   potencialidades   da   programação   estruturada   que   a   linguagem   C++   oferece;   §   São  também  unidades  de  código  /  rotinas,  que  executam  uma  sequência  de  instruções,  que   para  além  disso,  podem  devolver  um  valor  para  o  ponto  onde  são  chamadas;   §   De  uma  forma  mais  simples,  pode-­‐se  dizer  que  é  um  bloco  de  instruções  que  é  executado   quando  é  chamada  em  alguma  parte  do  programa.  
  • 5. Agora  que  já  sabem  o  que  são  funções,  uma  pergunta  se  impõe  …  já  acabou???     Oooooops,  não  é  essa…  é  mais  esta:  Qual  a  sintaxe  de  uma  função  e  como  funciona???      <tipo_dados>  <nome_função>(tipo_arg  <arg1>,  tipo_arg  <arg2>,  …)  {      <conjunto_de_instruções>    }   §   <tipo_dados>  –  tipo  de  dados  devolvido  pela  função,  que  podem  ser  …  ;   §   <nome_função>  –  identificador  pela  qual  a  função  é  conhecida.  Regras  para  definição  de  um   identificador  são  as  mesmas  que  para  as  variáveis;   §    <argumento   1>,   <argumento   2>,...   –   um   argumento   é   como   uma   declaração   de   uma   variável   dentro   da   função.   Os   argumentos   permitem   passar   parâmetros   para   dentro   da   função   quando   esta   é   invocada.   Os   diferentes   parâmetros   tem   que   ser   separados   pelo   operador  vírgula  (“,”);   A  chamada  a  esta  função,  no  main(),  seria  algo  do  género:   <nome_da_função>(argumento1,  argumento2,  …);  
  • 6. Uma  função  pode  ter  qualquer  número  de  argumentos,  até  mesmo  …  nenhum  …     Oooooops,  não  é  essa…  é  mais  esta:  Qual  a  sintaxe  de  uma  função  e  como  funciona???      <tipo_dados>  <nome_função>()  {      <conjunto_de_instruções>    }       A  chamada  a  esta  função  sem  argumentos,  no  main(),  seria  algo  do  género:   <nome_da_função>();       IMPORTANTE:  As  funções  devem    ser  sempre  (e  todas)    declaradas  antes  do  main();  
  • 7. Actividade  Exemplo:   Escreva   um   programa   que   recorra   a   uma   função,   soma,   para   fazer   a   soma   de   dois   números   inteiros  e  que  retorne  esse  valor  à  função  main(),  onde  é  apresentado  no  ecrã.     #include<iostream>     using  namespace  std;   int  main  (  )  {    int  a  ,  b;      cout  <<  “Introduza  1º  valor:  “  <<  endl;    cin  >>  a;    cout  <<  “Introduza  2º  valor:  “  <<  endl;    cin  >>  b;      system(“cls”);      cout  <<  "Resultado  :  "  <<  soma  (a  ,  b)  ;      system(“PAUSE”);   }   O  que  falta  neste  programa?   …  função  para  fazer  a  soma…   Onde  a  vai  implementar????   …  antes  do  main()  …   Qual  o  nome  da  função???   …    soma  …   Número  de  argumentos…   …  dois  (soma  de  2  valores)…   Tipo  da  função???   …  int  (soma  de  inteiros)…  
  • 8.         Devolve  um  valor   inteiro   para   o   sítio  da  chamada   da  função.       Faz   chamada   à   f u n ç ã o   p a r a   obter   o   valor   da   s o m a   d o s   2   números…   A   chamada   tem   o   n o m e   d a   função:   soma   E   os   dois   valores   a  somar:  a  e  b.   Recebe   os   dois   parâmetros   /   argumentos,  em  que:   n1  =  a  /  n2  =  b   Apenas   localmente   (dentro   da   função)…           Vamos   tentar   fazer   a   função   de   soma   dos  dois  valores???  Que  entusiasmo...    
  • 9. Vejamos  uma  aplicação  da  mesma  função  num  outro  contexto:     (1)  Chama  a  função  soma,  em  que:   n1  fica  com  o  valo:  5   n2  fica  com  o  valor:3   (3)  Retorna  o  valor  de  r  para  o  local  da  chamada  da  função  no  main:   r  tem  o  valor:  7   Esse  valor  é  guardado  em  z  e  enviado  para  o  ecrã.   (2)  Soma  os  valores:     n1  +  n2   E   guarda-­‐o   em   r,   depois  envia-­‐o  para   O   local   da   chamada   no  main().  
  • 10. Actividade  1:   Calcule  a  área  de  um  circulo,  em  que  o  raio  é  introduzido  pelo  utilizador.  A  fórmula  da  área  é:   PI  *  raio  *  raio   a)  Implemente  o  programa  anterior  sem  funções;   b)  Faça  agora  o  mesmo  exercício  mas  utilizando  funções.   Algumas  Notas:  Utilize  o  define  para  definir  PI  como  3.14…  A  área  de  um  circulo  não  é  um  valor   inteiro…  Utilize  a  função  pow(valor,expoente)  que  pertence  à    biblioteca  math.h…     Actividade  2:   Elabore   um   programa,   que   utilize   uma   função,   que   verifique   se   um   número   introduzido   pelo   utilizador  é,  ou  não,  perfeito.  Exemplo:            Divisores  de  28:  1,  2,  4,  7,  14            Soma  dos  divisores:    1  +  2  +  4  +  7  +  14  =  28            Conclusão:  28  é  perfeito…  perfeito  :o)  
  • 11. Actividade  3:   Utilize  funções  para  escrever  uma  implementação  possível  para  as  seguintes  funções   matemáticas:       a)  Quadrado  de  um  número;     b)  Potência  (x  ^  -­‐>3  ^  2  =  9-­‐>2  ^  3  =  8);     Actividade  4:     Utilize  a  função  soma  da  aula  anterior  de  forma  a  somar  n  valores  introduzidos  pelo  utilizador.   Deve  também  pedir  ao  utilizador  o  número  de  valores  que  vai  inserir  (n).        
  • 12. ¡  Já  que  estão  cheios  de  energia,  que  tal  queimá-­‐las  com  mais  (poucas  ...)  umas  actividades???       ¡  Actividade  5  (Passagem  de  um  vector  como  argumento):  Será  possível  passar  um  vector  como   argumentos  para  uma  função???        Já  devem  perceber  que  em  Informática  não  há  impossíveis,  para  além  de  que  o  título  desta   actividade  possa  ser  sugestivo  e  tendencioso  :o)  analise  então  a  função  abaixo  ...       Qual  o  objectivo  da  função  que  se  segue???  Como  chamaria  esta  função,  tendo  em  conta  os   conhecimentos  que  adquiriu  até  ao  momento  sobre  funções???      void  dobro(int  vec[],  int  x)  {  int  i;      for(i=0;  i  <  x;i++)  {    vec[i]  =  vec[i]  *  2;      }    
  • 13.   ¡  Actividade  6:   Utilize  a  actividade  5  e  modifique-­‐a  de  forma  a  que  a  função  calcule  a  soma  de  todos  os  valores  de  um   vector  e  a  imprima  (à  soma)  na  função  principal  (main()).       ¡  Actividade  7:     Para  o  auxiliar  nesta  actividade,  cada  um  terá  no  seu  mail  um  ficheiro  com  a  implementação  de  um   possível  algoritmo  de  ordenação  (existem  diversos  algoritmos  de  graus  de  complexidade  /  eficiência   diferentes)  cujo  funcionamento  será  analisado  nas  aulas.       Esta  actividade  consiste  em  gerar  /  ordenar  /  apresentar  uma  chave  do  euromilhões  ...        O  objectivo  é  que  nesse  ficheiro  implemente  as  seguintes  funções:    -­‐  GeraChave  Aleatoria()-­‐>gera  /  guarda  5  números  aleatórios  no  vector;    -­‐  ImprimeBoletim()-­‐>imprime  boletim  em  que  no  lugar  dos  números  gerados  aparece  “xx”;      Nos  entretantos  deve  chamar  a  função  OrdenaVetor()  para  que  a  chave  seja  ordenada  ...