• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
3
Funções
Objetivos
• Entender como construir programas modularmente a partir de pequenas partes chamadas funções.• Ser capaz de criar novas funções.• Entender os mecanismos usados para passar informações entre funções.• Apresentar técnicas de simulação usando geração aleatória de números.• Entender como a visibilidade dos identificadores limitada a regiões específicas dos programas.• Entender como escrever e usar funções que chamam a si próprias.
 A forma nunca segue afunção.
Louis Henri Suilivan
 E pluribus unum.(Um composto por muitos.)
Virgil
Chama o dia de ontem, faze com que o tempo atrásretorne.
William Shakespeare
 Richard II Chamem-me Ismael.
Herman Melvilie
Moby Dick Quando você me chamar assim, sorria.
Owen Wister 
190 C++
COMO PROGRAMAR
Vis
ã
o Geral
3.1 Introdu
çã
o3.2 Componentes de programas em C+
÷
 3.3 Fun
çõ
es da biblioteca matem
á
tica3.4 Fun
çõ
es3.5 Defini
çõ
es de fun
çõ
es3.6 Prot
ó
tipos de fun
çõ
es3.7 Arquivos de cabe
ç
alho3.8 Gera
çã
o de n
ú
meros aleat
ó
rios3.9 Exemplo: um jogo de azar e apresentando
enum
3.10 Classes de armazenamento3.11 Regras de escopo
 
3.12 Recurs
ã
o3.13 Exemplo usando recurs
ã
o: a s
é
rie de Fibonacci3.14 Recurs
ã
o
versus 
itera
çã
o3.15 Fun
çõ
es com listas de par
â
metros vazias3.16 Fun
çõ
es
mime 
3.17 Refer
ê
ncias e par
â
metros por refer
ê
ncia3.18 Argumentos default3.19 Operador un
á
rio de resolu
çã
o de escopo3.20 Sobrecarga de fun
çõ
es3.21 Gabaritos de fun
çõ
es3.22 (Estudo de caso opcional) Pensando em objetos: identificandoos atributos de uma classe
 Resumos Terminologia Erros comuns de programação Boas práticas de programação Dicas de desempenho Dicas de portabilidade Dicas de teste e depura ção. Observações de engenharia de software. Exercícios de auto-revisão
.
 Respostas dos exercícios de auto-revisão
 Exercícios
3.1 Introdu
çã
o
A maioria dos programas de computador que resolvem problemas do mundo real são muito maiores do que os programas apresentados nestes primeiros capítulos. A experiência tem mostrado que a melhor maneira de desenvolver emanter um programa grande é construí-lo a partir de pequenas partes ou componentes, sendo cada uma delas mais fácilde manipular que o programa original. Essa técnica é chamada de
dividir para conquistar.
Este capítulo descreve osrecursos da linguagem C++ que facilitam o projeto, a implementação, a operação e a manutenção de programasgrandes.
3.2 Componentes de programas em C++
Os módulos em C÷+ são chamados de
 funções
e
classes.
Os programas em C++ são escritos tipicamente combinando-se funções novas que o programador escreve com “funções pré-empacotadas” disponíveis na
biblioteca padrão deC++
e combinando-se classes novas que o programador escreve com “classes pré-empacotadas”, disponíveis em várias bibliotecas de classes. Neste capítulo, vamos nos concentrar em funções; discutiremos classes em detalhes a partir doCapítulo 6.
192 C++
COMO PROGRAMAR
1
1
As
fun
çõ
es s
ã
o
normalmente chamadas em um programa escrevendo-se o nome da função seguido pelo parêntese esquerdo,seguido pelo
argumento
(ou uma lista de argumentos separados por vírgulas) da função, seguido pelo parêntese direito. Por exemplo,um programador que desejasse calcular e imprimir a raiz quadrada de 900
.
O poderia escrever cout
«
sqrt
(
900.0 );Quando este comando é executado, a função sqrt da biblioteca matemática é chamada para calcular a raiz quadra- dado númerocontido entre os parênteses (900
.
0). O número 900 .0 é o
argumento
da função sqrt. O comando anterior imprimiria 30
.
00. A funçãosqrt recebe um argumento do tipo double e retorna um resultado do tipo double. Todas as funções da biblioteca matemática retornam otipo de dado double. Para usar as funções da biblioteca matemática, inclua o arquivo de cabeçalho <cmath>.
 Erro de comum programação
3.1
 Esquecer de incluir o arquivo de cabeçalho
<cmath>
ao usar funções da biblioteca matemática
é 
 
um erro de sintaxe. Para cada função da biblioteca padrão usada em um programa deve ser incluído um arquivo de cabeçalho padrão.
 
Os argumentos de funções podem ser constantes, variáveis ou expressões. Se cl
=
13
.
0. d
=
3
.
O e f
=
.
0.
o comando
cout
«
sqrt( cl
d
*
f );
calcula e imprime a raiz quadrada de 13
.
O + 3
.
o
*
4
o
=
25
.
0, ou seja,
5(porque C++ normalmente não introduz zeros
à
direita nem a casa decimal, em um
número em
pontoflutuante que não tem parte fracionária).
Algumas funções da biblioteca matemática de C++ estão resumidas na Fig. 3.2. Na figura, as variáveis x e y são do tipo double.
1
Fig. 3.2
Fun
çõ
es comumente usadas da biblioteca matem
á
tica.
M
é
todo Descri
çã
o Exemplo
ceil (
x
)arredondax para o menor inteiro não menorquexceil (
9.2 ) é
10.0 ceil( -9.8 )
é 
 
-9.0cos (
x
)co-seno trigonométrico de x (x em radianos)
cos (
O
.
O
) é 1. O
exp (
x
)função exponencial eexp ( 1.0 ) é 2 .71828 exp( 2.0 ) é
7.38906
fabs (
x )
valor absoluto de xfabs (
5. 1 ) é 5
.
1
fabs( 0.0 ) é
0.0
fabs(-8.76 )
é 8.76
floor (
x
)arredonda x para o maior inteiro não maiorquexfloor ( 9 .2 )
é 9
.0 floor( -9.8 )
é
-10.0
fmod( x,
y)
restodex/ycomonúmerode
 ponto flutuante
fmod( 13.657, 2.333
) é
1.992log
(
x
)logaritmo natural de x (base
e)
log
(
2
.
718282
)
é 1
.
O log( 7.389056
) é
2.0
loglO (
x
)logaritmo de x (base 10)
10gb (
10
.
O ) é
1
.
O
loglO( 100.0 ) é
2.0pow( x, y
)x elevado à potência dey
(xY)
pow(
2,
7
) é
128 pow( 9, .5
)
é 3
sin (
x
)seno trigonométrico dcx (x em radianos)sin (
0.0
) é
O
sqrt( x )
raizquadradadex
sqrt( 900.0 )
é
30.0 sqrt( 9.0 ) é
3.0
tan (
x
)tangente trigonométrica de x (x em radianos)
tan (
O
.
O
) é
O
224 C++
COMO PROGRAMAR
12 int main()1314 cout « “Digite o comprimento do lado do seu cubo:1516 double side;1718 cm » side;19 cout « ‘Volume do cubo com lado20 « side «
é
« cube( side
)
« endl;
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...