Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de...

41
Aula 7: Estrutura de Decis˜ ao Fernanda Passos Universidade Federal Fluminense Programac¸˜ ao de Computadores IV Fernanda Passos (UFF) Estrutura de Decis˜ ao Programa¸ ao de Computadores IV 1 / 27

Transcript of Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de...

Page 1: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Aula 7: Estrutura de Decisao

Fernanda Passos

Universidade Federal Fluminense

Programacao de Computadores IV

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 1 / 27

Page 2: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 2 / 27

Page 3: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 3 / 27

Page 4: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Aula Anterior:

Entrada de dados para o programa.I E para o pseudocodigo.I Simulando um programa.

Leitura de dados.I comando leia.

Escrita de dados.I comando escreva.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 4 / 27

Page 5: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Foco da Aula de Hoje

Estrutura de controle de decisao:Apresentacao da interpretacao de um comando de decisao.Estrutura do comando de decisao em pseudocodigo.

ObjetivoDefinir a sintaxe do comando de decisao em pseudo codigo.Aprender a usar a estrutura de controle.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 5 / 27

Page 6: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 6 / 27

Page 7: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Estrutura de Decisao

Tambem chamada de estrutura de selecao ou estrutura condicional.E utilizada quando uma sequencia de passos depende de alguma decisao.Serve para representar argumentos do tipo:

I se uma determinada condicao for verdadeira, faco um determinada sequencia de passos; ouI se uma determinada condicao for verdadeira, faco um determinada sequencia de passos; caso

contrario, faco outra sequencia de passos.Esta sequencia de passos chamamos de bloco.

I E um conjunto de passos que so sera executado se a condicao for atendida.A decisao condicional e logica: verdadeira ou falsa.Podemos ter uma estrutura de um ramo ou de dois ramos.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 7 / 27

Page 8: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 8 / 27

Page 9: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Estrutura de Decisao de Um Ramo

Verifica a condição

Executa sequênciade passos

Executa passosapós condição

verdadeira

falsa

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 9 / 27

Page 10: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Sintaxe da Estrutura de Decisao de Um Ramo

Sintaxe:se <expressao logica> entao

<bloco de passos>;fim

se, entao e fim sao palavras reservadas.Expressao logica e sintaticamente obrigatoria e segue as regras ja vistas.Bloco de passos e obrigatorio.

I Passos a serem executados caso a expressao logica retorne verdadeiro.I Em caso falso, seguem-se os passos apos fim.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 10 / 27

Page 11: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Um Ramo

Deseja-se obter dois numeros, n1 e n2, e escrever se n1 e igual a n2.

Algoritmo 1: Exemplo de uma decisao de um ramo.1 inıcio2 real: N1, N2;

3 leia N1, N2;4 se N1 = N2 entao5 escreva N1, “e igual a”, N2;6 fim7 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 11 / 27

Page 12: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Um Ramo

Deseja-se obter dois numeros, n1 e n2, e escrever se n1 e igual a n2.

Algoritmo 1: Exemplo de uma decisao de um ramo.1 inıcio2 real: N1, N2;

3 leia N1, N2;4 se N1 = N2 entao5 escreva N1, “e igual a”, N2;6 fim7 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 11 / 27

Page 13: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Um Ramo (II)

Deseja-se obter dois numeros e escreve-los caso ambos sejam maior que 10.

Algoritmo 2: Outro exemplo de uma decisao de um ramo.1 inıcio2 real: N1, N2;

3 leia N1, N2;4 se N1 > 10 e N1 > 10 entao5 escreva N1, N2;6 fim7 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 12 / 27

Page 14: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Um Ramo (II)

Deseja-se obter dois numeros e escreve-los caso ambos sejam maior que 10.

Algoritmo 2: Outro exemplo de uma decisao de um ramo.1 inıcio2 real: N1, N2;

3 leia N1, N2;4 se N1 > 10 e N1 > 10 entao5 escreva N1, N2;6 fim7 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 12 / 27

Page 15: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 13 / 27

Page 16: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Estrutura de Decisao de Dois Ramos

Verifica a condição

Executa passosapós condição

verdadeira falsa

Executa sequênciaalternativa de passos

Executa sequênciade passos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 14 / 27

Page 17: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Sintaxe da Estrutura de Decisao de Dois Ramos

Sintaxe:se <expressao logica> entao

<bloco de passos>;senao

<bloco alternativo de passos>;fim

se, entao, senao e fim sao palavras reservadas.Primeiro bloco de passos e obrigatorio.

I Passos a serem executados caso a expressao logica retorne verdadeiro.Segundo bloco (alternativo) e opcional, tornando-se uma estrutura de decisao de um ramo.

I Passos a serem executados caso a expressao logica retorne falso.I Representa os passos para o “caso contrario”.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 15 / 27

Page 18: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Dois Ramos

Deseja-se obter um numero e escrever se ele e maior ou igual a 10 ou se e menor que 10.

Algoritmo 3: Exemplo de uma decisao de dois ramos.1 inıcio2 real: N;

3 leia N;4 se N >= 10 entao5 escreva N, “e maior ou igual a 10”;6 senao7 escreva N, “e menor que 10”;8 fim9 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 16 / 27

Page 19: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Dois Ramos

Deseja-se obter um numero e escrever se ele e maior ou igual a 10 ou se e menor que 10.

Algoritmo 3: Exemplo de uma decisao de dois ramos.1 inıcio2 real: N;

3 leia N;4 se N >= 10 entao5 escreva N, “e maior ou igual a 10”;6 senao7 escreva N, “e menor que 10”;8 fim9 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 16 / 27

Page 20: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Dois Ramos (II)Deseja-se obter dois numeros e escrever o resultado da divisao entre eles.

I Lembrar que o numero do denominador deve ser diferente de 0.

Algoritmo 4: Outro exemplo de uma decisao de dois ramos.1 inıcio2 real: N1, N2, resultado;

3 leia N1, N2;4 se N2 != 0 entao5 resultado ← N1/N2;6 escreva “O resultado da divisao e:”, resultado;7 senao8 escreva “Denominador e 0.“;9 escreva “Nao e possıvel calcular a divisao.”;

10 fim11 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 17 / 27

Page 21: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Dois Ramos (II)Deseja-se obter dois numeros e escrever o resultado da divisao entre eles.

I Lembrar que o numero do denominador deve ser diferente de 0.

Algoritmo 4: Outro exemplo de uma decisao de dois ramos.1 inıcio2 real: N1, N2, resultado;

3 leia N1, N2;4 se N2 != 0 entao5 resultado ← N1/N2;6 escreva “O resultado da divisao e:”, resultado;7 senao8 escreva “Denominador e 0.“;9 escreva “Nao e possıvel calcular a divisao.”;

10 fim11 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 17 / 27

Page 22: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo de Estrutura de Decisao de Dois Ramos (II)Deseja-se obter dois numeros e escrever o resultado da divisao entre eles.

I Lembrar que o numero do denominador deve ser diferente de 0.

Algoritmo 4: Outro exemplo de uma decisao de dois ramos.1 inıcio2 real: N1, N2, resultado;

3 leia N1, N2;4 se N2 != 0 entao5 resultado ← N1/N2;6 escreva “O resultado da divisao e:”, resultado;7 senao8 escreva “Denominador e 0.“;9 escreva “Nao e possıvel calcular a divisao.”;

10 fim11 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 17 / 27

Page 23: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Agenda

1 Revisao e Contexto

2 Estrutura de Decisao

3 Estrutura de Decisao de Um Ramo

4 Estrutura de Decisao de Dois Ramos

5 Aninhamento de Blocos

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 18 / 27

Page 24: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Aninhamento de Estruturas de Controle

Dentro de cada bloco de passos de uma estrutura de controle,podemos ter qualquer tipo de passo.

I Inclusive uma nova estrutura de decisao.Quando inserimos novas estruturas de controle dentro de outraestrutura de controle, temos um aninhamento de blocos.

I Temos nıveis de aninhamento diferentes.I Blocos internos e externos.

Nív

el 1

Nív

el 2

Nív

el 3

Nív

el 4

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 19 / 27

Page 25: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Aninhamento de Estruturas de Controle de Decisao1 se <condicao 1> entao2 se <condicao 2> entao3 se <condicao 3> entao4 <bloco 3>5 senao6 <bloco 4>7 fim8 senao9 se <condicao 5> entao

10 <bloco 5>11 fim12 fim13 senao14 se <condicao 6> entao15 <bloco 6>16 senao17 <bloco 7>18 fim19 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 20 / 27

Page 26: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Aninhamento de Estruturas de Controle de Decisao (II)

Para fazer um aninhamento corretamente.I Deve-se colocar a estrutura aninhada completamente dentro do bloco da estrutura de nıvel

imediatamente acima.I O estrutura aninhada pode estar dentro do bloco se entao ou senao.I Checar o fim:

F todo se entao ou se entao senao devem apresentar um fim.Dicas:

I utilizar a identacao (espaco para a margem da esquerda);I utilizar uma linha que vai do inıcio ate o fim de um bloco.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 21 / 27

Page 27: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 1: Aninhamento de Estrutura de Decisao

Fazer um algoritmo que leia tres valores inteiros, determine e imprima o menor deles.

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 escreva menor;5 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 22 / 27

Page 28: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 1: Aninhamento de Estrutura de Decisao

Fazer um algoritmo que leia tres valores inteiros, determine e imprima o menor deles.

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 Determinar o menor valor entre a, b e c;5 escreva menor;6 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 22 / 27

Page 29: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 1: Aninhamento de Estrutura de Decisao

Fazer um algoritmo que leia tres valores inteiros, determine e imprima o menor deles.

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 se a < b e a < c entao5 menor ← a;6 senao7 Determinar o menor valor entre b e c;8 fim9 escreva menor;

10 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 22 / 27

Page 30: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 1: Aninhamento de Estrutura de Decisao

Fazer um algoritmo que leia tres valores inteiros, determine e imprima o menor deles.

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 se a < b e a < c entao5 menor ← a;6 senao7 se b < c entao8 menor ← b;9 senao

10 menor ← c;11 fim12 fim13 escreva menor;14 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 22 / 27

Page 31: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 1: Aninhamento de Estrutura de Decisao

Fazer um algoritmo que leia tres valores inteiros, determine e imprima o menor deles.

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 se a < b e a < c entao5 menor ← a;6 senao7 se b < c entao8 menor ← b;9 senao

10 menor ← c;11 fim12 fim13 escreva menor;14 fim

1 inıcio2 inteiro: a, b, c, menor;

3 leia a, b, c;4 menor ← a;5 se b < menor entao6 menor ← b;7 se c < menor entao8 menor ← c;9 fim

10 fim11 escreva menor;12 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 22 / 27

Page 32: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 2: Aninhamento de Estrutura de Decisao

Dados tres valores inteiros X, Y, Z, verificar se eles podem ser os comprimentos dos ladosde um triangulo e, se forem, verificar se e um triangulo equilatero, isosceles ou escaleno. Seeles nao formarem um triangulo, escrever uma mensagem.

I Sabe-se que o comprimento de cada lado de um triangulo e menor do que a soma doscomprimentos dos outros dois lados.

Solucao:I Entrada: X, Y e Z (inteiros).I Saıda: mensagem indicando se triangulo e equilatero, isosceles, escaleno ou inexistente.I Acoes:

1 ler a entrada;2 verificar se o comprimento de cada lado do triangulo e menor que a soma dos comprimentos dos

outros dois lados;3 Se for, verificar se e equilatero, isosceles ou escaleno;4 Caso contrario, indicar que o triangulo e inexistente.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 23 / 27

Page 33: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 2: Aninhamento de Estrutura de Decisao

Dados tres valores inteiros X, Y, Z, verificar se eles podem ser os comprimentos dos ladosde um triangulo e, se forem, verificar se e um triangulo equilatero, isosceles ou escaleno. Seeles nao formarem um triangulo, escrever uma mensagem.

I Sabe-se que o comprimento de cada lado de um triangulo e menor do que a soma doscomprimentos dos outros dois lados.

Solucao:I Entrada: X, Y e Z (inteiros).I Saıda: mensagem indicando se triangulo e equilatero, isosceles, escaleno ou inexistente.I Acoes:

1 ler a entrada;2 verificar se o comprimento de cada lado do triangulo e menor que a soma dos comprimentos dos

outros dois lados;3 Se for, verificar se e equilatero, isosceles ou escaleno;4 Caso contrario, indicar que o triangulo e inexistente.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 23 / 27

Page 34: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 2: Aninhamento de Estrutura de Decisao (II)

1 inıcio2 inteiro: X, Y, Z;

3 leia X, Y, Z;4 se (X < Y + Z ) e (Y < X + Z ) e (Z < X + Y ) entao5 Verificar o tipo de triangulo;6 senao7 escreva “O triangulo nao existe!”;8 fim9 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 24 / 27

Page 35: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 2: Aninhamento de Estrutura de Decisao (II)

1 inıcio2 inteiro: X, Y, Z;

3 leia X, Y, Z;4 se (X < Y + Z ) e (Y < X + Z ) e (Z < X + Y ) entao5 se (X = Y ) e (X = Z ) entao6 escreva “Triangulo equilatero.”;7 senao8 Verificar se o triangulo e escaleno ou isosceles;9 fim

10 senao11 escreva “O triangulo nao existe!”;12 fim13 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 24 / 27

Page 36: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 2: Aninhamento de Estrutura de Decisao (II)

1 inıcio2 inteiro: X, Y, Z;

3 leia X, Y, Z;4 se (X < Y + Z ) e (Y < X + Z ) e (Z < X + Y ) entao5 se (X = Y ) e (X = Z ) entao6 escreva “Triangulo equilatero.”;7 senao8 se (X 6= Y ) e (X 6= Z ) e (Y 6= Z ) entao9 escreva “Triangulo escaleno.”;

10 senao11 escreva “Triangulo isosceles.”;12 fim13 fim14 senao15 escreva “O triangulo nao existe!”;16 fim17 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 24 / 27

Page 37: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 3: Aninhamento de Estrutura de Decisao

Dados tres valores inteiros, coloca-los em ordem crescente.

Solucao:I Entrada: tres valores inteiros.I Saıda: os tres valores na ordem crescente.I Ideia:

F 3 variaveis, A, B e C.F A devera possuir o menor valor;F B devera possuir o segundo menor valor; eF C devera possuir o maior valor.F Vamos, entao, realizar trocas entre os valores das variaveis.

I Acoes:1 ler os tres valores em A, B e C;2 Verificar, entre os tres, qual o menor valor e coloca-lo em A, se necessario;3 Entre os dois restantes, verificar qual o menor e troca-los, se necessario.4 Escrever os valores na ordem A, B e C.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 25 / 27

Page 38: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 3: Aninhamento de Estrutura de Decisao

Dados tres valores inteiros, coloca-los em ordem crescente.Solucao:

I Entrada: tres valores inteiros.I Saıda: os tres valores na ordem crescente.I Ideia:

F 3 variaveis, A, B e C.F A devera possuir o menor valor;F B devera possuir o segundo menor valor; eF C devera possuir o maior valor.F Vamos, entao, realizar trocas entre os valores das variaveis.

I Acoes:1 ler os tres valores em A, B e C;2 Verificar, entre os tres, qual o menor valor e coloca-lo em A, se necessario;3 Entre os dois restantes, verificar qual o menor e troca-los, se necessario.4 Escrever os valores na ordem A, B e C.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 25 / 27

Page 39: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 3: Aninhamento de Estrutura de Decisao (II)

1 inıcio2 inteiro: A, B, C;

3 leia A, B, C;4 se C < A ou C < B entao5 se B < C entao6 troca A e B;7 senao8 troca A e C;9 fim

10 fim

11 se C < B entao12 troca B e C;13 fim14 escreva A, B, C;15 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 26 / 27

Page 40: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exemplo 3: Aninhamento de Estrutura de Decisao (II)

1 inıcio2 inteiro: A, B, C, auxiliar;

3 leia A, B, C;4 se C < A ou C < B entao5 se B < C entao6 auxiliar ← A;7 A ← B;8 B ← auxiliar;9 senao

10 auxiliar ← A;11 A ← C;12 C ← auxiliar;13 fim14 fim

15 se C < B entao16 auxiliar ← B;17 B ← C;18 C ← auxiliar;19 fim20 escreva A, B, C;21 fim

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 26 / 27

Page 41: Aula 7: Estrutura de Decisãofernanda/2016-1/progIV/aulas/aula07.pdf · 2016-05-17 · Exemplo de Estrutura de Decis˜ao de Dois Ramos (II) Deseja-se obter dois n´umeros e escrever

Exercıcios

1 Elabore um algoritmo que le um string que representa uma senha, verifica se a senha estacorreta ou nao, informando “Acesso autorizado” ou “Acesso negado”, conforme o caso.

2 Escreva um algoritmo em pseudocodigo que escreva se um numero e divisıvel pelo outro.3 Escreva um algoritmo que leia um valor e verifique se ele encontra-se no intervalo (5, 20].4 Escreva um algoritmo em pseudocodigo que indique o maior valor entre 3 numeros e o

escreva.5 Faca um algoritmo que leia tres notas de um aluno e calcule a media final deste aluno. Se

a nota obtida for maior ou igual a 6,0, indique que o aluno foi aprovado; se estiver nointervalo [4; 6, 0), VS e menor que 4 reprovado.

Fernanda Passos (UFF) Estrutura de Decisao Programacao de Computadores IV 27 / 27