Pular para o conteúdo principal

Tutorial de Lógica de Programação com a Linguagem C e C++ - Estruturas Condicionais - Aula 03

As estruturas condicionais são responsáveis por definir o fluxo de execução de acordo com o resultado do processamento de informações ou da entrada de dados realizada pelo usuário.

Na linguagem C temos como principais estruturas condicionais o if, else, if-else if  e o switch.


1. if - else

O comando if avalia se uma expressão é verdadeira para executar o bloco de código já a expressão else realiza a opração nos casos em que a expressão do if retornar o valor falso


EX:


#include <stdio.h>

#include <stdlib.h>

#include <locale.h>


int main()

{

    setlocale(LC_ALL,"");

    int a;

    a = 10;

    if(a > 5) {

        printf(" a é maior que 5");

     } else {

         printf(" a não é maior que 5");

     }

    return 0;

}

Neste exemplo o a é maior que o número 5. Portanto, o bloco de código do if será executado e a mensagem " a é maior que 5" será exibida para o usuário.


Para ver o bloco do comando else funcionar basta alterar o valor de a para um número menor ou igual a 5


2. if - else if

A estrutura condicional if - else if permite o encadeamento de tratamento de condições específicas. Onde é possível tratar além do caminho if - else.


EX:


Suponha um programa que aceita que o usuário digite números que vão de 1 a 3.

Para os digitos 1,2 e 3 o programa apresenta uma mensagem confirmando o número digitado. Porém, para valores diferentes de 1,2 e 3 o programa emite a mensagem "Opção Inválida".


#include <stdio.h>

#include <stdlib.h>

#include <locale.h>


int main()

{

    setlocale(LC_ALL,"");

    char op;

    

    if(op == '1') {

        printf(" Número 1 digitado");

     } else if (op == '2') {

         printf(" Número 2 digitado");

     } else if (op == '3') {

         printf(" Número 3 digitado");

     } else {

         printf(" Opção Inválida");

     }

    return 0;

}


3. switch


A estrutura switch possui um comportamento similar ao if - else if. Porém, na minha opinião ele é mais legível e mais adequando quando o número de opções é muito grande.


É importante notar a utilização da instrução break para garantir o escopo do bloco de código que será executado. Maiores detalhes podem ser vistos no vídeo Estrutura Condicional - Parte 03

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main()
{
    setlocale(LC_ALL,"");
    char op;
    printf("Escolha valores entre 1 e 3: ");
    scanf("%c",&op);


    switch(op){

        case '1': printf("Número escolhido 1\n");break;

        case '2': printf("Número escolhido 2\n");break;

        case '3': printf("Número escolhido 3\n");break;

        default: printf("Opção inválida\n");break;

    }

    return 0;

}


4. Exercícios Propostos

1) Faça um algoritmo que leia os valores A, B, C e imprima na tela se a soma de A + B é menor que C.

2) Faça um algoritmo para receber um número qualquer e informar na tela se é par ou ímpar.

OBS: utilize o operador  % da linguagem C para encontrar o resto da divisão.


3) Faça um algoritmo que leia dois valores inteiros A e B se os valores forem iguais deverá se somar os dois, caso contrário multiplique A por B. Ao final de qualquer um dos cálculos deve-se atribuir o resultado para uma variável C e mostrar seu conteúdo na tela.

4) Encontrar o dobro de um número caso ele seja positivo e o seu triplo caso seja negativo, imprimindo o resultado.

5) Elabore um algoritmo que calcule o que deve ser pago por um produto, considerando o preço normal de etiqueta e a escolha da condição de pagamento. Utilize os códigos da tabela a seguir para ler qual a condição de pagamento escolhida e efetuar o cálculo adequado. 

Código Condição de pagamento

[1] - À vista em dinheiro ou cheque, recebe 10% de desconto 
[2] - À vista no cartão de crédito, recebe 15% de desconto 
[3] - Em duas vezes, preço normal de etiqueta sem juros 
[4] - Em duas vezes, preço normal de etiqueta mais juros de 10% 

6) Escreva um algoritmo que leia o número de identificação, as 3 notas obtidas por um aluno nas 3 verificações e a média dos exercícios que fazem parte da avaliação, e calcule a média de aproveitamento, usando a fórmula:

 MA := (nota1 + nota 2 * 2 + nota 3 * 3 + ME)/7 

A atribuição dos conceitos obedece a tabela abaixo. O algoritmo deve escrever o número do aluno, suas notas, a média dos exercícios, a média de aproveitamento, o conceito correspondente e a mensagem 

'Aprovado' se o conceito for A, B ou C, e 'Reprovado' se o conceito for D ou E. 

Média de aproveitamento Conceito 

>= 90 A 
>= 75 e < 90 B
 >= 60 e < 75 C
 >= 40 e < 60 D
 < 40 E 



Comentários

Postagens mais visitadas deste blog

Validando Documentos com Fluent Validation, DocsBRValidator e .net Core 6.0

  Introdução A necessidade de utilização das bases de dados para construção de estratégias de negócios através  de técnicas de Ciência de Dados torna necessário que as aplicações sejam cada vez mais cuidadosas para a validação dos campos que serão salvos nas bases dos sistemas. Esses cuidados tem o objetivo de melhorar a qualiade das informações que serão fornecidas para sistemas de Inteligência artificial, mineração de dados, etc . Neste artigo será apresentada a construção de uma solução console que utiliza o Fluent Validation, DocsBRValidator  e o .net Core 6 para validar o número do CPF fornecido pelo usuário.   FluentValidation FluentValidation é uma bliblioteca .Net criada para construção de regras de validação. Com essa biblioteca  podem ser definidos a obrigatoriedade de campos , os tamanhos, os tipos e a formatação.   DocsBRValidator DocsBRValidator é uma biblioteca que possui a regra de validação para os principais documentos brasileiros como CPF, CNPJ,  RG, CNH, Titulo de El

Criando uma calculadora Android com o Kotlin

Resumo Aprender a programar para Android exige a absorção de conceitos básicos que são mais naturalmente entendidos quando aplicados em algum projeto de desenvolvimento. Objetivando introduzir o contato com o Kotlin para Android, foi criado neste artigo um aplicativo simples de calculadora que possibilita a apresentação do tratamento de eventos de botões, uso de expressões regulares e utilização de um método estático. Introdução O desenvolvimento de aplicativos envolve o entendimento de conceitos que devem ser naturalizados pelos desenvolvedores. Uma das formas mais comuns de se naturalizar os diversos recurso de uma plataforma é desenvolver projetos que demonstrem o funcionamento prático dos conceitos implementados. O aplicativo   Calculadora foi desenvolvido por possibilitar o contato inicial do desenvolvedor com os conceitos de tratamento de eventos, métodos estáticos e expressões regulares. O código desenvolvido buscou implementar estes conceitos de maneira introdutória. Não fo

Logic Programming With Python - 03

Control Flow We often need to run specific code for certain conditions or we must run a code snippet many times. Toward we have this behavors we need of structures of control flow. Basically these structures are divided into conditional and repeating structures.  Conditional structures allow select code snippets for specific conditions while Loop structures allow the execution of code snippets many times. Conditional structures in Python The logical conditionals usein Python are: Equals:  a == b Not Equals:  a != b Less than:  a < b Less than or equal to:  a <= b Greater than:  a > b Greater than or equal to:  a >= b These conditions are fundamental to statement logical and loops Simple if-statement. In this example were declared two variables: a and b. In the if-statement  was defined the condition b > a. As b is equal the five and a is equal to three the message "b greater than a" will show to the user. Code Block In Python, The code block is defined through