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

Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
Faculdade Mater Christi
 
A.L Produção de Iogurte
A.L Produção de IogurteA.L Produção de Iogurte
A.L Produção de Iogurte
Biomap
 

Mais procurados (20)

Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Matrizes Pascal - programação
Matrizes Pascal - programaçãoMatrizes Pascal - programação
Matrizes Pascal - programação
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Análise de Algoritmos
Análise de AlgoritmosAnálise de Algoritmos
Análise de Algoritmos
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Algoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetiçãoAlgoritmos 05 - Estruturas de repetição
Algoritmos 05 - Estruturas de repetição
 
JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
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)
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Introdução ao Python
Introdução ao PythonIntrodução ao Python
Introdução ao Python
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
A.L Produção de Iogurte
A.L Produção de IogurteA.L Produção de Iogurte
A.L Produção de Iogurte
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 

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 1 estruturas de controlo (final)
Aula 1   estruturas de controlo (final)Aula 1   estruturas de controlo (final)
Aula 1 estruturas de controlo (final)
mestradopeci2012
 
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 1 estruturas de controlo (final)
Aula 1   estruturas de controlo (final)Aula 1   estruturas de controlo (final)
Aula 1 estruturas de controlo (final)
 
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
 

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

Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
sfwsoficial
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Pastor Robson Colaço
 
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
andreaLisboa7
 

Último (20)

HISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
HISTORIA DA XILOGRAVURA A SUA IMPORTANCIAHISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
HISTORIA DA XILOGRAVURA A SUA IMPORTANCIA
 
Sismologia_7ºano_causas e consequencias.pptx
Sismologia_7ºano_causas e consequencias.pptxSismologia_7ºano_causas e consequencias.pptx
Sismologia_7ºano_causas e consequencias.pptx
 
O que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditivaO que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditiva
 
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdfEnunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
Enunciado_da_Avaliacao_1__Direito_e_Legislacao_Social_(IL60174).pdf
 
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docxUnidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
 
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptxEB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
 
Campanha 18 de. Maio laranja dds.pptx
Campanha 18 de.    Maio laranja dds.pptxCampanha 18 de.    Maio laranja dds.pptx
Campanha 18 de. Maio laranja dds.pptx
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASMARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
"Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande""Nós Propomos! Escola Secundária em Pedrógão Grande"
"Nós Propomos! Escola Secundária em Pedrógão Grande"
 
Atividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdfAtividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdf
 
análise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdfanálise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdf
 
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdfManual dos Principio básicos do Relacionamento e sexologia humana .pdf
Manual dos Principio básicos do Relacionamento e sexologia humana .pdf
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdfHistoria-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
Historia-em-cartaz-Lucas-o-menino-que-aprendeu-a-comer-saudavel- (1).pdf
 
Conteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persaConteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persa
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 

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