Desvio Condicional Motivação Muitas vezes é necessário desviar o fluxo dos programas Em determinadas condições fazemos uma tarefa Em outra condição devemos fazer outras tarefas Desvio Condicional Simples • Instrução se…entao…fimse • Sendo a condição verdadeira, serão executadas todas as instruções que estejam posicionadas entre o se…então e a instrução fimse. • Sendo a condição falsa, serão executadas instruções que estejam após o comando fimse. as Desvio Condicional Simples Fluxograma condição não sim Instruções executadas quando a condição for verdadeira Desvio Condicional Simples se ( < condição > ) então <instrucões> fimse Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ fimse /*instruções após o se*/ fim Exercício Ler dois valores numéricos, efetuar a adição e apresentar o seu resultado somente se o valor somado seja maior que 10. Desvio Condicional Composto • Instrução se…então…senão…fimse, • Sendo a condição verdadeira, executa as instruções posicionadas entre o se…então e a instrução senão. • Sendo a condição falsa, executa as instruções posicionadas entre o senão e a instrução fimse. Desvio Condicional Composto Fluxograma não Instruções executadas quando a condição for falsa condição sim Instruções executadas quando a condição for verdadeira Desvio Condicional Composto se ( < condição > ) então <instrucões1> senão <instruções2> fimse Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Algoritmo nome () Início /* instruções antes do se */ se ( condição ) então /*instrucões do se*/ senão /*instruções do senão*/ fimse /*instruções após o se*/ fim Exercício Ler dois valores numéricos e efetuar a adição Caso o valor somado seja maior ou igual a 10, deverá ser apresentado ao usuário o resultado da adição mais 5 Caso o valor somado não seja maior ou igual a 10, este deverá ser apresentado subtraindo 7 Exercício Ler duas notas de um aluno. O algoritmo deve calcular a média deste aluno. Caso a média seja maior do que 6 o algoritmo deve imprimir aprovado. Caso contrário deve imprimir reprovado Desvio Condicional ENCADEADO Existem casos em que é necessário estabelecer verificação de condições sucessivas uma determinada ação poderá ser executada se uma condição anterior for satisfeita Isto significa utilizar uma condição dentro de uma outra condição Desvio Condicional ENCADEADO Fluxograma não condição1 sim Instruções1 não Instruções3 condição2 sim Instruções2 Desvio Condicional ENCADEADO se ( < condição1 > ) então /*instruções1*/ senão se ( < condição2 > ) então /*instruções2*/ senão /*instruções3*/ fimse fimse Exercício Construir um algoritmo que leia 3 números e que os apresente em ordem crescente Exercício Ler duas notas de um aluno. O algoritmo deve calcular a média deste aluno. Caso a média seja maior do que 6 o algoritmo deve imprimir “aprovado”. Caso a nota esteja entre 4 e 6 o algoritmo deve imprimir “final”. Caso a média seja menor que 4 o algoritmo deve imprimir “reprovado”