SlideShare uma empresa Scribd logo
Desenvolvimento Web I


                Aula 03


Instrutor: José Fernando Santana Andrade
      fernando.amdrade@gmail.com
Estrutura de controle
                sequencial
                   Início



                            comando 1


                            comando 2


                            comando 3

                                                    Fim
                            comando n




01/12/12                    Desenvolvimento Web I         2/53
Estruturas de controle
            condicional
    Para que usar ?




01/12/12              Desenvolvimento Web I   3/53
Estruturas de controle
            condicional
    Para que usar ?
●   Usamos para codificar uma tomada de
    decisão
●   Utilizamos uma expressão lógica para
    decidir por qual fluxo de execução o
    programa deve seguir



01/12/12              Desenvolvimento Web I   4/53
Estruturas de controle
            condicional




01/12/12         Desenvolvimento Web I   5/53
Estrutura Condicional
              Simples
●   Introduz um desvio condicional, ou seja, um
    desvio na execução natural do programa
●   Útil quando necessita-se de duas opções de
    fluxo para serem seguidas com base no
    resultado do teste lógico
      –    Verdadeiro
      –    Falso


01/12/12                Desenvolvimento Web I   6/53
Estrutura Condicional
              Simples

           SE (teste) ENTÃO
           {
             comandos …
           }
           CASO CONTRÁRIO
           {
             comandos …
           }

01/12/12             Desenvolvimento Web I   7/53
Fluxo do Comando if

       início




                                Comando IF         fim
                  [TRUE]


                [FALSE]
                              Comando ELSE




01/12/12                   Desenvolvimento Web I         8/53
if … else

    if (teste)
    {
        Comandos se teste é verdadeira
    }
    else
    {
        Comandos se teste é falsa
    }

01/12/12           Desenvolvimento Web I   9/53
Exemplo

    $a = 1;
    if ($a==5)
    {
        echo “é igual”;
    }
    else
    {
        echo “não é igual”;
    }
01/12/12             Desenvolvimento Web I   10/53
Estrutura Condicional
             Aninhada
●   Utilizamos quando necessitamos realizar
    testes encadeados
●   O fluxo de execução irá depender de um ou
    mais testes lógicos




01/12/12           Desenvolvimento Web I      11/53
Exemplo
     $salario             =1020;
     $tempo_servico         =12;
     $tem_reclamacoes =false;
     if($salario > 1000)
     {
         if($tempo_servico >= 12)
         {
             if($tem_reclamacoes != true)
             {
                 echo 'parabéns, você foi promovido';
             }
         }
     }
01/12/12                   Desenvolvimento Web I        12/53
Exercício

    Refaça o código utilizando apenas uma
    estrutura IF




01/12/12           Desenvolvimento Web I    13/53
Exercício

    Refaça o código utilizando apenas uma
    estrutura IF
     $salario            =1020;
     $tempo_servico      =12;
     $tem_reclamacoes    =false;

     if(($salario > 1000) && ($tempo_servico >= 12) and
     ($tem_reclamacoes != true))
     {
         echo “parabéns, você foi promovido <br />”;
     }

01/12/12                  Desenvolvimento Web I           14/53
Exercício

●   Dado um número, imprima se ele é par ou
    ímpar




01/12/12           Desenvolvimento Web I      15/53
Exercício

●   Dado um número, imprima se ele é par ou
    ímpar
           if($a%2==0)
              echo "$a é par";
           else
              echo "$a é ímpar";



01/12/12           Desenvolvimento Web I      16/53
…?…:…

       $valor = 1001;
       if($valor > 1000)
       {
           $resultado = 'muito caro';
       }
       else
       {
           $resultado = 'pode comprar';
       }
       echo $resultado;

01/12/12                  Desenvolvimento Web I   17/53
…?…:…

  $valor = 1001;
  $resultado = ($valor > 1000) ? 'muito caro' : 'pode comprar';
  echo $resultado;




01/12/12                  Desenvolvimento Web I              18/53
…?…:…

  $valor = 1001;
  $resultado = ($valor > 1000) ? 'muito caro' : 'pode comprar';
  echo $resultado;

  A primeira expressão é a condição a ser avaliada
  A segunda é o valor caso verdadeiro
  A terceira é o valor caso seja falsa

                   teste ? true : false

01/12/12                  Desenvolvimento Web I              19/53
Exercício

    a) Elabore um script que receba 2 números
    e imprima qual é o maior e qual é o menor.
    b) Dados 3 números, faça um scritp que
    imprima em ordem crescente e depois em
    ordem decrescente os 3 números.




01/12/12            Desenvolvimento Web I    20/53
Exercício a


    $a = $_GET['a'];
    $b = $_GET['b'];
    $maior = $a>$b ? $a : $b;
    $menor = $a<$b ? $a : $b;
    echo “O maior é $maior”;
    echo “O menor é $menor”;




01/12/12               Desenvolvimento Web I   21/53
Exercício b
$n = $_GET['n'];
$m = $_GET['m'];
$o = $_GET['o'];
$menor = ($n<$m and $n<$o)?$n:(($m<$n and $m<$o)? $m: $o);
$maior = ($n>$m and $n>$o)?$n:(($m>$n and $m>$o)? $m: $o);
$meio = ($n!=$menor && $n!=$maior)? $n: (($m!=$menor && $m!=$maior)? $m: $o);
echo 'Em ordem crescente </br>';
echo 'O menor é '.$menor;
echo ' ,o do meio é '.$meio;
echo ' e o maior é '.$maior;
echo '</br> Em ordem decrescente </br>';
echo 'O maior é '.$maior;
echo ' ,o do meio é '.$meio;
echo ' e o menor é '.$menor;




01/12/12                     Desenvolvimento Web I                    22/53
Estrutura de Múltipla
                  Escolha
●   Aplicadas para os casos em que a
    avaliação da expressão de testes, tem mais
    de dois valores possíveis como resultado




01/12/12              Desenvolvimento Web I   23/53
Estrutura de Múltipla
                  Escolha
                           TRUE
                   caso                      comandos


           FALSE
                          TRUE               comandos     FIM
                   caso


           FALSE
                          TRUE               comandos
                   caso

           FALSE                               default


01/12/12                          Desenvolvimento Web I         24/53
switch
           switch ($valor)
           {
              case “valor_1”:
                  //comandos
                  break;
              case “valor_2”:
                  //comandos
                  break;
              case “valor_n”:
                  //comandos
                  break;
              defaul:
              defaul
                  //comandos
           }

01/12/12                        Desenvolvimento Web I   25/53
Exemplo
   $i = 1;
   switch ($i)
   {
       case 0:
           echo “i é igual a 0”;
           break;
       case 1:
           echo “i é igual a 1”;
           break;
       case 2:
           echo “i é igual a 2”;
           break;
       default:
           echo “i é igual a 0, 1 ou 2”;
   }
01/12/12                      Desenvolvimento Web I   26/53
Exemplo
   switch ($i) {
   case 0:
   case 1:
   case 2:
     echo "número positivo menor que 3";
     break;
   case 3:
     echo "número igual a 3";
     break;
   default: echo 'número maior que 3';
   }
01/12/12            Desenvolvimento Web I   27/53
Exercício

    Faça um algoritmo que dado uma letra
    imprima se é ou não uma consoante.
    Ex.: localhost/letra.php?letra=“a”
    Resultado:
    'a' não é uma consoante




01/12/12             Desenvolvimento Web I   28/53
Exercício

    switch ($letra) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
      Echo " '$letra não' é uma consoante";
      break;
    default: echo " '$letra' é uma consoante";
    }
01/12/12            Desenvolvimento Web I        29/53
Estruturas de Repetição

    Qual o objetivo ?




01/12/12            Desenvolvimento Web I   30/53
Estruturas de Repetição

    Qual o objetivo ?
●   Fazer com que o computador repita um
    bloco de comandos enquanto uma
    determinada condição seja satisfeita




01/12/12            Desenvolvimento Web I   31/53
Estruturas de Repetição
           Início




                                    FALSE



                                             FIM
                TRUE



                    comandos




01/12/12             Desenvolvimento Web I         32/53
Repetição com teste no
             início
●   Repete um determinado bloco de comando
    0 ou mais vezes, enquanto uma
    determinada condição for é satisfeita




01/12/12          Desenvolvimento Web I   33/53
while


           while (expressão)
           {
             comandos
           }




01/12/12                Desenvolvimento Web I   34/53
Exemplo

           $a = 0;
           while ($a < 5)
           {
             echo “$a <br />”;
             $a++;
           }



01/12/12                 Desenvolvimento Web I   35/53
Exemplo

           $a = 0;                               Resultado:
           while ($a < 5)
           {
             echo “$a <br />”;
             $a++;
           }



01/12/12                 Desenvolvimento Web I                36/53
Repetição com teste no
             final
●   Semelhante ao anterior difere apenas na
    posição do teste, que é feito no final




01/12/12           Desenvolvimento Web I      37/53
do … while

           do
           {
             comandos
           }
           while(teste)




01/12/12                  Desenvolvimento Web I   38/53
Exemplo

           $a = 5;
           do
           {
             echo “a = $a <br /> vou repeti”;
             --$a;
           }while($a>0)



01/12/12                  Desenvolvimento Web I   39/53
Exemplo
  $a = 5;
  do
  {
    echo “a = $a <br /> vou repeti”;
    --$a;
                                Resultado:
  }while($a>0)




01/12/12            Desenvolvimento Web I    40/53
Repetição com variável
          de controle
●   Usada quando sabemos previamente o
    número de repetições que precisam ser
    executadas
●   O número de repetições é determinado por
    uma variável de controle




01/12/12           Desenvolvimento Web I    41/53
for
  for(expressão1; expressão2; expressão3)
  {
    comandos
  }




01/12/12         Desenvolvimento Web I   42/53
Exemplo
  for($i = 0; $i <= 5; $i++)
  {
    print “$i <br />”;
  }




01/12/12            Desenvolvimento Web I   43/53
Exemplo
  for($i = 0; $i <= 5; $i++)
  {
    print “$i <br />”;
  }
                                            Resultado:




01/12/12            Desenvolvimento Web I                44/53
Exercício

●   Dado um número, elabore um script que
    imprima a tabuada de 0 até 10 do número
    dado.
    Ex.: localhost/tabuada.php?n=3




01/12/12           Desenvolvimento Web I      45/53
Exercício

    Ex.: localhost/tabuada.php?n=3

   for($i=0;$i<=10;$i++)
   {
     echo "$n x $i = ".$n*$i."<br />";
   }




01/12/12            Desenvolvimento Web I   46/53
Exercício

    Faça um script que imprima os n primeiros
    números da sequência de Fibonacci.
    Ex.: localhost/fib.php?n=7
    0112358




01/12/12            Desenvolvimento Web I   47/53
Exercício

           $n0=0;
           $n1=1;
           echo "$n0 - ";
           echo "$n1 - ";
           for($i=2; $i<$p; $i++)
           {
              $n = $n0+$n1;
              echo "$n - ";
              $n0=$n1;
              $n1=$n;
           }
01/12/12                    Desenvolvimento Web I   48/53
Exercício

    Escreva um script que imprima a sequencia:
     *
     **
     ***
     ****
     *****

01/12/12           Desenvolvimento Web I    49/53
Exercício

           $a='*';
           for($i=0;$i<5;$i++)
           {
             echo "$a<br />";
             $a.='*';
           }

01/12/12           Desenvolvimento Web I   50/53
Exercício

    Faça um algoritmo que imprima a
    sequência:
     o00o00o00o00o00o00o00o00o00o00o00o




01/12/12           Desenvolvimento Web I   51/53
Exercício

           $j=22;
           for($i=0;$i<$j;$i++)
           {
              if($i%3==0)
                 echo "o";
              else
                 echo '0';
           }

01/12/12         Desenvolvimento Web I   52/53
Obrigado !




01/12/12        Desenvolvimento Web I   53/53

Mais conteúdo relacionado

DOCX
Tutorial Java: Herança
PDF
Heranca reescrita e_polimorfismo
PDF
Boas Práticas em jQuery
PDF
Aprender Javascript e jQuery (UFCD
PDF
Java script aula 10 - angularjs
PDF
Desligar pc
ODT
Lista Exercicios 03
Tutorial Java: Herança
Heranca reescrita e_polimorfismo
Boas Práticas em jQuery
Aprender Javascript e jQuery (UFCD
Java script aula 10 - angularjs
Desligar pc
Lista Exercicios 03
Anúncio

Php03

  • 1. Desenvolvimento Web I Aula 03 Instrutor: José Fernando Santana Andrade fernando.amdrade@gmail.com
  • 2. Estrutura de controle sequencial Início comando 1 comando 2 comando 3 Fim comando n 01/12/12 Desenvolvimento Web I 2/53
  • 3. Estruturas de controle condicional Para que usar ? 01/12/12 Desenvolvimento Web I 3/53
  • 4. Estruturas de controle condicional Para que usar ? ● Usamos para codificar uma tomada de decisão ● Utilizamos uma expressão lógica para decidir por qual fluxo de execução o programa deve seguir 01/12/12 Desenvolvimento Web I 4/53
  • 5. Estruturas de controle condicional 01/12/12 Desenvolvimento Web I 5/53
  • 6. Estrutura Condicional Simples ● Introduz um desvio condicional, ou seja, um desvio na execução natural do programa ● Útil quando necessita-se de duas opções de fluxo para serem seguidas com base no resultado do teste lógico – Verdadeiro – Falso 01/12/12 Desenvolvimento Web I 6/53
  • 7. Estrutura Condicional Simples SE (teste) ENTÃO { comandos … } CASO CONTRÁRIO { comandos … } 01/12/12 Desenvolvimento Web I 7/53
  • 8. Fluxo do Comando if início Comando IF fim [TRUE] [FALSE] Comando ELSE 01/12/12 Desenvolvimento Web I 8/53
  • 9. if … else if (teste) { Comandos se teste é verdadeira } else { Comandos se teste é falsa } 01/12/12 Desenvolvimento Web I 9/53
  • 10. Exemplo $a = 1; if ($a==5) { echo “é igual”; } else { echo “não é igual”; } 01/12/12 Desenvolvimento Web I 10/53
  • 11. Estrutura Condicional Aninhada ● Utilizamos quando necessitamos realizar testes encadeados ● O fluxo de execução irá depender de um ou mais testes lógicos 01/12/12 Desenvolvimento Web I 11/53
  • 12. Exemplo $salario =1020; $tempo_servico =12; $tem_reclamacoes =false; if($salario > 1000) { if($tempo_servico >= 12) { if($tem_reclamacoes != true) { echo 'parabéns, você foi promovido'; } } } 01/12/12 Desenvolvimento Web I 12/53
  • 13. Exercício Refaça o código utilizando apenas uma estrutura IF 01/12/12 Desenvolvimento Web I 13/53
  • 14. Exercício Refaça o código utilizando apenas uma estrutura IF $salario =1020; $tempo_servico =12; $tem_reclamacoes =false; if(($salario > 1000) && ($tempo_servico >= 12) and ($tem_reclamacoes != true)) { echo “parabéns, você foi promovido <br />”; } 01/12/12 Desenvolvimento Web I 14/53
  • 15. Exercício ● Dado um número, imprima se ele é par ou ímpar 01/12/12 Desenvolvimento Web I 15/53
  • 16. Exercício ● Dado um número, imprima se ele é par ou ímpar if($a%2==0) echo "$a é par"; else echo "$a é ímpar"; 01/12/12 Desenvolvimento Web I 16/53
  • 17. …?…:… $valor = 1001; if($valor > 1000) { $resultado = 'muito caro'; } else { $resultado = 'pode comprar'; } echo $resultado; 01/12/12 Desenvolvimento Web I 17/53
  • 18. …?…:… $valor = 1001; $resultado = ($valor > 1000) ? 'muito caro' : 'pode comprar'; echo $resultado; 01/12/12 Desenvolvimento Web I 18/53
  • 19. …?…:… $valor = 1001; $resultado = ($valor > 1000) ? 'muito caro' : 'pode comprar'; echo $resultado; A primeira expressão é a condição a ser avaliada A segunda é o valor caso verdadeiro A terceira é o valor caso seja falsa teste ? true : false 01/12/12 Desenvolvimento Web I 19/53
  • 20. Exercício a) Elabore um script que receba 2 números e imprima qual é o maior e qual é o menor. b) Dados 3 números, faça um scritp que imprima em ordem crescente e depois em ordem decrescente os 3 números. 01/12/12 Desenvolvimento Web I 20/53
  • 21. Exercício a $a = $_GET['a']; $b = $_GET['b']; $maior = $a>$b ? $a : $b; $menor = $a<$b ? $a : $b; echo “O maior é $maior”; echo “O menor é $menor”; 01/12/12 Desenvolvimento Web I 21/53
  • 22. Exercício b $n = $_GET['n']; $m = $_GET['m']; $o = $_GET['o']; $menor = ($n<$m and $n<$o)?$n:(($m<$n and $m<$o)? $m: $o); $maior = ($n>$m and $n>$o)?$n:(($m>$n and $m>$o)? $m: $o); $meio = ($n!=$menor && $n!=$maior)? $n: (($m!=$menor && $m!=$maior)? $m: $o); echo 'Em ordem crescente </br>'; echo 'O menor é '.$menor; echo ' ,o do meio é '.$meio; echo ' e o maior é '.$maior; echo '</br> Em ordem decrescente </br>'; echo 'O maior é '.$maior; echo ' ,o do meio é '.$meio; echo ' e o menor é '.$menor; 01/12/12 Desenvolvimento Web I 22/53
  • 23. Estrutura de Múltipla Escolha ● Aplicadas para os casos em que a avaliação da expressão de testes, tem mais de dois valores possíveis como resultado 01/12/12 Desenvolvimento Web I 23/53
  • 24. Estrutura de Múltipla Escolha TRUE caso comandos FALSE TRUE comandos FIM caso FALSE TRUE comandos caso FALSE default 01/12/12 Desenvolvimento Web I 24/53
  • 25. switch switch ($valor) { case “valor_1”: //comandos break; case “valor_2”: //comandos break; case “valor_n”: //comandos break; defaul: defaul //comandos } 01/12/12 Desenvolvimento Web I 25/53
  • 26. Exemplo $i = 1; switch ($i) { case 0: echo “i é igual a 0”; break; case 1: echo “i é igual a 1”; break; case 2: echo “i é igual a 2”; break; default: echo “i é igual a 0, 1 ou 2”; } 01/12/12 Desenvolvimento Web I 26/53
  • 27. Exemplo switch ($i) { case 0: case 1: case 2: echo "número positivo menor que 3"; break; case 3: echo "número igual a 3"; break; default: echo 'número maior que 3'; } 01/12/12 Desenvolvimento Web I 27/53
  • 28. Exercício Faça um algoritmo que dado uma letra imprima se é ou não uma consoante. Ex.: localhost/letra.php?letra=“a” Resultado: 'a' não é uma consoante 01/12/12 Desenvolvimento Web I 28/53
  • 29. Exercício switch ($letra) { case 'a': case 'e': case 'i': case 'o': case 'u': Echo " '$letra não' é uma consoante"; break; default: echo " '$letra' é uma consoante"; } 01/12/12 Desenvolvimento Web I 29/53
  • 30. Estruturas de Repetição Qual o objetivo ? 01/12/12 Desenvolvimento Web I 30/53
  • 31. Estruturas de Repetição Qual o objetivo ? ● Fazer com que o computador repita um bloco de comandos enquanto uma determinada condição seja satisfeita 01/12/12 Desenvolvimento Web I 31/53
  • 32. Estruturas de Repetição Início FALSE FIM TRUE comandos 01/12/12 Desenvolvimento Web I 32/53
  • 33. Repetição com teste no início ● Repete um determinado bloco de comando 0 ou mais vezes, enquanto uma determinada condição for é satisfeita 01/12/12 Desenvolvimento Web I 33/53
  • 34. while while (expressão) { comandos } 01/12/12 Desenvolvimento Web I 34/53
  • 35. Exemplo $a = 0; while ($a < 5) { echo “$a <br />”; $a++; } 01/12/12 Desenvolvimento Web I 35/53
  • 36. Exemplo $a = 0; Resultado: while ($a < 5) { echo “$a <br />”; $a++; } 01/12/12 Desenvolvimento Web I 36/53
  • 37. Repetição com teste no final ● Semelhante ao anterior difere apenas na posição do teste, que é feito no final 01/12/12 Desenvolvimento Web I 37/53
  • 38. do … while do { comandos } while(teste) 01/12/12 Desenvolvimento Web I 38/53
  • 39. Exemplo $a = 5; do { echo “a = $a <br /> vou repeti”; --$a; }while($a>0) 01/12/12 Desenvolvimento Web I 39/53
  • 40. Exemplo $a = 5; do { echo “a = $a <br /> vou repeti”; --$a; Resultado: }while($a>0) 01/12/12 Desenvolvimento Web I 40/53
  • 41. Repetição com variável de controle ● Usada quando sabemos previamente o número de repetições que precisam ser executadas ● O número de repetições é determinado por uma variável de controle 01/12/12 Desenvolvimento Web I 41/53
  • 42. for for(expressão1; expressão2; expressão3) { comandos } 01/12/12 Desenvolvimento Web I 42/53
  • 43. Exemplo for($i = 0; $i <= 5; $i++) { print “$i <br />”; } 01/12/12 Desenvolvimento Web I 43/53
  • 44. Exemplo for($i = 0; $i <= 5; $i++) { print “$i <br />”; } Resultado: 01/12/12 Desenvolvimento Web I 44/53
  • 45. Exercício ● Dado um número, elabore um script que imprima a tabuada de 0 até 10 do número dado. Ex.: localhost/tabuada.php?n=3 01/12/12 Desenvolvimento Web I 45/53
  • 46. Exercício Ex.: localhost/tabuada.php?n=3 for($i=0;$i<=10;$i++) { echo "$n x $i = ".$n*$i."<br />"; } 01/12/12 Desenvolvimento Web I 46/53
  • 47. Exercício Faça um script que imprima os n primeiros números da sequência de Fibonacci. Ex.: localhost/fib.php?n=7 0112358 01/12/12 Desenvolvimento Web I 47/53
  • 48. Exercício $n0=0; $n1=1; echo "$n0 - "; echo "$n1 - "; for($i=2; $i<$p; $i++) { $n = $n0+$n1; echo "$n - "; $n0=$n1; $n1=$n; } 01/12/12 Desenvolvimento Web I 48/53
  • 49. Exercício Escreva um script que imprima a sequencia: * ** *** **** ***** 01/12/12 Desenvolvimento Web I 49/53
  • 50. Exercício $a='*'; for($i=0;$i<5;$i++) { echo "$a<br />"; $a.='*'; } 01/12/12 Desenvolvimento Web I 50/53
  • 51. Exercício Faça um algoritmo que imprima a sequência: o00o00o00o00o00o00o00o00o00o00o00o 01/12/12 Desenvolvimento Web I 51/53
  • 52. Exercício $j=22; for($i=0;$i<$j;$i++) { if($i%3==0) echo "o"; else echo '0'; } 01/12/12 Desenvolvimento Web I 52/53
  • 53. Obrigado ! 01/12/12 Desenvolvimento Web I 53/53