Php03
-
Upload
fernando-andrade -
Category
Documents
-
view
131 -
download
15
Transcript of Php03
01/12/12 Desenvolvimento Web I 2/53
Estrutura de controle sequencial
comando 1
comando 2
comando n
comando 3
Início
Fim
01/12/12 Desenvolvimento Web I 3/53
Estruturas de controle condicional
Para que usar ?
01/12/12 Desenvolvimento Web I 4/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 5/53
Estruturas de controle condicional
01/12/12 Desenvolvimento Web I 6/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 7/53
Estrutura Condicional Simples
SE (teste) ENTÃO {
comandos … }CASO CONTRÁRIO{
comandos … }
01/12/12 Desenvolvimento Web I 8/53
Fluxo do Comando if
Comando IF
Comando ELSE
[TRUE]
[FALSE]
início
fim
01/12/12 Desenvolvimento Web I 9/53
if … else
if (teste) {
Comandos se teste é verdadeira }else{
Comandos se teste é falsa }
01/12/12 Desenvolvimento Web I 10/53
Exemplo
$a = 1;ifif ($a==5) {
echo “é igual”;}elseelse{
echo “não é igual”;}
01/12/12 Desenvolvimento Web I 11/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 12/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 13/53
Exercício
Refaça o código utilizando apenas uma estrutura IF
01/12/12 Desenvolvimento Web I 14/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 15/53
Exercício
● Dado um número, imprima se ele é par ou ímpar
01/12/12 Desenvolvimento Web I 16/53
Exercício
● Dado um número, imprima se ele é par ou ímpar
if($a%2==0)echo "$a é par";
elseecho "$a é ímpar";
01/12/12 Desenvolvimento Web I 17/53
… ? … : …
$valor = 1001;if($valor > 1000){
$resultado = 'muito caro';}else{
$resultado = 'pode comprar';}echo $resultado;
01/12/12 Desenvolvimento Web I 18/53
… ? … : …
$valor = 1001;$resultado = ($valor > 1000) ?? 'muito caro' :: 'pode comprar';echo $resultado;
01/12/12 Desenvolvimento Web I 19/53
… ? … : …
$valor = 1001;$resultado = ($valor > 1000) ? 'muito caro' : 'pode comprar';echo $resultado;
A primeira expressão é a condição a ser avaliadaA segunda é o valor caso verdadeiroA terceira é o valor caso seja falsa
teste ? true : falseteste ? true : false
01/12/12 Desenvolvimento Web I 20/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 21/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 22/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 23/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 24/53
Estrutura de Múltipla Escolha
comandos
default
comandos
comandos
caso
caso
caso
TRUE
TRUE
TRUE
FALSE
FALSE
FALSE
FIM
01/12/12 Desenvolvimento Web I 25/53
switch
switchswitch ($valor){
casecase “valor_1”://comandosbreak;
casecase “valor_2”://comandosbreak;
casecase “valor_n”://comandosbreak;
defauldefaul://comandos
}
01/12/12 Desenvolvimento Web I 26/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 27/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 28/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 29/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 30/53
Estruturas de Repetição
Qual o objetivo ?
01/12/12 Desenvolvimento Web I 31/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 32/53
Estruturas de Repetição
comandos
TRUE
FALSE
FIM
Início
01/12/12 Desenvolvimento Web I 33/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 34/53
while
while (expressão){
comandos}
01/12/12 Desenvolvimento Web I 35/53
Exemplo
$a = 0;while ($a < 5){
echo “$a <br />”;$a++;
}
01/12/12 Desenvolvimento Web I 36/53
Exemplo
$a = 0;while ($a < 5){
echo “$a <br />”;$a++;
}
Resultado:
01/12/12 Desenvolvimento Web I 37/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 38/53
do … while
do{
comandos}while(teste)
01/12/12 Desenvolvimento Web I 39/53
Exemplo
$a = 5;do{
echo “a = $a <br /> vou repeti”;--$a;
}while($a>0)
01/12/12 Desenvolvimento Web I 40/53
Exemplo
$a = 5;do{
echo “a = $a <br /> vou repeti”;--$a;
}while($a>0) Resultado:
01/12/12 Desenvolvimento Web I 41/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 42/53
for
for(expressão1; expressão2; expressão3){
comandos}
01/12/12 Desenvolvimento Web I 43/53
Exemplo
for($i = 0; $i <= 5; $i++){
print “$i <br />”;}
01/12/12 Desenvolvimento Web I 44/53
Exemplo
for($i = 0; $i <= 5; $i++){
print “$i <br />”;}
Resultado:
01/12/12 Desenvolvimento Web I 45/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 46/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 47/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
0 1 1 2 3 5 8
01/12/12 Desenvolvimento Web I 48/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 49/53
Exercício
Escreva um script que imprima a sequencia:
***************
01/12/12 Desenvolvimento Web I 50/53
Exercício
$a='*';for($i=0;$i<5;$i++){
echo "$a<br />";$a.='*';
}
01/12/12 Desenvolvimento Web I 51/53
Exercício
Faça um algoritmo que imprima a sequência:
o00o00o00o00o00o00o00o00o00o00o00o
01/12/12 Desenvolvimento Web I 52/53
Exercício
$j=22;for($i=0;$i<$j;$i++){
if($i%3==0)echo "o";
elseecho '0';
}
01/12/12 Desenvolvimento Web I 53/53
Obrigado !