Capitulo 05 - Instruções de Controle Parte 2
Neste capitulo continuaremos a ver mais instruções de controle while usando contador e veremos também a instrução de controle for
Exemplo 01 e 02:
//Figura 5.1: RepticaoPorControlador.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador = 1; //declara e inicializa a variavel de controle
while(contador <= 10) //condicao de continuacao do loop
{
cout << contador << " ";
contador++;
}
cout << endl; //gera a saida de um caractere e nova linha
return 0;
}
Na figura 5.1 do programa repetição por controlador onde o contador é declarado como inteiro e para que haja uma condição de loop declaramos dentro do while para saber se contador é menor igual a 10 e depois imprimimos o contador na tela caso seja, ele chama contador++ até que imprima os 10 números.
//figura 5.2: RepeticaoControladorFOR.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
/*
cabecalho da instrucao for inclui inicializacao,
codicao de continuacao do loop e incremento.
*/
for(int contador = 1; contador <= 10; contador++)
cout << contador << " ";
cout << endl; //gera a saida de um caractere de nova linha
return 0;
}
Na figura 5.2 do programa foi usado a instrução de repetição FOR que usa um contador para a contagem do laço de repetição e ao executar o programa ficara assim:
Exemplo 03 e 04:
//Figura 5.5: SomaInteirosFOR.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int total = 0; //inicializa o total
//total de inteiros pares de 2 a 20
for(int numero = 2; numero <= 20; numero += 2)
total += numero;
cout << "Soma foi " << total << endl; //exibe resultados
return 0; //terminacao bem-sucedida
}
Na figura 5.5 o programa usamos a instrução for para a soma de dois números inteiros.
//Figura 5.6: CalcJurosFOR.cpp
#include <iostream>
#include <iomanip>
#include <cmath> //biblioteca de matematica C++ padrao
using std::cout;
using std::endl;
using std::fixed;
using std::setw; //permite que o programa configure a largura de um campo
using std::setprecision;
using std::pow; //permite ao programa utilizar a funcao pow
int main()
{
double quantidade; //quantidade em deposito ao fim de cada ano
double principal = 1000.0; //quantia inicial antes dos juros
double taxa = .05; //taxa de juros
//exibe cabeçalhos
cout << "Ano" << setw(21) << "Quantidade depositada" << endl;
//configura o formato de numero de ponto flutuante
cout << fixed << setprecision(2);
//calcula quantidaden de deposito para cada um dos dez anos
for(int ano = 1; ano <= 10; ano++)
{
//calcula nova quantia durante ano especificado
quantidade = principal * pow(1.0 + taxa, ano);
//exibe o ano e a quantia
cout << setw(4) << ano << setw(21) << quantidade << endl;
}
return 0;
}
No exemplo do programa CalcJurosFOR usamos o for para calculo dos juros, no qual para que possa ser feito esse calculo, é usado a biblioteca chamda <cmatch> inclui informações que instruem o compilador a converter o valor de ano em uma representação double temporária antes de chamar a função. também usamos a função pow para fazer o calculo da taxa do juros tudo isso dentro do for.
Executando esse programa ficará assim na tela:
Exemplo 05:
//Figura 5.7: IntrDoWhile.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador = 1; //inicializa o contador
do
{
cout << contador << " "; //exibe o contador
contador++; //incrementa o contador
}while(contador <= 10); //fim da instrucao do...while
cout << endl; //gera a saida de uma caractere de nova linha
return 0; //indica terminacao bem-sucedida
} //fim do main
Na figura 5.7 do programa usamos Do While para imprimir os números de 1 a 10 usando um contador, e na tela ao executar o resultado sera:
Exemplos 06, 07 e 08:
//figura 5.9: NotasLivro.h
#include <string> //o programa utiliza classes de strng padrao C++
using std::string;
//definicao da classe NotasLivro
class NotasLivro
{
public:
NotasLivro(string); //o construtor inicializa o nome do curso
void setNomeCurso(string); //funcao parea configurar nome do curso
string getNomeCurso(); //funcao para recuperar nome do curso
void telaMensagem(); //exibe um amesnagem de boas vindas
void inputNotas(); //insere numero arbitrario de notas do usuario
void telaNotaRelatorio(); //exibe um relatorio baseado nas notas
private:
string nomeCurso; //nome do curso para esse NotasLivro
int aContador; //contagem de notas A
int bContador; //contagem de notas B
int cContador; //contagem de notas C
int dContador; //contagem de notas D
int fContador; //contagem de notas F
};
Nesta parte do programa da figura 5.9, criamos uma classe NotasLivro.h no qual dentro dela declaramos os protótipos da função dentro de classe public e na classe private uma string para om nome do curso e inteiros para a contagem das notas A, B, C, D e F
//Figura 5.13: InstrBreak.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador; //variavel de controle também utilizada depois que loop terminar
for(contador = 1; contador <= 10; contador++)
{
if(contador == 5)
break; //quebra o loop somente se x for 5
cout << contador << " ";
} //fim do for
cout << "Saiu do laco na contagem = " << contador << endl;
return 0; //indice de terminacao bem sucedida
} //fim do main
Terminamos aqui o Capitlo 05 da 2ª parte de instrução de controles, onde vimos as instruções for e do while.
até a proxima
Exemplo 01 e 02:
//Figura 5.1: RepticaoPorControlador.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador = 1; //declara e inicializa a variavel de controle
while(contador <= 10) //condicao de continuacao do loop
{
cout << contador << " ";
contador++;
}
cout << endl; //gera a saida de um caractere e nova linha
return 0;
}
Na figura 5.1 do programa repetição por controlador onde o contador é declarado como inteiro e para que haja uma condição de loop declaramos dentro do while para saber se contador é menor igual a 10 e depois imprimimos o contador na tela caso seja, ele chama contador++ até que imprima os 10 números.
//figura 5.2: RepeticaoControladorFOR.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
/*
cabecalho da instrucao for inclui inicializacao,
codicao de continuacao do loop e incremento.
*/
for(int contador = 1; contador <= 10; contador++)
cout << contador << " ";
cout << endl; //gera a saida de um caractere de nova linha
return 0;
}
Na figura 5.2 do programa foi usado a instrução de repetição FOR que usa um contador para a contagem do laço de repetição e ao executar o programa ficara assim:
Exemplo 03 e 04:
//Figura 5.5: SomaInteirosFOR.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int total = 0; //inicializa o total
//total de inteiros pares de 2 a 20
for(int numero = 2; numero <= 20; numero += 2)
total += numero;
cout << "Soma foi " << total << endl; //exibe resultados
return 0; //terminacao bem-sucedida
}
Na figura 5.5 o programa usamos a instrução for para a soma de dois números inteiros.
//Figura 5.6: CalcJurosFOR.cpp
#include <iostream>
#include <iomanip>
#include <cmath> //biblioteca de matematica C++ padrao
using std::cout;
using std::endl;
using std::fixed;
using std::setw; //permite que o programa configure a largura de um campo
using std::setprecision;
using std::pow; //permite ao programa utilizar a funcao pow
int main()
{
double quantidade; //quantidade em deposito ao fim de cada ano
double principal = 1000.0; //quantia inicial antes dos juros
double taxa = .05; //taxa de juros
//exibe cabeçalhos
cout << "Ano" << setw(21) << "Quantidade depositada" << endl;
//configura o formato de numero de ponto flutuante
cout << fixed << setprecision(2);
//calcula quantidaden de deposito para cada um dos dez anos
for(int ano = 1; ano <= 10; ano++)
{
//calcula nova quantia durante ano especificado
quantidade = principal * pow(1.0 + taxa, ano);
//exibe o ano e a quantia
cout << setw(4) << ano << setw(21) << quantidade << endl;
}
return 0;
}
No exemplo do programa CalcJurosFOR usamos o for para calculo dos juros, no qual para que possa ser feito esse calculo, é usado a biblioteca chamda <cmatch> inclui informações que instruem o compilador a converter o valor de ano em uma representação double temporária antes de chamar a função. também usamos a função pow para fazer o calculo da taxa do juros tudo isso dentro do for.
Executando esse programa ficará assim na tela:
Exemplo 05:
//Figura 5.7: IntrDoWhile.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador = 1; //inicializa o contador
do
{
cout << contador << " "; //exibe o contador
contador++; //incrementa o contador
}while(contador <= 10); //fim da instrucao do...while
cout << endl; //gera a saida de uma caractere de nova linha
return 0; //indica terminacao bem-sucedida
} //fim do main
Na figura 5.7 do programa usamos Do While para imprimir os números de 1 a 10 usando um contador, e na tela ao executar o resultado sera:
Exemplos 06, 07 e 08:
//figura 5.9: NotasLivro.h
#include <string> //o programa utiliza classes de strng padrao C++
using std::string;
//definicao da classe NotasLivro
class NotasLivro
{
public:
NotasLivro(string); //o construtor inicializa o nome do curso
void setNomeCurso(string); //funcao parea configurar nome do curso
string getNomeCurso(); //funcao para recuperar nome do curso
void telaMensagem(); //exibe um amesnagem de boas vindas
void inputNotas(); //insere numero arbitrario de notas do usuario
void telaNotaRelatorio(); //exibe um relatorio baseado nas notas
private:
string nomeCurso; //nome do curso para esse NotasLivro
int aContador; //contagem de notas A
int bContador; //contagem de notas B
int cContador; //contagem de notas C
int dContador; //contagem de notas D
int fContador; //contagem de notas F
};
Nesta parte do programa da figura 5.9, criamos uma classe NotasLivro.h no qual dentro dela declaramos os protótipos da função dentro de classe public e na classe private uma string para om nome do curso e inteiros para a contagem das notas A, B, C, D e F
//Figura 5.13: InstrBreak.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador; //variavel de controle também utilizada depois que loop terminar
for(contador = 1; contador <= 10; contador++)
{
if(contador == 5)
break; //quebra o loop somente se x for 5
cout << contador << " ";
} //fim do for
cout << "Saiu do laco na contagem = " << contador << endl;
return 0; //indice de terminacao bem sucedida
} //fim do main
A instrução break no programa da figura 5.13 quando executada em uma instrução for, coasiona sua saida dessa instrução, e a execução do programa continua com a próxima instrução.
//figura 5.14: InstrContinue.cpp
#include <iostream>
using std::cout;
using std::endl;
int main()
{
int contador; //variavel de controle também utilizada depois que loop terminar
for(contador = 1; contador <= 10; contador++)
{
if(contador == 5)
continue; //quebra o loop somente se x for 5
cout << contador << " ";
} //fim do for
cout << "\nUsa continuacao e pula impressao 5" << endl;
return 0; //indice de terminacao bem sucedida
} //fim do main
Na figura 5.14 usamos a instrução continue dentro do for a ser executada, para ler os números de 1 a 10 só o número 5 não sera lido pois a instrução continue pula para o proximo numero como mostra na execução do programa abaixo:
//figura 5.18: OperadoresLogicos.cpp
#include <iostream>
using std::cout;
using std::endl;
using std::boolalpha; //faz com que os valores bool seja impressos como
int main()
{
//cria a tabela-verdade para o operador && (E logico)
cout << boolalpha << "Logica AND (&&)"
<< "\nfalso && falso: " << (false && false)
<< "\nfalso && verdadeiro: " << (false && true)
<< "\nverdadeiro && falso: " << (true && false)
<< "\nverdadeiro && verdadeiro: " << (true && true) << "\n\n";
//cria a tabela-verdade para o operador || (OU logico)
cout << "Logica OR (||)"
<< "\nfalso || falso: " << (false || false)
<< "\nfalso || verdadeiro: " << (false || true)
<< "\nverdadeiro || falso: " << (true || false)
<< "\nverdadeiro || verdadeiro: " << (true || true) << "\n\n";
//cria tabela-verdade para o operador ! (negacao logica)
cout << "Logica NOT (!)"
<< "\n!falso: " << (!false)
<< "\n!verdadeiro: " << (!true) << endl;
return 0;
}
A figura 5.18 do programa demonstra os operadores lógicos produzidos suas tabelas-verdade. A saída mostra cada expressão que é avaliar e seu resultado bool. Por padrão valores bool como true e false são exibidos por cout e pelo operador de inserção de fluxo como 1 e 0, respectivamente. Utilizamos manipulador de fluxo boolalpha para especificar o valor de cada expressão bool deve ser exibido com a palavra 'true' ou 'false' (verdadeiro ou falso). Ao executar o programa ficara assim na tela:
Terminamos aqui o Capitlo 05 da 2ª parte de instrução de controles, onde vimos as instruções for e do while.
até a proxima
Comentários
Postar um comentário