conceitos de lógica
TRANSCRIPT
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
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.
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.
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.
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?
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.
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”.
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.
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.
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.
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
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
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
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
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.
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
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.
5/15/2018 Conceitos de L gica - slidepdf.com
http://slidepdf.com/reader/full/conceitos-de-logica 18/56
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 .
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
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
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>
5/15/2018 Conceitos de L gica - slidepdf.com
http://slidepdf.com/reader/full/conceitos-de-logica 23/56
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
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
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.
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.
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.
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
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 .
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.
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
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.
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
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).
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
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)
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.
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.
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.
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).
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 )
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.
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 ^.
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 .
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.
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.
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
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
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.
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
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
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
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.
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.
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.