Roteiro Pratico 5

Objetivos:

Trabalhar com estruturas condicionais aninhadas.

Livro texto:

ASCENCIO, A. F.G., CAMPOS, E.A.V. Fundamentos da Programação de Computadores (Algoritmos, Pascal, C/C++ e Java). Editora: Prentice-Hall, 2008.

Fundamentação Teórica

Referência para consulta e estudos: Capítulo 3 do livro texto.

Uma estrutura condicional está aninhada quando é utilizada dentro de outra estrutura condicional. Veja abaixo um exemplo:

Algoritmo:

SE <condição1> 
ENTÃO
INICIO     
    SE <condição2> 
    ENTÃO
    INICIO     
        comandos
        ...
    FIM
    SENÃO
    INICIO     
        comandos
        ...
    FIM
FIM
SENÃO
INÍCIO
    SE <condição3>
    INICIO     
        comandos
        ...
    FIM
FIM

Programa em C++:

if (<condição1>)
{ 
    if (<condição2>)
    { 
        comandos;
        ...
    }
    else
    {
        comandos;
        ...
    }
}
else
{
    if (<condição3>)
    { 
        comandos;
        ...
    }
}

Exemplo: Faça um programa em C++ que leia três números e imprima o maior deles.

C++

# include <iostream>
using namespace std;
 
int main ( ){
 
    int n1, n2, n3;
 
    cout << "Digite o primeiro numero: ";
    cin >> n1;
    cout << "Digite o segundo numero: ";
    cin >> n2;
    cout << "Digite o terceiro numero: ";
    cin >> n3;
 
    if (n1 > n2){
        if (n1 > n3){
            cout << "O maior numero e: " << n1;      
        }else{
            cout << "O maior numero e: " << n3;              
        }       
    }else{
        if (n2 > n3){
            cout << "O maior numero e: " << n2;      
        }else{
            cout << "O maior numero e: " << n3;              
        }        
    }
 
    system("PAUSE > null");
    return 0;
 
}

Exemplo: Faça um programa em C++ que leia dois números e execute as operações listadas à seguir de acordo com a escolha do usuário:

ESCOLHA DO USUÁRIO OPERAÇÃO
1 Média entre os números digitados
2 Diferença do maior pelo menor
3 Produto entre os números digitados
4 Divisão do primeiro pelo segundo número

Se a opção digitada for inválida, mostrar uma mensagem de erro e terminar a execução do programa. Lembre-se que na operação 4, o segundo número deve ser diferente de zero.

C++

#include <iostream>
using namespace std;
 
int main (){
 
    int opcao, num1, num2;
    float resultado;
 
    cout << "Digite o primeiro numero: \n";
    cin >> num1;
    cout << "Digite o segundo numero: \n";
    cin >> num2; 
 
    cout << "Digite a opcao: \n";
    cin >> opcao;
 
    switch (opcao){
        case 1:
            resultado = (num1 + num2) / 2;
            break;
        case 2:
            if (num1 > num2){
                resultado = num1 - num2;
            }else{
                resultado = num2 - num1;         
            }
            break;
        case 3:
            resultado = num1 * num2;
            break;
        case 4:
            if (num2 == 0){
                cout << "O divisor deve ser diferente de 0!\n";
                system("pause > null");    
                return 0;
            }else{
                resultado = num1 / num2;
            }
            break;
        default:       
            cout << "opcao invalida!\n";                          
            system("pause > null");    
            return 0;
    }
 
    cout << "O resultado e: " << resultado;
 
    system("pause > null");    
    return 0;    
 
}

Roteiro:

a) Faça um programa em C++ que receba a idade e peso de uma pessoa. De acordo com a tabela a seguir, verifique e mostre em qual grupo de risco essa pessoa se encaixa.

IDADE PESO
Até 60 Entre 60 e 90 Acima de 90
Menores de 20 9 8 7
De 20 a 50 6 5 4
Maiores de 50 3 2 1

b) Faça um programa em C++ que receba três números e mostre-os em ordem crescente.

c) Faca um programa em C++ que receba os comprimentos dos três lados de um triângulo e imprima se eles podem ou não formar um triângulo (cada lado tem que ser menor que a soma dos outros dois). O programa deve imprimir também se o triângulo é:

  • Equilátero: três lados de mesmo comprimento
  • Isósceles: dois lados de mesmo comprimento
  • Escaleno: três lados de comprimentos diferentes

d) Faça um programa em C++ que receba um número indicando a opção do usuário e mais 3 números. O programa deve imprimir os três números conforme a opção selecionada pelo usuário.

ESCOLHA DO USUÁRIO OPERAÇÃO
1 Imprima os três números em ordem crescente
2 Imprima os três números em ordem decrescente

e) O IMC (índice de massa corporal) é um critério da Organização Mundial de Saúde para dar indicação sobre a condição de peso de uma pessoa adulta. A fórmula para cálculo do índice é: IMC = peso / altura2
Elabore um programa em C++ que leia o peso e a altura de um adulto e mostre sua condição de acordo com a tabela abaixo. Não se esqueça de verificar se o peso e altura digitados são números positivos.

IMC EM ADULTOS CONDIÇÃO
Abaixo de 18,5 Abaixo do peso
Entre 18,5 e 25 Peso normal
Entre 25 e 30 Acima do peso
Acima de 30 Obeso

f) Faça um programa em C++ que receba duas datas e imprima a data cronologicamente maior. Cada data deve ser fornecida por três valores inteiros:

  • Dia
  • Mês
  • Ano

g) Faça um programa em C++ que receba a a altura e o peso de uma pessoa e, de acordo com a tabela a seguir, verifique e mostre qual a classificação desta pessoa.

ALTURA PESO
Até 60 Entre 60 e 90 Acima de 90
Menores que 1,20 A B C
De 1,20 a 1,70 D E F
Maiores que 1,70 G H I
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License