Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Aula 09 - Funções (2): Arquivos de Cabeçalho, raizQuadrada e geração de números aleatórios, Notas de aula de Informática

Nesta aula do curso de c++, aprende-se a utilizar arquivos de cabeçalho, criar e implementar funções, como a raiz quadrada, e gerar números aleatórios usando a função rand().

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 14/04/2010

ygor-dos-santos-luz-3
ygor-dos-santos-luz-3 🇧🇷

4.7

(3)

55 documentos

1 / 30

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Funções (2)
Aula nº 09
arquivos de cabeçalho
rand ( )
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Pré-visualização parcial do texto

Baixe Aula 09 - Funções (2): Arquivos de Cabeçalho, raizQuadrada e geração de números aleatórios e outras Notas de aula em PDF para Informática, somente na Docsity!

Funções (2)

Aula nº 09

arquivos de cabeçalho

rand ( )

Arquivos de Cabeçalho

  • (^) Cada biblioteca padrão de C++ tem

um arquivo de cabeçalho

correspondente que contém todos os

protótipos das funções que ela

contém;

  • (^) O programador pode criar arquivos de

cabeçalho e incluí-los no programa:

#include “maximo.h”

Arquivo:

raizQuadrada.h

float raizQuadrada(float z) {

float r=0;

do{

r +=0.0001;

}while(z-r*r>0.0001);

return r;

} // fim da função raizQuadrada

#include

using namespace std;

#include “raizQuadrada.h"

int main() {

float x;

cout << "\nDigite um numero: ";

cin >> x;

cout << "\n\nA raiz quadrada desse

numero eh: " << raizQuadrada(x) <<

endl<<endl;

system("PAUSE");

} // fim de main

Arquivo:

chama_raizQ.cpp

Ex.: Simulando lançamentos de

dados

  • (^) O número gerado por rand( ) está

entre 0 e 65535;

  • (^) Para forçar valores entre 1 e 6

fazemos

(1 +(1 + rand ( ) % 6) rand ( ) % 6)

O resto da divisão de qualquer

número por 6 vai dar um resto de 0 a

5

Somado com 1 vai dar um número de

1 a 6

#include

using namespace std;

#include

#include // para usar rand ( )

Ex.: Simulando lançamentos de

dados

for ( int i = 1; i <= 4; i++ ) {

for (int j = 1; j<=5; j++)

cout<<setw( 10 )<<( 1 + rand() %

6 );

cout << endl;

}

i=

i=

i=

i=

j=1 j=2 j=3 j=4 j=

j=1 j=2 j=3 j=4 j=

j=1 j=2 j=3 j=4 j=

j=1 j=2 j=3 j=4 j=

Exemplo de

execução:

rand ( )

  • (^) Se rand ( ) gera números aleatórios
    • (^) Cada número gerado deve ter a

mesma probabilidade.

  • (^) mas toda execução gera os mesmos

números !!

  • rand gera números pseudo-aleatórios!

02/10/2008 Aula 09 - Funções(2) 13 - 29

int main()

{

unsigned semente;

cout << “Forneça a semente”;

cin >> semente;

srand (semente);

for ( int i = 1; i <= 4; i++ ) {

for (int j = 1; j<=5; j++)

cout<<setw( 10 )<<( 1 + rand() % 6 );

cout << endl;

}

return 0;

}

Mas para a mesma

semente , os

números gerados

ainda serão os

mesmos !!

Vamos usar a hora

do computador

como semente !!

Função time ( )

  • (^) time ( 0 )

retorna a hora de calendário (em

segundos);

  • (^) convertido em um unsigned
  • (^) protótipo em
  • (^) vamos usar time( 0 ) como semente:

srand ( time ( 0 ) );

Exemplo - Jogo

  • (^) Um jogador joga 2 dados. A soma da face

superior dos dados é calculada.

  • (^) se soma = 7 ou 11 –> vence na 1ª

jogada;

  • (^) se soma = 2 , 3 ou 12 –> perde na 1ª

jogada;

  • (^) se soma = 4 , 5 , 6 , 8 , 9 ou 10 , esta soma

torna-se o ‘ponto’ do jogador. Para

vencer, o jogador deve tirar outra soma

igual ao seu ‘ponto’.

  • (^) se tirar 7 antes de fazer seu ponto, ele

perde o jogo.

1ª jogada

soma

soma ==

7 ou 11

vence (^) perde

soma ==

2, 3 ou 12

ponto=soma

jogada

soma

soma ==

ponto

soma

== 7

perde vence

V

F

V

F

F F

V

V

Exemplo de

Execução 2

Dado

Dado

Jogador fez 2 + 5 = 7

Jogador venceu !!

Exemplo de Execução 3

Jogador fez 2 + 2 = 4

Ponto: 4

Jogador fez 2 + 5 = 7

Jogador perdeu !!

Dado

Dado

Exemplo de Execução 4

Jogador fez 1 + 3 = 4

Ponto: 4

Jogador fez 1 + 2 = 3

Jogador fez 5 + 5 = 10

Jogador fez 1 + 4 = 5

Jogador fez 3 + 2 = 5

Jogador fez 4 + 5 = 9

Jogador fez 3 + 4 = 7

Jogador perdeu !!

Dado

Dado