Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIJUÍ – Universidade Regional do Noroeste do Estado do Rio Grande do Sul EGE – Engenharia Elétrica DCEEng – Departamento de Ciências Exatas e Engenharias Desvio Condicional Professor: Mauro F. Rodrigues Organização: Prof. Maurício de Campos Aula II Desvio Condicional • Muitas vezes, um programa deverá “optar” por um processamento mais adequado para um determinado valor. • A essa “opção” dá -se o nome de Desvio Condicional. Desvio Condicional • O funcionamento do DESVIO CONDICIONAL é similar a uma encruzilhada. • Nesse caso, você deve analisar e decidir por qual caminho seguir. • Isso é o Desvio Condicional de um algoritmo. Desvio Condicional • Estrutura básica do desvio condicional: se (<condição>) entao <instruções para a condição verdadeira> senao <instruções para a condição falsa> fimse Operadores Relacionais • A tomada de decisões implica na utilização de condições para verificar o estado de uma determinada variável quanto verdadeiro ou falso. • Essas verificações são efetuadas com a utilização dos chamados operadores relacionais. Desvio Condicional Simples • Supondo um programa que calcule a média de um aluno. • Mas além de calcular a média, o programa deve informar se o mesmo foi aprovado ou reprovado, segundo análise de sua média. • Para solucionar esse problema, será utilizada a instrução: se (<condição>) entao <instruções para a condição verdadeira> fimse • Esta tem por finalidade tomar uma decisão. • Sendo a condição verdadeira, serão executadas todas as instruções que se encontram entre a instrução se...entao e a instrução fimse. • Sendo a condição falsa, serão executadas somente as instruções que estão após o comando fimse. Diagrama de blocos Condição Instruções executadas quando condição é verdadeira Instruções executadas para todos os casos SN Exemplo 2.1 � Criar um programa que efetue a leitura de dois valores numéricos. Faça a operação de soma entre os dois valores e apresente o resultado somente se este for maior que 10. � Algoritmo Genérico: � 1. Obter dois valores, no caso variáveis A e B; � 2. Efetuar a soma das variáveis A e B, implicando o seu resultado na variável X; � 3. Verificar se o valor da variável X é maior que 10 e apresentá-lo. Exemplo 2.1 algoritmo "somanumeros" var X, A, B: inteiro inicio escreva("Qual o valor de A? ") leia (A) escreva("Qual o valor de B? ") leia (B) X <-A+B se (x>10) entao escreva(“X= ", X) fimse fimalgoritmo Qual o valor de A? A Qual o valor de B? B X�A+B Início Fim Se X>10 X SN Desvio Condicional Composto se (<condição>) entao <instruções para a condição verdadeira> senao <instruções para a condição falsa> fimse • Caracterizado pela instrução se...entao...senao...fimse, onde, sendo a condição verdadeira, serão executadas as instruções posicionadas entre o se...entao e a instrução senao. Sendo a condição falsa, serão executadas as instruções entre o senao e o comando fimse. Diagrama de blocos Condição Instruções executadas quando condição é verdadeira Instruções executadas para todos os casos SN Instruções executadas quando condição é falsa Exemplo 2.2 � Criar um programa que efetue a leitura de dois valores numéricos. Faça a operação de soma entre os dois valores caso o resultado seja maior ou igual a 10 deverá ser somado mais 5 caso contrário deverá ser subtraído 7. � Algoritmo Genérico: � 1. Obter dois valores, no caso variáveis A e B; � 2. Efetuar a soma das variáveis A e B, implicando o seu resultado na variável X; � 3. Verificar se o valor da variável X é maior ou igual a 10 se sim somar mais 5 se não subtrair 7. � 4. apresentar o novo valor. Exemplo 2.2 algoritmo "somanumeros2" var X, A, B: inteiro inicio escreva("Qual o valor de A? ") leia (A) escreva("Qual o valor de B? ") leia (B) X <-A+B se (x>=10) entao X<-X+5 senao X<-X-7 fimse escreva(" X= ", X) fimalgoritmo Qual o valor de A? A Qual o valor de B? B X�A+B Início Fim Se X>=10 X N X<-X-7 X<-X+5 S Exercício 1 • Efetuar a leitura de três valores, que representam os coeficientes de um polinômio de segundo grau (Ax2+bx+c=0), e calcular suas raízes quando isso for possível. Exercício 1 Desvios Condicionais Encadeados • Existem casos em que é preciso se estabelecer verificações sucessivas para condições determinadas. • Ou seja, uma ação executada devido à satisfação de uma condição poderá estabelecer novas condições. • Esse tipo de estrutura pode possuir diversos níveis de condições, sendo chamadas de aninhamento ou encadeamento. se (<condição>) entao <instruções para a condição verdadeira> senao se (<condição>) entao <instruções para a condição verdadeira> senao <instruções para a condição falsa> fimse fimse Desvios Condicionais Encadeados Diagrama de blocos Exemplo 2.3 Elaborar um programa que efetue o cálculo do reajuste de salário de um funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu salário seja menor que R$ 500,00, se o seu salário for de R$ 500,00 mas menor ou igual a R$ 1.000,00, seu reajuste será de 10% e caso seja ainda maior que R$ 1.000,00, o reajuste deverá ser de 5%. Exemplo 2.3 algoritmo "reajustasalario" var NOVO_SALARIO, SALARIO: real inicio escreva("Qual o valor do salário atual? ") leia(SALARIO) se (SALARIO<500) entao NOVO_SALARIO<-SALARIO*1.15 senao se (SALARIO<=1000)entao NOVO_SALARIO<-SALARIO*1.10 senao NOVO_SALARIO<-SALARIO*1.05 fimse fimse escreva("O Valor do Novo Salário é: R$ ",NOVO_SALARIO) fimalgoritmo Exercício 2 • Efetuar a leitura de três valores A, B, C e apresentá-los em ordem crescente. Exercício 2 Comando de Seleção Múltipla escolha <expressão-de-seleção> caso <exp11>, <exp12>, ..., <exp1n> <seqüência-de-comandos-1> caso <exp21>, <exp22>, ..., <exp2n> <seqüência-de-comandos-2> ... outrocaso <seqüência-de-comandos-extra> fimescolha Exemplo 2.4 algoritmo "times" var time : caracter inicio // Seção de Comandos escreva("Entre com o nome de um time de futebol:") leia(time) escolha time caso "Fluminense", "Flamengo", "Vasco", "Botafogo" escreva("É um time carioca.") caso "São Paulo", "Palmeiras", "Santos", "Corínthians" escreva("É um time paulista.") caso "Grêmio", "Internacional", "Juventude", "São Luiz" escreva("É um time gaúcho.") outrocaso escreva("É de outro estado.") fimescolha fimalgoritmo Operadores Lógicos • Utilizados quando é necessário trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo, na mesma instrução se. • Por vezes, o uso destes operadores evita a utilização de muitas instruções se encadeadas. Operador Lógico .e. –Utilizado quando dois ou mais relacionamentos lógicos de uma condição precisam ser verdadeiros. Operador Lógico .ou. –Utilizado quando pelo menos um dos relacionamentos lógicos de uma condição precisa ser verdadeiro. Operador Lógico .não. –Utilizado quando se precisa estabelecer que a condição dever ser não verdadeira. Operadores Lógicos no VisuAlg Exercício 3 • Escrever um programa que lê três valores correspondentes aos lados de um triângulo. Verificar se os valores realmente formam um triângulo. Se a condição for verdadeira, classificar o triângulo quanto ao tipo. Para que se possa construir um triângulo é necessário que a medida de qualquer um dos lados seja menor que a soma das medidas dos outros dois
Compartilhar