e
Lgica de
Programao
Objetivos
Introduo a lgica.
Conceito de algoritmos.
Tipos de algoritmos:
Descrio narrativa
Pseudocdigo
Diagrama de bloco
Exemplos prticos.
Lgica
a forma de organizar os
pensamentos e demonstrar o
raciocnio de maneira correta.
Para pensar, falar ou escrever
corretamente, deve-se colocar
os pensamentos em ordem.
Lgica
Cincia que estuda as leis e os
critrios de validade que
regem o pensamento e a
demonstrao, ou seja,
cincia dos princpios formais
do raciocnio.
Algoritmo
A palavra vem do latim, dos
termos:
Algorismos ou Algorithmos
Algoritmo
uma sequncia lgica de
passos que levam a soluo de
um dado problema.
Algoritmo
uma sequncia de passos que visam
atingir um objetivo bem definido.
Algoritmo
Regras formais, sequenciais e
bem definidas a partir do
entendimento lgico de um
problema a ser resolvido com
o objetivo de transform-lo
em um programa que seja
possvel de ser executado por
um computador.
Problemas ????
Problemas Cotidianos
Trocar um pneu
Preparar uma receita
Sacar dinheiro do banco 24
horas
Somar trs nmeros
Calcular a conta de energia
eltrica
Etapas de ao de um
computador
O processo de desenvolvimento de um
algoritmo pode ser dividido em trs
Entrada - o fases:
algoritmo recebe os
dados necessrios para executar a
tarefa.
Processamento - o algoritmo
processa os dados de entrada para
gerar os resultados de sada.
Sada o algoritmo exibe os
resultados para o usurio.
Problema?
Entrada?
Processament
o?
Sada?
Obter dois
nmeros, calcular
a mdia e mostrar
o resultado obtido
Dois Nmeros
Clculo da mdia
O resultado obtido
(mdia)
Construo de Algoritmos
Ler atentamente o problema a ser
resolvido
Definir os dados de entrada
Definir o processamento, ou seja,
quais os
clculos a serem realizados
Definir os dados de sada
Construir o algoritmo
Testar o algoritmo utilizando
simulaes
Desafio 1
01 - Elabore um algoritmo que mova
trs discos de uma Torre de Hani, que
consiste em trs hastes (a-b-c), uma
das quais serve de suporte para trs
discos de tamanhos diferentes (1-2-3),
os menores sobre os maiores.
Pode-se mover um disco de cada vez
para qualquer haste, contanto que
nunca seja colocado um disco maior
sobre um menor.
O objetivo transferir os trs discos
para outra haste.
Resoluo
Algoritmo:
incio
1.
haste b
2.
haste c
3.
haste c
4.
haste b
5.
haste a
6.
Programas
Programas de computador so
algoritmos codificados em uma
linguagem
de
programao
especfica, como Java, Phyton, C#,
VB, entre outras.
Representao
de
Algoritmos
Representao de
Algoritmos
Descrio narrativa
Pseudocdigo
Diagrama de bloco
Descrio narrativa
Os algoritmos so expressos
diretamente em linguagem
natural.
Pseudocdigo
Linguagem intermediria entre
a linguagem natural e uma
linguagem de programao
para descrever os algoritmos.
Pseudocdigo Brasil
Portugus estruturado
ou
Portugol
Linguagem de Projeto de
Programao (LPP)
formada com estruturas de
verbos, substantivos, preposies,
etc.
Linguagem de programao real:
idioma ingls
Palavras Reservadas
inicio: palavra que d incio ao programa.
escreva: imprime mensagens ou
contedos na tela.
leia: recebe entrada de valores.
fim: palavra que finaliza o programa.
Exemplo - Pseudocdigo
Algoritmo que l dois nmeros,
calcula a soma, atribui o
resultado a X e exibe o
resultado da soma.
Entrada?
Processament
o?
Sada?
Somar os dois
nmeros.
O resultado obtido
(X).
Programa SOMA_NUMEROS
var
X , N1, N2: inteiro
inicio
escreva (Digite o primeiro
nmero)
leia (N1)
escreva (Digite o segundo
nmero)
leia (N2)
X N1 + N2
escreva (X)
fim
Exemplo - Python
N1 = int (input ("Digite primeiro
numero: \n"))
N2 = int (input ("Digite segundo
numero: \n "))
X = N1 + N2
print ("Soma %d" %X)
Programando
Elaborar um algoritmo que leia
4 nmeros inteiros e imprima a
mdia ponderada, sabendo-se
que os pesos so
respectivamente 1, 2, 3 e 4.
Programa MEDIA
var
N1, N2, N3, N4 : inteiro
M: real
incio
leia N1
leia N2
leia N3
leia N4
M (N1*1 + N2*2 + N3*3 + N4*4)/10
escreva M
fim
Diagrama de Bloco
Representao grfica que emprega
formas geomtricas padronizadas
para indicar as diversas aes que
devem ser executadas e decises
que devem ser tomadas para
resolver o problema.
Diagrama de Bloco
Diagrama de Bloco
Vantagens:
Estabelece sequncia visual de
operaes.
Apenas as aes so consideradas.
Smbolo
Significad
o
Descrio
Terminal
Terminator
Smbolo
Significad
o
Descrio
Entrada
Manual
Manual Input
Entrada manual de
dados, normalmente
efetuada em um teclado
Smbolo
Significad
o
Descrio
Processament
o
Process
Representa a execuo
de uma operao que
estabelece um resultado
Smbolo
Significad
o
Descrio
Exibio
Display
Smbolo
Significado
Descrio
Linha
Line
Representa a ao de
vnculo existente entre os
vrios smbolos.
Diagrama de Bloco
Regras de utilizao
Os smbolos podem ser identificados por
um rtulo.
Os smbolos devem ser conectados por
linhas de setas que mostrem a direo do
fluxo.
Estrutura visual: sentido de cima para
baixo.
Exemplo - Diagrama de
Bloco
Algoritmo que l dois nmeros,
calcula a soma, atribui o
resultado a X e exibe o
resultado da soma.
Incio
N1, N2
X N1 +
N2
Fim
Criando o Diagrama de
Bloco
Elaborar um algoritmo que leia
4 nmeros reais e imprima a
mdia ponderada, sabendo-se
que os pesos so
respectivamente 1, 2, 3 e 4.
Smbolo
Significad
o
Descrio
Terminal
Terminator
Entrada
Manual
Manual Input
Processament
o
Process
Representa a execuo de
uma operao que
estabelece um resultado
Exibio
Display
Linha
Line
Representa a ao de
vnculo existente entre os
vrios smbolos.
Incio
Fim
Pesquisa
O que uma varivel
em
Linguagem de
Programao?
Desafios
Problema 1
Quatro rs esto posicionadas em
cinco casas da seguinte maneira:
r 1 r 2 r 3 r 4
Regras:
elas podem pular para a casa vizinha
(frente ou trs), se ela estiver vazia.
elas podem pular sobre a r vizinha para
uma casa livre (frente ou trs).
Problema 3
Exerccio 3
Informaes:
3 jesutas
3 canibais
1 barco com capacidade para 2
pessoas
Aes:
atravessar o rio com segurana
Resultado:
3 jesutas e 3 canibais na outra
margem do rio
Dicas
O ingls vive na casa vermelha
O sueco tem cachorros como animais de
estimao
O dinamarqus bebe ch
A casa verde fica esquerda da casa branca
O dono da casa verde bebe caf
A pessoa que ouve msica sertaneja cria pssaros
O dono da casa amarela ouve rock
O homem que vive na casa do centro bebe leite
O noruegus vive na primeira casa
O homem que ouve jazz vive ao lado do que tem
gatos
O homem que cria cavalos vive ao lado do que
ouve rock
O homem que ouve msica pop bebe refrigerante
O alemo ouve msica clssica
O noruegus vive ao lado da casa azul
O homem que ouve jazz vizinho do que bebe
gua