Esta é uma versão antiga do documento!
Tabela de Conteúdos
- O artigo necessita de uma revisão científica para se confirmar a veracidade da informação aqui contida.
Obrigado.
Tutorial de Introdução à Lógica e Algoritmia
Este tutorial tem o objectivo de dar algumas bases nestas duas disciplinas para iniciantes à programação.
Sendo que a programação está assente na algoritmia, e a algoritmia está assente na lógica, como se verá ao longo deste pequeno tutorial, este torna-se de extrema importância para se entender muitos "porquês" da programação que os beginners muitas vezes colocam.
Lógica
De forma resumida, a lógica é o ramo da filosofia que cuida das regras do bem pensar, ou do pensar correto, sendo, portanto, um instrumento do pensar.1)
Nesta parte vamos entender os operadores lógicos básicos - E, OU e OU… OU… - recorrendo às Tabelas de Verdade.
Proposições e condições
De forma muito resumida, seguem-se três exemplos simples e perceptíveis:
- Sentença: O João gosta de ir à praia.
- Proposição: O João gosta de ir à praia e ao campo.
- Condição: O João gosta de ir à praia se estiver bom tempo.
Tabela de Verdade
Numa Tabela de Verdade são analisadas todas as hipóteses de resposta a um problema lógico, desde o mais simples ao mais complexo, sendo mesmo a base das bases da investigação criminal forense.
São lançadas as hipóteses de forma lógica, unindo as sentenças em proposições e relacionando estas últimas em condições. Um exemplo simples e sem fundamentação forense:
O João é culpado se a arma do crime tiver as impressões digitais dele. Ou a arma é uma faca se as impressões digitais forem as dextras, ou então é uma pistola se ele praticar carreira de tiro.
A Tabela de Verdade tem a seguinte estrutura básica:
proposição 1 (p) | proposição 2 (q) | Resultado com o operador lógico X (p X q) |
---|---|---|
V | V | V X V |
V | F | V X F |
F | V | F X V |
F | F | F X F |
Havendo duas proposições, há quatro hipóteses de conjugação conforme os valores lógicos da proposição.
Havendo N proposições num enunciado lógico como o anterior, vão existir combinações. Neste caso, havendo 2 proposições, existem
combinações.
Uma proposição só pode tomar um valor lógico - não pode ser V e F ao mesmo tempo!
Operadores lógicos
E
O João gosta de praia e do campo.
Ou seja, o João gosta de ambas as coisas, a praia e o campo.
p | q | |
---|---|---|
V | V | V |
V | F | F |
F | V | F |
F | F | F |
Só é verdadeiro quando ambas as proposições são verdadeiras.
OU
O João gosta de praia ou do campo
Isto é, o João gosta ou da praia, ou do campo ou de ambos.
p | q | p OU q |
---|---|---|
V | V | V |
V | F | V |
F | V | V |
F | F | F |
Só é falso quando ambas as proposições são falsas.
OU... OU...
O João ou gosta de praia ou gosta de campo.
Ou seja, O João gosta de um só destes ambientes, e não dos dois ao mesmo tempo: ou um ou outro.
p | q | OU p OU q |
---|---|---|
V | V | F |
V | F | V |
F | V | V |
F | F | F |
É falso quando as proposições têm o mesmo valor lógico.
Condições
Implicação
Se o João gosta de ir à praia, então gosta do mar.
p | q | |
---|---|---|
V | V | V |
V | F | F |
F | V | V |
F | F | V |
Mas "Falso implica verdadeiro" é uma condição verdadeira.
Equivalência
O João gosta de praia se e só se gosta de mar.
p | q | |
---|---|---|
V | V | V |
V | F | F |
F | V | F |
F | F | V |
Ou seja, só é verdade quando ambas as proposições tiverem o mesmo valor lógico - só assim as proposições equivalem uma à outra.
Outras operações lógicas
Negação
Esta é uma operação muito básica que, simplesmente, nega o resultado lógico de uma proposição ou condição.
p | ~ |
---|---|
V | F |
F | V |
O João não gosta de ir à praia e gosta de de mar. - ~
Igualdade e diferença
Sem negação:
- verdadeiro
- falso
Com negação:
- ~
- falso
- ~
- verdadeiro
Maior do que, menor do que, maior ou igual que, menor ou igual que
- falso
- verdadeiro
- ~
- falso
- ~
- verdadeiro
Principais Leis de Morgan
- ~
~
~
- ~
~
~
Algoritmia
Representação de Algoritmos
Fluxograma
Pseudo-código
Alguns algoritmos
Algoritmo de ordenação
Ver o Capítulo 5 da Parte II do nosso Tutorial de Pascal: Ordenação crescente de uma lista.
Aproveita e vê como pode ser programado recorrendo a Pascal.
Grafos
Algoritmos de pesquisa
Vê o documento completo Algoritmos de pesquisa.
Autor
O autor original, thoga31.