SlideShare a Scribd company logo
1 of 31
Aula 10 – Comando de Decisão
Múltipla e Comando de Repetição
   Prof. André Constantino da Silva
           LOGT1 – Lógica
               Noturno


             18 de maio de 2012
Na aula anterior...

• Resultados dos operadores matemáticos

• Operadores
    - Relacionais
    - Lógicos


• Comando de Decisão Múltipla
Nesta aula...

• Comando de Decisão Múltipla
• Comandos de Repetição
Comando de Decisão Múltipla

Algumas situações
exigem a realização
de uma ação dentre
várias ações
possíveis, baseado
no valor de uma
variável (condição)

- Estutura escolha
Exemplo
Considere a seguinte classificação de
faixa etária de atletas:
                Categoria                Idade
     Infantil                  5 a 10 anos
     Juvenil                   11 a 15 anos
     Junior                    16 a 20 anos
     Profissional              21 a 25 anos
     Não classificado          Demais idades


Como seria um algortimo que leia a idade
do atleta e diga qual é a categoria deste
atleta?
Resposta
        Usando conhecimentos aprendidos
algoritmo "categorias de atletas"
var
  idade: inteiro
inicio
     leia(idade)
     se (idade >= 5) e (idade <= 10) entao
         escreva("Atleta é da categoria Infantil")
     senao
         se (idade >= 11) e (idade <= 15) entao
             escreva("Atleta é da categoria Juvenil")
         senao
             se (idade >= 16) e (idade <= 20) entao
                  escreva("Atleta é da categoria Junior")
             senao
                  se (idade >= 21) e (idade <= 25) entao
                       escreva("Atleta é da categoria Profissional")
                  senao
                       escreva("O atleta não pode ser classificado nas categorias")
                  fimse
             fimse
         fimse
     fimse
fimalgoritmo
Resposta – Usando Escolha
algoritmo "categorias de atletas"
var
  idade: inteiro
inicio
     leia(idade)
     escolha idade
           caso 5, 6, 7, 8, 9, 10
              escreva("Atleta é da categoria Infantil")
           caso 11, 12, 13, 14, 15
              escreva("Atleta é da categoria Juvenil")
           caso 16, 17, 18, 19, 20
              escreva("Atleta é da categoria Junior")
           caso 21, 22, 23, 24, 25
              escreva("Atleta é da categoria Profissional")
           outrocaso
              escreva("O atleta não pode ser classificado nas categorias")
     fimescolha
fimalgoritmo
Estrutura do Escolha

escolha <expressão-de-seleção>
    caso <valor1a>, <valor2a>, ..., <valorna>
        <comandos-a>
    caso <valor1b>, <valor2b>, ..., <valornb>
        <comandos-b>
    caso <valor1c>, <valor2c>, ..., <valornb>
        <comandos-c>
    ...
    outrocaso
        < comandos-x>
fimescolha
Exercício
Vamos classificar os alunos conforme a
frequência na matéria Considerando que a
frequência seja um número inteiro de 0 a
10.
               Categoria           Frequência
     Assíduo                            10
     Boa frequência                    8 ou 9
     Frequência regular                6 ou 7
     Baixa frequência               3, 4 ou 5
     Baixíssima frequência          0, 1 ou 2
     Frequencia não pode ser            <0
Escreva um algoritmo que imprima a qual
     negativa

categoriaque 0nãoaluno pertence.10
           um pode ser
     Frequencia
     maior
                               >
Exercício
Altere o algoritmo para a seguinte
situação:
              Categoria           Frequência
    Assíduo                   9 < frequencia <= 10
    Boa frequência            7 < frequencia <= 9
    Frequência regular        5 < frequencia <= 7
    Baixa frequência          2 < frequencia <= 5
    Baixíssima frequência     0 <= frequencia <= 2
    Frequencia não pode ser           <0
    negativa
    Frequencia não pode ser          > 10
    maior que 0
Quando usar qual?
Todos são estruturas de condição

•   se-entao

•   se-entao-senao

•   escolha
Observem
  • Onde está a condição na estrutura?

se <expressão-lógica-verdadeira> entao
                                         escolha <expressão-de-seleção>
        <comando(s)1>                             caso <valor1a>, <valor2a>, ...
fimse                                                      <comandos-a>
                                                  caso <valor1b>, <valor2b>, ...
                                                           <comandos-b>
                                                  caso <valor1c>, <valor2c>, ...
                                                           <comandos-c>
                                                  ...
se <expressão-lógica-verdadeira> entao
                                                  outrocaso
        <comando(s)1>                                      < comandos-x>
senao                                    fimescolha
        <comando(s)2>
fimse
Observem
  Quantas opções de comandos a executar existem?


se <expressão-lógica-verdadeira> entao
                                         escolha <expressão-de-seleção>
        <comando(s)1>                             caso <valor1a>, <valor2a>, ...
fimse                                                      <comandos-a>
                                                  caso <valor1b>, <valor2b>, ...
                                                           <comandos-b>
                                                  caso <valor1c>, <valor2c>, ...
                                                           <comandos-c>
                                                  ...
se <expressão-lógica-verdadeira> entao
                                                  outrocaso
        <comando(s)1>                                      < comandos-x>
senao                                    fimescolha
        <comando(s)2>
fimse
Estrutura de Repetição
Estrutura de Repetição
• Decidir e controlar quantas vezes
  uma ação (ou conjunto de ações)
  deve ser executada

• Também chamadas de estruturas de
  iteração ou laços

• Em Portugol, temos:
   - enquanto-faca
   - para-faca
Exemplo 1
• Imprimir * cem vezes
Exemplo 1
algoritmo " escreve_*_100_vezes"
var i: inteiro
inicio
i <- 1
enquanto i <= 100 faca
   escreval(“*”)
   i <- i+1
fimenquanto
fimalgoritmo
Exemplo 2
• Imprimir de 1 a 5
Exemplo 2
algoritmo " escreve_numeros_1_a_5"
var i: inteiro
inicio
i <- 1
enquanto i <= 5 faca
   escreval(i)
   i <- i+1
fimenquanto
fimalgoritmo
Estrutura de Repetição enquanto-faca




enquanto <expressão-lógica-verdadeira> faca
    <seqüência-de-comandos>
fimenquanto
Exemplo 3


Faça um algoritmo que leia um
numero do usuário e só pare de
solicitar o número somente quando
ele digitar 1001
Exemplo 3

algoritmo "digite1001"
var numero: inteiro
inicio
enquanto (numero <> 1001) faca
   leia(numero)
fimenquanto
fimalgoritmo
Exemplo 3


Faça um algoritmo que leia uma
palavra do usuário e pare de
solicitar a palavra somente quando
ele digitar sair
Exemplo 3

algoritmo "digiteSair"
var texto: caracter
inicio
enquanto (texto <> "sair") faca
   leia(texto)
fimenquanto
fimalgoritmo
Exemplo 4
• Escreva * a quantidade de vezes do
  usuário pedir
Exemplo 4
algoritmo "escreva varias vezes"
var
  quantidade, totalimpresso: inteiro
inicio
  escreva("Digite a quantidade de vezes: ")
  leia(quantidade)
  totalimpresso <- 0
  enquanto (totalimpresso <> quantidade) faca
     escreva("*")
     totalimpresso <- totalimpresso + 1
  fimenquanto
fimalgoritmo
Exemplo 5
• Leia um número inteiro positivo do
  usuário e escreva todos os números
  inteiros até o número escolhido
Exemplo 5
algoritmo "escreva numeros inteiros"
var
  numerodesejado, numeroatual: inteiro
inicio
  escreva("Digite um numero inteiro: ")
  leia(numerodesejado)
  numeroatual <- 0
  enquanto (numeroatual <> numerodesejado) faca
     escreva(numeroatual, " ")
     numeroatual <- numeroatual + 1
  fimenquanto
  escreva(numeroatual, " ")
fimalgoritmo
Exemplo 6
• Calcular o n-ésimo elemento da
  sequência

1, 3, 5, 7, 9, ...
1, 3, 5, 7, 9, ...
algoritmo "categorias de atletas"
var
  indicedesejado, indice, numeroanterior, numeroatual:
inteiro
inicio
  indice <- 0
  numeroanterior <- 0
  numeroatual <- 1
  leia(indicedesejado)
  enquanto (indice <> indicedesejado) faca
     numeroanterior <- numeroatual
     numeroatual <- numeroanterior + 2
     indice <- indice + 1
     escreva(numeroatual, " ")
  fimenquanto
fimalgoritmo

More Related Content

What's hot

Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismosdiogoa21
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Robson Ferreira
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para FaçaEder Samaniego
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iRobson Ferreira
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosMauro Pereira
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3Débora Inocêncio
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 

What's hot (20)

Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
mod2-mecanismos
mod2-mecanismosmod2-mecanismos
mod2-mecanismos
 
C++
C++C++
C++
 
Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3Conceitos e técnicas de programação aula 3
Conceitos e técnicas de programação aula 3
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Conceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios iConceitos e técnicas de programação lista de exercícios i
Conceitos e técnicas de programação lista de exercícios i
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Aula 14 - Funções: não duplique seu código
Aula 14 - Funções: não duplique seu códigoAula 14 - Funções: não duplique seu código
Aula 14 - Funções: não duplique seu código
 
Caderno de exercicios algoritmos-v.1.3
Caderno de exercicios   algoritmos-v.1.3Caderno de exercicios   algoritmos-v.1.3
Caderno de exercicios algoritmos-v.1.3
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 

Viewers also liked

Como fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasComo fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasAndré Constantino da Silva
 
Aula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAndré Constantino da Silva
 
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...André Constantino da Silva
 
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAndré Constantino da Silva
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAndré Constantino da Silva
 
Lógica de programação - Como estudar sem achar chato e ainda ter motivação
Lógica de programação - Como estudar sem achar chato e ainda ter motivaçãoLógica de programação - Como estudar sem achar chato e ainda ter motivação
Lógica de programação - Como estudar sem achar chato e ainda ter motivaçãoFelipe Fontoura
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAndré Constantino da Silva
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresRegis Magalhães
 

Viewers also liked (10)

Aula 1 final
Aula 1 finalAula 1 final
Aula 1 final
 
Como fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficasComo fazer citações e referências bibliográficas
Como fazer citações e referências bibliográficas
 
Aula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimentoAula sobre texto academico - elaboração do desenvolvimento
Aula sobre texto academico - elaboração do desenvolvimento
 
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
Mouse+Teclado x Toque+Caneta: as modalidades de interação em contextos educac...
 
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuáriosAula 5 -Avaliação de interfaces de usuário - testes com usuários
Aula 5 -Avaliação de interfaces de usuário - testes com usuários
 
Aula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de UsuárioAula 6 - Design e Processo de Design de Interfaces de Usuário
Aula 6 - Design e Processo de Design de Interfaces de Usuário
 
Introdução ao TelEduc
Introdução ao TelEducIntrodução ao TelEduc
Introdução ao TelEduc
 
Lógica de programação - Como estudar sem achar chato e ainda ter motivação
Lógica de programação - Como estudar sem achar chato e ainda ter motivaçãoLógica de programação - Como estudar sem achar chato e ainda ter motivação
Lógica de programação - Como estudar sem achar chato e ainda ter motivação
 
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e OperadoresAula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
Aula 8 - Lógica de Programação - Variáveis, Tipos de dados e Operadores
 
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis OperadoresLogica Algoritmo 03 Tipos Expressoes Variaveis Operadores
Logica Algoritmo 03 Tipos Expressoes Variaveis Operadores
 

Similar to Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição

Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Adriano Teixeira de Souza
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
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 - Aula06André Phillip Bertoletti
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação João Piedade
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayDilan Nery Lopes
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisãoCarlos Santos
 
Algoritmos aula boa
Algoritmos aula boaAlgoritmos aula boa
Algoritmos aula boamorganavalon
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Pythondmmartins
 

Similar to Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição (20)

EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
Aula04
Aula04Aula04
Aula04
 
Algoritmos - capítulo 4
Algoritmos - capítulo 4Algoritmos - capítulo 4
Algoritmos - capítulo 4
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2Estrutura de Dados - Características da linguagem C - 2
Estrutura de Dados - Características da linguagem C - 2
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 
Cap08
Cap08Cap08
Cap08
 
Cap08
Cap08Cap08
Cap08
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
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
 
Introdução à programação
Introdução à programação Introdução à programação
Introdução à programação
 
Aula3
Aula3Aula3
Aula3
 
01 variaveis io if
01 variaveis io if01 variaveis io if
01 variaveis io if
 
ptt
pttptt
ptt
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Minicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDayMinicurso Básico de Python - PythonDay
Minicurso Básico de Python - PythonDay
 
(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão(A07) LabMM3 - JavaScript - Estruturas de decisão
(A07) LabMM3 - JavaScript - Estruturas de decisão
 
Algoritmos aula boa
Algoritmos aula boaAlgoritmos aula boa
Algoritmos aula boa
 
Introdução à Linguagem de programação Python
Introdução à Linguagem de programação PythonIntrodução à Linguagem de programação Python
Introdução à Linguagem de programação Python
 

More from André Constantino da Silva

Introdução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducIntrodução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducAndré Constantino da Silva
 
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAndré Constantino da Silva
 
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4   Fatores Humanos - parte 1 - Disciplina de IHCAula 4   Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHCAndré Constantino da Silva
 
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsInkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsAndré Constantino da Silva
 
Aula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAndré Constantino da Silva
 
Aula 3 – Linguagem HTML - formatação de texto
Aula 3 – Linguagem HTML -  formatação de textoAula 3 – Linguagem HTML -  formatação de texto
Aula 3 – Linguagem HTML - formatação de textoAndré Constantino da Silva
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAndré Constantino da Silva
 
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...André Constantino da Silva
 
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas MatemáticosRaciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas MatemáticosAndré Constantino da Silva
 

More from André Constantino da Silva (20)

Aula 4 - Avaliação de Interface - Parte 1
Aula 4 -  Avaliação de Interface - Parte 1Aula 4 -  Avaliação de Interface - Parte 1
Aula 4 - Avaliação de Interface - Parte 1
 
Aula 3 - Fatores Humanos
Aula 3 - Fatores HumanosAula 3 - Fatores Humanos
Aula 3 - Fatores Humanos
 
Aula 2 - A área de IHC
Aula 2 - A área de IHCAula 2 - A área de IHC
Aula 2 - A área de IHC
 
Aula 1 - Apresentação da Disciplina
Aula 1 - Apresentação da DisciplinaAula 1 - Apresentação da Disciplina
Aula 1 - Apresentação da Disciplina
 
Introdução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEducIntrodução ao ambiente virtual de aprendizagem TelEduc
Introdução ao ambiente virtual de aprendizagem TelEduc
 
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHCAula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
Aula 5 - Fatores Humanos - Parte 2 - Disciplina de IHC
 
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4   Fatores Humanos - parte 1 - Disciplina de IHCAula 4   Fatores Humanos - parte 1 - Disciplina de IHC
Aula 4 Fatores Humanos - parte 1 - Disciplina de IHC
 
Aula 3 – A áera de IHC
Aula 3 – A áera de IHCAula 3 – A áera de IHC
Aula 3 – A áera de IHC
 
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning EnvironmentsInkBlog: A Pen-Based Blog Tool for e-Learning Environments
InkBlog: A Pen-Based Blog Tool for e-Learning Environments
 
Aula 3
Aula 3Aula 3
Aula 3
 
Aula 2 final
Aula 2 finalAula 2 final
Aula 2 final
 
Aula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativoAula 6 – linguagem HTML - Endereço absoluto e relativo
Aula 6 – linguagem HTML - Endereço absoluto e relativo
 
Aula 7 – linguagem HTML - Frames
Aula 7 – linguagem HTML - FramesAula 7 – linguagem HTML - Frames
Aula 7 – linguagem HTML - Frames
 
Aula 4 – Linguagem HTML - Imagens e links
Aula 4 – Linguagem HTML - Imagens e linksAula 4 – Linguagem HTML - Imagens e links
Aula 4 – Linguagem HTML - Imagens e links
 
Aula 3 – Linguagem HTML - formatação de texto
Aula 3 – Linguagem HTML -  formatação de textoAula 3 – Linguagem HTML -  formatação de texto
Aula 3 – Linguagem HTML - formatação de texto
 
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estruturaAula 2 – Introdução a HTML - conceitos básicos e estrutura
Aula 2 – Introdução a HTML - conceitos básicos e estrutura
 
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...
Desenvolvimento de Sistemas Interativos - Integração das Visões de Engenharia...
 
Uml - Exemplos de Modelagem em UML
Uml - Exemplos de Modelagem em UMLUml - Exemplos de Modelagem em UML
Uml - Exemplos de Modelagem em UML
 
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas MatemáticosRaciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
Raciocínio Lógico Aplicado a Resolução de Problemas Matemáticos
 
Introdução ao TelEduc
Introdução ao TelEducIntrodução ao TelEduc
Introdução ao TelEduc
 

Aula 10 - Comando de Decisão Múltipla e Comandos de Repetição

  • 1. Aula 10 – Comando de Decisão Múltipla e Comando de Repetição Prof. André Constantino da Silva LOGT1 – Lógica Noturno 18 de maio de 2012
  • 2. Na aula anterior... • Resultados dos operadores matemáticos • Operadores - Relacionais - Lógicos • Comando de Decisão Múltipla
  • 3. Nesta aula... • Comando de Decisão Múltipla • Comandos de Repetição
  • 4. Comando de Decisão Múltipla Algumas situações exigem a realização de uma ação dentre várias ações possíveis, baseado no valor de uma variável (condição) - Estutura escolha
  • 5. Exemplo Considere a seguinte classificação de faixa etária de atletas: Categoria Idade Infantil 5 a 10 anos Juvenil 11 a 15 anos Junior 16 a 20 anos Profissional 21 a 25 anos Não classificado Demais idades Como seria um algortimo que leia a idade do atleta e diga qual é a categoria deste atleta?
  • 6. Resposta Usando conhecimentos aprendidos algoritmo "categorias de atletas" var idade: inteiro inicio leia(idade) se (idade >= 5) e (idade <= 10) entao escreva("Atleta é da categoria Infantil") senao se (idade >= 11) e (idade <= 15) entao escreva("Atleta é da categoria Juvenil") senao se (idade >= 16) e (idade <= 20) entao escreva("Atleta é da categoria Junior") senao se (idade >= 21) e (idade <= 25) entao escreva("Atleta é da categoria Profissional") senao escreva("O atleta não pode ser classificado nas categorias") fimse fimse fimse fimse fimalgoritmo
  • 7. Resposta – Usando Escolha algoritmo "categorias de atletas" var idade: inteiro inicio leia(idade) escolha idade caso 5, 6, 7, 8, 9, 10 escreva("Atleta é da categoria Infantil") caso 11, 12, 13, 14, 15 escreva("Atleta é da categoria Juvenil") caso 16, 17, 18, 19, 20 escreva("Atleta é da categoria Junior") caso 21, 22, 23, 24, 25 escreva("Atleta é da categoria Profissional") outrocaso escreva("O atleta não pode ser classificado nas categorias") fimescolha fimalgoritmo
  • 8. Estrutura do Escolha escolha <expressão-de-seleção> caso <valor1a>, <valor2a>, ..., <valorna> <comandos-a> caso <valor1b>, <valor2b>, ..., <valornb> <comandos-b> caso <valor1c>, <valor2c>, ..., <valornb> <comandos-c> ... outrocaso < comandos-x> fimescolha
  • 9. Exercício Vamos classificar os alunos conforme a frequência na matéria Considerando que a frequência seja um número inteiro de 0 a 10. Categoria Frequência Assíduo 10 Boa frequência 8 ou 9 Frequência regular 6 ou 7 Baixa frequência 3, 4 ou 5 Baixíssima frequência 0, 1 ou 2 Frequencia não pode ser <0 Escreva um algoritmo que imprima a qual negativa categoriaque 0nãoaluno pertence.10 um pode ser Frequencia maior >
  • 10. Exercício Altere o algoritmo para a seguinte situação: Categoria Frequência Assíduo 9 < frequencia <= 10 Boa frequência 7 < frequencia <= 9 Frequência regular 5 < frequencia <= 7 Baixa frequência 2 < frequencia <= 5 Baixíssima frequência 0 <= frequencia <= 2 Frequencia não pode ser <0 negativa Frequencia não pode ser > 10 maior que 0
  • 11.
  • 12. Quando usar qual? Todos são estruturas de condição • se-entao • se-entao-senao • escolha
  • 13. Observem • Onde está a condição na estrutura? se <expressão-lógica-verdadeira> entao escolha <expressão-de-seleção> <comando(s)1> caso <valor1a>, <valor2a>, ... fimse <comandos-a> caso <valor1b>, <valor2b>, ... <comandos-b> caso <valor1c>, <valor2c>, ... <comandos-c> ... se <expressão-lógica-verdadeira> entao outrocaso <comando(s)1> < comandos-x> senao fimescolha <comando(s)2> fimse
  • 14. Observem Quantas opções de comandos a executar existem? se <expressão-lógica-verdadeira> entao escolha <expressão-de-seleção> <comando(s)1> caso <valor1a>, <valor2a>, ... fimse <comandos-a> caso <valor1b>, <valor2b>, ... <comandos-b> caso <valor1c>, <valor2c>, ... <comandos-c> ... se <expressão-lógica-verdadeira> entao outrocaso <comando(s)1> < comandos-x> senao fimescolha <comando(s)2> fimse
  • 16. Estrutura de Repetição • Decidir e controlar quantas vezes uma ação (ou conjunto de ações) deve ser executada • Também chamadas de estruturas de iteração ou laços • Em Portugol, temos: - enquanto-faca - para-faca
  • 17. Exemplo 1 • Imprimir * cem vezes
  • 18. Exemplo 1 algoritmo " escreve_*_100_vezes" var i: inteiro inicio i <- 1 enquanto i <= 100 faca escreval(“*”) i <- i+1 fimenquanto fimalgoritmo
  • 20. Exemplo 2 algoritmo " escreve_numeros_1_a_5" var i: inteiro inicio i <- 1 enquanto i <= 5 faca escreval(i) i <- i+1 fimenquanto fimalgoritmo
  • 21. Estrutura de Repetição enquanto-faca enquanto <expressão-lógica-verdadeira> faca <seqüência-de-comandos> fimenquanto
  • 22. Exemplo 3 Faça um algoritmo que leia um numero do usuário e só pare de solicitar o número somente quando ele digitar 1001
  • 23. Exemplo 3 algoritmo "digite1001" var numero: inteiro inicio enquanto (numero <> 1001) faca leia(numero) fimenquanto fimalgoritmo
  • 24. Exemplo 3 Faça um algoritmo que leia uma palavra do usuário e pare de solicitar a palavra somente quando ele digitar sair
  • 25. Exemplo 3 algoritmo "digiteSair" var texto: caracter inicio enquanto (texto <> "sair") faca leia(texto) fimenquanto fimalgoritmo
  • 26. Exemplo 4 • Escreva * a quantidade de vezes do usuário pedir
  • 27. Exemplo 4 algoritmo "escreva varias vezes" var quantidade, totalimpresso: inteiro inicio escreva("Digite a quantidade de vezes: ") leia(quantidade) totalimpresso <- 0 enquanto (totalimpresso <> quantidade) faca escreva("*") totalimpresso <- totalimpresso + 1 fimenquanto fimalgoritmo
  • 28. Exemplo 5 • Leia um número inteiro positivo do usuário e escreva todos os números inteiros até o número escolhido
  • 29. Exemplo 5 algoritmo "escreva numeros inteiros" var numerodesejado, numeroatual: inteiro inicio escreva("Digite um numero inteiro: ") leia(numerodesejado) numeroatual <- 0 enquanto (numeroatual <> numerodesejado) faca escreva(numeroatual, " ") numeroatual <- numeroatual + 1 fimenquanto escreva(numeroatual, " ") fimalgoritmo
  • 30. Exemplo 6 • Calcular o n-ésimo elemento da sequência 1, 3, 5, 7, 9, ...
  • 31. 1, 3, 5, 7, 9, ... algoritmo "categorias de atletas" var indicedesejado, indice, numeroanterior, numeroatual: inteiro inicio indice <- 0 numeroanterior <- 0 numeroatual <- 1 leia(indicedesejado) enquanto (indice <> indicedesejado) faca numeroanterior <- numeroatual numeroatual <- numeroanterior + 2 indice <- indice + 1 escreva(numeroatual, " ") fimenquanto fimalgoritmo