SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Bacharel em Ciência da Computação (UFG)
Especializando em Engenharia de Software
Analista de Sistemas – SIGMA / MDIC
Professor Formador EAD – NEAD/ETEB
george@georgemendonca.com.br
http://www.georgemendonca.com.br
Estruturas
de
Controle
• Condicionais
– São estruturas capazes de decidir o fluxo de execução de
um script.
– Tal decisão é definida de acordo com o resultado de uma
expressão lógica fornecida.
– A estrutura mais simples é o comando if.
Estruturas de Controle
13/02/2011 2
• Condicionais
– Condicional if
Estruturas de Controle
13/02/2011 3
Início
Condicional
?
Fim
Bloco comandos
sim
não
Algoritmo:
Se expressão verdadeira,
executa bloco de comandos,
caso contrário o fluxo segue
imediatamente na próxima
linha.
if(condição) {
bloco-de-comandos
}
PHP:
<?php
$n1 = 5;
$n2 = 2;
if ($n1 > $n2) {
echo "$n1 > $n2";
}
• Condicionais
– Condicional else
Estruturas de Controle
13/02/2011 4
Início
Condicional
?
Fim
Comandos 2
nãosim
Comandos 1
Algoritmo:
… se a condição lógica dor falsa, o
fluxo é direcionado para outro bloco de
comandos.
if(condição) {
bloco-de-comandos 1
}
else {
bloco-de-comandos 2
}
PHP:
<?php
$n1 = 5;
$n2 = 2;
if ($n1 > $n2) {
echo "$n1 > $n2";
}
else {
echo "$n1 <= $n2";
}
• Condicionais
– Aninhamento de comandos if else
Estruturas de Controle
13/02/2011 5
<?php
$n1 = 5;
$n2 = 2;
if ($n1 >= $n2) {
if($n1 == $n2) {
echo "$n1 = $n2";
}
else {
echo "$n1 > $n2";
}
}
else {
echo "$n1 < $n2";
}
• Condicionais
– if inline
• É uma forma alternativa de implementação da estrutura
condicional if
Estruturas de Controle
13/02/2011 6
Algoritmo:
Nessa estrutura utilizamos 3 partes bácisas:
(expressão) ? (Comandos 1) : (Comandos 2);
A B C
Se A for verdadeiro, executa B, senão executa C.
O resultado pode ser recebido por uma variável:
variável = (expressão) ? (Comandos 1) : (Comandos 2);
Que tal implementarmos os três exemplos de if nessa estrutura? Mãos a
obra!
• Condicionais
– Condicional switch
Estruturas de Controle
13/02/2011 7
Início
Caso 1?
Fim
Comandos 1
não
sim
Caso 2?
Caso N?
Caso i?
não
não
não
Comandos 2
Comandos i
Comandos N
sim
sim
sim
Alternativa padrão
Algoritmo:
Equivale a uma sequência de
comandos if. Caso a expressão
disponibilizada atenda a condição
1, executa o bloco de comandos 1 e
finaliza. Caso contrário o fluxo
segue imediatamente na próxima
linha. E repete o processo
sucessivamente até que uma condição
seja verdadeira ou vá para a
alternativa padrão e finaliza.
• Condicionais
– Condicional switch
Estruturas de Controle
13/02/2011 8
Algoritmo:
switch(condição) {
case ‘caso 1’:
Comandos 1;
break;
case ‘caso 2’:
Comandos 2;
break;
case ‘caso i’:
Comandos i;
break;
case ‘caso N’:
Comandos N;
break;
default:
Alternativa padrão;
break;
}
Início
Caso 1?
Fim
Comandos 1
não
sim
Caso 2?
Caso N?
Caso i?
não
não
não
Comandos 2
Comandos i
Comandos N
sim
sim
sim
Alternativa padrão
• Condicionais
– Condicional switch
Estruturas de Controle
13/02/2011 9
<?php
$nota = 5;
switch ($nota) {
case ($nota >= 7):
echo 'Aprovado!';;
break;
case (($nota>=5) and ($nota< 7)):
echo 'Recuperação!';
break;
case ($nota < 5):
echo 'Reprovado!';
break;
default:
echo 'Nota inválida';
break;
}
Início
Caso 1?
Fim
Comandos 1
não
sim
Caso 2?
Caso N?
Caso i?
não
não
não
Comandos 2
Comandos i
Comandos N
sim
sim
sim
Alternativa padrão
• Repetição
– Estruturas de repetição, assim como as condicionais,
mudam o fluxo da execução do código.
– Porém, possibilitam a execução de um bloco de comandos
em um certo número de vezes, também condicional.
– O bloco de comandos é repetido até que uma condição
lógica seja satisfeita.
Estruturas de Controle
13/02/2011 10
• Repetição
– Estrutura while
Estruturas de Controle
13/02/2011 11
Início
Condicional
?
Fim
Comandos
não
sim
Algoritmo:
Enquanto a expressão lógica for
verdadeira o bloco de comandos
sofrerá uma repetição contínua,
até que a expressão seja falsa, e
a fluxo é finalizado.
while(condição) {
bloco-de-comandos 1
}
• Repetição
– Estrutura while
Estruturas de Controle
13/02/2011 12
PHP:
<?php
$anoNascimento = 1979;
$contador = 0;
$idade = 31;
while($contador <= $idade) {
if($contador == $idade) {
echo "Em ".($anoNascimento+$contador)." eu tenho $contador ano(s).<br />";
}
else {
echo "Em ".($anoNascimento+$contador)." eu tinha $contador ano(s).<br />";
}
$contador++;
}
• Repetição
– Estrutura do while
Estruturas de Controle
13/02/2011 13
Início
Condicional
?
Fim
Comandos
não
sim
Algoritmo:
Semelhante a estrutura de repetição
while, porém a expressão lógica é
avaliada após a execução do bloco.
Ou seja, mesmo a expressão sendo
falsa, o bloco de comandos será
executado pelo menos uma vez.
do {
bloco-de-comandos 1
} while(condição);
• Repetição
– Estrutura do while
• Imprimindo números ímpares:
Estruturas de Controle
13/02/2011 14
Início
Condicional
?
Fim
Comandos
não
sim
<?php
$n = 50;
$impar = 1;
do {
if($n < 0){
echo "O número deve ser maior que zero!";
break;
}
else {
echo "$impar <br />";
$impar+=2;
}
} while ($impar <= $n );
• Repetição
– Estrutura for
Estruturas de Controle
13/02/2011 15
Início
Condicional
?
Fim
Inicia
contador
não
sim
Algoritmo:
Esta estrutura aceita uma lista de
três expressões separadas por ponto
e vírgula. É a estrutura Para de um
algoritmo:
for(inicia; condição; incremento){
bloco-de-comandos
}
Comandos
Incrementa
Contador
• Repetição
– Estrutura for
• Exemplo: imprimindo números pares:
– Todo número par tem o resto da divisão por 2 igual a zero!
Estruturas de Controle
13/02/2011 16
<?php
$n = 20;
echo 'Números pares de 0 a '.$n.':<br />';
for($i = 0; $i <= $n; $i++) {
if($i % 2 == 0) {
echo $i."<br />";
}
}
Saída:
Números pares de 0 a 20:
0
2
4
6
8
10
12
14
16
18
20
• Repetição
– Estrutura for
Estruturas de Controle
13/02/2011 17
<?php // Média aritmética simples
$notas = array(10, 10, 5, 5); // Rol
$n = count($notas); // N
$media = 7.5 ; // Média a ser atingida
$mediaFinal = 0; // Média final
$soma = 0; // Soma de N elementos
for($i = 0; $i < $n; $i++) {
$soma += $notas[$i];
if($i == $n-1) {
$mediaFinal = $soma/$n;
echo "Média final: ".$mediaFinal;
if ($mediaFinal >= $media) {
echo "<br /> Aprovado!";
}
else {
echo "<br /> Recuperação!";
}
}
}
Saída:
Média final: 7.5
Aprovado!
• Repetição
– Estrutura foreach
• Utilizado para leitura de arrays.
Estruturas de Controle
13/02/2011 18
<?php
$alunos = array(
'Evandro',
'Francisco',
'Ismael',
'Madson',
'Sérgio',
'Thaís'
);
echo 'Alunos do curso de PHP: <br />';
foreach ($alunos as $value) {
echo $value.'<br />';
}
Saída:
Alunos do curso de PHP:
Evandro
Francisco
Ismael
Madson
Sérgio
Thaís

Mais conteúdo relacionado

Mais procurados

Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1
Pacc UAB
 
Trabalho variaveis macroeconomicas
Trabalho variaveis macroeconomicasTrabalho variaveis macroeconomicas
Trabalho variaveis macroeconomicas
Lowrrayny Franchesca
 
4 aula 9 - 4 procura e oferta (meu)
4   aula 9 - 4 procura e oferta (meu)4   aula 9 - 4 procura e oferta (meu)
4 aula 9 - 4 procura e oferta (meu)
Jenny Fortes
 
A classe-dos-verbos
A classe-dos-verbosA classe-dos-verbos
A classe-dos-verbos
sapi
 
Estruturas de mercado
Estruturas de mercadoEstruturas de mercado
Estruturas de mercado
Eliz Evan
 
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANNCAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
Regis Andrade
 

Mais procurados (20)

Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1Aula 6 - Estruturas de seleção encadeada - parte 1
Aula 6 - Estruturas de seleção encadeada - parte 1
 
Trabalho variaveis macroeconomicas
Trabalho variaveis macroeconomicasTrabalho variaveis macroeconomicas
Trabalho variaveis macroeconomicas
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
Aula De Inflação
Aula De InflaçãoAula De Inflação
Aula De Inflação
 
4 aula 9 - 4 procura e oferta (meu)
4   aula 9 - 4 procura e oferta (meu)4   aula 9 - 4 procura e oferta (meu)
4 aula 9 - 4 procura e oferta (meu)
 
Aula 15e 16 econmiainternacional-capitulo1
Aula 15e 16  econmiainternacional-capitulo1Aula 15e 16  econmiainternacional-capitulo1
Aula 15e 16 econmiainternacional-capitulo1
 
Aula 6 monopólio
Aula 6   monopólioAula 6   monopólio
Aula 6 monopólio
 
Aula 1- Analise de Investimento
Aula 1- Analise de InvestimentoAula 1- Analise de Investimento
Aula 1- Analise de Investimento
 
Demanda E Oferta De Moeda
Demanda E Oferta De MoedaDemanda E Oferta De Moeda
Demanda E Oferta De Moeda
 
Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Orçamento
OrçamentoOrçamento
Orçamento
 
políticas monetária, fiscal, cambial e de rendas
políticas monetária, fiscal, cambial e de rendaspolíticas monetária, fiscal, cambial e de rendas
políticas monetária, fiscal, cambial e de rendas
 
A classe-dos-verbos
A classe-dos-verbosA classe-dos-verbos
A classe-dos-verbos
 
Lógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de SeleçãoLógica de Programação - Estruturas de Seleção
Lógica de Programação - Estruturas de Seleção
 
Processos de formação de preços
Processos de formação de preçosProcessos de formação de preços
Processos de formação de preços
 
Estruturas de mercado
Estruturas de mercadoEstruturas de mercado
Estruturas de mercado
 
Programação dinâmica parte 1
Programação dinâmica   parte 1Programação dinâmica   parte 1
Programação dinâmica parte 1
 
Mercado
MercadoMercado
Mercado
 
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANNCAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
CAP9 - PARTE 3 - CORRELAÇÃO DE SPEARMANN
 
04 Introdução à Microeconomia
04   Introdução à Microeconomia04   Introdução à Microeconomia
04 Introdução à Microeconomia
 

Destaque

Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
Sérgio Vilar
 
Códigos da Aula3
Códigos da Aula3Códigos da Aula3
Códigos da Aula3
softeam
 
Acessardados Aula7
Acessardados Aula7Acessardados Aula7
Acessardados Aula7
softeam
 
Exemplos Aula2
Exemplos Aula2Exemplos Aula2
Exemplos Aula2
softeam
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
softeam
 
Exemplos Aula4
Exemplos Aula4Exemplos Aula4
Exemplos Aula4
softeam
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHP
Dalton Martins
 

Destaque (20)

O que esperar do Zend Framework 2
O que esperar do Zend Framework 2O que esperar do Zend Framework 2
O que esperar do Zend Framework 2
 
PHP- Introduction to Object Oriented PHP
PHP-  Introduction to Object Oriented PHPPHP-  Introduction to Object Oriented PHP
PHP- Introduction to Object Oriented PHP
 
SQL Devlopment for 10 ppt
SQL Devlopment for 10 pptSQL Devlopment for 10 ppt
SQL Devlopment for 10 ppt
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Workshop: WebSockets com HTML 5 & PHP - Gustavo Ciello
Workshop: WebSockets com HTML 5 & PHP - Gustavo CielloWorkshop: WebSockets com HTML 5 & PHP - Gustavo Ciello
Workshop: WebSockets com HTML 5 & PHP - Gustavo Ciello
 
Aula 4 - Estruturas condicionais
Aula 4 - Estruturas condicionaisAula 4 - Estruturas condicionais
Aula 4 - Estruturas condicionais
 
Códigos da Aula3
Códigos da Aula3Códigos da Aula3
Códigos da Aula3
 
Acessardados Aula7
Acessardados Aula7Acessardados Aula7
Acessardados Aula7
 
Exemplos Aula2
Exemplos Aula2Exemplos Aula2
Exemplos Aula2
 
Curso programação web em PHP
Curso programação web em PHPCurso programação web em PHP
Curso programação web em PHP
 
Planode Aula
Planode AulaPlanode Aula
Planode Aula
 
SOCIAL RESPONSIBILITY AND SUSTAINABILITY: A STUDY ON THE PROJECT MANAGEMENT A...
SOCIAL RESPONSIBILITY AND SUSTAINABILITY: A STUDY ON THE PROJECT MANAGEMENT A...SOCIAL RESPONSIBILITY AND SUSTAINABILITY: A STUDY ON THE PROJECT MANAGEMENT A...
SOCIAL RESPONSIBILITY AND SUSTAINABILITY: A STUDY ON THE PROJECT MANAGEMENT A...
 
Exemplos Aula4
Exemplos Aula4Exemplos Aula4
Exemplos Aula4
 
Aula 01 - Programação Web - PHP
Aula 01  - Programação Web - PHPAula 01  - Programação Web - PHP
Aula 01 - Programação Web - PHP
 
Engenharia de Usabilidade
Engenharia de UsabilidadeEngenharia de Usabilidade
Engenharia de Usabilidade
 
Estrutura de controle if else
Estrutura de controle if elseEstrutura de controle if else
Estrutura de controle if else
 
Impacto da Governança de TI
Impacto da Governança de TIImpacto da Governança de TI
Impacto da Governança de TI
 
Javascript (parte 2)
Javascript (parte 2)Javascript (parte 2)
Javascript (parte 2)
 

Semelhante a PHP 5.3 - Estruturas de Controle

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
 
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 - 2
Adriano Teixeira de Souza
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
EvelyneBorges
 

Semelhante a PHP 5.3 - Estruturas de Controle (20)

2 controle fluxo
2 controle fluxo2 controle fluxo
2 controle fluxo
 
EstrutControleC.pdf
EstrutControleC.pdfEstrutControleC.pdf
EstrutControleC.pdf
 
Aula3
Aula3Aula3
Aula3
 
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)
 
Instrucoes_Algoritmicas.pptx
Instrucoes_Algoritmicas.pptxInstrucoes_Algoritmicas.pptx
Instrucoes_Algoritmicas.pptx
 
Aula02
Aula02Aula02
Aula02
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Cap08
Cap08Cap08
Cap08
 
Cap08
Cap08Cap08
Cap08
 
Aula7 algoritmos computacionais
Aula7 algoritmos computacionaisAula7 algoritmos computacionais
Aula7 algoritmos computacionais
 
ptt
pttptt
ptt
 
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
 
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...
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo
 
04 comandos
04 comandos04 comandos
04 comandos
 
Shell Script - Aula 04
Shell Script - Aula 04Shell Script - Aula 04
Shell Script - Aula 04
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdf
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 

Mais de George Mendonça

Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
George Mendonça
 

Mais de George Mendonça (20)

Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016Iniciando na Programação com Python - FLISOL Paracatu 2016
Iniciando na Programação com Python - FLISOL Paracatu 2016
 
Orientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSLOrientação a Objetos com Python e UML - XIII FGSL
Orientação a Objetos com Python e UML - XIII FGSL
 
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
Python - Orientação a Objetos com UML no Batismo Digital 3.0 da Faculdade JK ...
 
Software livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboraçãoSoftware livre, história, paradigmas, comunidade e colaboração
Software livre, história, paradigmas, comunidade e colaboração
 
Criando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio AcadêmicoCriando Projetos de Software Livre no meio Acadêmico
Criando Projetos de Software Livre no meio Acadêmico
 
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
WordPress para Desenvolvedores - Utilizando WP como framework de desenvolvime...
 
Confirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse LunaConfirurando Dababase Development no Eclipse Luna
Confirurando Dababase Development no Eclipse Luna
 
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundoDominando o WordPress - A plataforma de sites e blogs mais popular do mundo
Dominando o WordPress - A plataforma de sites e blogs mais popular do mundo
 
Libre Office Magazine Edição 11
Libre Office Magazine Edição 11Libre Office Magazine Edição 11
Libre Office Magazine Edição 11
 
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSLDesenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
Desenvolvendo Um Projeto de um Portal Responsivo com WordPress - 10° FGSL
 
Codando com PHP e JQuery
Codando com PHP e JQueryCodando com PHP e JQuery
Codando com PHP e JQuery
 
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software LivreQuebrando Paradigmas e Conhecendo o Movimento Software Livre
Quebrando Paradigmas e Conhecendo o Movimento Software Livre
 
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas LivresDiscutindo Governança e Gestão de Projetos com Ferramentas Livres
Discutindo Governança e Gestão de Projetos com Ferramentas Livres
 
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPressDesenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
Desenvolvendo Um Projeto de Um Portal Responsivo Com WordPress
 
Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013Oficina de PHP - Software Freedom Day Luziânia 2013
Oficina de PHP - Software Freedom Day Luziânia 2013
 
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
Free Software in the Cloud - Deixe as Nuvens facilitar a sua vida com Softwar...
 
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
Palestra Batismo Digital como uma Ferramenta Social no Ensino de Software Liv...
 
FGSL - Batismo Digital
FGSL - Batismo DigitalFGSL - Batismo Digital
FGSL - Batismo Digital
 
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da IgrejaEvangelismo e Missões - Elucidando o papel do cristão e da Igreja
Evangelismo e Missões - Elucidando o papel do cristão e da Igreja
 
Curriculum - George Mendonça
Curriculum - George MendonçaCurriculum - George Mendonça
Curriculum - George Mendonça
 

Último

Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 

Último (20)

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.
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
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
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 

PHP 5.3 - Estruturas de Controle

  • 1. Bacharel em Ciência da Computação (UFG) Especializando em Engenharia de Software Analista de Sistemas – SIGMA / MDIC Professor Formador EAD – NEAD/ETEB george@georgemendonca.com.br http://www.georgemendonca.com.br Estruturas de Controle
  • 2. • Condicionais – São estruturas capazes de decidir o fluxo de execução de um script. – Tal decisão é definida de acordo com o resultado de uma expressão lógica fornecida. – A estrutura mais simples é o comando if. Estruturas de Controle 13/02/2011 2
  • 3. • Condicionais – Condicional if Estruturas de Controle 13/02/2011 3 Início Condicional ? Fim Bloco comandos sim não Algoritmo: Se expressão verdadeira, executa bloco de comandos, caso contrário o fluxo segue imediatamente na próxima linha. if(condição) { bloco-de-comandos } PHP: <?php $n1 = 5; $n2 = 2; if ($n1 > $n2) { echo "$n1 > $n2"; }
  • 4. • Condicionais – Condicional else Estruturas de Controle 13/02/2011 4 Início Condicional ? Fim Comandos 2 nãosim Comandos 1 Algoritmo: … se a condição lógica dor falsa, o fluxo é direcionado para outro bloco de comandos. if(condição) { bloco-de-comandos 1 } else { bloco-de-comandos 2 } PHP: <?php $n1 = 5; $n2 = 2; if ($n1 > $n2) { echo "$n1 > $n2"; } else { echo "$n1 <= $n2"; }
  • 5. • Condicionais – Aninhamento de comandos if else Estruturas de Controle 13/02/2011 5 <?php $n1 = 5; $n2 = 2; if ($n1 >= $n2) { if($n1 == $n2) { echo "$n1 = $n2"; } else { echo "$n1 > $n2"; } } else { echo "$n1 < $n2"; }
  • 6. • Condicionais – if inline • É uma forma alternativa de implementação da estrutura condicional if Estruturas de Controle 13/02/2011 6 Algoritmo: Nessa estrutura utilizamos 3 partes bácisas: (expressão) ? (Comandos 1) : (Comandos 2); A B C Se A for verdadeiro, executa B, senão executa C. O resultado pode ser recebido por uma variável: variável = (expressão) ? (Comandos 1) : (Comandos 2); Que tal implementarmos os três exemplos de if nessa estrutura? Mãos a obra!
  • 7. • Condicionais – Condicional switch Estruturas de Controle 13/02/2011 7 Início Caso 1? Fim Comandos 1 não sim Caso 2? Caso N? Caso i? não não não Comandos 2 Comandos i Comandos N sim sim sim Alternativa padrão Algoritmo: Equivale a uma sequência de comandos if. Caso a expressão disponibilizada atenda a condição 1, executa o bloco de comandos 1 e finaliza. Caso contrário o fluxo segue imediatamente na próxima linha. E repete o processo sucessivamente até que uma condição seja verdadeira ou vá para a alternativa padrão e finaliza.
  • 8. • Condicionais – Condicional switch Estruturas de Controle 13/02/2011 8 Algoritmo: switch(condição) { case ‘caso 1’: Comandos 1; break; case ‘caso 2’: Comandos 2; break; case ‘caso i’: Comandos i; break; case ‘caso N’: Comandos N; break; default: Alternativa padrão; break; } Início Caso 1? Fim Comandos 1 não sim Caso 2? Caso N? Caso i? não não não Comandos 2 Comandos i Comandos N sim sim sim Alternativa padrão
  • 9. • Condicionais – Condicional switch Estruturas de Controle 13/02/2011 9 <?php $nota = 5; switch ($nota) { case ($nota >= 7): echo 'Aprovado!';; break; case (($nota>=5) and ($nota< 7)): echo 'Recuperação!'; break; case ($nota < 5): echo 'Reprovado!'; break; default: echo 'Nota inválida'; break; } Início Caso 1? Fim Comandos 1 não sim Caso 2? Caso N? Caso i? não não não Comandos 2 Comandos i Comandos N sim sim sim Alternativa padrão
  • 10. • Repetição – Estruturas de repetição, assim como as condicionais, mudam o fluxo da execução do código. – Porém, possibilitam a execução de um bloco de comandos em um certo número de vezes, também condicional. – O bloco de comandos é repetido até que uma condição lógica seja satisfeita. Estruturas de Controle 13/02/2011 10
  • 11. • Repetição – Estrutura while Estruturas de Controle 13/02/2011 11 Início Condicional ? Fim Comandos não sim Algoritmo: Enquanto a expressão lógica for verdadeira o bloco de comandos sofrerá uma repetição contínua, até que a expressão seja falsa, e a fluxo é finalizado. while(condição) { bloco-de-comandos 1 }
  • 12. • Repetição – Estrutura while Estruturas de Controle 13/02/2011 12 PHP: <?php $anoNascimento = 1979; $contador = 0; $idade = 31; while($contador <= $idade) { if($contador == $idade) { echo "Em ".($anoNascimento+$contador)." eu tenho $contador ano(s).<br />"; } else { echo "Em ".($anoNascimento+$contador)." eu tinha $contador ano(s).<br />"; } $contador++; }
  • 13. • Repetição – Estrutura do while Estruturas de Controle 13/02/2011 13 Início Condicional ? Fim Comandos não sim Algoritmo: Semelhante a estrutura de repetição while, porém a expressão lógica é avaliada após a execução do bloco. Ou seja, mesmo a expressão sendo falsa, o bloco de comandos será executado pelo menos uma vez. do { bloco-de-comandos 1 } while(condição);
  • 14. • Repetição – Estrutura do while • Imprimindo números ímpares: Estruturas de Controle 13/02/2011 14 Início Condicional ? Fim Comandos não sim <?php $n = 50; $impar = 1; do { if($n < 0){ echo "O número deve ser maior que zero!"; break; } else { echo "$impar <br />"; $impar+=2; } } while ($impar <= $n );
  • 15. • Repetição – Estrutura for Estruturas de Controle 13/02/2011 15 Início Condicional ? Fim Inicia contador não sim Algoritmo: Esta estrutura aceita uma lista de três expressões separadas por ponto e vírgula. É a estrutura Para de um algoritmo: for(inicia; condição; incremento){ bloco-de-comandos } Comandos Incrementa Contador
  • 16. • Repetição – Estrutura for • Exemplo: imprimindo números pares: – Todo número par tem o resto da divisão por 2 igual a zero! Estruturas de Controle 13/02/2011 16 <?php $n = 20; echo 'Números pares de 0 a '.$n.':<br />'; for($i = 0; $i <= $n; $i++) { if($i % 2 == 0) { echo $i."<br />"; } } Saída: Números pares de 0 a 20: 0 2 4 6 8 10 12 14 16 18 20
  • 17. • Repetição – Estrutura for Estruturas de Controle 13/02/2011 17 <?php // Média aritmética simples $notas = array(10, 10, 5, 5); // Rol $n = count($notas); // N $media = 7.5 ; // Média a ser atingida $mediaFinal = 0; // Média final $soma = 0; // Soma de N elementos for($i = 0; $i < $n; $i++) { $soma += $notas[$i]; if($i == $n-1) { $mediaFinal = $soma/$n; echo "Média final: ".$mediaFinal; if ($mediaFinal >= $media) { echo "<br /> Aprovado!"; } else { echo "<br /> Recuperação!"; } } } Saída: Média final: 7.5 Aprovado!
  • 18. • Repetição – Estrutura foreach • Utilizado para leitura de arrays. Estruturas de Controle 13/02/2011 18 <?php $alunos = array( 'Evandro', 'Francisco', 'Ismael', 'Madson', 'Sérgio', 'Thaís' ); echo 'Alunos do curso de PHP: <br />'; foreach ($alunos as $value) { echo $value.'<br />'; } Saída: Alunos do curso de PHP: Evandro Francisco Ismael Madson Sérgio Thaís