Teoria

Introdução

Nos tópicos anteriores nós tivemos uma introdução aos comandos condicionais, nesse tópico nós iremos conversar sobre o comando condicional mais importante, mais usado e mais cobrado nas provas.

Não se preocupe, eu tenho certeza que você irá tirar ele de letra tudo o que iremos discutir!

O comando If

O comando if nada mais é do que um comando condicional, pois se trata de uma estrutura capaz de definir se um trecho de código será executado ou não. Para facilitar, nós podemos nos lembrar da tradução de if, que é “se”.

Se determinada condição for verdadeira, um trecho específico de código será executado, assim fica bem mais fácil de lembrar, né?

Mas como ele faz isso? Na verdade, é bem simples! Basta analisarmos a estrutura de código dele, que é ilustrada pela imagem a seguir:

A condição que definirá se um trecho de código específica será executado ou não fica entre parênteses logo após a invocação do comando. Além disso, o código que será executado se a condição for verdadeira, fica entre chaves logo depois da condição ser definida.

As coisas ainda estão muito gerais, vamos observar um exemplo.

Exemplo: faça um programa que imprima a frase “A condição é verdadeira.” se uma determinada variável X for igual a 5.

Nesse caso o programa iria imprimir a frase, pois nós declaramos e inicializamos a variável X com o valor 5 logo antes da comparação relacional de igualdade ser realizada.

O comando else

Mas e se a condição for falsa, o que acontece com o programa?

No caso do exemplo anterior, tudo que o programa faria seria ignorar todo o trecho de código que se encontra dentro das chaves da estrutura if.

Mas existe um comando que da mesma forma que o comando if executa um trecho de código específico, também é capaz de executar um trecho de código específica, mas apenas nos casos em que a condição é falsa.

O nome desse comando é else e ele só pode estar presente se um if existir. Vamos analisar um exemplo de código mais geral:

Vale a pena notar que tudo aquilo que está entre as chaves após else será executado somente se a condição for falsa, além disso o comando else nunca terá uma condição, pois ele sempre será a última instância de execução.

Então, como ficaria aquele exemplo se nós quiséssemos adicionar um “senão” na estrutura “se”?

Exemplo: faça um programa que imprima a frase “A condição é verdadeira.” se uma determinada variável X for igual a 5, senão imprima a frase “A condição é falsa.”.

Nesse caso a saída do programa é a impressão da frase “A condição é falsa.”, pois a condição não é mais verdadeira, já que a variável X foi inicializada com o valor 0 e 0 não é igual a 5.

O comando else if

Mas e se a primeira condição for falsa e nós quiséssemos introduzir outra condição antes da estrutura executar o trecho de código presente no else?

É para esses casos que existe else if ou “senão se”, que é capaz de inserir uma nova condição na estrutura caso a primeira tenha falhado.

Dá uma olhadinha em como ela funciona de forma geral:

Vamos ver um exemplo em que esse caso aparece.

Exemplo: um aluno só é aprovado na disciplina de programação se a nota de sua prova for maior ou igual a 6, senão o critério adotado é o trabalho, que deve possuir nota maior ou igual a 8. Por fim, se o aluno não tiver nota em nenhum dos critérios avaliativos anteriores, o mesmo é reprovado da disciplina.

O programa teria como saída a impressão da frase “Aluno aprovado.”, pois de acordo com a inicialização das variáveis o aluno possuía nota de prova maior ou igual a 6, sendo a primeira condição verdadeira.

Lembrete: assim que um trecho de código é executado em uma estrutura if, o programa automaticamente sai da estrutura e continua a sua execução normalmente.

Agora que você já está detonando o comando condicional if está na hora de fazermos alguns exercícios, você não acha?

Te vejo na página aqui do ladinho!

O comando else

O comando else if

Exercícios Resolvidos

Exercício Resolvido #1

Explique a finalidade do comando if e defina a sua estrutura.

Passo 1

O comando if se trata de um direcionador de fluxo através de uma condição, ou seja, se determinada condição for verdadeira as instruções a serem executadas serão diferentes daquelas que seriam executadas caso essa mesma condição fosse falsa. Tudo isso graças as composições que podem ser feitas na estrutura if com else e else if.

Passo 2

A estrutura básica do comando if else pode ser definida da seguinte forma:

Passo 3

Porém, uma estrutura condicional if pode ter diversas outras condições caso as condições anteriores a essa sejam falsas, para isso utilizamos o else if:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #2

Desenvolva um programa que verifique a validade de uma senha fornecida pelo usuário, onde a senha válida é o número 1234.

Devem ser impressas as seguintes mensagens:

  • Caso a senha seja válida: “ACESSO PERMITIDO”;
  • Caso a senha seja inválida: “ACESSO NEGADO”.

Passo 1

Como sempre, a primeira coisa que devemos fazer é definir o escopo do nosso programa.

Passo 2

Com o escopo definido, podemos declarar a variável senha.

Passo 3

Nesse momento do desenvolvimento, devemos requisitar uma senha ao usuário.

Passo 4

Por fim, podemos utilizar a estrutura if para verificar se o valor armazenado na variável senha é igual a 1234.

Onde, se senha for igual a 1234 a frase impressa na tela será “ACESSO PERMITIDO”, caso contrário “ACESSO NEGADO”.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

Faça um programa que receba como entrada um número inteiro positivo N e imprima na tela se esse número é par ou ímpar.

Passo 1

A primeira coisa que devemos fazer é definir o escopo do nosso programa.

Passo 2

Com o escopo definido, podemos declarar a variável necessária para a criação do código.

Passo 3

Nesse momento do desenvolvimento, podemos realizar a requisição da entrada do número para o usuário através da função scanf().

Passo 4

Por fim, como a impressão depende do valor do dado armazenado pela variável n devemos utilizar um comando condicional. Onde, se n for par, o programa deverá imprimir que o número é par, caso contrário, que o número é ímpar.

A condição utilizada para verificar se o número é par, foi verificar se o resto da divisão desse mesmo número por 2 é igual a 0. Se essa igualdade for verdadeira, o número é par, caso contrário o número é ímpar.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #4

Escreva um programa que receba como entrada números inteiros (considere que os valores informados não serão iguais) e imprima na tela o maior número entre eles.

Passo 1

A primeira coisa que devemos fazer é definir o escopo do nosso programa.

Passo 2

Com o escopo do programa definido, podemos declarar as variáveis que serão necessárias para o funcionamento do programa.

Passo 3

Com as variáveis n1 e n2 declaradas, podemos requisitar a entrada dos dois números que serão comparados para o usuário.

Passo 4

Tendo conhecimento dos valores que serão comparados, podemos utilizar a estrutura if para verificar qual é o maior número.

Onde se a comparação relacional n 1 > n 2 for verdadeira, a instrução de impressão na tela do dado armazenado por n1 deverá ser executada, caso contrário o bloco else entrará em ação e como os valores de n1 e n2 nunca serão iguais (garantido pelo enunciado) a instrução de impressão na tela do dado armazenado por n2 que será executada, uma vez que ela terá o maior número.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #5

Desenvolva um programa que tenha como entrada o ano de nascimento de uma pessoa e como saída a impressão de uma frase que diga se ela poderá ou não votar este ano.

Considerar que a idade mínima para o voto no Brasil é de 16 anos.

Passo 1

Antes de iniciar o desenvolvimento do nosso programa, devemos definir o seu o escopo.

Passo 2

Com o escopo definido, devemos declarar a variável responsável por armazenar o ano de nascimento do usuário.

Passo 3

O próximo passo do desenvolvimento do código é requisitar a entrada do ano de nascimento do usuário.

Passo 4

Tendo conhecimento do ano de nascimento do usuário, podemos verificar se a subtração entre o ano atual (2019) e o ano de nascimento é maior ou igual a 16.

Caso a condição citada anteriormente seja verdadeira, o programa deve imprimir na tela que o voto do usuário é permitido, caso contrário que o voto não é permitido.

Vale lembrar que uma constante definida para a identificação do ano atual poderia ser utilizada nesse exercício.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #6

Desenvolva um programa que tenha como entrada os lados de um polígono regular e como saída as seguintes impressões:

  • Se o número de lados for igual a 3: “Triângulo”;
  • Se o número de lados for igual a 4: “Quadrilátero”;
  • Se o número de lados for igual a 5: “Pentágono”.

Passo 1

A primeira coisa que nós devemos fazer é definir o escopo do nosso programa.

Passo 2

Com o escopo definido, nós podemos realizar a declaração da variável lados.

Passo 3

Com a variável responsável por armazenar os lados de um polígono já declarada, podemos requisitar a entrada deles para o usuário.

Passo 4

Tendo conhecimento da quantidade de lados do polígono, podemos utilizar a estrutura if para identificar se ele se trata de um triângulo, quadrilátero ou pentágono.

Onde, se o valor armazenado por lados for igual a 3 será impresso na tela “Triângulo”, caso lados seja igual a 4 será impresso na tela “Quadrilátero”, agora se lados for igual a 5 a impressão será “Pentágono”.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #7

Desenvolva um programa que receba como entrada um determinado ano é imprima na tela se esse ano é ou não um ano bissexto.

Um ano é bissexto se ele é divisível por 400 ou se ele é divisível por 4 e não divisível por 100.

Passo 1

Primeiramente devemos definir o escopo do nosso programa.

Passo 2

Em seguida devemos declarar a variável ano e requisitar uma entrada para o usuário.

Passo 3

Por fim, basta aplicarmos a condição que caso verdadeira torna um ano bissexto.

Ou seja, se o ano inserido pelo usuário é divisível por 400 ou divisível por 4 e não divisível por 100, então se trata de um ano bissexto.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #8

Na universidade em que você estuda, há diversas disciplinas e cada uma delas possui uma fórmula própria para calcular a média final do aluno com base nas notas de provas e trabalhos, essas que vão de 0 a 10. Você, ansioso e preocupado com o seu futuro, decide perguntar aos veteranos e olhar em planos de ensino sobre algumas das próximas disciplinas que fará.

Em uma dessas disciplinas, o método de avaliação é dado por 2 provas com pesos diferentes que constituem a média das provas M P , dada pela fórmula:

M P = 4 * P 1 + 6 * P 2 10

Além das provas, há ainda um trabalho T que é contabilizado na média final M F . A média das provas influencia em como serão atribuídos os pesos aos componentes que constituem a média final, dada pela seguinte fórmula:

M F = M P + T 2

Se M P ≥ 5,0

M F = 7 * M P + 3 * T 10

Se M P < 5,0

Faça um programa que calcule a média final de determinado aluno, e, sabendo que a média da faculdade é 6, imprima da tela se ele passou ou não na disciplina.

Observação: a entrada será dada por 3 números, onde os 2 primeiros representam as notas das duas provas (prova 1 e prova 2 respectivamente) e o último a nota do trabalho.

Passo 1

A primeira coisa que devemos fazer é definir o escopo do nosso programa.

Passo 2

Com o escopo definido, nós podemos iniciar a declaração das variáveis necessárias para o funcionamento do programa.

Passo 3

Com as variáveis declaradas, podemos requisitar a entrada dos dados referentes as notas das provas e a nota do trabalho através da função scanf() disponibilizada pela biblioteca stdio.h.

Passo 4

Com os dados já armazenados nas variáveis, podemos criar a expressão que realiza o cálculo da média das provas.

Passo 5

Nesse ponto do programa, as instruções a serem executadas dependem diretamente do valor do dado armazenado pela variável mp, pois a fórmula para o cálculo da média final difere para diferentes médias de provas.

Quando nos encontramos nesse tipo de situação, chamada de situação condicional, devemos utilizar um dos comandos condicionais disponibilizados pela linguagem, nesse caso utilizaremos o comando if, para executar uma instrução específica de acordo com o valor da média das provas.

Quando a condição relacional da estrutura for verdadeira, a expressão utilizada para o cálculo da média final será a primeira expressão (linha 14), caso a condição seja falsa, a expressão utilizada será a segunda (linha 16).

Vou te dar uma dica... Quando as instruções que serão executadas dentro da estrutura if só possuem uma linha, como é o caso acima, nós não precisamos colocar as chaves da estrutura propriamente dita. Mas é só nesses casos, hein!?

Passo 6

Por fim, com o valor da média final já calculado, só nos resta verificar se o aluno passou ou não na disciplina, e, dependendo do caso, imprimir na tela a mensagem que melhor define a situação.

Mas espera, se a impressão depende do valor da média final o que nós usamos mesmo? Um comando condicional! Nesse caso, mais uma vez o comando if.

Ou seja, se a condição relacional for verdadeira, a impressão será de que o aluno passou na disciplina, caso contrário, que ele não passou na disciplina.

Resposta

Ei, a resposta está no passo a passo :)