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

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

Postagens mais visitadas