OPERADORES E ESTRUTURAS DE CONTROLE



Documentos relacionados
JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Programação WEB I Estruturas de controle e repetição

2 echo "PHP e outros.";

Introdução a PHP (Estruturas de Controle)

CAPITULO 5 COMANDO DE FLUXO IF

Comandos Sequenciais if else, e Switch

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

9 Comandos condicionais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Arquitetura de Computadores. Tipos de Instruções

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Internet e Programação Web

Tutorial de Matlab Francesco Franco

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Programação Básica em Arduino Aula 2

Python Condicionais e Loops. Introdução à Programação SI1

APOSTILA PHP PARTE 1

Algoritmos em Javascript

ESTRUTURA CONDICIONAL

Javascript 101. Parte 2

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Algoritmos com VisuAlg

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Introdução a Algoritmos Parte 04

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Aluísio Eustáquio da Silva

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ULA Sinais de Controle enviados pela UC

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Dadas a base e a altura de um triangulo, determinar sua área.

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Prof Evandro Manara Miletto. parte 2

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

Arquitetura de Rede de Computadores

Utilizem a classe Aula.java da aula passada:

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Organização e Arquitetura de Computadores I

Orientação a Objetos

JSP - ORIENTADO A OBJETOS

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

CONVENÇÃO DE CÓDIGO JAVA

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

compreender a importância de cada estrutura de controle disponível na Linguagem C;

Programação científica C++

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

José Romildo Malaquias

Programação WEB II. Introdução. Variáveis, Constantes, Operadores, Estruturas de Seleção e Repetição Arrays e Vetores. Thiago Miranda dos Santos Souza

Introdução aos cálculos de datas

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

2. Representação Numérica

Lição 1 - Criação de campos calculados em consultas

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

2.3. PHP Tipos de dados e operadores

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

2. ENTRADA DE DADOS 2.1. TEXTOS

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Curso de Programação Computadores

PHP. Hypertext Pre-Processor

Sistemas de Numerações.

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Instruções para a atividade

Universidade Federal de Minas Gerais Instituto de Ciências Agrárias

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

Organização e Arquitetura de Computadores I

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Estruturas de Controle em PHP

ARQUITETURA DE COMPUTADORES

Manual da Promoção COMPRE e CONCORRA

Java. Marcio de Carvalho Victorino

Estruturas de Controle A Tomada de Decisões

Testando e Comparando Valores

Computadores XXI: Busca e execução Final

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Validando dados de páginas WEB

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

SISTEMA DE CLIMATIZAÇÃO

INTRODUÇÃO À LINGUAGEM C++

Introdução à Lógica de Programação

1. Introdução ao uso da calculadora

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Algoritmos de Busca em Tabelas

Excel Planilhas Eletrônicas

1. FUNÇÕES NO EXCEL 2007

Algoritmos Computacionais ( Programas )

QUADRADO MÁGICO - ORDEM 4

Programação de Robótica: Modo Circuitos Programados - Avançado -

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

Transcrição:

OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em programação. 3.1.1 Precedência de Operadores: A seguir serão apresentados os operadores na ordem que serão utilizados na linguagem PHP. É fundamental ter conhecimento desta ordem para evitar que o programa tenha erros de lógica. Ordem de execução: É importante salientar que as operações que estiverem entre parênteses serão executadas primeiro, porém se houver várias operações que estão fora dos parênteses, será seguida a ordem estabelecida na tabela dos operadores. Contudo, se além da ausência dos parênteses houver vários operadores com a mesma prioridade, a expressão será executada na ordem da esquerda para direita. 3.1.2 Operadores Aritméticos A fim de efetuarmos operações matemáticas com dados numéricos, utilizamos os operadores aritméticos, mais especificamente: Adição (+) Subtração (-) Multiplicação (*) Divisão (/) Resto de divisão (%) (MOD) $x = 1; $y = 2; $z = 3; echo $y-$x."<br>"; echo $y+$x+$z."<br>"; echo $y*$z."<br>"; echo ($y*$z)/$z."<br>"; 1 6 6 2 1

Autora: Professora Daniela Pires Além dos operadores descritos anteriormente há outros operadores aritméticos na linguagem PHP. Contudo, eles são utilizados em operações simples, em que há necessidade de realizarmos tarefas como o incremento ou decremento de valor. Esses operadores são: -oper: A função desse o operador é trocar o sinal do operador. ++oper: Esse operador indica pré-incremento. --oper: Esse operador indica pré-decremento. oper++: Esse operador indica pós-incremento. oper--: Esse operador indica pós-decremento. Geralmente utiliza-se esses operadores dentro de laços, onde há necessidade para cada volta do laço incrementar ou decrementar valor. Façamos abaixo o seguinte exercício para ver a funcionalidade deste tipo de operador. $x = 1; $y = 2; $z = 3; $var1 = ++$y - $x; $var2 = --$z + $y; $var3 = $z++ - $x; echo "x = $x<br>y = $y<br>z = $z<br>"; echo "var1 = $var1<br>var2 = $var2<br>var3 = $var3<br>"; x = 1 y = 3 z = 3 var1 = 2 var2 = 5 var3 = 1 3.1.3 Operadores Binários: Este tipo utiliza bits para realizar sua operação. Eles podem ser utilizados em comparações, além de operações, além de operações de inversão de bits de um operando e deslocamento de bits. Seguem abaixo os operadores binários: ~op1: Operador utilizado para executar a inversão de bits do operando. op1 & op2: Executa a operação AND a cada bit. op1 op2: Executa a operação OR a cada bit. op1 ^ op2: Executa a operação XOR (ou exclusivo) a cada bit. op1 >> x: Desloca o operando 1 para a direita, de acordo com x bits. op1 <<< x: Desloca o operando 1 para a esquerda, de acordo com x bits. O exercício abaixo mostra como funciona o exemplo acima. $a = 40; $var1 = $a>>1; $var2 = $a>>2; $var3 = $a<<1; $var4 = $a<<2; echo "var1 = $var1<br>var2 = $var2<br>var3 = $var3<br>var4 = $var4<br>"; var1 = 20 var2 = 10 var3 = 80 var4 = 160 3.1.4 Operadores de Comparação: Operadores de comparação são responsáveis por executar comparação entre os seguintes itens: O valor de duas variáveis; Uma variável e um número; Uma variável e um texto. Os sinais que representam os operadores de comparação são == >= <=!= <> > <. A seguir será explicado item a item: Em todas elas o valor será true se : Op1 > op2 O operador 1 for maior que o operador 2. Op1 < op2 O operador 1 for menor que o operador 2. Op1 == op2 O operador 1 for igual que o operador 2. Op1!= op2 ou Op1 <> op2 O operador 1 for diferente que o operador 2. Op1 > =op2 O operador 1 for maior ou igual que o operador 2. Op1 <= op2 O operador 1 for menor ou igual que o operador 2. É importante salientar que no PHP p operador == é utilizado tanto para comparação com números ou texto. 3.1.5 Operadores lógicos: Esses operadores devem ser utilizados nas operações em que o resultado deve ser um valor true ou false. Ao utilizar esses operadores, devemos verificar a ordem em que eles são colocados, visto isso pode gerar resultados diferentes do desejado. Abaixo seguem os operadores lógicos : Op1 AND op2 Se o operador 1 e o 2 forem verdadeiros Op1 OR op2 Se o um dos operadores forem verdadeiros 2

Op1 XOR op2 Se apenas o operador 1 ou apenas o operador 2 for verdadeiro!op1 Se o operando 1 for falso (inv erte a lógica da programação) op1 op2 Se o um dos operadores forem verdadeiros OR op1 && op2 Se o operador 1 e o 2 forem verdadeiros AND É importante salientar que apesar dos operadores AND e && e OR e terem a mesma função os operadores AND e OR tem precedência baixa na avaliação de expressões, enquanto os outros possuem precedência mais alta. 3.1.6 Operadores Ternários: Este tipo de operador é utilizado nas situações em que é necessário escolher entre dois ou mais valores. É o famoso IF de uma linha só. Muito importante considerar a utilização de parênteses para delimitar expressões ternárias. Ou seja, o operador ternário é utilizado em situações de condição simples, ou seja, um método abreviado do comando IF, o qual indica a condição. Para usarmos um operador ternário devemos utilizar da seguinte maneira: Condição? operando1 : operando2 Segue os exemplos abaixo de como usar: $a = 20; $b = 30; $c = 10; $var1 = ($a >= $b)?verdadeiro:falso; $var2 = ($a == $c)?verdadeiro:falso; $var3 = ($b!= $c)?verdadeiro:falso; $var4 = ($c <= $a)?verdadeiro:falso; echo "var1 = $var1<br>var2 = $var2<br>var3 = $var3<br>var4 = $var4<br>"; var1 = falso var2 = falso var3 = verdadeiro var4 = verdadeiro 3.2. Estruturas de Controle Os Scripts desenvolvidos em PHP são formados com controles de decisão (condição), estrutura de repetição (loops, laços) e controle de fluxo de execução em conjunto as às instruções, as quais podem ser agrupadas em blocos. 3.2.1 Controles de decisão (condição) 3.2.1.1 If, elseif e else Quando utilizamos o comando IF, apenas as expressões com resultados booleanos podem ser avaliadas. Para definirmos um comando IF, utilizamos a seguinte sintaxe: If(condição){// abre if //fecha IF IF O comando IF avaliará a expressão booleana, Em caso verdadeiro, o bloco de instruções será executado. Se o resultado for falso, o bloco de instruções não será executado. Vejamos um exemplo de IF. $a = 20; $b = 30; if($a!= $b){ echo "O valor de a é diferente de b"; O valor de a é diferente de b ELSE Para executar os comandos caso a condição seja falsa é necessário, utilizar a cláusula ELSE após as instruções da condição verdadeira e na linha abaixo o else incluir o bloco de instruções da condição falsa. If(condição){ else{ 3

$a = 20; $b = 30; if($a == $b){ echo "O valor de a é igual a b"; else{ echo "O valor de a é diferente de b"; Segue exemplo, usando a instrução else. O valor de a é diferente de b ELSEIF Se houver mais de duas condições a serem testadas, para estas situações utilizamos a cláusula ELSEIF. Segue abaixo como utilizar: If(condição){ elseif(condicao2){ else{ $premio = 300; if($premio < 200){ echo "O valor é menor que 200"; elseif(($premio >= 200) &&($premio < 500)){ echo " O valor do prêmio está entre 200 e 499"; elseif($premio ==600){ echo " O valor do prêmio é 600"; else{ echo "Não se sabe o valor do prêmio"; O valor do premio está entre 200 e 499 3.2.1.2 Switch O comando de condição Switch do PHP tem a função similar ao IF, porém, o Switch permite que eu possa testar vários valores a uma única variável. São delimitados por cases. Segue abaixo explicação de como usá-lo. switch($variavel){ case valor1: // interrompe case valor2: // interrompe case valor3: // interrompe case valor4: // interrompe default: (valor padrão) // interrompe 4

Autora: Professora Daniela Pires O break é responsável, por interromper a execução se houver a necessidade de um mesmo bloco para dois ou mais tipos de case deve colocar o break, somente após o último case a ser parado para outra instrução. Exemplo: switch($variavel){ case valor1: case valor2: case valor3: // interrompe case valor4: // interrompe case valor5: case valor6: // interrompe Vejamos um exemplo real de como usar o switch case: $mes = date( m );//abordaremos no capítulo 4 switch ($mes){ case 1: $nome_mes = "Janeiro"; case 2: $nome_mes = "Fevereiro"; case 3: $nome_mes = "Março"; case 4: $nome_mes = "Abril"; case 5: $nome_mes = "Maio"; case 6: $nome_mes = "Junho"; case 7: $nome_mes = "Julho"; case 8: $nome_mes = "Agosto"; case 9: $nome_mes = "Setembro"; case 10: $nome_mes = "Outubro"; case 11: $nome_mes = "Novembro"; case 12: $nome_mes = "Dezembro"; echo "Estamos no mês de ".$nome_mes; 5

Estamos no mês de mês atual 3.2.2 Controles de repetição (loops, laços) Aula 3 Operadores Estrutura de Controle e Repetição Os comandos de repetição têm a função de determinar o número de vezes que um certo bloco de instruções será executado. A execução repetida desses blocos pode ser encerrada no momento em que a condição desejada for atingida. Existem 4 funções que executam essa tarefa: while, do while, for e for each. 3.2.2.1 WHILE (enquanto) Esse comando cria loops da maneira simples; Ele testa antes de executar; Muito utilizado em instruções de repetição com valores extraídos do banco de dados, irá até o último registro do banco de dados, portanto executado enquanto tiver registros dentro do banco de dados. Esse comando apresenta a característica de enquanto uma instrução estiv er sendo avaliada como TRUE ele será executado; Todas as vezes que passar pelo início do loop o valor apresentado pela expressão será verificado; Os comandos não serão encerrados até que não seja atingido o fim da iteração, mesmo que o valor da expressão sofra alteração. Segue abaixo um exemplo de como usar o WHILE: while(expressão){ Vejamos um exemplo abaixo de como utilizar o WHILE: $a = 1; while($a < 10){ echo "A = ".$a."<br>"; $a++; echo "O valor de A agora é ".$a." e o WHILE foi encerrado.<br>"; A = 1 A = 2 A = 3 A = 4 A = 5 A = 6 A = 7 A = 8 A = 9 O valor de A agora é 10 e o WHILE foi encerrado. 3.2.2.2 DO... WHILE (faça... enquanto) O loop WHILE e do... while são semelhantes, porém no loop while a condição é testada no início do loop e no do... while no final da iteração; Ele executa pelo menos uma vez, ou seja, devido ele ser testado no final da iteração, sempre uma vez será executado; Segue abaixo um exemplo de como usar o DO... WHILE : do{ while(expressão); Vejamos um exemplo abaixo de como utilizar o DO... WHILE: $a = 10; do{ echo $a." é maior que 3 <br>"; $a--; while($a > 3); echo "O loop foi encerrado porque ".$a." nao é maior que 3.<br>"; 6

10 é maior que 3 9 é maior que 3 8 é maior que 3 7 é maior que 3 6 é maior que 3 5 é maior que 3 2 é maior que 3 O loop foi encerrado porque 3 não é maior que 3. 3.2.2.3 FOR Este é um loop que repete a execução, por um número específico de vezes. Para que possamos compreender o loop for, veja abaixo a sua sintaxe e explicação de expressão por expressão: for(expressao1;expressao2;expressao3){ Expressão1(início): Representa a primeiro valor a ser executado no inicio de um loop,geralmente, declaramos uma variável com seu valor inicial; Expressão2(término ou final): Instrução contida com a condição da execução, possui o valor inicial e o final, quando é avaliada como FALSE indica o término da execução do loop, se avaliada como TRUE, não ocorre o encerramento do loop, e continua a execução do Expressão3: Representa a terceira expressão, que tem a função de ser realizada no final da instrução, geralmente, incrementa ou decrementa valores; Vejamos alguns exemplos de loop for para nossa melhor compreensão: for($a=1;$a<10;$a++){ echo "A = $a<br>"; A = 1 A = 2 A = 3 A = 4 A = 5 A = 6 A = 7 A = 8 A = 9 O que acontece nessa instrução, o 10 não será executado, o modo dele ser executado se necessário é trocar o sinal de > para >=, pois senão o loop sairá do laço no 9 e não no 10. O exemplo abaixo mostra decremento já usando o >=. for($a=10;$a>=1;$a--){ echo "A = $a<br>"; Resultado: A = 10 A = 9 A = 8 A = 7 A = 6 A = 5 A = 4 A = 3 A = 2 A = 1 7

Veja como utilizar loop for junto de Array. $dia[1] = "Domingo"; $dia[2] = "Segunda-feira"; $dia[3] = "Terça-feira"; $dia[4] = "Quarta-feira"; $dia[5] = "Quinta-feira"; $dia[6] = "Sexta-feira"; $dia[7] = "Sábado"; for($a=1;$a>=7;$a++){ echo "Hoje é ".$dia[$a]."<br>"; Hoje é Domingo Hoje é Segunda-feira Hoje é Terça-feira Hoje é Quarta-feira Hoje é Quinta-feira Hoje é Sexta-feira Hoje é Sábado 3.2.2.4 FOREACH Este loop diferencia-se dos demais, pois ele promove a iteração entre as matrizes, ou seja, ele é utilizado apenas com array. Abaixo teremos duas possibilidades de foreach: foreach(expressao_array as $valor){ Nesta sintaxe expressao_array é uma matriz que será varrida. Fará o valor indica o valor que o elemento tem em cada loop da matriz, em uma posição, para que assim possamos visualizar o próximo elemento. foreach(expressao_array as $chave => $valor){ Nesta sintaxe apresenta-se as mesmas funções da instrução anterior, contudo temos a inclusão da variável chave, a qual será atribuída a chave do elemento atual em cada iteração. Essa segunda sintaxe representa uma abreviação da primeira, muito utilizada para recuperar valores em massa de formulário. Abaixo seguem informações importantes do foreach: Ao utilizarmos o foreach podemos evitar mensagens de erro @ O ponteiro da matriz é zerado de forma automática, no momento em que inicia a primeira execução do foreach, esse ponteiro é zerado para o primeiro elemento encontrado na array. Não há necessidade reset() seja chamado anteriormente, antes do início de um foreach; Diferente a função each() o ponteiro do array original não sofre alteração, uma vez que o for each não trabalha com o próprio array e sim com uma cópia do mesmo. Vejamos o exemplo abaixo, utilizando os dados do for utilizado com array com for: $dia[1] = "Domingo"; $dia[2] = "Segunda-feira"; $dia[3] = "Terça-feira"; $dia[4] = "Quarta-feira"; $dia[5] = "Quinta-feira"; $dia[6] = "Sexta-feira"; $dia[7] = "Sábado"; foreach($dia as $chave => $valor){ echo "dia[".$chave."] => ".$valor."<br>"; 8

Autora: Professora Daniela Pires dia[1] => Domingo dia[2] => Segunda-feira dia[3] => Terça-feira dia[4] => Quarta-feira dia[5] => Quinta-feira dia[6] => Sexta-feira dia[7] => Sábado 3.2.2.5 Comandos de controles do fluxo da execução Após termos estudado a respeito dos comandos condicionais e dos comandos de repetição, veremos os comandos responsáveis por controlar o fluxo de execução. Dentro os comandos de controle de fluxo de execução temos o break, o continue e o exit. Abaixo detalharemos uma a um: 3.2.2.5.1 Break O comando break é utilizado de promover o encerramento da execução de um comando. Dentro os comandos cuja a execução pode ser encerrada pro meio do break temos: if; switch; while; for; O break é uma solução para que seja forçada a saída de um comando condicional, ou até o mesmo de um loop. Quando o break encontra-se ao primeiro comando encontrado, logo após o encerramento da referida estrutura. Vejamos um exemplo de como usar o for($i=0;$i<10;$i++){ if($i == 5){ echo "parou no 5<br>"; echo "i = $i<br>"; echo "saiu do loop"; i = 0 i = 1 i = 2 i = 3 i = 4 parou no 5 saiu do loop 3.2.2.5.2 EXIT O comando exit é muito parecido com o break, porém ele para a execução da página total, independente de qual função estiver utilizando: Utilizamos abaixo o mesmo exemplo anterior para vermos o que acontece com exit. for($i=0;$i<10;$i++){ if($i == 5){ echo "parou no 5<br>"; exit(); echo "i = $i<br>"; echo "saiu do loop"; i = 0 i = 1 i = 2 i = 3 i = 4 parou no 5 9

Ele não mostrará a linha saiu do loop, ele irá parar no 5 e não executará qualquer script que tiver no final da página. Esse tipo de instrução só deve ser utilizado quando desejarmos parar toda a execução de uma página. 3.2.2.5.3 Continue Este tipo de instrução é contrário as anteriores, são utilizadas para continuar um script dentro de uma condição ou loop. Se utilizarmos dentro de um switch, o switch será considerado um loop. Vejamos abaixo um exemplo de seu uso: $num = 0; while($num < 10){ ++$num; if($num == 3){ echo "Aqui está sendo testado o continue<br>"; continue; echo "Num vale $num<br>"; Num vale 1 Num vale 2 Aqui está sendo testado o continue Num vale 4 Num vale 5 Num vale 6 Num vale 7 Num vale 8 Num vale 9 Num vale 10 10