Peraê que Bill Gates, Mark Zuckerberg, will.i.am, Chris Bosh, Jack Dorsey, Tony Hsieh, Drew Houston, Gabe Newell, Ruchi Sanghvi, Elena Silenok, Vanessa Hurst, e Hadi Partovi vão te dizer:
Algoritmos pra que te quero.
Algorítmo é o conceito base quando o assunto é programação de computadores.
Um algoritmo nada mais é do que uma sequência de passos que visam atingir
um objetivo bem definido. O que importa no algoritmo é o efeito das ações para a
obtenção do resultado esperado.
Um exemplo bem simples de algorítimo é a sequência de passos que devemos executar para resolver uma equação de segundo grau. Sei lá, vamos pegar a equação x² – 10x + 24 = 0.
1º Passo: Identificar os valores de A, B, e C. Daí temos: A=1, B=-10, C=24.
2º Passo: Calcular o valor de Δ. Onde:
Δ = B² - 4*A*C
Δ = (-10)² - 4*(1*24)
Δ = 4
3º Passo: Verificar se o valor de Δ é maior que 0, menor que 0 ou igual a 0 para definir o próximo passo.
Se for menor que 0, não precisamos calcular mais nada, pois a equação não terá valor real.
Se for igual a 0, sabemos que só precisamos calcular x uma vez.
Se for maior que zero. Calcularemos o valor para x’ e x’’.
No caso, Δ > 0.
4º Passo: Calcular o resultado fornecido pela equação de Bháskara. Daí:
Perceba que essa sequência de passos se manterá a mesma independente dos valores de A, B e C. Isso significa que A, B e C são componentes variáveis do nosso algorítimo.
Variáveis, é?
É, pois é, que coisa, não? Em programação, variáveis são elementos básicos de extrema importância.
Podemos definir variáveis como um local onde um determinado valor é armazenado. Valor esse que pode ser modificado, ou não, durante a execução do algorítimo.
As variáveis possuem 2 “paradas” básicas:
Conteúdo: valor atual da variável
Identificador: nome dado à variável para possibilitar sua manipulação
No nosso exemplo da equação de 2º Grau, as nossas variáveis são identificadas como A, B, C, Δ, x’ e x’’, tais que 1, -10, 24, 4, 6 e 4 são os seus respectivos valores. Não modificamos o valor das nossas variáveis durante a execução desse algorítimo.
Variáveis em PHP são representadas por um $ seguido pelo nome (identificador) da variável.
Nomes de variáveis são case-sensitive. Isso significa dizer que $A é diferente de $a, $delta é diferente de $DeltA e de $DElta, enfim… O PHP é inteligente e sabe diferenciar maiúsculas de minúsculas.
Um nome válido de variável sempre inicia com uma letra ou um underscore, seguidos de letras, números ou underscores. Ou seja… nomes de variáveis em PHP não podem iniciar com números.
Constantes
Constantes são tipo variáveis, só que não variam. Ópaí quizidéa errada, né vey? As constantes também possuem um identificador, porém o seu conteúdo não varia ao longo da execução do programa. Lembra lá do nosso exemplo da equação?
Δ = B² - 4*A*C
Não importa quem é A, quem é B ou quem é C. Aquele “4” sempre vai estar naquela parte da equação. É como se fosse uma constante, meio que já sendo.
Tipos de dados
Isso costuma variar um pouquinho de linguagem para linguagem. Mas como aqui o lance mesmo é PHP...
PHP dá suporte aos seguintes tipos de dados [1]:
Quatro tipos escalares
Booleanos
Inteiros
Números de ponto flutuante
Strings
Três tipos compostos
Arrays
Objetos
Callbacks / Callables
Além de alguns tipos especiais
Recursos
NULL
Mixed
Number
(e mais um monte)
Nem venha cheio de ideia, porque eu só vou explicar os que você precisa saber por enquanto. Se você quiser saber sobre todos, veja a documentação. Que onda...
E tem mais...
PHP é uma linguagem dinamicamente tipada, o que significa que você pode mudar o tipo de dado contido numa variável durante a execução do script. Exemplo:
1 <?php2 ....$variavel = "Eu sou do tipo string"; // $variavel é string (ASCII 48)3 ....$variavel = 2; // $variavel é agora um interio (2)4 ....$variavel = $variavel + 1.3; // $variavel é agora um float (3.3)5 ....$variavel = TRUE; // $variavel é agora um booleano6 ....$variavel = array("Valor 0", "Valor 1", "Valor 2", "Valor 3"); //$variável é agora um array, o que significa que você pode armazenar diversos valores dentro da mesma variável.
Dá pra lançar sabe o quê?
Operações aritméticas! Ééé... ISSO mesmo que você OUviu! PHP aceita as operações de soma, subtração, divisão e multiplicação (+, -, /, *) e aceita parênteses para definir prioridades.
Agora tem uns lances mais legais também, como as operações envolvendo atribuição, onde você lança o operador antes do sinal de igual para dizer que tá incluindo aquela variável na operação que o operador faria. Sacou?
1 <?php2 ....$a = 1;3 ....$b = 2;4 ....$a = 1;56 ....$a += $b; // vai resultar em $a = 3, pois vai lançar 1+27 ....$a -= $b; // vai resultar em $a = -1. pois vai lançar 1-28 ....$a *= $b; // vai resultar em $a = 2, pois vai lançar 1*29 ....$a /= $b; // vai resultar em?? TESTE AÍ...
Ah, e quando utilizamos um símbolo de igual, ele não significa IGUAL, siginifica RECEBE, no caso $a = 1 quer dizer que a variável "$a" recebe o valor 1.
Comparando as coisas!
Quando queremos comparar duas coisas e dizer que elas são IGUAIS, utilizamos == que é um operador. Só que é um operador relacional, e aí a gente vai ter também os sinais de diferente, maior, menor, maior igual, menor igual.
1 <?php2 ....$a == $b //Igual3 ....$a === $b //Idêntico4 ....$a != $b //Não iguais5 ....$a <> $b //Não iguais6 ....$a !== $b //Não idênticos7 ....$a < $b //Menor que8 ....$a > $b //Maior que9 ....$a <= $b //Menor ou igual a10....$a >= $b //Maior ou igual a
Presta atenção na exclamação. Ela é um símbolo de negação.
Outro operador relacional é o operador "?:" (ou ternário).O operador ternário é a estrutura abaixo, que funciona como se fosse uma verificação seguida de tomada de decisão.
$a = (1 > 2)? 1: 2; //Aqui $a vai receber o valor 2, porque 1 não é maior que 2.
$b = (1 < 2)? 1: 2; //Aqui $b vai receber o valor 1, porque 1 é menor que 2.
E tome-le operador!
Tem também os Operadores lógicos!
Esses são barril dobrado. Temos a conjunção e a disjunção (Alô Discreta I)!
$a && $b // $a e $b, tem que ter a e tem que ter b$a || $b // $a ou $b, pode ter a ou pode ter b
O GUIA AINDA NÃO ESTÁ PRONTO.
E aí, a introdução à lógica de programação é isso aí.
A sequência desse guia é o guia de MySQL. Você já ouviu falar nisso?