Vous êtes sur la page 1sur 23

Estrutura de Deciso

Klaus Lpez Boeing

Agenda

Comandos de Deciso
SE ENTO SE ENTO SENO CASO SELECIONE

Estrutura de Deciso
Na maioria das vezes necessitamos tomar decises no andamento do algoritmo.
Essas decises interferem diretamente no andamento do programa.

Comandos de Deciso
Os comandos de deciso ou desvio fazem parte das tcnicas de programao que conduzem a estruturas de programas que no so totalmente sequenciais.

Com as instrues de SALTO ou DESVIO pode-se fazer com que o programa proceda de uma ou outra maneira, de acordo com as decises lgicas tomadas em funo dos dados ou resultados anteriores.

As principais estruturas de deciso so:

Se Ento Se Ento Seno Caso Selecione

SE ENTO

A estrutura de deciso SE normalmente vem acompanhada de um comando, ou seja, se determinada condio for satisfeita pelo comando SE ento execute determinado comando.

Imagine um algoritmo que determinado aluno somente estar aprovado se sua mdia for maior ou igual a 5.0, veja no exemplo de algoritmo como ficaria.

SE MEDIA >= 5.0 ENTO ALUNO APROVADO

Em diagrama de blocos ficaria assim:

Em Portugol se media >= 5 ento mensagem <- "APROVADO" fim Se

Em Ruby if media >= 5 mensagem = "APROVADO" end

Em Python
if media >= 5: mensagem = "APROVADO"

Em Java
if (media >= 5){ mensagem = "APROVADO"; }

SE ENTO SENO

A estrutura de deciso SE /ENTO /SENO, funciona exatamente como a estrutura SE, com apenas uma diferena:

Em SE somente podemos executar comandos caso a condio seja verdadeira, diferente de SE/SENO pois sempre um comando ser executado independente da condio.

Caso a condio seja verdadeira o comando da condio ser executado, caso contrrio o comando da condio falsa ser executado. Em algoritmo ficaria assim:
SE MDIA >= 5.0 ENTO ALUNO APROVADO SENO ALUNO REPROVADO

Em diagrama de blocos ficaria assim:

No exemplo anterior est sendo executada uma condio que, se for verdadeira, executa o comando APROVADO, caso contrrio executa o segundo comando REPROVADO.

Podemos tambm dentro de uma mesma condio testar outras condies. Como no exemplo abaixo:

Em Portugol se media >= 5 ento se media >= 7 ento mensagem <- "APROVADO" seno mensagem <- "FAZER OUTRA AVALIAO" fimSe seno mensagem <- "REPROVADO"; fimSe

Em Ruby

if media >= 5
if media >= 7 mensagem = "APROVADO" else mensagem = "FAZER OUTRA AVALIAO"

end
else mensagem = "REPROVADO" end Em Python if media >= 5: if media >= 7: mensagem = "APROVADO" else: mensagem = "FAZER OUTRA AVALIAO" else: mensagem = "REPROVADO"

Em Java if (media >= 5){ if (media >= 7){ mensagem = "APROVADO"; }else{ mensagem = "FAZER OUTRA AVALIAO"; } }else{ mensagem = "REPROVADO"; }

CASO SELECIONE

Quando houver a necessidade de se construir um programa, e neste seja necessrio utilizar uma sequncia grande de instrues do tipo SE, sejam estas, uma aps a outra ou mesmo encadeadas, poder ser simplificada com a utilizao da instruo CASO SELECIONE.

Em Portugol

escolhe opcao caso 1 mensagem = "Opo 1" caso 2

mensagem = "Opo 2"


caso 3 mensagem = "Opo 3" caso 4

mensagem = "Opo 4"


defeito : mensagem = "Opo invlida" fimEscolhe

Em Ruby case $opcao when 1 mensagem = "Opo 1" when 2 mensagem = "Opo 2"

Em Python

Em Java
switch (opcao) { case 1: mensagem = "Opo 1"; break; case 2: mensagem = "Opo 2"; break; case 3: mensagem = "Opo 3"; break; case 4: mensagem = "Opo 4"; break; default: mensagem = "Opo invlida"; }

when 3
mensagem = "Opo 3" when 4 mensagem = "Opo 4" else mensagem = "Opo Invlida" end

if opcao == 1: mensagem = "Opo 1" elif opcao == 2: mensagem = "Opo 2" elif opcao == 3: mensagem = "Opo 3" elif opcao == 4: mensagem = "Opo 4" else: mensagem = "Opo invlida"

Vous aimerez peut-être aussi