Introdução a Algoritmos e
Linguagens de Programação
                   Aula 9 | Estruturas condicionais




             Apresentação
       Luiz Augusto de M. Morais
Roteiro



   Conceitos básicos
      ●
        O que são estruturas condicionais?
      ●
        Entendendo a execução
      ●
        Relembrando a linguagem natural


                   Estrutura condicional simples
                       ●
                        Escolhendo o caminho verdadeiro
                       ●
                        Utilizando pseudocódigo
                       ●
                        Estrutura se-então



                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Roteiro



  Estrutura condicional composta
     ●
      Se a condição falhar?
     ●
      Utilizando pseudocódigo
     ●
      Estrutura se-então-senão


                  Estruturas condicionais encadeadas
                     ●
                      Se existir mais de uma condição?
                     ●
                      Utilizando pseudocódigo
                     ●
                      Estruturas aninhadas
                     ●
                      Diminuindo a complexidade


                           UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Conceitos básicos
O que são estruturas
condicionais?




               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que são estruturas condicionais?



                       Uma encruzilhada




                              UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Conceitos básicos
Entendendo a execução




                    UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Entendendo a execução



                        ?




           ?



                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Conceitos básicos
Relembrando
a linguagem natural




              UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Relembrando a linguagem natural



   1. Acionar interruptor
   2. Se a lâmpada acender:              Estrutura condicional
    1.encerre.
   3.Caso contrário:
    1. Pegar uma escada
    2. Posicionar a escada embaixo da lâmpada
    3. Buscar uma lâmpada nova
    4. [ … ]




                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional simples
Escolhendo
o caminho verdadeiro




                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Escolhendo o caminho verdadeiro




                          Ok, pode passar


                                                             Acabou!



     Começou!




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Escolhendo o caminho verdadeiro




                          Ok, pode passar


                                                             Acabou!



     Começou!




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional simples
Utilizando pseudocódigo




                   UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo


    Código                             Execução

     1.escreva('Começou!')              Começou!
     2.idade = 18                       Ok, pode passar
     3.se idade >= 18 então:            Acabou!
       1.escreva('Ok, pode passar')
     4.escreva('Acabou!')




                                       Memória

                                        inteiro idade = 18




                                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo


    Código                             Execução

     1.escreva('Começou!')              Começou!
     2.idade = 16                       Acabou!
     3.se idade >= 18 então:
       1.escreva('Ok, pode passar')
     4.escreva('Acabou!')




                                       Memória

                                        inteiro idade = 16




                                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional simples
Estrutura se-então




                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura se-então



               Sintaxe


                se <condição> então:
                → <comandos>

                <condição> = expressão lógica



                     Use endentação!

                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional composta
Se a condição falhar?




               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Se a condição falhar? | Maior de idade




                             Ok, pode passar


                                                                 Acabou!



      Começou!



                            Você não pode dirigir!




                                 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Se a condição falhar? | Menor de idade




                            Ok, pode passar


                                                                Acabou!



     Começou!



                           Você não pode dirigir!




                                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional composta
Utilizando pseudocódigo




                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo


    Código                             Execução

     1.escreva('Começou!')              Começou!
     2.idade = 16                       Você não pode dirigir!
     3.se idade >= 18 então:            Acabou!
       1.escreva('Ok, pode passar')
     4.senão:
       1.escreva('Você não 
                  pode dirigir!')
     5.escreva('Acabou!')
                                       Memória

                                        inteiro idade = 16




                                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura condicional composta
Estrutura se-então-senão




                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estrutura se-então-senão



              Sintaxe


               se <condição> então:
               → <comandos>
               senão:
               → <comandos>
                <condição> = expressão lógica
                  Use endentação!

                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estruturas condicionais encadeadas
Se existir mais
de uma condição?




                UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Relembrando...




                          Ok, pode passar


                                                              Acabou!



     Começou!



                         Você não pode dirigir!



  E se o motorista for de maior mas não possuir habilitação?

                              UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Se existir mais de uma condição? | Menor de idade




                           Você não pode dirigir!




                            Você não pode dirigir!                         Acabou!

Começou!



                               Ok, pode passar




                                   UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Se existir mais de uma condição? | Maior de idade e sem habilitação




                            Você não pode dirigir!




                             Você não pode dirigir!                         Acabou!

Começou!



                                Ok, pode passar




                                    UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Se existir mais de uma condição? | Maior de idade e habilitado




                            Você não pode dirigir!




                             Você não pode dirigir!                         Acabou!

Começou!



                                Ok, pode passar




                                    UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estruturas condicionais encadeadas
Utilizando pseudocódigo




                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo | Menor de idade


    Código                             Execução
    1.escreva('Começou!')               Começou!
    2.idade = 16                        Você não pode dirigir!
    3.habilitado = Falso                Acabou!
    4.se idade >= 18 então:
      1.se habilitado então:
        1.escreva('Ok, pode passar')
      2.senão:
        1.escreva('Você não 
                   pode dirigir!')
                                       Memória
    5.senão:
      1.escreva('Você não              inteiro idade = 16
                  pode dirigir!')       booleano habilitado = Falso
    6.escreva('Acabou!')



                                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo | Maior de idade e sem habilitação


    Código                             Execução
    1.escreva('Começou!')               Começou!
    2.idade = 18                        Você não pode dirigir!
    3.habilitado = Falso                Acabou!
    4.se idade >= 18 então:
      1.se habilitado então:
        1.escreva('Ok, pode passar')
      2.senão:
        1.escreva('Você não 
                   pode dirigir!')
                                       Memória
    5.senão:
      1.escreva('Você não              inteiro idade = 18
                  pode dirigir!')       booleano habilitado = Falso
    6.escreva('Acabou!')



                                  UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Utilizando pseudocódigo | Maior de idade e habilitado


  Código                                 Execução
   1.escreva('Começou!')                  Começou!
   2.idade = 18                           Ok, pode passar
   3.habilitado = Verdadeiro              Acabou!
   4.se idade >= 18 então:
     1.se habilitado então:
       1.escreva('Ok, pode passar')
     2.senão:
       1.escreva('Você não 
                  pode dirigir!')
                                         Memória
   5.senão:
     1.escreva('Você não                inteiro idade = 18
                 pode dirigir!')         booleano habilitado = Verdadeiro
   6.escreva('Acabou!')



                                      UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estruturas condicionais encadeadas
Estruturas aninhadas




               UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estruturas aninhadas

              Sintaxe

                   se <condição> então:
                   → se <condição> então:
                   → → <comandos>
                   → senão:
                   → → <comandos>
                   senão:
                   → se <condição> então:
                   → → <comandos>
                   → senão:
                   → → <comandos>


                            UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Estruturas condicionais encadeadas
Diminuindo a complexidade




                     UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Relembrando...


  Código                                Execução
  1.escreva('Começou!')                  Começou!
  2.idade = 18                           Ok, pode passar
  3.habilitado = Verdadeiro              Acabou!
  4.se idade >= 18 então:
    1.se habilitado então:
      1.escreva('Ok, pode passar')
    2.senão:
      1.escreva('Você não 
                 pode dirigir!')
                                        Memória
  5.senão:
    1.escreva('Você não                inteiro idade = 18
                pode dirigir!')         booleano habilitado = Verdadeiro
  6.escreva('Acabou!')



                                     UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
Diminuindo a complexidade


 Código                                  Execução
 1.escreva('Começou!')                    Começou!
 2.idade = 18                             Ok, pode passar
 3.habilitado = Verdadeiro                Acabou!
 4.se idade >= 18 e habilitado então:
   1.escreva('Ok, pode passar')
 5.senão:
   1.escreva('Você não pode dirigir!')
 6.escreva('Acabou!')
                                         Memória

                                         inteiro idade = 18
                                         booleano habilitado = Verdadeiro




                                   UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que aprendemos hoje?




          UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
O que aprendemos hoje?



  Estruturas condicionais
     ●
       O que são estruturas condicionais
     ●
       Tipos de estrutura
        ●
          Simples
        ●
          Composta
        ●
          Encadeadas
          ●
            Diminuindo a complexidade
     ●
       Novas palavras reservadas
        ●
          se, então, senão




                         UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES
Referências




FERRARI, Fabrício; CECHINEL, Cristian.
Introdução a Algoritmos e Programação. [S. l. : s. n.]

BARRY, Paul; GRIFFITHS, David.
Head First Programming. Sebastopol: O'Reilly, 2009.




                             UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES

Aula 9 - Estruturas Condicionais

  • 1.
    Introdução a Algoritmose Linguagens de Programação Aula 9 | Estruturas condicionais Apresentação Luiz Augusto de M. Morais
  • 2.
    Roteiro Conceitos básicos ● O que são estruturas condicionais? ● Entendendo a execução ● Relembrando a linguagem natural Estrutura condicional simples ● Escolhendo o caminho verdadeiro ● Utilizando pseudocódigo ● Estrutura se-então UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 3.
    Roteiro Estruturacondicional composta ● Se a condição falhar? ● Utilizando pseudocódigo ● Estrutura se-então-senão Estruturas condicionais encadeadas ● Se existir mais de uma condição? ● Utilizando pseudocódigo ● Estruturas aninhadas ● Diminuindo a complexidade UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 4.
    Conceitos básicos O quesão estruturas condicionais? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 5.
    O que sãoestruturas condicionais? Uma encruzilhada UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 6.
    Conceitos básicos Entendendo aexecução UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 7.
    Entendendo a execução ? ? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 8.
    Conceitos básicos Relembrando a linguagemnatural UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 9.
    Relembrando a linguagemnatural 1. Acionar interruptor 2. Se a lâmpada acender: Estrutura condicional 1.encerre. 3.Caso contrário: 1. Pegar uma escada 2. Posicionar a escada embaixo da lâmpada 3. Buscar uma lâmpada nova 4. [ … ] UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 10.
    Estrutura condicional simples Escolhendo ocaminho verdadeiro UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 11.
    Escolhendo o caminhoverdadeiro Ok, pode passar Acabou! Começou! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 12.
    Escolhendo o caminhoverdadeiro Ok, pode passar Acabou! Começou! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 13.
    Estrutura condicional simples Utilizandopseudocódigo UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 14.
    Utilizando pseudocódigo Código Execução 1.escreva('Começou!') Começou! 2.idade = 18 Ok, pode passar 3.se idade >= 18 então: Acabou! 1.escreva('Ok, pode passar') 4.escreva('Acabou!') Memória inteiro idade = 18 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 15.
    Utilizando pseudocódigo Código Execução 1.escreva('Começou!') Começou! 2.idade = 16 Acabou! 3.se idade >= 18 então: 1.escreva('Ok, pode passar') 4.escreva('Acabou!') Memória inteiro idade = 16 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 16.
    Estrutura condicional simples Estruturase-então UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 17.
    Estrutura se-então Sintaxe se <condição> então: → <comandos> <condição> = expressão lógica Use endentação! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 18.
    Estrutura condicional composta Sea condição falhar? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 19.
    Se a condiçãofalhar? | Maior de idade Ok, pode passar Acabou! Começou! Você não pode dirigir! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 20.
    Se a condiçãofalhar? | Menor de idade Ok, pode passar Acabou! Começou! Você não pode dirigir! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 21.
    Estrutura condicional composta Utilizandopseudocódigo UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 22.
    Utilizando pseudocódigo Código Execução 1.escreva('Começou!') Começou! 2.idade = 16 Você não pode dirigir! 3.se idade >= 18 então: Acabou! 1.escreva('Ok, pode passar') 4.senão: 1.escreva('Você não pode dirigir!') 5.escreva('Acabou!') Memória inteiro idade = 16 UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 23.
    Estrutura condicional composta Estruturase-então-senão UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 24.
    Estrutura se-então-senão Sintaxe se <condição> então: → <comandos> senão: → <comandos> <condição> = expressão lógica Use endentação! UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 25.
    Estruturas condicionais encadeadas Seexistir mais de uma condição? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 26.
    Relembrando... Ok, pode passar Acabou! Começou! Você não pode dirigir! E se o motorista for de maior mas não possuir habilitação? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 27.
    Se existir maisde uma condição? | Menor de idade Você não pode dirigir! Você não pode dirigir! Acabou! Começou! Ok, pode passar UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 28.
    Se existir maisde uma condição? | Maior de idade e sem habilitação Você não pode dirigir! Você não pode dirigir! Acabou! Começou! Ok, pode passar UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 29.
    Se existir maisde uma condição? | Maior de idade e habilitado Você não pode dirigir! Você não pode dirigir! Acabou! Começou! Ok, pode passar UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 30.
    Estruturas condicionais encadeadas Utilizandopseudocódigo UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 31.
    Utilizando pseudocódigo |Menor de idade Código Execução 1.escreva('Começou!') Começou! 2.idade = 16 Você não pode dirigir! 3.habilitado = Falso Acabou! 4.se idade >= 18 então: 1.se habilitado então: 1.escreva('Ok, pode passar') 2.senão: 1.escreva('Você não pode dirigir!') Memória 5.senão: 1.escreva('Você não inteiro idade = 16 pode dirigir!') booleano habilitado = Falso 6.escreva('Acabou!') UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 32.
    Utilizando pseudocódigo |Maior de idade e sem habilitação Código Execução 1.escreva('Começou!') Começou! 2.idade = 18 Você não pode dirigir! 3.habilitado = Falso Acabou! 4.se idade >= 18 então: 1.se habilitado então: 1.escreva('Ok, pode passar') 2.senão: 1.escreva('Você não pode dirigir!') Memória 5.senão: 1.escreva('Você não inteiro idade = 18 pode dirigir!') booleano habilitado = Falso 6.escreva('Acabou!') UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 33.
    Utilizando pseudocódigo |Maior de idade e habilitado Código Execução 1.escreva('Começou!') Começou! 2.idade = 18 Ok, pode passar 3.habilitado = Verdadeiro Acabou! 4.se idade >= 18 então: 1.se habilitado então: 1.escreva('Ok, pode passar') 2.senão: 1.escreva('Você não pode dirigir!') Memória 5.senão: 1.escreva('Você não inteiro idade = 18 pode dirigir!') booleano habilitado = Verdadeiro 6.escreva('Acabou!') UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 34.
    Estruturas condicionais encadeadas Estruturasaninhadas UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 35.
    Estruturas aninhadas Sintaxe se <condição> então: → se <condição> então: → → <comandos> → senão: → → <comandos> senão: → se <condição> então: → → <comandos> → senão: → → <comandos> UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 36.
    Estruturas condicionais encadeadas Diminuindoa complexidade UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 37.
    Relembrando... Código Execução 1.escreva('Começou!') Começou! 2.idade = 18 Ok, pode passar 3.habilitado = Verdadeiro Acabou! 4.se idade >= 18 então: 1.se habilitado então: 1.escreva('Ok, pode passar') 2.senão: 1.escreva('Você não pode dirigir!') Memória 5.senão: 1.escreva('Você não inteiro idade = 18 pode dirigir!') booleano habilitado = Verdadeiro 6.escreva('Acabou!') UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 38.
    Diminuindo a complexidade Código Execução 1.escreva('Começou!') Começou! 2.idade = 18 Ok, pode passar 3.habilitado = Verdadeiro Acabou! 4.se idade >= 18 e habilitado então: 1.escreva('Ok, pode passar') 5.senão: 1.escreva('Você não pode dirigir!') 6.escreva('Acabou!') Memória inteiro idade = 18 booleano habilitado = Verdadeiro UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 39.
    O que aprendemoshoje? UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETOHERMES
  • 40.
    O que aprendemoshoje? Estruturas condicionais ● O que são estruturas condicionais ● Tipos de estrutura ● Simples ● Composta ● Encadeadas ● Diminuindo a complexidade ● Novas palavras reservadas ● se, então, senão UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES
  • 41.
    Referências FERRARI, Fabrício; CECHINEL,Cristian. Introdução a Algoritmos e Programação. [S. l. : s. n.] BARRY, Paul; GRIFFITHS, David. Head First Programming. Sebastopol: O'Reilly, 2009. UNIVERSIDADE ESTADUAL DA PARAÍBA | PROJETO HERMES