aula02

22
Condicionais em Scilab Yuri Tavares dos Passos Joel Alves de Oliveira

Upload: yuri-passos

Post on 27-Jul-2015

148 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Aula02

Condicionais em Scilab

Yuri Tavares dos PassosJoel Alves de Oliveira

Page 2: Aula02

Comandos de seleção

● Como visto anteriormente, são utilizados para tomadas de decisões;

● Desvia o fluxo do programa para uma determinada seqüência de comandos;

● Conforme a análise de uma expressão lógica o fluxo do programa é alterado ou não;

● Podem ser Simples ou Composto;

Page 3: Aula02

Comandos de seleção

● Utilizamos dois comandos para esta finalidade:– if

– select case

Page 4: Aula02

Comando IF lógico (1 Via)

● O comando “IF” para vários comandos é estruturado da seguinte forma:

if <expressão-lógica> then

<comandos>

end

● Caso a expressão lógica (<expressão-lógica>) seja verdade, os <comandos> são executados pelo programa;

● Caso a expressão lógica (<expressão-lógica>) seja falsa, os <comandos> não serão executados pelo programa. O fluxo de execução passará para o comando após o end;

● Os <comandos> podem ser uma ou mais instruções.

Page 5: Aula02

Exemplo

Page 6: Aula02

Exemplo

Page 7: Aula02

Comando IF (2 Vias)

● Neste caso, o comando “IF” é utilizado juntamente com o comando “ELSE”

if <expressão-lógica> then

 <seqüência-de-comandos-1>

else

 <seqüência-de-comandos-2>

end

● Caso a expressão lógica (<expressão-lógica>) seja verdade, a <seqüência-de-comandos-1> é executada pelo programa

● Caso a expressão lógica (<expressão-lógica>) seja falsa, a <seqüência-de-comandos-2> é executada pelo programa

Page 8: Aula02

Exemplo

Page 9: Aula02

Comando IF Expandido

● É utilizado quando várias condições poderão ser testadas.

● No máximo, apenas uma seqüência de comando é executada.

● A sequência que será executada é a primeira que retorna um valor verdadeiro.

Page 10: Aula02

Comando IF Expandido

● Os testes das expressões começam do primeiro.

● Caso a primeira expressão seja falsa, testa a segunda, caso esta seja falsa, testa a terceira, e assim por diante.

● Se nenhuma for verdadeira, o comando no bloco “else” será executado, caso este bloco exista, pois ele é opcicional

Page 11: Aula02

Comando IF Expandido

● Sua sintaxe é:

if <expressão-lógica-1> then

 <seqüência-de-comandos-1>

elseif <expressão-lógica-2> then

 <seqüência-de-comandos-2>

elseif <expressão-lógica-3> then

 <seqüência-de-comandos-3>

. . .

[else

  <seqüência-de-comandos-N> ]

end

Page 12: Aula02

Exemplo

Page 13: Aula02

Comando Select Case

● É útil quando o valor analisado na expressão lógica possuir diversos valores.

● Similar ao comando “ESCOLHA” do Portugol.

Page 14: Aula02

Comando Select Case

● A sintaxe é:

select (<expressão>)

case (<expressão_de_seleção_1>) then

<seqüência-de-comandos-1>

case (<expressão_de_seleção_2>) then

<seqüência-de-comandos-2>

...

[else

<seqüência-de-comandos-N>]

end

Page 15: Aula02

Comando Select Case

● A avaliação é feita sequencialmente. Quando o valor da expressão (<expressão>) coincidir com um dos valores da lista de seleção(<expressão_de_selecao?>), a seqüência de comandos daquele caso (Case) será executada.

● O comando else é opcional.

Page 16: Aula02

Exemplo

Page 17: Aula02

Exemplo (continuação)

Page 18: Aula02

Aviso sobre blocos de Scilab● Aviso: o número de caracteres utilizados

para definir o corpo de qualquer instrução condicional (if while for or select/case) deve ser limitado a 16000.

Page 19: Aula02

Exercícios

● Utilizando o comando IF:– Faça um programa para ler um número inteiro e informar se

o número é par ou ímpar. Utilize a função modulo(x,y)

– Faça um programa para ler as três notas de uma aluno e imprima se o mesmo foi aprovado ou reprovado. Adote a média aritmética e média para aprovação maior ou igual 7,0.

– Faça um programa para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo e qual tipo de triângulo seria: Equilátero, Isóscele ou Escaleno

Page 20: Aula02

Exercícios

● Utilizando o comando IF:– Faça um programa que leia o número de eleitores

de um município, o número de votos brancos, nulos e válidos. Calcule o percentual que cada um representa em relação ao total de eleitores. Ao final, o programa deve:

● Imprimir o percentual de votos branco, nulos e válidos● Se a soma de votos nulos mais votos brancos for maior

que votos válidos, informar que a eleição foi cancelada

Page 21: Aula02

Exercícios

● Utilizando o comando Select Case:– Faça um programa para ler valores inteiros em duas variáveis

distintas e:● Se o resto da divisão da primeira pela segunda for 1 mostre a soma

dessas variáveis mais o resto da divisão; ● Se o resto da divisão da primeira pela segunda for 2 escreva se os

valores lidos são pares ou ímpares● Se o resto da divisão da primeira pela segunda for igual a 3,

multiplique a soma dos valores lidos pelo primeiro; ● Se o resto da divisão da primeira pela segunda for igual a 4, divida a

soma dos números lidos pelo segundo;● Em qualquer outra situação mostre o quadrado dos números lidos.

Page 22: Aula02

Exercícios

● Utilizando o comando Select Case:– Faça um algoritmo que receba a idade de um nadador e

mostre a sua categoria usando as regras a seguir:● Fraldinha: até 4 anos● Dentinho: 5 anos● Infantil: de 6 a 7 anos● Juvenil: de 8 a 12 anos● Adolescente: de 13 a 17 anos● Adulto: de 18 a 30 anos● Sênior: acima de 30