quarta-feira, 20 de julho de 2011

on
Programação lógica é um paradigma de programação que faz uso da lógica matemática. John McCarthy foi o primeiro a publicar uma proposta de uso da lógica matemática para
A primeira linguagem de programação lógica foi a Planner, a qual permitia a invocação orientada a padrões de planos procedimentais de asserções e de objetivos. Com a necessidade de adaptação aos sistemas de memória muito limitada, que eram disponíveis quando ela foi desenvolvida. A linguagem Planner usava estruturas de controle de backtracking, de tal forma que apenas um único caminho computacional tinha que ser armazenado por vez. Em seguida, o Prolog foi desenvolvido como uma simplificação do Planner que permitia a invocação orientada a padrões apenas a partir de objetivos (também baseado em backtracking).
A partir do Planner, foram desenvolvidas as linguagens de programação QA-4, Popler, Conniver, e QLISP. As linguagens de programação Mercury, Visual Prolog, Oz e Frill, foram desenvolvidas a partir do Prolog. Atualmente existem linguagens de programação lógica concorrente (não baseadas em backtracking) derivadas do Planner (por exemplo, a Ether) e derivadas do Prolog (ver Shapiro 1989 para um apanhado geral).

O sentido da programação lógica é trazer o estilo da lógica matemática à programação de computadores. Matemáticos e filósofos encontram na lógica uma ferramenta eficaz para desenvolvimento de teorias. Vários problemas são naturalmente expressos como teorias. Dizer que um problema precisa de solução frequentemente equivale a perguntar se uma nova hipótese é consistente com uma teoria existente ou se é conseqüência dela. A lógica proporciona uma maneira de demonstrar se uma questão é verdadeira ou falsa.
O processo de construir uma demonstração é bem conhecido, portanto a lógica é um meio confiável de responder perguntas. Sistemas de programação lógica automatizam este processo. A inteligência artificial teve uma influência importante no desenvolvimento da programação lógica.

SEQUÊNCIA LÓGICA
Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser
seguidas para se cumprir uma determinada tarefa.

Seqüência Lógica são passos executados até atingir um objetivo ou solução de um
problema.


ALGORITMO

Um algoritmo é uma sequência finita e não ambigua de instruções para resolver um problema.
Como exemplo, podemos imaginar o seguinte problema: precisamos fritar um ovo.

O algoritmo seria mais ou menos assim:
 1 - colocar a frigideira no fogo.
2 - colocar óleo na frigideira.
3 - retirar o ovo da geladeira
4 - esperar o óleo ficar quente.
5 - quebrar o ovo separando a casca
6 - colocar o conteúdo do ovo na frigideira
7 - esperar o ovo ficar frito
8 - retirar o ovo da frigideira
9 - apagar o fogo

Quem trabalha com atendimento a cliente usa bastante um método chamado Script onde seu superior descreve como você deve agir perante as situações ocorridas durante o atendimento, vamos exemplificar:
Um vendedor vai até o cliente
O vendedor observa o que o cliente tem a sua volta
Para ganhar o cliente, o vendedor usa maneiras de deixar o cliente mais "a vontade"
SE o cliente tiver fotos de família, então fale sobre família,
SENÃO fale sobre alguma outra coisa que o cliente aparentemente goste (ex: quadro com cavalos, revistas)
ENQUANTO o cliente não se sentir a vontade, tente deixá-lo a vontade.

Agora vamos analisar o script:
- Para começar, você pode ver que as ordens são dadas em sequência de cima para baixo (como o ser humano faz a leitura).
- O vendedor tem que fazer exatamente o que está descrito ao longo do script
- Em negrito, vemos que em certos momentos o vendedor deve tomar algumas decisões de acordo como anda a negociação
- Em vermelho temos já uma ordem de ficar repetindo uma ação até que esta seja cumprida, ou seja, o vendedor deve persistir naquela ação enquanto não conseguir o resultado desejado.

Explicação:
Um algoritmo é basicamente isso, você é o chefe e o computador é o vendedor. Você deve dizer exatamente o que ele deve fazer e como se comportar perante certas ocasiões (decisão, repetição...).

Informalmente, um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída.

Um algoritmo deve sempre possuir pelo menos um resultado, normalmente chamado de saída, e satisfazer a propriedade da efetividade, isto é, todas as operações especificadas no algoritmo devem ser suficientemente básicas para que possam ser executadas de maneira exata e num tempo finito.

Na prática não é importante ter-se apenas um algoritmo, mas sim, um bom algoritmo. O mais importante de um algoritmo é a sua correção, isto é, se ele resolve realmente o problema proposto e o faz exatamente.

Para se ter um algoritmo, é necessário:


1.Que se tenha um número finito de passos

2.Que cada passo esteja precisamente definido, sem possíveis ambigüidades

3.Que existam zero ou mais entradas tomadas de conjuntos bem definidos

4.Que existam uma ou mais saídas

5.Que exista uma condição de fim sempre atingida para quaisquer entradas e num tempo finito.

Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de
computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados e
executados por uma máquina, no caso um computador. Notem que dada esta interpretação
rigorosa, um programa é por natureza muito específico e rígido em relação aos algoritmos da vida
real.


DESENVOLVENDO ALGORITMOS
- PSEUDOCÓDIGO
Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é
uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando
formos programar em uma linguagem, por exemplo Visual Basic, estaremos gerando código em
Visual Basic. Por isso os algoritmos são independentes das linguagens de programação. Ao
contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser
escrito o algoritmo.
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o
intermediário entre a linguagem falada e a linguagem de programação.
Regras para construção do Algoritmo

Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira
simples e objetiva. Para isso utilizaremos algumas técnicas:
- Usar somente um verbo por frase
- Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham
com informática
- Usar frases curtas e simples
- Ser objetivo
- Procurar usar palavras que não tenham sentido dúbio

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado
em três fases fundamentais:
ENTRADA -> PROCESSAMENTO -> SAÍDA

ENTRADA: São os dados de entrada do algoritmo

PROCESSAMENTO:
São os procedimentos utilizados para chegar ao resultado final
SAÍDA: São os dados já processados

Imagine o seguinte problema: Calcular a média final dos alunos da 3 Série. Os alunos
realizarão quatro provas: P1, P2, P3 e P4.

Onde:
Média Final = P1 + P2 + P3 + P4 / 4

Para montar o algoritmo proposto, faremos três perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro)
P1 + P2 + P3 + P4 / 4

c) Quais serão os dados de saída?
R: O dado de saída será a média final

Algoritmo
 Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado por 4
Mostre o resultado da divisão


VARIÁVEIS
Variável é a representação simbólica dos elementos de um certo conjunto. Cada variável
corresponde a uma posição de memória, cujo conteúdo pode se alterado ao longo do tempo
durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela
só pode armazenar um valor a cada instante

As variáveis e as constantes podem ser basicamente de quatro tipos:
Numéricas, caracteres,
Alfanuméricas ou lógicas
.

Numéricas Específicas para armazenamento de números, que posteriormente poderão ser
utilizados para cálculos. Podem ser ainda classificadas como Inteiras ou Reais.

As variáveis do tipo inteiro são para armazenamento de números inteiros e as

Reais são para o armazenamento de números que possuam casas decimais.

Caracteres Específicas para armazenamento de conjunto de caracteres que não
contenham números (literais). Ex: nomes.

Alfanuméricas Específicas para dados que contenham letras e/ou números. Pode em
determinados momentos conter somente dados numéricos ou somente
literais. Se usado somente para armazenamento de números, não poderá
ser utilizada para operações matemáticas.

Lógicas Armazenam somente dados lógicos que podem ser Verdadeiro ou Falso.

Declaração de Variáveis
As variáveis só podem armazenar valores de um mesmo tipo, de maneira que também são
classificadas como sendo numéricas, lógicas e literais.

Existe muito mais coisa no mundo da lógica de programação. Esta é apenas uma introdução para você saber onde está se metendo. Um bom estudo e até a próxima.

0 comentários:

Postar um comentário