func.pdf
TRANSCRIPT
-
ECT1203 Linguagem de Programao2014.1
Prof. Aquiles Burlamaqui Prof. Luiz Eduardo (mod. Prof. Carlos Olarte) Aula 10 Funes
Universidade Federal do Rio Grande do Norte!Escola de Cincias e Tecnologia
-
Objetivo da Aula
Introduzir o conceito de funes em C++ Motivar o uso de funes
-
Antes de comear....
Na engenharia e nas cincias, que coisas podem ser "reutilizadas" ?
-
Alguns exemplos
Engenharia electrnica
Voc no precisa implementar os circuitos bsicos porque eles j existem!
-
No caso do Software...
Cdigo Designs Componentes Sistemas em geral
No precisa reinventar a roda!
-
Uma funo em C++ ...
Um conjunto de comandos agrupados em um bloco, destinado a realizar uma tarefa particular, que recebe um nome e atravs deste pode ser ativado.
Ser que isso to novo assim?
-
Exemplos de funes
sqrt(valor) pow(x,2) rand() cos(ang)
!OBS: cin e cout so objetos, a compreenso de objetos
est fora do escopo da nossa disciplina.
-
Curiosidade: Algum sabe como o computador calcula o cosseno de um ngulo? ex: cos(68)
-
Resposta: Polinmio de Mclaurin
Pergunta: eu preciso conhecer o polinmio de Mclaurin para usar a funo cos() nos meus programas?
-
Para que servem as funes?
Para dividir um problemas maior em vrios menores, simplificando e organizando o cdigo;!
Reduzir o tamanho do programa; ! Para permitir reaproveitamento de cdigo; ! Para permitir a alterao de um trecho de cdigo de
uma forma mais rpida;! Para que os blocos do programa no fiquem grandes
demais e mais difceis de entender; ! Para separar o programa em partes(blocos) que possam
ser logicamente compreendidos de forma isolada;! Etc.!
-
A funo pow()
Como ser o algoritmo da funo pow? !pow(2,3) = 23 = 2*2*2 pow(5,4) = 54 = 5*5*5*5 pow(x,2) = x2 = x*x pow(a,b) = ab = a multiplicado por ele mesmo, uma
quantidade b de vezes !Como ser esse algoritmo?
- pow(x,y) { int prod =1; for(int i=1;i
-
Como o compilador raciocina
pow? no conheo esse comando... Depois dele tem algo entre parnteses, ento uma funo!!
-
Como o compilador raciocina
Ser uma funo criada pelo usurio?? No .
-
Como o compilador raciocina
Ser que est na biblioteca* iostream?.
*Biblioteca = Conjunto de funes.
-
Como o compilador raciocina
Ser que est na biblioteca math.h? Se no estiver l esse programa tem um erro.
-
Como o compilador raciocina
Modelo de processamento. Quem so as entradas? E as
sadas?
ProcessamentoEntrada Sada
-
Como o compilador raciocina
No algoritmo, que base, expoente e
exponencial?
ProcessamentoBase
ExponencialExpoente
-
Como o compilador raciocina
Quem so eles no programa?
ProcessamentoBase(x)
Exponencial(prod)Expoente(y)
-
Como o compilador raciocinaQuem x,y? onde
devo armazenar prod?
-
Como o compilador raciocinax a y b
prod result
-
Definindo uma funo
A primeira linha o cabealho da definio da funo.!
tipo_da_funo o tipo do valor retornado por meio do comando return.
tipo_da_funo nome_da_funo (lista de parmetros) { corpo da funo }
-
Definindo uma funo
A lista de parmetros, tambm chamada de lista de argumentos, opcional. A funo pode no ter entrada (void).
tipo_da_funo nome_da_funo (lista de parmetros) { corpo da funo }
-
Antes de continuar...
Um programa com o sem funes Valor absoluto de dois inteiros
-
Antes de continuar...
Um programa com o sem funes Valor absoluto de dois inteiros
2. Com funes: parece muito melhor!
-
O comando return
Sintaxe de um comando return:
A instruo return expresso; tem os seguintes efeitos: 1) avaliao da expresso 2) converso automtica do resultado da expresso
para o tipo da funo 3) retorno do resultado 4) trmino da execuo da funo e retorno do
controle para a instruo seguinte do cdigo de chamada
return;! return expresso;! return (expresso);
-
O comando return
Por exemplo:
Funo com um comando return
Funo com mais de um comando return
-
O comando return
Funes do tipo void podem ter um comando return sem expresso, servindo para terminar a execuo da funo
Em funes do tipo void, o comando return no obrigatrio
Uma funo sem comando return termina quando encontra a chave de fechamento
O valor de retorno obtido atravs de uma chamada funo, como no exemplo:
-
Funes definidas pelo usurio
-
Declarao e definio de funes
Em geral, o nome de uma funo aparece em trs lugares em um programa:!
1) na declarao (prottipo/assinatura) 2) na definio!3) na chamada!
-
Exemplo
Declarao de funes (prottipos)
Chamadas de funes
Definio de funes
-
Uma funo no pode ser chamada sem antes ter sido declarada!
No exemplo, temos a declarao das funes:
Declarao de uma funo
A declarao de uma funo, dita prottipo da funo, uma instruo, geralmente colocada no incio do programa, que estabelece o tipo da funo e os argumentos que ela recebe.
a funo de nome le_numero() do tipo int e no recebe argumentos !
a funo de nome max() do tipo int e recebe como argumento dois valores do tipo int
-
Exemplos de declarao (prottipos) de funes
-
Observaes
1) O nome dos parmetros podem ser omitidos na declarao.
2) Se uma funo no tem parmetros, pode-se declarar a lista de parmetros como (void) ou simplesmente ()
-
Outras observaes
1) Se uma funo definida antes da sua primeira chamada, esta no precisa ser declarada.
2) O comando return pode retornar somente um nico valor.
3) Se uma funo no tem valor de retorno, deve-se indicar o tipo de retorno como void
4) No se pode definir funes dentro de uma outra funo.
-
Declarao de funciones
Que sucede se a funo declarada mais no definida ?
-
Exerccio
Faa uma funo que dado um nmero inteiro como entrada diga se esse nmero primo ou no. Um nmero primo quando ele divisvel somente por 1 e por ele mesmo.
38
-
Exerccio
Faa uma funo que dado um nmero inteiro qualquer retorne a soma de seus dgitos. Por exemplo, dado o nmero 1537, ento a soma 16 (1 + 5 + 3 + 7).
39
-
Exerccio
A sequncia Fibonacci corresponde aos nmeros:1 , 1, 2, 3, 5, 8, 13, 21, 34 ,....Faa uma funo que pea como entrada um nmero inteiro positivo n e imprima na tela os primeiros n elementos da sequncia.
40