SlideShare uma empresa Scribd logo
1 de 19
Estruturas de
Seleção
III Unidade – LTP – Prof. Tati
Uma estrutura de seleção permite a
escolha de um conjunto de ações e/o
 estruturas que serão executadas a
 partir do resultado de uma condição
(simples ou composta), representada
      por uma expressão lógica.
Tipos
Seleção Simples
   Se (if):

       se <condição> então
            inicio
              comando1
              comando2
              ...
              comandoN
            fim
Exemplo
algoritmo ExemploSe1
N:inteiro
Inicio
  leia n
  se n>0 então
      escreva (n, “ é positivo”)
Fim
   Se-senão:
        se <condição> então
               inicio
                 comando1
                 comando2
                 ...
                 comandoN
               fim
        senão
               inicio
                comando1
                 comando2
                 ...
                 comandoN
               fim
Exemplo
algoritmo ExemploSe1
N:inteiro
Inicio
  leia n
  se n>0 então
      escreva (n, “ é positivo”)
  senao
      escreva (n, “ não é positivo”)
Fim
Outros Exemplos
 Algoritmo que lê um número e
  determina se é par;
 Algoritmo que lê dois números e
  determina qual deles é o maior;
 Algoritmo que lê dois números e
  exiba-os em ordem crescente;
 Algoritmo que determine o grau de
  obesidade de uma pessoa (normal: <
  26/ obeso: >= 26 e < 30/ Obeso
  mórbido: >= 30)
Observação Importante:


   Tanto para a estrutura se quanto para
    a estrutura se-senão, se houver
    apenas um comando, não há
    necessidade das tags início e fim.
Exemplo com if´s aninhados
Determinar se um número é maior, menor ou igual a zero:
algoritmo MaiorMenorIgualZero
x: inteiro
Inicio
   leia (n)
   se n>0 então
        escreva (n, “ é maior do que zero”)
   senao
        se n<0 então
               escreva (n, “ é menor do que zero”)
        senao
               escreva (n, “ é igual a zero”)
Fim
Observação Importante

    No caso dos if-s aninhados o senão
     pertence ao último if. Se for preciso
     contornar esse fato é preciso fazer
     uso dos início e fim.
Seleção Múltipla


Utilizada quando se deseja executar um
 entre vários comandos dependendo
 do resultado de uma expressão.
Sintaxe:
Exemplo
Exemplo (no VisualG)
algoritmo "Times“
  var time: caractere
  inicio
  escreva ("Entre com o nome de um time de
  futebol: ")
  leia (time)
  escolha time
  caso "Flamengo", "Fluminense", "Vasco",
  "Botafogo"
    escreval ("É um time carioca.")
  caso "São Paulo", "Palmeiras", "Santos",
  "Corínthians"
    escreval ("É um time paulista.")
  outrocaso
    escreval ("É de outro estado.")
  fimescolha
  fimalgoritmo
Exemplo em Pascal
Exemplo (Calculadora Simples
em Pascal)
Atividades
1.   Qual a utilidade da estrutura de
     seleção?
2.   Escreva um algoritmo para ler três
     números inteiros e determinar qual o
     maior deles.
3.   Faça o algoritmo abaixo:
Estruturas de seleção

Mais conteúdo relacionado

Mais procurados

Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
guestd6da1cd
 

Mais procurados (20)

Aula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetiçãoAula 03 - Estruturas de repetição
Aula 03 - Estruturas de repetição
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Tabela verdade e desvio condicional
Tabela verdade e desvio condicionalTabela verdade e desvio condicional
Tabela verdade e desvio condicional
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de Repetição
 
Algoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla EscolhaAlgoritmos 01 - Semana 06 - Múltipla Escolha
Algoritmos 01 - Semana 06 - Múltipla Escolha
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Shell Script - Aula 04
Shell Script - Aula 04Shell Script - Aula 04
Shell Script - Aula 04
 
Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Java: Condicionais
Java: CondicionaisJava: Condicionais
Java: Condicionais
 
Tutorial #01 - Experimentando a Estatística
Tutorial #01 - Experimentando a EstatísticaTutorial #01 - Experimentando a Estatística
Tutorial #01 - Experimentando a Estatística
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Código Limpo Dual
Código Limpo DualCódigo Limpo Dual
Código Limpo Dual
 
Java: Estruturas de Repetição
Java: Estruturas de RepetiçãoJava: Estruturas de Repetição
Java: Estruturas de Repetição
 

Destaque

Destaque (9)

1ª rua do lazer
1ª rua do lazer1ª rua do lazer
1ª rua do lazer
 
Movimento estudantil
Movimento estudantilMovimento estudantil
Movimento estudantil
 
Leaflet ispa
Leaflet ispaLeaflet ispa
Leaflet ispa
 
10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience10 Insightful Quotes On Designing A Better Customer Experience
10 Insightful Quotes On Designing A Better Customer Experience
 
Learn BEM: CSS Naming Convention
Learn BEM: CSS Naming ConventionLearn BEM: CSS Naming Convention
Learn BEM: CSS Naming Convention
 
How to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media PlanHow to Build a Dynamic Social Media Plan
How to Build a Dynamic Social Media Plan
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika AldabaLightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
Lightning Talk #9: How UX and Data Storytelling Can Shape Policy by Mika Aldaba
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 

Semelhante a Estruturas de seleção

Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Thalles Anderson
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Thalles Anderson
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Thalles Anderson
 
Conceitos e técnicas de programação aula 4
Conceitos e técnicas de programação aula 4Conceitos e técnicas de programação aula 4
Conceitos e técnicas de programação aula 4
Robson Ferreira
 
Curso De Algoritmo Aula 5
Curso De Algoritmo   Aula 5Curso De Algoritmo   Aula 5
Curso De Algoritmo Aula 5
Felipe Santos
 

Semelhante a Estruturas de seleção (20)

Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 07 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Cap08
Cap08Cap08
Cap08
 
Cap08
Cap08Cap08
Cap08
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)
 
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 208   algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
08 algoritmo - eSTRUTURA DE REPETIÇÃO PARTE 2
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Aula04
Aula04Aula04
Aula04
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos - capítulo 4
Algoritmos - capítulo 4Algoritmos - capítulo 4
Algoritmos - capítulo 4
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
 
Conceitos e técnicas de programação aula 4
Conceitos e técnicas de programação aula 4Conceitos e técnicas de programação aula 4
Conceitos e técnicas de programação aula 4
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Curso De Algoritmo Aula 5
Curso De Algoritmo   Aula 5Curso De Algoritmo   Aula 5
Curso De Algoritmo Aula 5
 
Algop - aula 04 pascal 1
Algop - aula 04 pascal 1Algop - aula 04 pascal 1
Algop - aula 04 pascal 1
 
15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao
 
Logica de Programacao
Logica de ProgramacaoLogica de Programacao
Logica de Programacao
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 06 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 

Último

ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 

Último (20)

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...Aprender as diferentes formas de classificar as habilidades motoras é de extr...
Aprender as diferentes formas de classificar as habilidades motoras é de extr...
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 

Estruturas de seleção

  • 1. Estruturas de Seleção III Unidade – LTP – Prof. Tati
  • 2. Uma estrutura de seleção permite a escolha de um conjunto de ações e/o estruturas que serão executadas a partir do resultado de uma condição (simples ou composta), representada por uma expressão lógica.
  • 4. Seleção Simples  Se (if): se <condição> então inicio comando1 comando2 ... comandoN fim
  • 5. Exemplo algoritmo ExemploSe1 N:inteiro Inicio leia n se n>0 então escreva (n, “ é positivo”) Fim
  • 6. Se-senão: se <condição> então inicio comando1 comando2 ... comandoN fim senão inicio comando1 comando2 ... comandoN fim
  • 7. Exemplo algoritmo ExemploSe1 N:inteiro Inicio leia n se n>0 então escreva (n, “ é positivo”) senao escreva (n, “ não é positivo”) Fim
  • 8. Outros Exemplos  Algoritmo que lê um número e determina se é par;  Algoritmo que lê dois números e determina qual deles é o maior;  Algoritmo que lê dois números e exiba-os em ordem crescente;  Algoritmo que determine o grau de obesidade de uma pessoa (normal: < 26/ obeso: >= 26 e < 30/ Obeso mórbido: >= 30)
  • 9. Observação Importante:  Tanto para a estrutura se quanto para a estrutura se-senão, se houver apenas um comando, não há necessidade das tags início e fim.
  • 10. Exemplo com if´s aninhados Determinar se um número é maior, menor ou igual a zero: algoritmo MaiorMenorIgualZero x: inteiro Inicio leia (n) se n>0 então escreva (n, “ é maior do que zero”) senao se n<0 então escreva (n, “ é menor do que zero”) senao escreva (n, “ é igual a zero”) Fim
  • 11. Observação Importante  No caso dos if-s aninhados o senão pertence ao último if. Se for preciso contornar esse fato é preciso fazer uso dos início e fim.
  • 12. Seleção Múltipla Utilizada quando se deseja executar um entre vários comandos dependendo do resultado de uma expressão.
  • 15. Exemplo (no VisualG) algoritmo "Times“ var time: caractere inicio escreva ("Entre com o nome de um time de futebol: ") leia (time) escolha time caso "Flamengo", "Fluminense", "Vasco", "Botafogo" escreval ("É um time carioca.") caso "São Paulo", "Palmeiras", "Santos", "Corínthians" escreval ("É um time paulista.") outrocaso escreval ("É de outro estado.") fimescolha fimalgoritmo
  • 18. Atividades 1. Qual a utilidade da estrutura de seleção? 2. Escreva um algoritmo para ler três números inteiros e determinar qual o maior deles. 3. Faça o algoritmo abaixo: