Vous êtes sur la page 1sur 56

Algoritmos

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.

Calcular a mdia de dois


nmeros

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.

mover o disco 1 para a


mover o disco 2 para a
mover o disco 1 para a
mover o disco 3 para a
mover o disco 1 para a
mover o disco 2 para a

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.

Exemplo: Trocar uma


Lmpada

Exemplo: Trocar uma


Lmpada

Pegar a lmpada nova


Pegar a escada
Posicionar a escada embaixo da lmpada
queimada
Subir na escada com a lmpada nova na
mo
Retirar a lmpada queimada
Colocar a lmpada nova
Descer da escada
Testar o interruptor
Guardar a escada
Jogar a lmpada velha

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.

Somar dois nmeros


Problema?

Entrada?
Processament
o?
Sada?

Ler dois nmeros,


calcular a soma,
atribuir o resultado
a X e exibir o
resultado da soma.
Dois Nmeros.

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

Incio e fim do fluxo


lgico

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

Representa a sada visual


de dados em um monitor
de vdeo.

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

Incio e fim do fluxo lgico

Entrada
Manual
Manual Input

Entrada manual de dados,


normalmente efetuada
em um teclado

Processament
o
Process

Representa a execuo de
uma operao que
estabelece um resultado

Exibio
Display

Representa a sada visual


de dados em um monitor
de vdeo.

Linha
Line

Representa a ao de
vnculo existente entre os
vrios smbolos.

Incio

N1, N2, N3,


N4
M (N1*1 + N2*2 + N3*3 +
N4*4)/10

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).

Como as rs podem chegar a


seguinte posio final?
r 4 r 3 r 2 r 1

Problema 2 - A Corrida de carros

Oito carros, de marcas e cores diferentes, esto


alinhados, lado
a lado para uma corrida. Estabelea a ordem em
que os carros
esto
dispostos,
baseando-se nas seguintes
informaes:
O Ferrari est entre os carros vermelhos e cinza
O carro cinza est a esquerda do Lotus.
O McLaren o segundo carro esquerda do
Ferrari e o primeiro direita do carro azul.
O Tyrrell no tem carro sua direita e est logo
depois do carro preto.
O carro preto esta entre o Tyrrell e o carro
amarelo.
O Shadow no tem carro algum esquerda: est
esquerda do carro verde.
A direita do carro verde est o March.
O Lotus o segundo carro direita do carro creme
e o segundo esquerda do carro marrom.
O Lola o segundo carro esquerda do Maverick.

Problema 3

Trs jesutas e trs canibais precisam


atravessar um rio; para tal, dispem
de um barco com capacidade para
duas pessoas.
Por medidas de segurana no se
permite que em alguma margem a
quantidade de jesutas seja inferior
de canibais. Qual a seqncia de
passos que permitiria a travessia
com segurana ?

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

Problema 4 - Quem tem um peixe?

1. H cinco casas de 5 diferentes


cores
2. Em cada casa mora uma pessoa
de uma diferente nacionalidade.
3. Esses 5 proprietrios bebem
diferentes
bebidas,
ouvem
diferentes tipos de msica e tm
um
animal
de
estimao
diferente.
4. Nenhum deles tem o mesmo
animal, nem ouve a mesma
msica e nem bebe a mesma
bebida.

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

Vous aimerez peut-être aussi