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

Pra quê programar?

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.

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:

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.

Um exemplo dessas variáveis em php:

1 <?php 2 ....$a = 1; 3 ....$b = -10; 4 ....$c = 24; 5 ....$delta = $b*$b - 4*$a*$c; 6 ....$x1 = (-$b + sqrt($delta)) / (2 * $a) 7 ....$x2 = (-$b - sqrt($delta)) / (2 * $a)

E fica na um aí pra se ligar no seguinte:

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

Três tipos compostos

Além de alguns tipos especiais

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 <?php 2 ....$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 booleano 6 ....$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.

<?php $a = 2*(19 + 1) - 10/2; //Resulta em $a = 35 ?>

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 <?php 2 ....$a = 1; 3 ....$b = 2; 4 ....$a = 1; 5 6 ....$a += $b; // vai resultar em $a = 3, pois vai lançar 1+2 7 ....$a -= $b; // vai resultar em $a = -1. pois vai lançar 1-2 8 ....$a *= $b; // vai resultar em $a = 2, pois vai lançar 1*2 9 ....$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 <?php 2 ....$a == $b //Igual 3 ....$a === $b //Idêntico 4 ....$a != $b //Não iguais 5 ....$a <> $b //Não iguais 6 ....$a !== $b //Não idênticos 7 ....$a < $b //Menor que 8 ....$a > $b //Maior que 9 ....$a <= $b //Menor ou igual a 10....$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.

(Minha_condição_é_verdade)? Se_for_Execute_isso: Se_não_for_Execute_isso;

Espia pro exemplo:

$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?