56
 Lógica de Programação Conceitos 

Conceitos de Lógica

Embed Size (px)

Citation preview

Page 1: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 1/56

Lógica de Programação 

Conceitos 

Page 2: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 2/56

Lógica

Dicionário: Do grego logiké , arte de raciocinar s. f., ciência que tem por objetivo o estudo dos

métodos e princípios que permitem distinguirraciocínios válidos de outros não válidos; ligação de idéias; coerência;

parte da Filosofia que estuda as leis doraciocínio; continuidade no raciocínio.

Page 3: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 3/56

Argumento

A lógica é o estudo dos argumentos.

Um argumento é uma seqüência deenunciados na qual um dos enunciados é aconclusão e os demais são premissas, asquais servem para provar ou pelo menos,fornecer algumas evidências para aconclusão.

Page 4: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 4/56

Enunciado ou Proposição

Uma proposição é uma frase afirmativa, ouseja, uma frase que afirma que umasituação é de uma determinada maneira.

Os enunciados (ou proposições) são a basedos argumentos.

Page 5: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 5/56

Seqüência Lógica

Nem sempre o raciocínio funciona de formalógica. Nesse caso, precisamos identificar eanalisar alguns pontos fundamentais:

Qual é o “Problema”?  O que é necessário para resolvê-lo?

Como organizar as possíveis soluçõesencontradas?

Page 6: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 6/56

Exemplo

O que é necessário para trocar uma lâmpada?

Uma lâmpada nova Uma escada Saber onde está a lâmpada queimada Desligar o interruptor Retirar a lâmpada queimada Etc.

Page 7: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 7/56

Seqüência Lógica

Você conseguiria trocar uma lâmpadaobedecendo as orientações do slide anterior?Talvez sim, mas com certeza precisaria alterar

a seqüência das etapas para a soluçãoencontrada.

A organização das etapas para solução de umproblema é chamada de “Seqüência Lógica”. 

Page 8: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 8/56

Lógica de Programação

Lógica de Programação é a contextualizaçãodo conceito de lógica na programação de

computadores. Essa “tarefa” visa buscar amelhor seqüência de ações para solucionar um“problema”. 

Os passos para obter a conclusão de umproblema, recebem o nome de instruções.

Page 9: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 9/56

Algoritmo

À seqüência de ações para a solução deproblemas em programação de computadores

dar-se o nome de Algoritmo.

Os algoritmos são as regras que um programa

deve seguir para chegar a um determinadoobjetivo.

Page 10: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 10/56

Algoritmo

Damos o nome de Algoritmo a qualquerprocedimento que permita mecanizar aobtenção de resultados de tipo determinado,

podendo um resultado ser obtido por mais deum algoritmo.

Algoritmo é um conjunto de etapas bemdefinidas necessárias para chegar à resoluçãode um problema.

Page 11: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 11/56

Ação

Ação é algo que acontece a partir de umestado inicial e após um período de tempofinito, produz um estado final previsível.

Exemplo:Levantar-se 

Estar sentado Estar de péAção: Levantar-se

Tempo: X

Estado inicial Estado final

Page 12: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 12/56

Regra

Para a criação de algoritmos, deve-seobedecer às seguintes regras:

1. Indicar o início do algoritmo2. Colocar as ações na seqüência, uma em

cada linha3. Indicar o fim do algoritmo

Page 13: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 13/56

início

<comando 1><comando 2>

<comando n>fim

Page 14: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 14/56

Refinando Ações

As ações dos algoritmos são divididas emduas categorias:

Primitivase

Não-Primitivas

Page 15: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 15/56

Ações Primitivas

São consideradas Ações Primitivas , quandoessas não puderem mais ser refinadas, ouseja, quando a ação não pode ser mais

detalhada do que já é.

Um exemplo, são as ações de início dos

algoritmos, pois não há como detalhar maisonde começa o algoritmo.

Page 16: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 16/56

Ações Não-Primitivas

São consideradas Ações Não-Primitivas ,aquelas que podem ser melhor especificadas.No exemplo de trocar uma lâmpada Retirar a 

lâmpada queimada , é uma ação não-primitiva,pois pode ser refinada em outras ações:

Segurar a lâmpada

Girar a lâmpada no sentido anti-horário*Puxar a lâmpada para baixo

* no caso de lâmpadas com socket de rosca 

Page 17: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 17/56

Quando e Como?

Ações não-primitivas devem ser refinadas até setornarem primitivas .

Para refinar uma ação, você deve usar o comandorefinamento ou ref., conforme o modelo:

ref.<comando 1><comando 2>

<comando n>fim-ref.

Page 18: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 18/56

Page 19: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 19/56

Pseudocódigo

Consiste em representar o algoritmo através decomandos na língua portuguesa.

Esse tipo de representação também éconhecida como Português Estruturado ou

Portugol .

Page 20: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 20/56

 

Nesse modelo, aspalavras início e fim (esomente elas) devem

ser sublinhadas. Issoindica que elas, assimcomo os comandos derefinamento são açõesprimitivas.

início<comando 1><comando 2>

<comando n>fim

Page 21: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 21/56

Fluxograma

Essa representação utiliza figuras geométricas pararepresentar o fluxo de dados e os comandos do algoritmo.

<comando 1>

<comando 2>

<comando n>

início

fim

Page 22: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 22/56

Diagrama de Chapin

Essa representação consiste no uso dequadrados e retângulos para descrever asações do algoritmo.

<comando 1>

<comando 2>

<comando n>

Page 23: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 23/56

Page 24: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 24/56

Constantes

Constantes são valores declarados noalgoritmo que não mudam, não importa queações aconteçam durante a execução do

mesmo. Elas alocam trechos de memória paraarmazenamento desses valores.Elas podem ser de três tipos: Numéricas Literais Lógicas

Page 25: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 25/56

Constantes Numéricas

São valores declarados compostos pornúmeros positivos ou negativos.

Exemplos: 7 -333 1,37 1013

Page 26: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 26/56

Constantes Literais

São compostas por conjuntos de caracteres, taiscomo: Letras, Números, Símbolos, etc.

Exemplos:“24/07/2008” “TI” 

“X.25” 

Obs: esses caracteres devem ser colocados entre aspas.

Page 27: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 27/56

Constantes Lógicas

Essas constantes podem armazenar apenas doisvalores distintos: verdadeiro ou falso .

São usadas para prover saídas à problemaslógicos, ou seja, problemas onde sua solução sópoderá se dá através de duas saídas possíveis.

Obs: os valores declarados em Constantes Lógicas, devem ser sublinhados para que não sejam confundidos com Constantes Literais.

Page 28: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 28/56

Variáveis

Variáveis também são trechos de memóriaalocados pelo algoritmo, porém, ao contrário

das constantes, inicialmente elas nãoarmazenam valor algum, elas apenas reservamesse espaço para o armazenamento de valores

provenientes de ações do algoritmo executado.

Page 29: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 29/56

Tipos de Variáveis

As Variáveis são diferenciadas através dosvalores nelas armazenados. Como essesvalores são Constantes , então elas podem ser

do tipo:

Numérica 

Literal  Lógica 

Page 30: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 30/56

Identificador

Para que possamos saber que tipo deinformações serão armazenadas em umavariável, devemos “dar nome aos bois”, nesse

caso, às variáveis. Esse nome deve serrelacionado ao tipo de informação que ela iráreceber.

Esse nome é chamado de Identificador .

Page 31: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 31/56

Regras

O nome da variável pode ser composto por umou mais caracteres em caixa alta (letras em

maiúsculo).O primeiro caractere deve ser,obrigatoriamente, uma letra e os demaispodem ser alfanuméricos, porém, não poderãoser usados caracteres especiais.

Page 32: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 32/56

Declaração de Variáveis

As variáveis que serão utilizadas na execução doalgoritmo, devem ser indicadas em seu início.Esse procedimento reserva o(s) trecho(s) de

memória que será(ão) utilizado(s).

Exemplo:

início| NOME: literal

fim

Page 33: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 33/56

Declaração de Variáveis

Para declarar a variáveis, você deverá sempreidentificá-la e informar que tipo de valores ela iráreceber.

início| <IDENTIFICADOR>: <tipo de variável>

fim

Obs: representações dos tipos Fluxograma e Diagrama deChapin, não possuem declaração de variáveis.

Page 34: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 34/56

Operadores

Os Operadores são recursos disponíveis emlógica de programação que informam aoalgoritmo como manipular o conteúdo das

variáveis.Eles podem ser: de Atribuição 

Aritméticos 

Relacionais 

Lógicos 

Page 35: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 35/56

Operador de Atribuição

Durante a execução do algoritmo, as variáveisrecebem um (ou “uns”) valor (uma constante).

Essa tarefa é executada pelo comando Atribuição .

Em resumo, o comando Atribuição, altera oconteúdo das variáveis.

Esse comando é representado pelo símbolo (seta para esquerda).

Page 36: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 36/56

Sintax

<IDENTIFICADOR> <valor a ser armazenado>

Exemplo:

início| NOME: literal| IDADE: numérico| NOME “Silvio” | IDADE 42

fim

Page 37: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 37/56

Operadores Aritméticos

Operadores Aritméticos são usados para resolverexpressões em algoritmos. Por sua vez, asexpressões resolvem cálculos matemáticos.

Os principais operadores Aritméticos são:+ (Adição)- (Subtração)* (Multiplicação)

 / (Divisão)^ (Potenciação)

Page 38: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 38/56

Operadores Relacionais

Enquanto os Operadores Aritméticos executamcálculos matemáticos com o conteúdo dasvariáveis, os Operadores Relacionais fazem,

como o próprio nome diz, relacionam oconteúdo delas.

Essa operação torna possível descobrir se oconteúdo de variáveis é igual, é maior oumenor, etc.

Page 39: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 39/56

Operadores Relacionais

= (Igualdade)

<> (Diferença)

> (Maior que)

< (Menor que)

>= (Maior ou igual)

<= (Menor ou igual)

Os Operadores Relacionais , após a execução de testeentre variáveis ou expressões, retornam apenas doisvalores possíveis: verdadeiro ou falso.

Page 40: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 40/56

Operadores Lógicos

Operadores Lógicos são extremamenteimportantes no desenvolvimento de algoritmos,pois normalmente temos várias expressões

aritméticas e relacionais e devemos combinaros seus resultados afim de obter apenas um.

Os Operadores Lógicos são utilizados paraesse propósito.

Page 41: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 41/56

Operadores Lógicos

Os principais Operadores Lógicos são:e – Intersecção 

ou – União 

não – Negação 

O resultado de uma expressão que utilizaoperadores lógicos é booleano, ou seja, também éum resultado lógico (verdadeiro ou falso).

Page 42: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 42/56

Operador Literal

Para montar uma expressão com variáveise/ou constantes literais, são aceitas apenas

operações de concatenação e para tal, apenasum operador é usado:

+ (que em expressões literais é chamado deConcatenação )

Page 43: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 43/56

Funções

Quando a relação entre duas variáveisnecessita de operações especiais, as Funções 

entram em ação.

Elas simplificam ações que em determinados

momentos tornam-se repetitivas, facilitandosua conclusão.

Page 44: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 44/56

Funções Aritméticas

DIV (x, y) – retorna a parte inteira da divisão de x por y .

RESTO (x, y) – retorna o resto da divisão de x por y .

ABS (x) – retorna o valor absoluto de x .

ARREDONDA (x) – retorna o valor arredondado de x .

ELEV (x, y)* – retorna o resultado de x elevado a y .

RZQD (x) – retorna o valor da raiz quadrada de x .

*Executa a mesma tarefa do operador ^.

Page 45: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 45/56

Funções Literais

LTRIM (a) – remove espaços em branco do início do conteúdoda variável a .

RTRIM (a) – remove espaços em branco do final do conteúdoda variável a .

COMP (a) – retorna a quantidade de caracteres do conteúdo

da variável a .ESQUERDA (a, x) – retorna os x primeiros caracteres do

conteúdo da variável a .DIREITA (a, x) – retorna os x últimos caracteres do conteúdo

da variável a .

SUB (a, x, y) – retorna os y caracteres a partir da posição x  da variável a .POS (a, b) – retorna a quantidade de caracteres até o

surgimento de b na variável a .

Page 46: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 46/56

Entrada e Saída de Dados

Já sabemos como o computador armazena osdados que serão processados e também comomanipula as informações.

Agora precisamos saber como armazenar umainformação digitada por um operador atravésdo teclado (ou qualquer outro dispositivo deentrada) e também como enviar mensagens no

vídeo (ou qualquer dispositivo de saída) paraque o usuário possa ler e seguir as instruçõesdo programa.

Page 47: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 47/56

Entrada de Dados

A instrução para entrada de dados é muitoimportante para um programa, poisnormalmente os dados que serão processados

devem ser informados por um operador.

Em Lógica de Programação, o comando

utilizado para “guardar” um dado informadopelo operador em uma variável é o comandoleia.

Page 48: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 48/56

Exemplo em Pseudocódigo

início| NOME: literal| leia “Digite o nome”, NOME 

fim

Obs: sempre que o comando leia for utilizado,a variável onde o dado será guardado deve serinformada.

Mensagemexibida

Variável usada

Page 49: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 49/56

Exemplo em Fluxograma

Quando representado em Fluxograma, oscomandos de entrada de dados no algoritmoserão representados conforme os exemplos:

NOME

início

fim

NOME

início

fim

Quando o dispositivo deentrada não for especificado

Quando o dispositivo deentrada for um teclado

Page 50: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 50/56

Saída de Dados

Um comando de saída é uma instruçãodefinida que tem como objetivo principal exibiruma informação para o usuário. Essa

informação é exibida no vídeo.

Em Lógica de Programação, o comando

utilizado para exibir o conteúdo de uma variávelé escreva.

Page 51: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 51/56

Exemplo em Pseudocódigo

início| NOME: literal| leia “Digite o nome”, NOME 

| escreva “Nome:”, NOME fim

Obs: sempre que o comando leia for utilizado,a variável onde o dado será guardado deve serinformada.

Informaçãocomplementar

Variável usada

Page 52: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 52/56

Exemplo em Fluxograma

Quando representado em Fluxograma, oscomandos de saída de dados serãorepresentados conforme os exemplos:

NOME

início

fim

NOME

NOME

início

fim

NOME

NOME

início

fim

NOME

Quando o dispositivo desaída não for especificado

Quando o dispositivode saída for um monitor

Quando o dispositivo desaída for uma impressora

Page 53: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 53/56

I/O em Diagrama de Chapin

Quando o algoritmo for representado emDiagrama de Chapin, os comandos de entradae saída de dados são representados conforme

o exemplo:

leia NOME

escreva NOME

Comando de entrada de dados

Comando de saída de dados

Page 54: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 54/56

Comentários

Quando um algoritmo é escrito, ele deve tertodas as suas ações bem explicitas, de formaque o resultado seja alcançado. Quando uma

ação necessitar de uma informaçãocomplementar para a compreensão dooperador, essa ação deverá ser comentada.

Comentários informam ao operador o queexatamente faz determinada ação.

Page 55: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 55/56

Comentários em Pseudocódigo

Início| {Declaração de variáveis}| NOME: literal {Variável para armazenar o nome}| IDADE: numérico {Variável para armazenar a idade}

| {Atribuição de valores às variáveis}| NOME “Silvio” | IDADE 42

fim

Em Pseudocódigo, os comentários devem sercolocados entre chaves.

Page 56: Conceitos de Lógica

5/15/2018 Conceitos de L gica - slidepdf.com

http://slidepdf.com/reader/full/conceitos-de-logica 56/56

Comentários em Fluxograma

Em Fluxograma, os comentários devem ser

colocados após uma linha pontilhada e umcolchete, como no exemplo à cima.

Subir na escada

início

fim

[ Subir na escada para trocar a lâmpada

Obs: em Diagrama de Chapin não são utilizados comentários.