mineração de dados - thiago · pdf fileementa da disciplina...

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

Upload: phungdieu

Post on 01-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Introdução

Programação WEB II

Variáveis, Constantes, Operadores, Estruturas de Seleção e Repetição

Arrays e Vetores

Page 2: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Apresentação

• Thiago Miranda• Email: [email protected]• Site: www.thiagomiranda.net

Programação WEB II

Page 3: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Ementa da DisciplinaProgramação WEB II

• Linguagem de Programação para desenvolvimento Web do lado do Servidor.

• Conceitos, estrutura e elementos utilizados no desenvolvimento da linguagem PHP.

• Integração da linguagem PHP com o Banco de Dados Mysql

Page 4: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

CompetênciasProgramação WEB II

• Compreender a linguagem de Programação PHP, seus conceitos, estrutura e elementos.

• Utilizar conhecimentos em linguagem dinâmica com acesso a sistemas de Banco de Dados

• Identificar e conhecer o funcionamento de uma linguagem de programação para WEB do lado do servidor e compreender a integração dessa linguagem com Bancos de Dados.

Page 5: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

HabilidadesProgramação WEB II

• Desenvolver websites e sistemas para o lado servidor.• Desenvolver aplicações que utilizem Sistemas de Banco

de Dados.• Desenvolver sites e sistemas WEB com acesso a banco

de dados, controle de sessões e transação, de forma segura e confiável.

• Criar recursos dinâmicos para páginas e sistemas web.• Reconhecer os comandos da linguagem PHP;

Page 6: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

ConteúdosProgramação WEB II

1. Introdução a linguagem PHP.

2. Características da linguagem de programação PHP

3. Diferenciação entre linguagens Client-Side e Server-Side4. PHP.

1. Sintaxe da linguagem2. Variáveis.3. Operadores lógicos.4. Operadores matemáticos. 5. Instruções de repetição.6. Instruções condicionais.7. Funções

5. Formulários e PHP (Dados Via GET e POST )6. Sessões e Cookies7. Manipulação de Arquivos8. Integração entre Banco de Dados e Programação 9. Programação Orientada a Objetos

Page 7: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Cronograma da I UnidadeProgramação WEB II

Aula 1 – Apresentação da Disciplina, Variáveis, constantes,operadoresAula 2 – Estruturas de Seleção e Repetição, Arrays eVetoresAula 3 - Integração de formulários com PHP (Métodos GETe POSTAula 4 - Funções (Funções de Manipulação de Datas,Funções de Manipulação de Strings, Aritméticas)Aula 5 – Funções - ContinuaçãoAula 6 – Avaliação Teórica

Page 8: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Proposta de trabalhoProgramação WEB II

• Enfoque teórico e prático com uso demuitos exercícios, realizados em sala eem casa para fixação• Aprendizado visando a aplicaçãoprática do conhecimento• Avaliação Serial e diária

Page 9: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

AvaliaçãoProgramação WEB II

Avaliação Serial (Diária)

• 4 atividades em 5 aulas - Valor: 2 pontos• Avaliação Teórica: 6 Pontos• Lista de Exercícios: 2 pontos

Page 10: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

AvaliaçãoProgramação WEB II

Atividades Práticas diárias: 2 Pontos

• Em nossas aulas teremos atividades práticas a seremdesenvolvida abordando os temas já trabalhados.• Devem ser enviadas por email para:

[email protected]• O assunto do email deve ser [ Atividade 01 ] Seu nome• Os arquivos deverão ser enviados compactados noformato zip com o nome do arquivo sendo o seu nome.• Tentar fazer a atividade conta muito, mesmo q não estejafuncionando, envie o arquivo e tente explicar o erro nocorpo do email.• Cópias não serão aceitas.

Page 11: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

ConteúdosProgramação WEB II

Os materiais de aula, apostilas e outras informaçõesestarão disponíveis em:

www.thiagomiranda.net

Page 12: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

O PHP• Linguagem Interpretada• Tipagem dinâmica e fraca• Voltada ao desenvolvimento de Websitesdinâmicos• Linguagem mais utilizada no mundo para WEB• Gratuita e Livre• Embutido no HTML• Curva de Aprendizado baixa• Portabilidade• Suporte a vários BDs

Thiago Miranda dos Santos Souza

Programação WEB II

Page 13: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Rasmus LerdorfÉ um programador canadiano-dinamarquês e o autor da primeira

versão da linguagem de programação PHP. (Wikipédia)

Page 14: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

O PHP

• 70% de todos os sites do mundo são feitos em PHP

Thiago Miranda dos Santos Souza

Programação WEB II

Page 15: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Softwares Utilizados

Thiago Miranda dos Santos Souza

Programação WEB II

Requisitos básicos:• Servidor Apache (apache.org);• Linguagem PHP (php.net);• Servidor MySQL (mysql.com);

• Para facilitar a instalação utilizaremos o software Xampp que instala automaticamente os outros três aplicativos• Download: http://www.apachefriends.org/pt_br/xampp-

windows.html

• Como editor utilizaremos a IDE NetBeans, mas pode ser utilizado qualquer outro editor como o Notepad++

Page 16: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Modelo Cliente - Servidor

Thiago Miranda dos Santos Souza

Programação WEB II

Page 17: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

17

Modelo Cliente - Servidor

• Thiago Miranda dos Santos Souza

Programação WEB II

Page 18: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Modelo Cliente - Servidor

Thiago Miranda dos Santos Souza

Programação WEB II

1

2

3

4

5

6

cadastrarUsuario.php

Aí véi, to com esse arquivo aqui, interpreta ele pra mim?

E aí MySQL, beleza? O Apache pediu pra eu interpretar um arquivo, daí eu preciso inserir um dados na tabela usuario. Toma aí os dados e insere, beleza?

Firmeza, ta inserido!

Ae, interpretei e virou esse HTML aí! Agora é contigo brother!

Aí, esse HTML eu sei que tu entende!

Page 19: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Delimitadores de código PHP

Thiago Miranda dos Santos Souza

Programação WEB II

Assim como o HTML temos as tags no PHP temos os delimitadores de código, que são <?php e ?> respectivamente a tag de abertura e a tag de fechamento, em que o código deve ser inserido. Veja o exemplo a seguir:

Page 20: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

PHP + HTML

Thiago Miranda dos Santos Souza

Programação WEB II

<html><head>

<title>IFBA</title></head><body>

<?php echo “Hello IFBA” ?></body>

</html>

Page 21: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

21

Simples Uso do //

para comentar uma linha

Várias Linhas Uso de /* e

*/ para comentar várias linhas.

ComentáriosProgramação WEB II

Page 22: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Variáveis

Thiago Miranda dos Santos Souza

Programação WEB II

• Variáveis são definidas utilizando um cifrão ($);• Em PHP, variáveis possuem tipagem dinâmica e

fraca;• Tipagem dinâmica significa que uma variável

assume um tipo de acordo com o valor que lhe é atribuído;

• Tipagem fraca significa que você pode trabalhar de forma livre com as variáveis.

Page 23: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Variáveis

Thiago Miranda dos Santos Souza

Programação WEB II

• Devem ter pelo menos 1 caractere depois do $• O Primeiro caractere depois do $ deve ser uma

letra ou um underline _ e depois deste caractere pode vir um número, letra ou um underline

• Espaços e outros caracteres especiais que não seja o underline não são permitidos.

• São Case Sensitive [$teste é diferente de $TESTE]• Nunca utilize caracteres especiais em nome de

uma variável como acentos (é í ó) cedilha (ç)

Page 24: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Variáveis - Tipos

Thiago Miranda dos Santos Souza

Programação WEB II

• Int – Inteiros [ $var_inteiro = 10; ]• Float – Ponto Flutuante [ $var_float = 3.3; ]• String – Texto [$var_txt = “ifba”; ]• Boolean – Verdadeiro e Falso [ $var_bool = TRUE;]• Array – Coleção de elementos

• [ var_array = array(1,2,3,10,20); ]

Page 25: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Comandos de Saída

Thiago Miranda dos Santos Souza

Programação WEB II

Esses são os comandos usados para gerar uma saída em tela (output): • echo; • print; • var_dump; • print_r;

Page 26: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Aspas

Thiago Miranda dos Santos Souza

Programação WEB II

Aspas Simples:◘ Utilizada para

imprimir exatamente o texto contido entre as aspas.

Aspas Duplas:◘ Utilizado para

imprimir com os valores de variáveis e caracteres de escape.

Page 27: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Variáveis

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar?• Crie uma variável de cada tipo:inteiro, float, string e Booleano.• Não esqueça de imprimir o resultadona tela utilizando as funções vistasanteriormente.

Page 28: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Constantes

Thiago Miranda dos Santos Souza

Programação WEB II

Guarda valores que não serão alterados. Utiliza-se a função define para criar uma constante.define( ‘NOME_DA_CONSTANTE’, ‘VALOR DA CONSTANTE’ );

O nome de uma constante tem a mesma regra de qualqueridentificador PHP, ou seja, as mesmas regras de nomes devariáveis exceto pelo fato de constantes não iniciarem o nomecom cifrão ($). Geralmente utilizam o nome da constante emletras maiúsculas.

Page 29: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Arrays

Thiago Miranda dos Santos Souza

Programação WEB II

Chaves dos Arrays inicia-se 0!

Page 30: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Arrays

Thiago Miranda dos Santos Souza

Programação WEB II

Usando o colchetes sem índice ( [ ] ) o PHP procurará o último índice utilizado e o incrementará

Page 31: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Arrays

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Crie um array com o nome das suas cinco frutasprediletas.Imprima apenas aquelas que tenham o índice ímpar.Agora adicione um novo item no array, qual será onúmero do seu índice? Descubra e imprima na tela seuvalor!

Page 32: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Arrays

Thiago Miranda dos Santos Souza

Programação WEB II

Também pode ser usada um string como índice, neste caso chamada de chave associativa É possível utilizar arrays com 2 tipos de índice sem ocorrer erro

Page 33: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Arrays

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

No mesmo array, adicione um novo item com oíndice de nome “preferido” e com o valor da suacomida favorita.Não deixe de imprimir na tela!

Page 34: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Matriz

Thiago Miranda dos Santos Souza

Programação WEB II

São arrays multidimensionais Também possuem um único identificador mas formado por um ou mais índices

$brasil[“BA"][1] = “Brumado"; $brasil[“BA"][2] = “Anagé"; $brasil[“BA"][3] = “Vitória da Conquista"; $brasil["MG"][1] = "Belo Horizonte"; $brasil["MG"][2] = "Araguari"; $brasil["GO"][1] = "Goiânia"; echo $brasil[“BA"][1] . "<br>"; //Resultado brumado echo $brasil["MG"][2] . "<br>"; //Resultado Araguari echo $brasil["GO"][1] . "<br>"; //Resultado Goiânia

Page 35: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Matriz

Thiago Miranda dos Santos Souza

Programação WEB II

Page 36: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Matriz

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Vamos criar uma Matriz de duas dimensões, nelairemos adicionar O nome de algumas pessoas, eseu salário.João – R$ 1.500Pedro – R$ 2.000Maria – R$5.000Imprima o nome e o salário de Maria na telautilizando a Matriz criada.

Page 37: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Operadores aritméticos

Thiago Miranda dos Santos Souza

Programação WEB II

Page 38: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Vamos criar uma pequena calculadora que iráreceber duas variáveis e realizar todas asoperações mostradas anteriormente.Não esqueça de imprimir os resultados.

Operadores aritméticos

Page 39: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Operadores de atribuição

Thiago Miranda dos Santos Souza

Programação WEB II

Page 40: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Utilizando o mesmo princípio da calculadora, crieum arquivo com duas variáveis e teste osoperadores de atribuição mostradosanteriormente.Não esqueça de imprimir os resultados.

Operadores atribuição

Page 41: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

O único operador de string que possuímos no PHP é o operador de concatenação, além do que falamos anteriormente que é o de atribuição e concatenação, que é representado pelo .(ponto). O operador de concatenação tem por finalidade unir o conteúdo de duas strings<?php$titulo = 'Operadores de string‘;$texto = 'Estou aprendendo sobre ' . $titulo;echo $texto; ?>

Operadores de String

Page 42: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Os operadores de incremento e decremento são muito parecidos com os operadores aritméticos. Eles permitem que sejam feitas adições (incremento) e subtrações (decremento) direto na variável informada, mas sempre operações unitárias, isto é, soma se 1 ou subtrai se 1 da variável. Os operadores de incremento e decremento são respectivamente ++ e --.Existem duas formas de incremento/decremento: Pós e Pré.

Operadores de Incremento e decremento

Page 43: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Operadores de Incremento e decremento

Page 44: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Pós incremento/decrementoO PHP retorna o valor da variável para só depois então a incrementá-la/decrementá-la. Veja o exemplo:

Operadores de Incremento e decremento

Page 45: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Pré incremento/decrementoO PHP primeiro incrementa/decrementa a variável e depois retorna o seu valor. Observe alterando o exemplo anterior:

Operadores de Incremento e decremento

Page 46: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Veja os dois exemplos dados nos slides anteriorese veja qual será o resultado final das variáveis $ae $b.Imprima na tela o resultado da seguinte forma:

O resultado de a é : VALOR e o resultado de b é:VALOR na forma Préincremento.

Operadores de Incremento e decremento

Page 47: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Operadores de comparação como o próprio nome já diz compara dois valores retornando verdadeiro (TRUE) ou falso (FALSE).

Operadores de Comparação

Page 48: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!Utilizando a tabela de operadores de comparaçãodo slide anterior, crie exemplos que imprimam natela se a comparação é verdadeira ou falsa.Exemplo de saídaNum1 é 10Num2 é 20Num1 > Num2FALSEPara imprimir o resultado da comparação utilizevar_dump($num1 > $num2) ao invés de echo

Operadores de Comparação

Page 49: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Os operadores lógicos realizam comparação entre expressões, exceto o ! que compara apenas um valor, e como os operadores de comparação retornam verdadeiro (TRUE) ou falso (FALSE).

Operadores Lógicos

Page 50: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Operadores Lógicos

Page 51: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Operadores Lógicos

Page 52: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!Utilizando a tabela de operadores lógicos do slideanterior, crie exemplos que imprimam na tela sea comparação é verdadeira ou falsa.Exemplo de saídaNum1 é 10 e Num2 é 20 e Num3 é 5 e Num4 é 40(Num1 > Num2) AND (NUM3 > NUM4)FALSEPara imprimir o resultado da comparação utilizevar_dump(($num1 > $num2) AND (NUM3 > NUM4)) aoinvés de echo

Operadores de Lógicos

Page 53: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Comandos usados para estruturar seusprogramas• Comandos comuns a maioria das linguagens deprogramação• Uso fundamental para realizar decisões lógicas,testar se determinada expressão é verdadeira,repetir um bloco de comandos por um certonúmero de vezes ou até que uma condição sejaatingida

Estruturas de Controle

Page 54: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Estruturas de Controle

Page 55: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• IF• SWITCH

Comandos condicionais

Page 56: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

•Podemos avaliar uma expressão e,dependendo do resultado obtido,executar um trecho de código diferente•Usado na tomada de decisão dentrode um programa•Exemplo imprimir o valor aprovadocaso a nota do aluno seja maior que 6,senão imprimir reprovado

Comandos condicionais

Page 57: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Comandos condicionais

Page 58: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

IF - Else

if($numero < 20){echo "$numero é menor que 20";

} else {echo "$numero é maior que 20";

}

if(“condição”){<faz alguma coisa quando “condição” é verdadeira>

} else {<faz alguma coisa quando “condição” é falsa>

}

Page 59: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Faça um programa que utilizando o comando condicionalIF e Else determine se uma pessoa com a idade colocadanuma variável é maior ou menor de idade e imprima issona tela.

IF - Else

Page 60: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

IF – Elseif - Else

if($numero < 20){echo "$numero é menor que 20";

} elseif($numero == 20){echo "$numero é igual a 20";}else {

echo "$numero é maior que 20";}

Page 61: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

IF – Elseif - Else

Page 62: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Utilizando o mesmo exemplo anterior, determine se umapessoa com a idade colocada numa variável é maior, tema idade igual a 18 anos ou é menor de idade e imprimaisso na tela.

IF – Elseif - Else

Page 63: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

•Parecido com o if, pois ambos avaliamo valor de uma expressão para escolhero que vai ser executado•Quando se tem a mesma variável comvalores diferentes valores para seravaliado, já que usa basicamente aigualdade e o if qualquer condição

Switch

Page 64: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Switch

Page 65: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

IF X Switch

Page 66: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Utilizados para que um bloco deinstruções seja executado por umnúmero determinado de vezes, ou atéque uma condição seja atingida

Comandos de Repetição

Page 67: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

•while•do...while•for •for each

Comandos de Repetição

Page 68: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Traduzido para o português significa enquanto• Composto por uma expressão e um bloco decomando• O comando avalia a expressão, e enquanto essaexpressão retornar o valor verdadeiro, a execuçãodo conjunto de comandos será repetida. Casoseja falsa o bloco encerra a execução do bloco• Tomar cuidado para não criar expressões quenunca se tornam falsas pois teríamos um loopinfinito.

While

Page 69: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

While

Page 70: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Ajude nosso amigo Bart a não precisar escrever a frase“Não farei isso novamente” 50 vezes, faça um programautilizando o While. Agora o que aconteceria com oprograma se na condição você colocasse (variavel =! 0 )?

While

Page 71: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

•A única diferença entre o while e odo...while é que o while avaliza a expressãono início do laço e o do...while ao final•Vai ser executado ao menos uma vez e casousasse o while não seria executadonenhuma vez

Do While

Page 72: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Do While

Page 73: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Usado quando queremos executar umconjunto de instruções por quantidadeespecifica de vezes• Pode ser usado para imprimir oselementos de um array ou todos osresultados de uma consulta no banco dedados

For

Page 74: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

For

Page 75: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

•Com inicialização iniciamos o valor inicial da variável que controlará o loop •$cont = 0; •Na condição devemos colocar a condição para que o loop continue a ser executado. Quando a condição retornar um valor falso o loop parará •$cont<20 •O operador é usado para atualizar o valor da varíavel de controle, fazendo um incremento ou decremento ao final de cada iteração do loop •$cont++

For

Page 76: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

For

Page 77: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Utilize o FOR para criar a tabuada de Soma eMultiplicação do número 7.

Apresente na Tela:7 + 1 = 8 ...

FOR

Page 78: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Oferece uma maneira mais fácil de “navegar”entre os elementos de um array

• Todos os itens de $nome_array serão visitados.A cada iteração o item da vez será armazenadoem $elemento. Assim é possível trabalhar todosos elementos usando somente uma variável

Foreach

Page 79: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Foreach

Page 80: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Vamos testar!

Utilize o FOREACH para imprimir na tela todos os valoresde um array com o nome de 6 carros diferentes.

Foreach

Page 81: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Break• Continue

Comandos de Controle de Fluxo

Page 82: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Break

Termina a execução do comando atual, podem ser um if, for, while ou switch. O fluxo continua exatamente no primeiro comando após a estrutura

Comandos de Controle de Fluxo

Page 83: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

• Continue

Usado para ignorar o restante das instruções dentro do comando de repetição indo para a próxima iteração (voltando para o início do laço)

for($i=0; $i<20;$i++) { // é impar if($vetor[$i]%2 != 0) { continue; } echo "O número " . $vetor[$i] . " é par.<br>"; }

Comandos de Controle de Fluxo

Page 84: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

Dúvidas

Page 85: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

ExercícioElabore um script que receba uma variável do tipo Array de duas dimensões (Matriz) que tenha um nome de uma cidade e uma determinada temperatura em graus celsius. O script deverá criar uma página enviando ao cliente uma mensagem relatando como está o clima da cidade, conforme tabela abaixo:

Page 86: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

ExercícioJoãozinho tem 1,50m e cresce 2 centímetros por ano. Pedrinho tem 1,10m e cresce 3 centímetros por ano. Elabore um script em PHP que escreva na página web quantos anos levará para que Pedrinho fique maior do que Joãozinho.

Page 87: Mineração de Dados - Thiago · PDF fileEmenta da Disciplina Programação WEB II • Linguagem de Programação para desenvolvimento Web do lado do Servidor. • Conceitos, estrutura

Thiago Miranda dos Santos Souza

Programação WEB II

ExercícioUtilize a estrutura switch para criar um script que receba de uma variável o código e escreva o estado civil apropriado, baseando-se na tabela abaixo: