Lógica de Programação
Prof. Hélio Oliveira
Prof. Airton Ribeiro
Lógica de Programação
Introdução à lógica de programação

Introdução

O que é lógica?

Seqüência lógica

Construindo uma sequência lógica

Instruções

Algoritmo

Programa

Representação de algoritmos
Introdução
Lógica de Programação


A lógica de programação é necessária para
pessoas
que
desejam
trabalhar
com
desenvolvimento de sistemas e programas.
Ela permite definir a seqüência lógica para o
desenvolvimento.
Introdução à Lógica de Programação
O que é lógica?

Imagine a seguinte sequência:
Sair do banco.
2. Aguardar a vez de ser atendido.
3. Entrar na fila do caixa.
4. Digitar a senha.
5. Entrar no banco.
6. Informar o valor a ser retirado.
7. Procurar a fila do caixa.
8. Pegar o comprovante do saque, o cartão eletrônico e o
dinheiro.
9. Entregar o cartão eletrônico ao atendente do caixa.
10. Conferir o valor sacado.
Lógica de Programação
1.
Introdução à Lógica de Programação
O que é lógica?

Organizando, reordenando a sequência:
Entrar no banco.
2. Procurar a fila do caixa.
3. Entrar na fila do caixa.
4. Aguardar a vez de ser atendido.
5. Entregar o cartão eletrônico ao atendente do caixa.
6. Informar o valor a ser retirado.
7. Digitar a senha.
8. Pegar o comprovante do saque, o cartão eletrônico e o
dinheiro.
9. Conferir o valor sacado.
10. Sair do banco.
Lógica de Programação
1.
Introdução à Lógica de Programação
O que é lógica?
Lógica de Programação


É a técnica de encadear pensamentos para
atingir um determinado objetivo.
Estes pensamentos podem ser descritos como
uma seqüência lógica de instruções que devem
ser seguidas para se cumprir uma determinada
tarefa.
Introdução à Lógica de Programação
Seqüência lógica
Lógica de Programação

São passos executados até atingir um objetivo
ou solução de um problema.
Introdução à Lógica de Programação
Construindo uma seqüência lógica
Lógica de Programação

Um carro sai da cidade de Boa Viagem com
destino à cidade de Enfim-Cheguei, que fica à
25Km de distância. Na estrada que liga as duas
cidades há um restaurante no quilômetro 5, um
posto de combustíveis no quilômetro 15, um
trecho em obras no quilômetro 18 e uma curva
sinuosa no quilômetro 22. Dessa forma, qual a
sequência de placas de indicação(avisos e
quilometragem) da estrada?
Introdução à Lógica de Programação
Construindo uma seqüência lógica
Lógica de Programação

Boa Viagem, Volte sempre - Enfim-Cheguei a
25Km, Km 1, Km 2, Km 3 – Restaurante a 2Km,
Km4, Restaurante, Km 6, Km 7, Km 8, Km 9, Km
10, Km 11, Km 12, Km 13 - Posto de Combustível a
2 Km, Km 14, Posto de combustíveis, Km 16 –
Obras a 2 Km, Km 17, Obras, Km 19, Km 20 –
Curva sinuosa a 2Km, Km 21, Curva sinuosa, Km
23 – Enfim-Cheguei a 2Km, Km 24, Bem vindo a
Enfim-Cheguei.
Introdução à Lógica de Programação
Instruções
Lógica de Programação

Na linguagem comum, entende-se por instruções
“um conjunto de regras ou normas definidas
para a realização ou emprego de algo”.
Introdução à Lógica de Programação
Instruções
Lógica de Programação

Em informática, porém, instrução é a informação
que indica a um computador uma ação a
executar.
Introdução à Lógica de Programação
Algoritmo
Lógica de Programação

Usamos algoritmos, mesmo sem perceber, em
todos os momentos de nossa vida. Uma receita
de cozinha e um manual de configuração são
exemplos de algoritmos.
Introdução à lógica de programação
Algoritmo
Lógica de Programação

É a descrição de uma seqüência finita de passos
lógicos, bem definidos, que descreve a solução
de um problema.
Introdução à lógica de programação
Algoritmo
Lógica de Programação

É um conjunto finito de regras, bem definidas,
para a solução de um problema específico em um
tempo finito e com um número finito de passos.
Introdução à lógica de programação
Algoritmo
Lógica de Programação


Serve como modelo para programas, pois sua
linguagem é intermediária à linguagem humana e
às linguagens de programação.
Dessa forma, os algoritmos são uma boa
ferramenta na validação da lógica de tarefas a
serem automatizadas.
Introdução à lógica de programação
Algoritmo

Algoritmo “Tirar um carro da garagem”
Lógica de Programação
–
–
–
–
–
–
–
–
–
–
–
–
Passo 1: Abrir o portão da garagem
Passo 2: Entrar no carro
Passo 3: Verificar se o carro está engrenado
Passo 4: Ligar o carro
Passo 5: Aplicar marcha à ré
Passo 6: Desativar o freio de mão
Passo 7: Verificar pelo retrovisor se a saída está livre
Passo 8: Acelerar controlando a embreagem
Passo 9: Sair da garagem
Passo 10: Frear
Passo 11: Ativar o freio de mão
Passo 12: Desligar o motor
Introdução à lógica de programação
Algoritmo

Algoritmo “Fazer um sanduíche”
Lógica de Programação
–
–
–
–
–
–
–
–
–

Passo 1: Pegar o pão
Passo 2: Cortar o pão ao meio
Passo 3: Pegar maionese
Passo 4: Passar maionese no pão
Passo 5: Pegar e cortar alface e tomate
Passo 6: Colocar alface e tomate no pão
Passo 7: Pegar o hambúrguer
Passo 8: Fritar o hambúrguer
Passo 9: Colocar hambúrguer no pão
OBS: Existem diferentes formas de fazer um
sanduíche, logo podem existir diversas maneiras
de solucionar um mesmo problema.
Introdução à lógica de programação
Programa
Lógica de Programação

Os programas de computadores nada mais são
do que algoritmos escritos numa linguagem de
programação(Java, C++, PhP, C#, entre outras).
Introdução à lógica de programação
Representação de algoritmos
Lógica de Programação

Os algoritmos podem ser representados de três
formas:
–
Descrição narrativa;
–
Fluxograma ou Diagrama de blocos;
–
Pseudocódigo ou Portugol.
Introdução à lógica de programação
Representação de algoritmos: Descrição
narrativa
Lógica de Programação

Consiste em utilizar a linguagem natural para
descrever os passos necessários para a
resolução de um problema.
Introdução à lógica de programação
Representação de algoritmos: Descrição
narrativa
Lógica de Programação


Vantagem: Não é necessário aprender conceitos
novos.
Desvantagem: A linguagem natural abre espaço
para várias interpretações, o que pode dificultar
sua tradução para um programa.
Introdução à lógica de programação
Representação de algoritmos: Descrição
narrativa
Lógica de Programação

Ex1: “Chupar uma bala”
– Passo1: Pegar uma bala
– Passo2: Retirar o papel
– Passo3: Chupar a bala
– Passo4: Jogar o papel fora
Introdução à lógica de programação
Representação de algoritmos: Descrição
narrativa
Lógica de Programação

Ex2: “Somar dois números quaisquer”:
– Passo1: escreva o 1º nº no retângulo A
– Passo2: escreva o 2º nº no retângulo B
– Passo3: some os dois números
– Passo4: escreva o resultado no retângulo C.
Retângulo A
Retângulo C
Retângulo B
+
=
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Consiste em analisar o problema e escrever o
algoritmo de sua solução utilizando símbolos
gráficos.
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Com o fluxograma, é utilizada uma seqüência de
símbolos, com significados bem definidos, que
facilitam a visualização dos passos de um
processamento.
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação


Vantagem: o entendimento
gráficos é mais simples.
de
elementos
Desvantagens: é necessário aprender uma nova
simbologia;
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Desvantagens:
–
O algoritmo resultante pode não apresentar
muitos detalhes, dificultando sua tradução para
uma linguagem de programação;
–
Um algoritmo detalhado pode ser complexo de
entender.
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Símbolos:
início/fim
Direção do fluxo
Cálculos e Atribuições
Entrada de Dados
Tomada de decisão
Saída de Dados
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Ex1: algoritmo “multiplicação de dois números”
início
N1, N2
M = N1 * N2
Imprime M
fim
Introdução à lógica de programação
Representação de algoritmos:
Fluxograma ou Diagrama em blocos
Lógica de Programação

Ex2: algoritmo “divisão de dois números”
início
N1, N2
N2=
0
Não
D = N1/N2
Imprime D
Sim
Divisão/zero
fim
Introdução à lógica de programação
Fluxograma não Convencional e Diagrama de
Blocos

Mais símbolos utilizados no fluxograma:
Lógica de Programação
= Operação de entrada de dados
= Operação de saída de dados em vídeo
= Conector utilizado quando é preciso particionar o
diagrama, colocando uma letra ou número no
símbolo para identificar os pares da conexão
= Conector específico para indicar conexão do fluxo
de execução em outra página
= Preparação - operações que utilizam uma chave que
modifica a execução do programa
Lógica de Programação
Diagrama de Chapin

Criador: Ned Chapin

Substituição do fluxograma tradicional por um diagrama que
apresenta uma visão hierárquica e estruturada da lógica do
programa.

Vantagem : representação das estruturas que tem um ponto de
entrada e um ponto de saída e são compostas pelas estruturas
básicas de controle de seqüência, seleção e repartição.
Lógica de Programação
Diagrama de Chapin para o algoritmo do cálculo da
média de um aluno
Representação de algoritmos:
Pseudocódigo ou Portugol
Lógica de Programação


É uma das
algoritmos.
principais
formas
de
representação
de
A utilização de pseudocódigo na representação de
algoritmos garante sua independência das linguagens de
programação.

Dessa forma, não existe um formalismo rígido de como deve
ser escrito um algoritmo.
Conhecido como português estruturado ou portugol

Rico em detalhes

Introdução à lógica de programação
Representação de algoritmos:
Pseudocódigo ou Portugol
Lógica de Programação


O pseudocódigo, ao contrário do fluxograma, é mais
rico em detalhes, assemelhando-se muito aos
códigos-fontes de uma linguagem de programação.
Em vez de símbolos gráficos, utilizamos
instruções(comandos)
para
representar
uma
determinada tarefa/processamento.
Introdução à lógica de programação
Pseudocódigo ou Portugol
Algoritmo na forma de pseudocódigo
Lógica de Programação
algoritmo <nome_do_algoritmo>
<variáveis globais>
<subalgoritmos>
{Programa Principal}
início
<declaração_de_variáveis>;
<corpo_do_algoritmo>;
fim;
fim algoritmo.
Pseudocódigo para somar dois números
algoritmo SOMA
início
Lógica de Programação
real:
NUM1,{Valor do primeiro número}
NUM2,{Valor do segundo número}
SOMA;{Valor da soma entre NUM1 e NUM2}
NUM1  2;
NUM2  4;
SOMA  NUM1+NUM2;
escreva(“O resultado foi:”,SOMA);
fim;
fim algoritmo.
Pseudocódigo ou Portugol
Forma geral de um algoritmo:
Lógica de Programação

Introdução à lógica de programação
Pseudocódigo ou Portugol
Exemplo:
Lógica de Programação

Introdução à lógica de programação
Tipos de Dados

As
linguagens
de
programação
normalmente
Lógica de Programação
estabelecem regras precisas para definir que
tipos de dados elas irão manipular

A pseudo-linguagem também estabelece, ainda que
informalmente, regras que reduzem o conjunto de
dados existentes na natureza, a um conjunto mais
simples e somente este conjunto poderá ser
manipulado pelos algoritmos.
Tipos de Dados
Lógica de Programação

O programador pode definir seus próprios
tipos de dados
–
–
tipos complexos usados da mesma forma que os
simples
declaram-se variáveis utilizando-se esses novos
tipos
typedef char tipo_nome [30];
tipo_nome nome;
Tipos de Dados
Existem três tipos básicos de dados que são manipulados nos
algoritmos que :
Lógica de Programação

Dados numéricos
 Inteiros (...3,-2,-1,0,1,2,3,4,5,6,7,8,9...)
 Reais (5.3, -10.5, 3.1415)



Obs: Vírgula não pode ser separador entre as partes real e inteira
Dados literais ou alfa-numéricos (Caracteres para tratamento de textos)

A,B,C,D ...,a,b,c,d...*,%,@,$,(,),-,+,?,<,>,!,” ,1,2,3...
Dados lógicos

Intensamente aplicado durante o processo de tomada de decisões;

Valores Verdadeiro ou Falso

Questão lógica "Se está chovendo". Esta expressão somente pode ter
como resultado um de dois valores: verdade ou falso
Tipos de Dados
Lógica de Programação
Resumindo
Inteiro: Define variáveis numéricas do tipo inteiro, ou seja, sem
casasdecimais.
Real: Define variáveis numéricas do tipo real, ou seja, com casas
decimais.
Caractere: Define variáveis do tipo string, ou seja, cadeia de
caracteres.
Logico: Define variáveis do tipo booleano, ou seja, com valor
VERDADEIRO ou FALSO.
Lógica de Programação
Fontes de pesquisa
–
GUIMARÃES, Ângelo de M; LAJES, Newton
A. de C. Algoritmos e Estrutura de Dados.
Livros Técnicos e Científicos Editora.
–
VELOSO, Paulo; DOS SANTOS, Clésio;
AZEREDO,
Paulo;
FURTADO,
Antônio.
Estruturas de Dados. Editora Campus.
–
www.apostilando.com , acessado em 6 Ago
2007.
–
Apostila Lógica de Programação – Senac-RS
Download

Aula 18042012 - Logica