Buscar

ENGJ20 - Aula 02 - Lógica e algoritmo - 04102017

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

ENGJ20 - Programação Aplicada
Fabíola Andrade
LINGUAGEM DE PROGRAMAÇÃO
PASSOS BÁSICOS PARA PROGRAMAÇÃO
ProcessamentoEntrada Saída
Dispositivo
de Entrada
Dispositivo
de Saída
Memória
UCP
LINGUAGEM DE PROGRAMAÇÃO
PASSOS BÁSICOS PARA PROGRAMAÇÃO
 Exemplo 1 – Exibir a média de dois números
ProcessamentoEntrada Saída
Dispositivo
de Entrada
Dispositivo
de Saída
Memória
UCP
6 , 8 (6 + 8) / 2 7
LINGUAGEM DE PROGRAMAÇÃO
PASSOS BÁSICOS PARA PROGRAMAÇÃO
ProcessamentoEntrada Saída
Dispositivo
de Entrada
Dispositivo
de Saída
Memória
UCP
Ana, 5, 3 Se (5+3)/2 >= 5
“Aprovado”
Senão
“Reprovado”
Ana, “Reprovado”
 Exemplo 2 – Exibir se um aluno está aprovado ou reprovado
LINGUAGEM DE PROGRAMAÇÃO
PASSOS BÁSICOS PARA PROGRAMAÇÃO
ProcessamentoEntrada Saída
Dispositivo
de Entrada
Dispositivo
de Saída
Memória
UCP
-5 Se (-5) > 0
“Positivo”
Se (-5) < 0
“Negativo”
Senão
“Zero”
“Negativo”
 Exemplo 3 – Exibir se um número é positivo, negativo ou zero
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE PROGRAMAÇÃO
O QUE É LINGUAGEM???
A linguagem pode ser definida como sendo um sistema de 
comunicação, permite-nos abstrair e comunicar conceitos.
O termo linguagem designa um sistema organizado de símbolos, 
complexo, extenso e com propriedades particulares que desempenha 
uma função de codificação, estruturação e consolidação dos dados 
sensoriais, transmitindo-lhe um determinado sentido ou significado e 
permitindo ao homem comunicar as suas experiências e transmitir os 
seus saberes - é, portanto, um sistema de troca de informações.
Tipos: verbal e não-verbal.
CONCEITO
LINGUAGEM DE PROGRAMAÇÃO
A linguagem de programação de computadores é uma linguagem 
formal que consiste na criação de códigos e regras (sintáticas e 
semânticas) específicas que processam instruções para 
computadores.
Permite que um programador especifique precisamente sobre 
quais dados um computador vai atuar, como estes dados serão 
armazenados ou transmitidos e quais ações devem ser tomadas 
sob várias circunstâncias.
FERRAMENTA DE COMUNICAÇÃO
LINGUAGEM DE PROGRAMAÇÃO
PROBLEMA
LINGUAGEM DE 
PROGRAMAÇÃO
Ferramenta de comunicação entre o programador que visa 
resolver um problema e o computador que irá ajudá-lo a resolver.
EXEMPLO
LINGUAGEM DE PROGRAMAÇÃO
PROBLEMA
LINGUAGEM DE 
PROGRAMAÇÃO
Declaração do
IRPF2016
IRPF2016
JAVA
Windows
Computador
Baixo nívelAlto nível
LINGUAGEM DE PROGRAMAÇÃO
TIPOS DE LINGUAGEM DE PROGRAMAÇÃO
1 – Linguagem de Máquina
• Possui uma notação binária (zeros e uns) que torna a programação 
trabalhosa, cansativa e fortemente sujeita a erros.
2 – Linguagem Assembly
• Surgiu para minimizar as dificuldades da programação binária.
• Códigos de operação e endereços binários foram substituídos por 
mnemônicos.
3 – Linguagem de Alto Nível
• Aproxima-se das linguagens utilizadas por humanos para 
expressar problemas.
• Cada declaração numa linguagem de alto nível equivale a várias 
declarações numa linguagem de baixo nível.
B
a
ix
o
 N
ív
e
l
A
lt
o
 N
ív
e
l
LINGUAGEM DE PROGRAMAÇÃO
TIPOS DE LINGUAGEM DE PROGRAMAÇÃO
1 - Totalmente codificadas em binário (0 e 1).
2 - Usa instruções simbólicas para representar 0 e 1.
3 - Voltadas para facilitar o raciocínio humano.
 
Linguagem 
Assembly 
( Mnem ô nica ) 
LOAD R1, val1 
LOAD R2, val2 
ADD R1, R2 
STORE R1, val2 
Linguagem 
de 
M á quina 
0010 0001 1110 
0010 0010 1111 
0001 0001 0010 
0011 0001 1111 
Linguagem 
de 
Alto N í vel 
 val2 = val1+val2 
Baixo Nível Alto Nível
(1) (2) (3)
LINGUAGEM DE PROGRAMAÇÃO
TIPOS DE LINGUAGEM DE PROGRAMAÇÃO
 VANTAGENS DESVANTAGENS 
 
BAIXO 
NÍVEL 
Programas são processados 
mais rapidamente. Ocupam 
menos espaço na memória. 
Programas têm pouca portabilidade 
(são específicos para um tipo de 
processador) e não são estruturados. 
 
ALTO 
NÍVEL 
Programas têm maior 
portabilidade e as linguagens 
são mais estruturadas 
(facilitam a programação). 
Programas exigem mais tempo de 
processamento (tradução para 
linguagem de máquina gera código 
genérico e complexo, + Memória). 
 
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE MÁQUINA (binária)
Bit = digito binário
Pode assumir dos valores:
0
Diferença de potencial baixo
Ausência de energia 
Campo magnético negativo
Buraco
1
Diferença de potencial alto
Presença de energia
Campo magnético positrivo
Sem buraco
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE MÁQUINA (binária)
Acesa
Apagada
4 estados
Um Bit
2 estados
• Acesa
• Apagada
Dois Bits
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE MÁQUINA (binária)
1 bit 2bits 3 bits 4 bits 
0 
1 
00 
01 
10 
11 
000 
001 
010 
011 
100 
101 
110 
111 
0000 
0001 
0010 
0011 
0100 
0101 
0110 
0111 
1000 
1001 
1010 
1011 
1100 
1101 
1110 
1111 
 
1 BYTE
28= 256
Estados 
diferentes
n bites representam 2n estados
1 byte = 8 bits
Unidade fundamental de 
informação
LINGUAGEM DE PROGRAMAÇÃO
REPRESENTAÇÃO FÍSICA DOS DADOS
 Memória
– Níveis de tensão
• Maior tensão corresponde a 1
• Menor tensão corresponde a 0
 Disco
– Inversão do campo magnético em camada de óxido de ferro
• Orientação positiva corresponde a 1
• Orientação negativa corresponde a 0
 Discos ópticos (CD, DVD)
– Pequenos buracos queimados por laser num filme de telúrio
• Buraco corresponde a 1
• Sem buraco corresponde a 0
LINGUAGEM DE PROGRAMAÇÃO
Se o computador só 
entende linguagem de máquina, 
o que deve ser feito para que ele
entenda programas em 
linguagem assembly
ou de alto nível?
LINGUAGEM DE PROGRAMAÇÃO
Usar um tradutor!
LINGUAGEM DE PROGRAMAÇÃO
TRADUTORES
 Tradutores no contexto de linguagens de programação são 
programas que recebem como entrada um programa em 
linguagem assembly ou de alto nível (dita linguagem fonte) e 
produzem como saída as instruções deste programa traduzidas 
para linguagem de máquina (binário).
 Existem basicamente três tipos de tradutores:
• Compilador
• Interpretador 
• Montadores
LINGUAGEM DE PROGRAMAÇÃO
TIPOS DE TRADUTORES
1) COMPILADOR: traduz de uma vez só todo o programa escrito em 
linguagem de alto nível (código-fonte) para um programa equivalente 
escrito em linguagem de máquina (código-objeto).
2) INTERPRETADOR: traduz (sem gerar código-objeto) e em seguida 
executa, uma-a-uma, as instruções de um programa em linguagem 
de alto nível (código-fonte).
3) MONTADOR (ou Assembler): faz a tradução direta das instruções 
Assembly para um programa equivalente escrito em linguagem de 
máquina.
Código Fonte
hi,
how
are
you?
LINGUAGEM DE PROGRAMAÇÃO
COMPILADOR x INTERPRETADOR
Computador
Computador
Compilador
Interpretador
olá,
como
está
você?
Código Objeto
(*.exe)
Olá, como está você?
Código Fonte
hi,
how
are
you?
LINGUAGEM DE PROGRAMAÇÃO
COMPILADOR x INTERPRETADOR
 O código objeto (tradução para a linguagem de máquina) produzido por 
um compilador pode ser executado várias vezes sem a necessidade de re-
compilação. Essa só é necessária se o código-fonte for alterado.
 Todo programa interpretado deve re-executar o processo de 
interpretação, independentemente de ter havido ou não modificações no 
seu código-fonte.
 Por não exigirem conversão para linguagem de máquina em tempo de 
execução, os programas objeto compilados tendem a ser executados mais 
rapidamente que um interpretado equivalente.
LÓGICA E PROPOSIÇÃO
LÓGICA E PROPOSIÇÃO
O QUE É LÓGICA???
Ciência que estuda as leis do raciocínio.
Correção / validação do pensamento.
Encadeamento / ordem de ideias.
Arte de bem pensar.
O QUE É LÓGICA???
 Objetivo: Ordenar o pensamento (Aristóteles? Platão?)
Faz parte do dia a dia
Exemplos:
O livro está sobre a mesa
Todos os objetos sobre a mesa são vermelhos
Logo, o livro é vermelho
O presente custa R$ 20,00
Tenho R$ 10,00
Logo, não tenho dinheiro suficiente para comprar o presente
LÓGICA E PROPOSIÇÃO
EXEMPLOS DE LÓGICA
 O quarto está fechado e meu livro estáno quarto. Então, preciso 
primeiro abrir o quarto para pegar o livro.
 Rosa é mãe de Ana, Paula é filha de Rosa, Júlia é filha de Ana. Então, 
Júlia é neta de Rosa e sobrinha de Paula.
 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).
LÓGICA E PROPOSIÇÃO
ATIVIDADE
 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?
 P4 - Se um bezerro pesa 75 kg mais meio bezerro, quanto pesa um 
bezerro inteiro?
LÓGICA E PROPOSIÇÃO
ATIVIDADE
 P5 – Qual o próximo número da sequência 7,8,10,13,17?
 P6 – 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?
 P7 – 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? 
LÓGICA E PROPOSIÇÃO
RESPOSTAS
 R1 – nove dias. No nono dia a lesma sobe dois metros, atinge o topo e 
evidentemente não desce 1 metro.
 R2 – 3 (três) minutos.
 R3 – Tio.
 R4 – 150 (cento e cinquenta) kg.
 R5 – 22.
 R6 – Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. 
As duas filhas saem juntas.
 R7 – 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 E PROPOSIÇÃO
PROPOSIÇÃO
O QUE É PROPOSIÇÃO?
LÓGICA E PROPOSIÇÃO
PROPOSIÇÃO
 Proposição: é um enunciado verbal, ao qual deve ser atribuído, 
sem ambiguidade, um valor lógico verdadeiro (V) ou falso (F). 
 Exemplos: 
• Rui Costa é governador. (V)
• 3 + 5 = 10 (F)
• 5 < 8 (V)
 Contra-exemplos:
• Aonde você vai? 
• 3 + 5
• Os estudantes jogam futebol. (Quais ?)
LÓGICA E PROPOSIÇÃO
OPERAÇÕES LÓGICAS
 Operações Lógicas: usadas para formar novas proposições a 
partir de proposições existentes. 
 Considerando p e q duas proposições genéricas, pode-se aplicar 
as seguintes operações lógicas básicas sobre elas:
 Definindo a prioridade:
• Usar parênteses Ex: ((p v q) ^ (~q)) ou
• Obedecer (~) > (^) > (v)
Operação Símbolo Significado 
Negação ~ NÃO 
Conjunção ^ E 
Disjunção v OU 
 
LÓGICA E PROPOSIÇÃO
EXEMPLOS DE OPERAÇÕES LÓGICAS
 Considere:
• p = 7 é primo = (V)
• q = 4 é ímpar = (F)
 Então:
• 4 NÃO é ímpar = ~q = (~F) = (V)
• 7 NÃO é primo = ~p = (~V) = (F)
• 7 é primo E 4 NÃO é ímpar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V)
• 7 é primo E 4 é ímpar = p ^ q = (V ^ F) = (F)
• 4 é ímpar E 7 é primo = q ^ p = (F ^ V) = (F)
• 4 é ímpar E 7 NÃO é primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)
LÓGICA E PROPOSIÇÃO
EXEMPLOS DE OPERAÇÕES LÓGICAS
 Considere:
• p = 7 é primo = (V)
• q = 4 é ímpar = (F)
 Então:
• 7 é primo OU 4 NÃO é ímpar = p v ~q = (V v (~F)) = (V v V) = (V)
• 7 é primo OU 4 é ímpar = p v q = (V v F) = (V)
• 4 é ímpar OU 7 é primo = q v p = (F v V) = (V)
• 4 é ímpar OU 7 NÃO é primo = q v ~p = (F v (~V)) = (F v F ) = (F)
LÓGICA E PROPOSIÇÃO
EXEMPLOS DE OPERAÇÕES LÓGICAS
 Resumindo:
 Ou seja:
• Não (~) troca o valor lógico. Se é F passa a ser V e vice-versa.
• E (^) só tem valor V quando as duas proposições forem V. Basta uma 
proposição ser F para o resultado ser F.
• OU (v) só tem valor F quando as duas proposições forem F. Basta uma 
proposição ser V para o resultado ser V.
p q p ^ q p v q
V V V V
V F F V
F V F V
F F F F
~p
F
F
V
V
pp qq p ^ qp ^ q p v qp v q
VV VV VV VV
VV FF FF VV
FF VV FF VV
FF FF FF FF
~p~p
FF
FF
VV
VV
LÓGICA E PROPOSIÇÃO
ATIVIDADE
 Considerando p = V e q = F, resolva as seguintes expressões lógicas:
• ~p
• ~q
• p ^ q
• p v q
• (~p) ̂ q
• (~p) v q
• p ^ (~q)
• p v (~q)
• (~p) ̂ (~q)
• (~p) v (~q)
LÓGICA E PROPOSIÇÃO
ATIVIDADE
 Considerando p = V e q = F, resolva as seguintes expressões lógicas:
• ~p = F
• ~q = V
• p ^ q = F
• p v q = V
• (~p) ̂ q = F
• (~p) v q = F
• p ^ (~q) = V
• p v (~q) = V
• (~p) ̂ (~q) = F
• (~p) v (~q) = V
LÓGICA E PROPOSIÇÃO
ALGORITMO
ALGORITMO
CONCEITO
 Algoritmo é um conjunto bem definido de ações a serem executadas 
para resolver um determinado problema.
“Utilização de regras para definir ou executar uma 
tarefa específica ou para resolver um problema 
específico“ (Michaelis)
ALGORITMO
CONCEITO
Sequência lógica e não ambígua
de instruções que levam à 
solução de um problema
num tempo finito.
ALGORITMO
CARACTERÍSTICAS BÁSICAS
 Sequência lógica
As instruções devem ser definidas em uma ordem correta.
 Não ambígua 
A sequência lógica e as instruções não devem dar margem à dupla 
interpretação.
 Solução de um problema
A sequência lógica deve resolver exatamente (nem mais e nem menos) o 
problema identificado.
 Tempo finito
A sequência lógica não deve possuir iterações infinitas.
ALGORITMO
EXEMPLO
Algoritmo para trocar pneu
1- Posicione o triângulo de sinalização em local visível na estrada.
2- Folgue os parafusos com a chave de roda sem remover.
3- Suspenda o lado com o pneu furado com apoio do macaco.
4- Remova os parafusos do pneu com a chave de roda.
5- Remova a calota.
6- Remova o pneu furado.
7- Coloque o pneu novo no lugar.
8- Coloque a calota.
9- Aperte os parafusos.
10- Abaixe o carro com apoio do macaco.
11- Remova o triângulo de sinalização.
ALGORITMO
 Exemplos
• Receitas de comidas
• Coreografia
• Manuais de instalação
Tarefas que possuem padrão de comportamento
podem ser descritas por um algoritmo
 Contra-exemplos
• Listas de compras
• Dança informal
• Índice remissivo de um livro
ALGORITMO
Algoritmo não é a solução de um problema, mas um caminho 
que pode ser seguido até a solução, podendo haver vários 
caminhos diferentes para atingir o mesmo objetivo.
Algoritmo se aprende construindo e testando!!
Algoritmo NÃO se aprende copiando, nem lendo outros já prontos.
Depende da lógica de raciocínio de cada um!!
ALGORITMO
EXERCÍCIO 01
Escreva um algoritmo detalhado sobre como ir de um lugar para outro. 
Ex: de casa para a Escola Politécnica. Considere detalhes e possíveis 
mudanças que podem ocorrer a depender das circunstâncias.
ALGORITMO
EXERCÍCIO 01
Resposta possível:
1- Entrar no carro e por o cinto de segurança.
2- Ligar o carro e sair pela garagem.
3- Sair da Rua Flórida e entrar na Rua da Graça à esquerda.
4- Seguir até a Rua Euclides da Cunha.
5- Se semáforo em vermelho, parar e aguardar sinal verde.
6- Seguir pela Rua Euclides da Cunha até o final.
7- Convergir à direita e seguir em frente.
8- Se semáforo em vermelho, parar e aguardar sinal verde.
9- Subir a Ladeia do Campo Santo e seguir pela Rua Caetano Moura.
10- Entrar à direita na Rua Aristides Novis.
11- Entrar à esquerda no estacionamento da Escola Politécnica.
12- Estacionar em vaga existente.
ALGORITMO
EXERCÍCIO 01
Resposta:
Não existe uma resposta certa ou errada, cada pessoa pode montar 
seu algoritmo, com base em lógica própria, o importante é perceber 
que fazemos muitas coisas no percurso e detalhar todos os passos 
não é fácil.
ALGORITMO
EXERCÍCIO 02
Escreva um algoritmo que mova os três discos de uma Torre de Hanói 
para outra haste. A Torre de Hanói é um “quebra-cabeça” que consiste 
em uma base contendo três pinos, em um dos quais são dispostos 
alguns discos uns sobre os outros, em ordem crescente de diâmetro, 
de cima para baixo. O problema consiste em passar todos os discos de 
um pino para outro qualquer, usando um dos pinos como auxiliar, de 
maneira que um disco maior nunca fique em cima de outro menor em 
nenhuma situação.O número de discos pode variar sendo que o mais 
simples contém apenas três.
Fonte: http://pt.wikipedia.org/wiki/Torre_de_Hanói
ALGORITMO
EXERCÍCIO 02
ALGORITMO
EXERCÍCIO 02
Resposta:
Mova o disco pequeno para a haste 2.
Mova o disco médio para a haste 3.
Mova o disco pequeno para a haste 3.
Mova o disco grande para a haste 2.
Mova o disco pequeno para a haste 1.
Mova o disco médio para a haste 2.
Mova o disco pequeno para a haste 2.

Continue navegando