Lógica de Programação
Deforma geral, a programação é um processo de escrita, testes e manutenção de softwares
para ambientes computacionais, desenvolvido por um profissional geralmente chamado de
Programador.
Programação – Definição:
Dificilmente é notada, mas hoje a programação está presente em todos os aspectos
das nossas vidas, influenciando cada vez mais os nossos dias. E hoje, é quase impossível
Imaginar um mundo sem nenhum toque da programação.
Todos os softwares existentes, são compostos por um conjunto de instruções escritas
determinadas pelo programador, que descrevem as tarefas que devem ser realizadas pela
maquina.
Programar significa dar instruções à uma maquina para executar determinadas tarefas.
O advento da programação está directamente ligado à história e evolução dos
computadores e a primeira programadora foi uma mulher chamada Ada Lovelace, que
escreveu um código para possibilitar a utilização da máquina analítica de Charles Babbage.
(Estudo Independente)
Era uma maquina não muito fácil de operar, apenas os programadores podiam operar sobre ela,
porem hoje um século depois, os computadores ficam cada vez mais fácil de usar.
3.
Lógica de Programação
Nãose fala de programação sem incluir a Linguagem de programação.
As máquinas ou computadores, são formadas por duas categorias de componentes:
Componentes Físicos (hardware) – É a parte palpavel e material do computador. Ex:Rato,
monitor, teclado cpu…
Componentes Lógicos (Software) – É a parte não palpavel, ou seja, refere-se aos sistemas que
executam diversas actividades.
Ex: SO, word, gmail, torrent, instagram...
É através da parte lógica que nós usuários nos comunicamos com a maquina.
Tanto a parte física como a lógica são programáveis, mas recebem instruções de forma diferentes.
É por conta desta diversidade que existem as linguagens de programação.
Os componentes Físicos funcionam a base de circuitos eléctricos, e usa-se a linguagem binaria para
serem programados.
Os componentes lógicos ou softwares por sua vez são criados utilizando uma linguagem
intermediária próxima a linguagem humana.
4.
Lógica de Programação
Éuma linguagem formal que, através de uma série de instruções, permite que um programador
escreva um conjunto de ordens, acções consecutivas, dados e algoritmos para criar programas que
controlam o comportamento físico e lógico de uma máquina.
Linguagem de Programação – Definição:
Sintaxe – Estabelece as regras de disposição das palavras, acentuação e pontuação dentro do código
fonte.
Semântica – Trata de dar o significado devido as sentenças de formas que seja entendida pelo
interpretador e pelo compilador.
É um meio sistemático de regras sintácticas e semânticas, que permitem o programador expressar
suas ideias e comunica-las de forma eficiente à máquina.
Código Fonte - É o conjunto de palavras e comandos escritos ordenadamente,
de maneira lógica, que contém instruções em determinada linguagem de programação
Tipos de Linguagem de programação
Linguagens de Baixo nível- É o tipo de linguagem que é totalmente orientada à maquina, e por sua
vez de difícil compreensão para o programador.
Linguagens de Alto nível- São linguagens que cuja sintaxe é voltada ao entendimento humano ,
tornando mais fácil o processo de comunicação entre o homem e a máquina..
5.
Lógica de Programação
Existemdois tipos fundamentais de tradutores:
Interpretadores – São programas tradutores, que recebendo o código fonte faz a
leitura, análise, tradução e execução linha por linha.
Compiladores – Programas tradutores que lêm, analisam, traduzem e executam o
código fonte de uma só vez.
Compiladores vs Interpretadores
As máquinas ou computadores, são formadas por duas partes, que utilizam linguagens
diferentes mas possuem uma necessidade urgente de comunicar entre si de forma
constante.(1)
Isto se torna possível pois as linguagens de programação de alto nivel possuem tradutores que
como o nome indica têm a função de traduzir as instruções do codigo fonte para a linguagem
de maquina.
Comparação dos compiladores e interpretadores. Vantagens e desvantagens.
(Estudo Independente)
6.
Lógica de Programação
NOTAS:
Aprogramação não se resume apenas num simples processo de escrita, pelo contrario, envolve
um conjunto de outras habilidades que devem ser desenvolvidas:
Raciocínio Lógico;
Habilidades Matemáticas;
Capacidade de Abstracção;
Análise de diferentes tipos de Dados; entre outras.
No estudo da programação, a primeira coisa que se aprende é a criação de algoritmos básicos,
que de forma resumida são receitas elaboradas para executar uma determinada tarefa.
Estas tarefas vão desde a mais simples até as mais complexas, assim, a complexide de um
algoritmo depende da complexidade da tarefa a ser executada.
Lógica de Programação
•São técnicas usadas pra representar problemas e obter soluções;
• Ou ainda, sao tecnicas de formação de pensamentos para atingir um
determinado objectivo;
• Permite definir uma sequência lógica para a solução de um problema;
Lógica – Pode ser definida como a habilidade de pensar correctamente. Tem a função de
colocar ordem no pensamento.
Enquanto humanos, utilizamos a lógica de forma natural no nosso dia a dia:
1º Sei que o Livro está no armário.
Sei que o armário está fechado.
Concluo que para pegar o livro tenho de abrir o armário.
2º Sei sou mais velho que o João.
Sei que o João é mais velho que o José.
Logo, concluo que sou mais velho que o José.
9.
Lógica de Programação
SequênciaLógica
• Os pensamentos formados, devem ser extruturados como uma sequencia de
Instruçoes que devem ser seguidas para solucionar o problema ou tarefa.
Exemplos: Testes PsicoTécnicos, fibonanci;
• É cada acção singular feita para solucionar o problema, seguindo a sequencia
Lógica.
• Na programação computacional, pode ser definida como os comandos ou palavras
de ordem dirigidas ao computador para executar uma determinada Operaçao
Exemplos: “Multiplicar”, “Comparar”, “Mostrar”
Instrução
10.
Lógica de Programação
Exemplos:
Sejamos seguintes factos:
Todos os filhos de João são mais altos que a Maria
António é filho de João.
O que podemos concluir logicamente?
Considere os factos abaixo:
Mário é aluno do ISPOCAB;
Para ser aprovado, um aluno no ISPOCAB precisa de uma nota igual ou superior à
10 valores e comparecer em mais de 75% das aulas.
João teve uma nota igual a 15 valor e compareceu em 73% das aulas.
O que podemos concluir?
Num aviao existem 4 romanos e 1 inglês.
Qual o nome da aeromoça?
a) Carla b)Sintia c)Ivone d)Miriam
11.
Lógica de Programação
•Conjunto de operações, sequenciais, lógicas e não ambíguas, que permitem
resolver um problema num número finito de passos
Algoritmos
Exemplo: Achar a média entre 2 numeros.
1. Ter o primeiro número em “A”;
2. Ter o segundo numero em “B”;
3. Somar os dois numeros em “SOMA”;
4. Dividir a soma por dois em “Soma/2”
A B Soma Soma / 2 Média
+ = => =
Em outras palavras, criar algoritmos, significa apontar uma sequencia de actividades que
de forma lógica, levam a solução correta de um problema (desde os mais simples aos
Mais complexos, e incluindo até alguns dos problemas do nosso cotidiano)
12.
Algoritmos
Exemplos de Algoritmos
1ºPegue uma escada.
2º Posicione a escada embaixo de uma lampada
3º Pegue uma lâmpada nova
4º Suba na escada.
5º Retire a Lampada velha.
6º Coloque a lampada nova.
Importante: Esta é apenas uma das muitas soluções possíveis para o
problema apresentado. Ou seja
Podem existir vários algoritmos diferentes para solucionar o mesmo problema.
13.
Algoritmos
Exemplos de Algoritmos
1ºEscreva um algoritmo, para trocar um pneu de um carro.
2º Descreva um algoritmo que defina como fazer um bolo.
3º Descreva um algoritmo que defina como preparar um ovo frito.
4º Descreva um algoritmo que defina como tirar o carro de uma garagem.
14.
Lógica de Programação
Diariamentelidamos com vários problemas, do mais simples ao mais complexo, e em todos
eles somos obrigados a tomar uma decisão sobre uma condição, das quais resultam as
nossas acções.
Algoritmos com Estruturas de decisão
Condiçoes – São proposições declarativas que podem ser valoradas em Verdade ou Falso.
Ações – Tarefas ou instruções que se realizam ou nao como consequencia das condiçoes.
Até ao momento, nos deparamos maioritariamente com algoritmos cuja sequencia de
passos devem ser seguidos, todos sem restrição para atingir um objectivo determinado.
A estes algoritmos chamamos de lineares.
Porém, existem algoritmos onde nem todos os passos precisam ser necessariamente
executados para que se alcance o objectivo, ou seja, alguns passos podem depender de
decisões a serem tomadas durante o processo de execução do algoritmo. Estes algoritmos
Possuem uma estrutura de decisão, e são chamados de algoritmos condicionais.
15.
Lógica de Programação
Algoritmoscom Estruturas de decisão
Exemplo: Algoritmo para trocar uma lâmpada:
1º Pegue uma escada.
2º Posicione a escada em baixo de uma
lâmpada
3º Pegue uma lâmpada nova
4º Suba na escada.
5º Retire a Lâmpada velha.
6º Coloque a lâmpada nova.
Observaçoes sobre o algoritmo anterior:
1º Não sabemos qual o estado da lampada.
2º Trocamos a lampada sem fazer qualquer
teste
3º Pode ser que não haja necessidade de trocar
a lampada.
4º Em que estado se deve trocar a lâmpada?
16.
Lógica de Programação
Pararesolver o problema anterior acrescentamos ao nosso algorítmo um teste que verifique
se a lampada deve ser trocada:
Exemplo: Algoritmo para trocar uma lâmpada:
1º Ligue o Interruptor
2º Se a lâmpada acender
2.1 – Não faça nada.
3º Se a lâmpada não acender
3.1ºPegue uma escada.
3.2º Posicione a escada por baixo da lâmpada
3.3º Pegue uma lâmpada nova
3.4º Suba na escada.
3.5º Retire a Lâmpada velha.
3.6º Coloque a lâmpada nova.
4º Fim
Observações sobre o algoritmo anterior:
1º Os passos normais para efectuar a troca de uma
lâmpada estão associadas a uma condição
2º Os passos 3.1 à 3.6 apenas serão executados se a
condição 3 for verdadeira, ou seja, caso a lampada não
acenda.
Assim, estruturas de decisão ou (estruturas condicionais)
são elementos da programação que permitem que um bloco
de instruções sejam executados quando uma
ou mais condições são ou não cumpridas.
17.
Algoritmos
Exemplos de Algoritmoscom estrutura Condicional
1º Sabendo que um estudante possui apenas duas condições (aprovado ou reprovado), escreva
um algoritmo que nos permita a partir da média conhecida, saber se o estudante aprovou ou
reprovou.
Para notas maiores ou igual 10 o estudante é considerado aprovado, o contrario é reprovado.
18.
Lógica de Programação
Analisandoo nosso algoritmo em estudo, já nos permite verificar se há ou não necessidade
De efectuar a troca da lampada em vez de faze-lo de forma deliberada. Porém:
E se nova lampada instalada não funcionar?
Algoritmos com Estruturas de Repetição
1º Ligue o Interruptor
2º Se a lâmpada acender
2.1 – Não faça nada.
3º Se a lâmpada não acender
3.1ºPegue uma escada.
3.2º Posicione a escada por baixo da lâmpada
3.3º Pegue uma lâmpada nova
3.4º Suba na escada.
3.5º Retire a Lâmpada velha.
3.6º Coloque a lâmpada nova.
3.7º Se a lâmpada não acender
3.7.1º Retire a Lâmpada
3.7.2º Coloque outra lampada.
3.7.3º Se a lâmpada não acender
3.7.4º Retire a Lâmpada
3.7.5º Coloque outra lampada.
4º Fim
Podemos tentar melhorar o nosso
algoritmo. Utilizando as estruturas de
decisao
19.
Lógica de Programação
Podeaparentemente ser funcional, porem temos alguns problemas:
Algoritmos com Estruturas de Repetição
1º O processo de trocar a lâmpada caso ela esta não acenda, é indefinido.
2º Não sabemos quantas vezes teremos de repetir o processo até acharmos uma
lâmpada que funcione.
3º Por definição, algoritmos têm de ter uma sequencia finita de passos.
Para casos semelhantes, devemos utilizar estruturas de repetição, que são estruturas que
definem um fluxo de ações que se repetem até que uma determinada situação pré estabelecida
se aconteça.
20.
Lógica de Programação
Algoritmoscom Estruturas de Repetição
Assim, substituindo a sequencia indefinida de estruturas de decisão por uma estrutura de
repetição teríamos:
1º Ligue o Interruptor
2º Se a lâmpada acender
2.1 – Não faça nada.
3º Se a lâmpada não acender
3.1ºPegue uma escada.
3.2º Posicione a escada por baixo da
lâmpada
3.3º Pegue uma lâmpada nova
3.4º Suba na escada.
3.5º Retire a Lâmpada velha.
3.6º Coloque a lâmpada nova.
3.7º Enquanto não acender
3.7.1º Retire a Lâmpada
3.7.2º Coloque outra lampada.
4º Fim
Logo: Com base neste novo algoritmo, enquanto
a condiçao definida na linha 3.7 for verdadeira, ou
seja enquanto a lampada não acender, as ações
definidas em 3.7.1 e 3.7.2 serão repetidas
21.
Algoritmos
Exemplos de Algoritmoscom estrutura Condicional
1º Elabore um algoritmo que indique como fazer uma prova, partindo do pressuposto de que o
estudante não deve deixar questoes em brancos assim deve continuar fazendo a prova enquanto
existir uma quetao em branco. Alem disso, o aluno so deve resolver uma questao se souber
resolve-la.
2º Suponha que você tenha uma caixa cheia de bolas. Nessa caixa existem bolas azuis e bolas
vermelhas. Além disso, você tem também duas caixas vazias.
Vamos chamar a caixa que contém as bolas de “caixa 1” e as duas caixas vazias de “caixa 2” e
“caixa 3”.
Neste contexto, escreva um algoritmo que defina como tirar todas as bolas da “caixa 1”
colocando as bolas azuis na “caixa 2” e as bolas vermelhas na “caixa 3”.
22.
Algoritmos
Exemplos de Algoritmoscom estrutura Condicional
3º José trabalha no departamento de recursos humanos de uma empresa. A empresa de José
definiu que os salários dos empregados serão aumentados seguindo a seguinte regra:
caso o salário seja menor que R$1000,00 o aumento será de 10% e,
caso contrário, será de 8%.
José recebeu uma lista contendo os nomes e salários de todos os funcionários da empresa e foi
solicitado que calculasse o novo salário desses funcionários. Assim, escreva um algoritmo para
que José calcule corretamente os novos salários.
23.
Algoritmos
Exemplos de Algoritmoscom estrutura Condicional
4º - Três missionários e três canibais encontram-se na margem esquerda de um rio. Nessa
margem também existe um bote que pode transportar uma ou duas pessoas. As seis pessoas
pretendem todas passar para a margem direita (usando o bote).
No entanto, os missionários têm de arranjar um plano para o conseguir de modo que, em nenhuma
circunstância, existam missionários numa margem em minoria relativamente aos canibais, pois têm
receio do que lhes possa acontecer. Quando o bote chega à margem, os elementos do bote são
contados como estando na margem. Assim, se houver apenas um
canibal em uma margem, não podemos enviar a essa margem o bote com um canibal e um
missionário,pois, ao chegar à outra margem, serão dois canibais
contra um missionário.
Lembre-se de que para o bote ir de uma margem a outra é necessário que alguém
esteja remando, ou seja, o bote nunca atravessa vazio.
Faça um algoritmo que exiba, passo a passo, como efetuar esta travessia de forma segura.
25.
– Os algoritmossão expressos diretamente em linguagem natural.
– Resolve os problemas apenas a nivel logico.
aos detalhes de implementação.
–Os algoritmos são representados graficamente, onde diferentes formas geométricas
representam acções (instruções, comandos) distintos.
–São intermediários a nivel de detalhes, sendo mais precisos que a descrição Narrativa.
–Se atenta mais aos detalhes físicos de implementação.
Pseudocódigo ou Portugol
–É uma linguagem intermediaria a linguagem natural e as linguagens de programação
–Os comandos e instruções são representadas por palavras de fácil compreensão.
–Sao precisas e muito exigentes em detalhes de implementação.
–Assemelham-se bastante às linguagens de programação usadas para aplicativos.
–Náo é uma linguagem de programação
O critério usado para classificar hierarquicamente estas formas está diretamente ligado ao
nível de detalhe que cada uma forma pode exigir.
As formas de representação mais conhecidas sao:
26.
Início e final
Entradade dados
Saída de dados
Processamento de dados
Estrutura de Decisão
Início
N1, N2
Media
(N1 +N2) / 2
Media
>= 7
Aprovado Reprovado
Fim
27.
Algoritmo <Nome doAlgoritmo>
Var
<Declaração de Variáveis>
Inicio
<Corpo do Algoritmo>
Fim
Algoritmo – Palavra que indica o inicio do Algoritmo.
<Nome do Algoritmo> - É um nome simbólico dado ao algoritmo para
distingui-lo dos demais;
<Declaração de Variáveis> - Determina a área reservada para declarar as
variáveis a ser usadas no algoritmo .
Inicio/Fim – Palavras que delimitam o inicio e o fim do conjunto de
instruções do corpo do algoritmo.
<Corpo do Algoritmo> - Espaço para o processamento das instruções e
operações do algoritmo.
É no corpo do algoritmo onde encontraremos o conjunto de instruções
ou comandos para a execução do algoritmo
28.
Leia – Comandousado para inserir valores a partir do teclado ou de um
outro dispositivo, de formas a serem lidos pela maquina.
Escreva, Escreval comando usado para imprimir uma mensagem na
tela.
, := - Permite atribuir valores e resultados à determinadas variáveis. É
principal forma de armazenar informações numa variável.
Comandos e Instruções – São palavras usadas para orientar a maquina a executar diferentes açoes.
Em pseudocodigo temos os seguintes comandos:
Entrada: Leia
Saida: Escreva, Escreval
Atruibuiçao: , :=
29.
Exemplo: Calcular emostrar a média de duas notas de um estudante
1. Algoritmo “Achar a média”
2. Var
3. Nota1: inteiro
4. Nota2: inteiro
5. media, soma: real
6. Inicio
7. Leia (Nota1)
8. Leia (Nota2)
9. soma Nota1 + Nota2
10. media soma / 2
11. escreva (media)
12. Fim
Linha 1– Demos inicio ao algorítmo e definimos um nome.
Linha 2- Definimos o espaço para declarar variaveis e as declaramos
nas linhas 3,4 e 5.
Linhas 6 e 12- Delimitamos o inicio e o termino do algoritmo
Linhas 7 e 8- Instruímos o computador a permitir que o usuário insira os
valores das duas notas
Linhas 9 e 10 – Efectuamos o processamento calculando a média
Linha 11 – Imprimimos o resultado “na tela”.
Para compilar os algoritmos em pseudocódigo, passaremos a utilizar uma ferramenta denominada
VisualG
31.
Introdução ao VisualG- ou Portugol
No exemplo anterior, vimos como é a estrutura de uma algoritmo em pseudocódigo, bem como o seu
funcionamento depois de implementado.
Existem conceitos importantes que devem ser aprendidos antes de prosseguirmos ao estudo de
algoritmos computacionais.
– Devem ser sempre declaradas antes de utilizadas;
– Devem possuir um nome, e o seu valor pode ser variavel ou constante.
– Ao nome da chamamos de identificadores e os valores devem pertencer à uma certa familia ou
tipo de dados
Declaração de variáveis em pseudocódigo : <Identificador> : <tipo de dado>
32.
Introdução ao VisualG- ou Portugol
Regras para definir identificadores
1. Deve começar com uma letra ou “ __ ”
2. Os próximos podem ser letras ou números
3. Não pode utilizar nenhum sibolo excepto
o “ __ ”
4. Não pode conter espaçamento
5. Nao pode ter letras com acento
6. Nao pode ser uma palavra reservada
Exemplos de Variaveis
Válidas:
Inválidas a) 8_Ana b) Carlos Manuel c) a + c d) Média
a) raio b) Manuel c) _43
33.
3º Tipo deDados - Definem o tipo ou formato da informação que se vai atribuir à
uma variável, bem como os tipos de operações que serão realizados sobre as mesmas.
Inteiros – Representa toda a informação numérica inteira, ou seja, sem a parte fraccionaria. E podem
ser positivos, negativos ou nulos: Exemplo: -1; 1; 1000; 0
Real – Representa toda informação numérica pertencente ao conunto dos numeros reais (inteiros ou
fraccionarios); Exemplo: -0.5; 0.001; -50.8076; 0; 3.1415, 1000
Caractere – Representa toda a sequencia de conteudos, letras, numeros e simbolos especiais
(Alfanumericos).
Sua representaçao deve ser feita dentro de aspas duplas.
Exemplo: “Angola”; “1234 Alpha”, “Olá Mundo!...”
Lógico – Representam apenas dois tipos de valores: “Verdadeiro e Falso”.
Cada variavel deste tipo deve possuir apenas um destes valores, e sao chamados tambem de valores
Booleanos.
Exemplo: As lâmpadas estão apagas; 2+2 = 5-2; Café é ruim;
34.
Exercícios Teorico-Práticos
1. Elaboreum algoritmo que imprima na tela a frase “Olá Mundo”;
2. Elabore um algoritmo que receba o ano de nascimento de uma pessoa e determina a sua idade
3. Lê um número e mostra a terça parte deste número.
4. O balconista de um mini-mercado deseja saber o total que cada cliente deve pagar de acordo as
compras feitas, supondo que cada cliente so compra um único produto.
5. Lê dois números e mostre os seguintes resultados:
a. Dividendo:
b. Divisor:
c. Quociente:
d. Resto (para calcular o resto de uma divisão, utilize o operador MOD).
Operadores - Sãoelementos funcionais que atuam sobre operandos e produzem um
determinado resultado.
ex: 5 + 2 – Esta expressão, relaciona dois operandos (5 e 2) por meio do operador (+).
De acordo com o número de operandos, os operadores podem ser classificados em:
Unários- quando atuam sobre um único operando.
ex: Incremento (++), decremento(--), o sinal de (-) em frente de um numero cuja função é inverter
o sinal;
Binários - Quando atuam sobre dois operandos.
ex: os operadores das operações aritméticas básicas (soma, subtracção, multiplicação e
divisão);
37.
Outra classificação dosoperadores é feita considerando-se o tipo de dado de seus
operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operadores dividem-
se em aritméticos, lógicos e literais.
Operadores Aritméticos - são aqueles cujo resultado da avaliação é do tipo numérico,
seja ele inteiro ou real.
Simbolo Descriçao Exemplo A = 7 / B = 2
Adição A + B
Subtração A – B
Multiplicação A * B
Divisao (Faccionaria) A / B
Divisão Inteira A B
Exponenciação A^B
MOD ou % Resto da Divisao A mod B
*
^
/
38.
Na resolução deexpressões aritméticas deve-se utilizar a seguinte ordem de precedência entre
os operadores:
Simbolo Descriçao
() Parênteses
^ Exponenciação
* / % Mult, Div
+ - Soma e Subtração
Exemplo: 10+9*3 (10+9)*3
Exemplo2: nota1 + nota2 + nota3 / 2
nota1 + (nota2+nota3)/2
Funções Pré-definidas – Podem ser chamadas de sub-algoritmos, são elementos incorporados
dentro de uma linguagem de programação para efectuar um ou mais cálculos notáveis de forma
mais simples e prática. Ex: Funções no VisualG:
Simbolo Descriçao Exemplo
ABS Vaor Absoluto ABS (-7)
Exp Exponenciação Exp (4,2)
Int Valor Inteiro Int (29.34)
RaizQ Raiz Quadrada RaizQ (9)
Pi Pi
Sen Seno
Cos Cosseno
Tan Tangente
39.
Operadores Relacionais- Sãoutilizados para realizar comparações entre dois valores do mesmo
tipo. Operaçoes realizadas por operadores relacionais recebem o nome de relação e devolvem
sempre resultados lógicos(Verdadeiro ou Falso).
Simbolo Descriçao Exemplo A=7; B=2
> Maior que A > B
< Menor que A < B
>= Maior ou igual à A >= B
<= Menor ou igual à A <= B
= Igual A = B
<> Diferente A<>B
40.
Operadores Lógicos -Assim como os relacionais, também retornam resultados lógicos, porem
nao servem para comparar dois valores ou expressoes, mas para apurar resultados logicos.
P Q P e Q P ou Q NãoP
V V Verdadeiro Verdadeiro Falso
V F Falso Verdadeiro Falso
F V Falso Verdadeiro Verdade
F F Falso Falso Verdade
Os operadores lógicos são tambem conhecidos comoconectivos, pois são utilizados para formar
novas proposiçoes a partir de expressoes diversas.
Exemplo: Sabendo que A = 5 e B = 8, resolva as seguintes expressões até ao último reduto.
A<6 E B>7
Nao(A =5) E B<5
Nao((A<>B) OU (Nao(B>=8)))