Buscar

Aula 3 Lógica de programação

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Introdução a Lógica de 
Programação
Prof. Morgana Silva
morgana.silva@ufpr.br
Computacao.ufpr@gmail.com
Tópicos da aula:
Conceito de lógica;
Conceito de algoritmos:
Formas de representação de algoritmos
Descrição Narrativa
Fluxograma Convencional
Lógica:
• Do grego logiké, que significa "arte de raciocinar“;
• Na tradição clássica, aristotélico-tomista, conjunto de estudos que
visam a determinar os processos intelectuais que são condição geral
do conhecimento verdadeiro. (1a definição encontrada no Dicionário
Aurélio da Língua Portuguesa);
• Coerência de raciocínio, de idéias. (6a definição encontrada no
Dicionário Aurélio da Língua Portuguesa);
• Maneira de raciocinar particular a um indivíduo ou a um grupo: a
lógica da criança, a lógica primitiva, a lógica do louco. (7a definição
encontrada no Dicionário Aurélio da Língua Portuguesa).
“A Lógica ensina a colocar Ordem no Pensamento”
Exemplos lógicos:
• Todo vulcano tem orelhas pontudas.
• Spock é vulcano.
• Logo, Spock tem orelhas pontudas.
Todo mamífero é animal e todo cavalo é
mamífero. Então, todo cavalo é animal.
Todo mamífero bebe leite e o homem bebe 
leite. Então, todo homem é mamífero e 
animal (mas não é um cavalo).
Atividade 1
• Resolva os seguintes problemas de lógica
• P1 – Uma lesma deve subir um poste de 10m de altura. De
dia sobe 2m e à noite desce 1m. Em quantos dias atingirá o
topo do poste?
• P2 - Três gatos comem três ratos em três minutos. Cem
gatos comem cem ratos em quantos minutos?
• P3 - O pai do padre é filho do meu pai. O que eu sou do
Padre?
Atividade 1
• Resolva os seguintes problemas de lógica
• P4 – Qual o próximo número da sequência 7,8,10,13,17,?
• P5 – Um pai de 80kg e suas 2 filhas (40kg cada), precisam
sair de uma ilha com um barco. Porém a capacidade do
barco é de 80kg. Como farão para sair da ilha?
• P6 – Usando uma jangada, um camponês precisa atravessar
uma cabra, um leão e um fardo de capim para a outra
margem do rio. A jangada só tem lugar para ele e mais outra
coisa. O que ele deve fazer para atravessar o rio com seus
pertences intactos?
RESPOSTAS - Atividade 1
• Respostas
• R1 - 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o
topo e evidentemente não desce 1 metro
• R2 – 3 (três) minutos
• R3 – Tio
• R4 – 22
• R5 – Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta.
As duas filhas saem juntas.
• R6 - Primeiro leve a cabra, volte e pegue o capim; deixe o capim e
leve a cabra de volta; deixe a cabra e leve o leão, depois é só voltar e
pegar a cabra.
Lógica de Programação
Raciocínio lógico empregado no desenvolvimento de
programas de computador, fazendo uso ordenado dos
elementos básicos suportados por um dado estilo de
programação.
• Organização;
• Criatividade;
• Perseverança;
• Padronização;
• Otimização.
Conceito de Algoritmo
• “Algoritmo é um conjunto finito de regras, bem definidas, para a
solução de um problema em um tempo finito e com um número finito
de passos.”
• "Serve como modelo para programas, pois sua linguagem é
deintermediária à linguagem humana e às linguagens
programação, sendo então, uma boa ferramenta na validação da
lógica de tarefas a serem automatizadas.“
• “Os algoritmos, servem para representar a solução de qualquer
problema, mas no caso do Processamento de Dados, eles devem
seguir as regras básicas de programação para que sejam
compatíveis com as linguagens de programação.”
Algoritmos não se aprendem:
–Copiando algoritmos
Algoritmos só se aprendem:
–Construindo algoritmos
–Testando algoritmos
Conceito de Algoritmo
• Para se ter um algoritmo é necessário:
D um número finito de passos;
D que cada passo esteja precisamente definido, sem
possíveis ambigüidades;
D que existam zero ou mais entradas tomadas de conjuntos bem
definidos;
D que existam uma ou mais saídas;
D que exista uma condição de fim sempre atingida para quaisquer
entradas e num tempo finito.
Formas de Representação de Algoritmos
• Descrição Narrativa;
• Fluxograma Convencional;
• Pseudocódigo, também conhecido como 
Linguagem Estruturada ou Portugol.
Algoritmo Textual Informal
• Exemplo preparo de um bolo:
• Modo de preparo:
• Bata a margarina, as gemas e o açúcar até ficar cremoso
• Junte o leite, o coco e a farinha e continue batendo
• Acrescente o fermento e, por último, as claras em neve
• Unte uma forma com manteiga e leve ao forno para assar
Quão cremoso?!?
De uma vez só?!?
Quanto tempo?!?
Quanto tempo?!?
Descrição Narrativa
• Modo de preparo:
• Bata a margarina, as gemas e o açúcar por 15 minutos
• Junte o leite, o coco e a farinha e continue batendo por
mais 15 minutos
• Acrescente 20 g de fermento e, por último, as claras
em neve
• Unte uma forma com manteiga e leve ao forno para
assar por 30 minutos
Algoritmo Textual Informal Refinado
Exemplo:
• Imagine a seguinte situação: precisamos elaborar um 
algoritmo para trocar uma lâmpada.
• Algoritmo 1:
• Início
• pegue uma escada;
• coloque-a embaixo da lâmpada;
• busque uma lâmpada nova;
• suba na escada com a lâmpada nova;
• retire a lâmpada velha;
• coloque a lâmpada nova;
• desça da escada.
• Fim
• Algoritmo 2:
• Início
• ligue o interruptor;
• se a lâmpada não acender, então:
• pegue uma escada;
• coloque-a embaixo da lâmpada;
• busque uma lâmpada nova;
• suba na escada com a lâmpada nova;
• retire a lâmpada velha;
• coloque a lâmpada nova;
• desça da escada.
• Fim
• Início
• ligue o interruptor;
• se a lâmpada não acender, então:
• pegue uma escada;
• coloque-a embaixo da lâmpada;
• enquanto a lâmpada não acender, faça:
• busque uma lâmpada nova;
• suba na escada com a lâmpada nova;
• retire a lâmpada velha;
• coloque a lâmpada nova;
• desça da escada.
• Fim
Troca de um pneu furado
• Afrouxar ligeiramente 
as porcas
• Suspender o carro
• Retirar as porcas e o
pneu Colocar o pneu
reserva Apertar as
porcas
• Abaixar o carro
• Dar o aperto final nas
porcas
Cálculo da média de um aluno
• Obter as suas 2 notas de
provas Calcular a média
aritmética
• Se a média for maior que
7, o aluno foi aprovado, 
senão ele foi reprovado
Descrição Narrativa
• Entrar no banheiro;
• tirar a roupa;
• Abrir a torneira do chuveiro;
• Entrar na água;
• Ensaboar-se;
• Sair da água;
• Fechar a torneira;
• Enxugar-se
• Vestir-se
Descrição Narrativa
Instruções para tomar um banho:
Elabore um algoritmo em linguagem natural para resolver as
situações colocadas a seguir:
1) Uma Torre de Hanói é formada por três discos sobrepostos
transpassados por uma haste. Tendo mais duas hastes e
podendo mover um disco por vez, mas nunca deixando um
disco maior sobre um disco menor, como podemos passar os
discos para uma outra haste ?
Exercícios de Raciocínio:
• Problema da Torre de Hanói
• Seja a seguinte situação:
• deve-se mover todos os discos do primeiro eixo para o terceiro 
mantendo-se a ordem original
• em cada movimento, pode-se mover apenas um disco
• um disco nunca poderá ser sobreposto por outro maior
Algoritmo: Problemas Complexos 
• Passo 1:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos 
• Passo 2:
mova disco médio para segundo eixo
Algoritmo: Problemas Complexos 
• Passo 3:
mova disco menor para segundo eixo
Algoritmo: Problemas Complexos 
• Passo 4:
mova disco maior para terceiro eixo
Algoritmo: Problemas Complexos 
• Passo 5:
mova disco menor para primeiro eixo
Algoritmo: Problemas Complexos 
• Passo 6:
mova disco médio para terceiro eixo
Algoritmo: Problemas Complexos 
• Passo 7:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos 
• Sequencia de passos completa:
Passo 1: mova disco menor para terceiro eixo
Passo 2: mova disco médio para segundo eixo
Passo 3: mova disco menor para segundo eixo
Passo 4: mova disco maior para terceiro eixo
Passo 5: mova disco menor para primeiro eixo
Passo 6: mova disco médio para terceiro eixo
Passo 7: mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos 
Exercícios de Raciocínio:
2) Um homem precisa atravessar um rio com um barco que
possui capacidade de transportar apenas ele e mais uma de
suas três cargas, que são: um cachorro, uma galinha e um
saco de milho. O que o homem deve fazer para conseguir
atravessar o rio sem perder as suas cargas ?
Exercícios de Raciocínio:
• Inicio
• Homem leva a galinha até a margem direita;
• Homem Volta a margem esquerda;
• Homem leva o Cachorro até a margem direita;
• Homem Volta a margem esquerda levando a galinha;
• Homem leva o Saco de Milho até a margem direita;
• Homem Volta a margem esquerda;
• Homem leva a galinha até a margem direita;
• Fim
Fluxograma
• Fluxograma é um diagrama (uma representação gráfica estruturada e
simplificada) de um determinado processo, fluxo de trabalho e/ou um
algoritmo (processo computacional, baseado num conjunto de regras,
que executa uma determinada tarefa), utilizando figuras geométricas
e setas unindo essas figuras.
• Através desta representação gráfica é possível entender de forma
rápida e fácil as informações representadas.
• Tal propriedade facilita o entendimento das idéias contidas nos
algoritmos e justifica sua popularidade
Esta forma é aproximadamente intermediária à
descrição narrativa e ao pseudocódigo (subitem seguinte),
pois é menos imprecisa que a primeira e, no entanto, não se
preocupa com detalhes de implementação do programa
O fluxograma sempre possui um
início, um sentido de leitura, ou
fluxo, e um fim. Veja abaixo os
gráficos que iremos utilizar para
criação de fluxogramas para
estruturação de algoritmos:
Fluxograma
Acessórios OK?
Abre porta-malas
Pega triângulo
Fecha 
porta-malas
• Troca de pneu (Fluxograma)
Não
Sim
Fluxograma
Exercício: Calcule a média
de um aluno sob a
forma de um fluxograma.
Início
N1, N2
"Aprovado"
MEDIA
(N1 + N2) / 2
MEDIA >= 7
"Reprovado"
Fim
.V. .F.
Fluxograma
Exemplo 1: Fluxograma para somar dois números
“Digite o 2° nr”
B
Exemplo 2: Verificação se o número que foi 
digitado é maior que 5
1) Em uma loja de CD´s existem apenas quatro tipos de preços que estão
associados a cores. Assim os CD´s que ficam na loja não são marcados por
preços e sim por cores. Desenvolva o algoritmo que a partir da entrada da cor o
software mostre o preço. A loja está atualmente com a seguinte tabela de
preços.
Exercícios Fluxograma:
Cor Preço
Verde 10,00
Azul 20,00
Amarelo 30,00
Vermelho 40,00
2) Desenvolva um algoritmo capaz de encontrar o menor dentre 3
números inteiros quaisquer dados pelo teclado.
3) João papo-de-pescador, homem de bem, comprou um
microprocessador para controlar o rendimento diário do seu
trabalho, toda vez que ele traz um peso de peixes maior que o
estabelecido pelo regulamento de pesca do estado de São Paulo
(50 quilos) deve pagar uma multa de R$ 4,00 por quilo excedente,
João precisa que você faça um algoritmo que leia a variável P
(peso de peixes) e verifique se há excesso. Se houver, gravar na
variável E (excesso) e na variável M o valor da multa que João
deverá pagar. Caso contrário mostrar tais variáveis com o
conteúdo ZERO.
4) Elabore um algoritmo que leia as variáveis C e N respectivamente
código e número de horas trabalhadas de um operário. E calcule o
salário sabendo-se que ele ganha R$ 10,00 por hora. Quando o
número de horas exceder a 50 calcule o excesso e pagamento
armazenando-o na variável E, caso contrário zerar tal variável. A
hora excedente de trabalho vale R$ 20,00. No final do
processamento imprimir o salário total e o salário excedente.
5) A secretária de Meio Ambiente que controla o índice de poluição
mantém 3 grupos que são altamente poluentes do meio
ambiente. O índice de poluição aceitável varia de 0,05 até 0,25. Se
o índice sobe para 0,3 as indústrias do 1º grupo são intimadas a
suspenderem suas atividades, se o índice crescer para 0,4 as
indústrias do 1º e 2º grupo são intimadas a suspenderem suas
atividades, se o índice atingir 0,5 todos os grupos devem ser
notificados a paralisarem suas atividades. Faça um algoritmo que
leia o índice de poluição medido e emita a notificação adequada
aos diferentes grupos de empresas.
Fluxograma
Pseudocódigo
 Esta forma de representação de algoritmos é rica em detalhes,
como a definição dos tipos das variáveis usadas no
algoritmo. Por assemelhar-se bastante à forma em que os
programas são escritos, encontra muita aceitação.
 Na verdade, esta representação é suficientemente geral para
permitir a tradução de um algoritmo nela representado para uma
linguagem de programação específica seja praticamente direta.
Assunto da aula de algoritmo
	Introdução a Lógica de Programação
	Número do slide 2
	Lógica:
	Exemplos lógicos:
	Atividade 1
	Atividade 1
	RESPOSTAS - Atividade 1
	Lógica de Programação
	Conceito de Algoritmo
	Conceito de Algoritmo
	Formas de Representação de Algoritmos
	Algoritmo Textual Informal
	Algoritmo Textual Informal Refinado
	Exemplo:
	Número do slide 15
	Número do slide 16
	Número do slide 17
	Descrição Narrativa
	Número do slide 19
	Exercícios de Raciocínio:
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Algoritmo: Problemas Complexos 
	Exercícios de Raciocínio:
	Exercícios de Raciocínio:
	Fluxograma
	Fluxograma
	Número do slide 34
	Número do slide 35
	Fluxograma
	Exemplo 1: Fluxograma para somar dois números
	Exemplo 2: Verificação se o número que foi digitado é maior que 5
	Exercícios Fluxograma:
	Número do slide 40
	Número do slide 41
	Fluxograma
	Pseudocódigo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais