Em Lógica de Programação, usamos condições para tomar decisões no decorrer da execução de um programa. Através de estruturas condicionais podemos alterar todo o fluxo de processamento.
Um exemplo simples de estrutura de decisão é uma conta corrente de um banco. Entendemos que somente será possível realizar saques na conta se houver saldo disponível, caso contrário, o saque será negado. Note que esta decisão basicamente é um VERDADEIRO ou FALSO, ou seja, SE houve saldo a condição será VERDADEIRA e o saque será permitido, SENÃO, a condição falsa será negar o saque.
Tais decisões podem ser programas no VisuALG usando a seguinte estrutura;
se <condição> entao <comandos da condição verdadeira> senao <comandos da condição falsa> fimse
Exemplo 1
Num determinado Estado, para transferências de veículos, o DETRAN cobra uma taxa de 1% para carros
fabricados antes de 2000 e uma taxa de 1.5% para os fabricados de 2000 em diante, taxa esta incidindo sobre o
valor de tabela do carro. O programa abaixo lê o ano e o preço do carro e a seguir calcula e imprime imposto a ser
pago.
Algoritmo "ExemploCalculoDetran" Var AnoVeiculo : inteiro ValorVeiculo, TaxaVeiculo : real Inicio Escreva("Informe o ano do veículo: ") leia(AnoVeiculo) Escreva("Informe o valor do veículo: ") leia(ValorVeiculo) SE (AnoVeiculo < 2000) ENTAO TaxaVeiculo <- ValorVeiculo * 0.01 SENAO TaxaVeiculo <- ValorVeiculo * 0.015 FIMSE Escreval("A taxa para transferência: ", TaxaVeiculo) Fimalgoritmo
Podemos também usar uma condição dentro de outra condição, isso normalmente é necessário quando precisamos testar mais de 2 condições.
Exemplo 2
Uma empresa concederá um aumento de salário aos seus funcionários de acordo com o cargo e
conforme a tabela abaixo. Faça um programa de computador que leia o salário e o cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento. Mostre o salário antigo, o novo salário e a diferença entre eles.
Código | Cargo | Percentual |
101 | Gerente | 10% |
102 | Engenheiro | 20% |
103 | Técnico | 30% |
O código ficará;
Algoritmo "CalculoDoSalario" Var SalarioAtual, SalarioNovo : real CodCargo, Reajuste : inteiro Inicio Escreva("Informe o código do Cargo: ") leia(CodCargo) Escreva("Informe o salario atual: ") leia(SalarioAtual) SE (CodCargo = 101) ENTAO Reajuste <- 10 SalarioNovo <- SalarioAtual * 1.1; // acrescenta 10% SENAO SE (CodCargo = 102) ENTAO Reajuste <- 20 SalarioNovo <- SalarioAtual * 1.2; // acrescenta 20% SENAO SE (CodCargo = 103) ENTAO Reajuste <- 30 SalarioNovo <- SalarioAtual * 1.3; // acrescenta 20% SENAO Reajuste <- 40 SalarioNovo <- SalarioAtual * 1.4; // acrescenta 40% FIMSE FIMSE FIMSE Escreval("O novo salário é: ", SalarioNovo) Escreval("Houve um aumento de: ", SalarioNovo - SalarioAtual) Escreval("Reajuste de: ", Reajuste, "%") Fimalgoritmo
No entanto, podemos resolver o mesmo problema de uma outra forma diferente;
Algoritmo "CalculoDoSalario" Var SalarioAtual, SalarioNovo : real Reajuste, CodCargo : inteiro Inicio Escreva("Informe o código do Cargo: ") leia(CodCargo) Escreva("Informe o salario atual: ") leia(SalarioAtual) SE (CodCargo = 101) ENTAO Reajuste <- 10 SalarioNovo <- SalarioAtual * 1.1; // acrescenta 10% FIMSE SE (CodCargo = 102) ENTAO Reajuste <- 20 SalarioNovo <- SalarioAtual * 1.2; // acrescenta 20% FIMSE SE (CodCargo = 103) ENTAO Reajuste <- 30 SalarioNovo <- SalarioAtual * 1.3; // acrescenta 30% FIMSE SE ((CodCargo <> 101) E (CodCargo <> 102) E (CodCargo <> 103)) ENTAO Reajuste <- 40 SalarioNovo <- SalarioAtual * 1.4; // acrescenta 40% FIMSE Escreval("O novo salário é: ", SalarioNovo) Escreval(Reajuste,"% de aumento") Escreval("Houve um aumento de: ", SalarioNovo - SalarioAtual) Fimalgoritmo
Exercícios
1 – Um banco concederá um crédito especial aos seus clientes de acordo com o saldo médio no último ano. Faça um
algoritmo que leia o saldo médio de um cliente e calcule o valor do crédito de acordo com a tabela abaixo. Mostre
uma mensagem informando o saldo médio e o valor do crédito.
Saldo | médio Percentual |
de 0 a 2000 | nenhum crédito |
de 2001 a 4000 | 20% do valor do saldo médio |
de 4001 a 6000 | 30% do valor do saldo médio |
acima de 6001 | 40% do valor do saldo médio |
2 – O cardápio de uma lanchonete é o seguinte:
Especificação | Preço | unitário |
100 | Cachorro quente | 7,90 |
101 | Bauru simples | 4,90 |
102 | Bauru c/ovo | 6,50 |
103 | Hamburger | 9,90 |
104 | Cheeseburger | 10,90 |
105 | Refrigerante | 3,60 |
Escrever um programa de computador que leia o código do item pedido, a quantidade e calcule o valor a ser pago por aquele lanche. Caso seja digitado um código que não existe, envie a mensagem “Item não encontrado no cardápio”.
3. Crie um programa que leia 3 valores inteiros e verifique se eles podem formar um triângulo. Se for possível formar um triangulo, escreva uma mensagem informando se é um triângulo equilátero, isósceles ou escaleno.
Observações:
a) O comprimento de um lado do triângulo é sempre menor do que a soma dos outros dois.
b) Equilátero; Todos lados iguais
c) Isósceles; Dois lados iguais
d) Escaleno; Todos os lados diferentes
Bons estudos!
Exemplos Visualg para praticar
Se você quer mais exemplos, acesse este outro artigo – Exemplos para praticar no VisuAlg, nele você encontrará exemplos resolvidos e terá acesso a exercícios compartilhados na minha conta do OneDrive. Bons estudos.