Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os...
-
Upload
trinhduong -
Category
Documents
-
view
217 -
download
0
Transcript of Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os...
![Page 1: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/1.jpg)
Algoritmos Lógica e Programação
2016
Prof. Me. Adelson Felipe Dias NogueiraE-mail: [email protected]
![Page 2: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/2.jpg)
Conceitos Preliminares
Histórico do Computador:
– Um computador é uma máquina que manipula dados a partir de
uma lista de instruções.
– Os computadores podem ser mecânicos (computador analógico)
ou eletrônicos
– (computadores digitais).
![Page 3: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/3.jpg)
Histórico do Computador
Mecânicos:
o – Ábaco 1000 A.C
o – Ossos de Napier 1612
o – Pascaline, Pascal 1642
o – Tear automático, Jacquard 1801
o – Máquina de diferenças, Babbage 1882
o – Tabulador eletromecânico, Hollerith 1890
![Page 4: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/4.jpg)
Histórico do Computador
1a GERAÇÃO – eletroeletrônicos
o Z1, Z2, Z3 (relés), Konrad Zuse 1935
o ABC (válvulas), Atanosoff 1936
o MARK-1, 1941, 120 m2, 10 multiplicações em 3 segundos
o ENIAC, 1946, 30 toneladas, 18000 válvulas, 5000 somas/s
![Page 5: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/5.jpg)
Histórico do Computador
2a GERAÇÃO – transistores 1947
o – TX-0, 1957
o – PDP-1, Digital, 1o computador comercial
3a GERAÇÃO – circuitos integrados 1958
o – IBM 360, 1965
o – PDP-11, sucesso universitário
![Page 6: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/6.jpg)
Histórico do Computador
4a GERAÇÃO – microprocessadores 1970:
o Intel 4004, 1971, 4 bits
o Intel 8008, 1972
o Altair 8800, 1974, montado em kits
o Apple, 1976, TV+Teclado, BASIC escrito por Bill Gates
o IBM-PC, 1981, computador pessoal, (projeto aberto, processador 8088
Intel,
o 16 bits, 4.77 MHz, 16 kb RAM, US$ 4400. )
![Page 7: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/7.jpg)
Histórico do Computador
5a GERAÇÃO:
o Inteligência artificial
• – reconhecimento de voz
• – sistemas inteligentes
• – redes neurais
• – Robótica
o Redes de Alta Velocidade
o Escala de Integração
• ULSI: Ultra Large Scale Integration
![Page 8: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/8.jpg)
Histórico do Computador
6a GERAÇÃO:
o Computação Distribuída
o Computação nas Nuvens
o Computação em Grade
o Computação Móvel
o Computação Ubíqua
o Realidade Aumentada
![Page 9: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/9.jpg)
Histórico do Computador
Arquitetura Básica:
• Internamente os computadores modernos podem ser caracterizados por trêspartes distintas, a unidade central de processamento (UCP), a memória(MEM) e os dispositivos de entrada e saída (E/S), conforme esquema naFigura abaixo:
![Page 10: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/10.jpg)
• A programação de um sistema computacional pode serresumida em 3 passos básicos
Algoritmos
![Page 11: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/11.jpg)
Programação de um sistema computacional
• Exibir a média de 2 números
• Exibir se o aluno foi aprovado ou reprovado
![Page 12: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/12.jpg)
• Exibir se o aluno foi aprovado ou reprovado
Programação de um sistema computacional
![Page 13: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/13.jpg)
Algoritmos
• 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
![Page 14: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/14.jpg)
Algoritmos
• Remova o disco menor para o terceiro eixo
![Page 15: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/15.jpg)
Algoritmos
• Remova o disco médio para o segundo eixo
![Page 16: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/16.jpg)
Algoritmos
• Retire o disco menor do terceiro disco e o coloque no eixo central.
![Page 17: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/17.jpg)
Algoritmos
• Remova o disco maior do primeiro eixo e o coloque no terceiro eixo
![Page 18: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/18.jpg)
Algoritmos
• Remova o disco menor do eixo central e o coloque no primeiro eixo.
![Page 19: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/19.jpg)
Algoritmos
• Remova o disco médio e o coloque no terceiro eixo.
![Page 20: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/20.jpg)
Algoritmos
• Remova o disco menor do primeiro eixo e o coloque no terceiro eixo.
![Page 21: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/21.jpg)
Algoritmos
Sequência 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
![Page 22: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/22.jpg)
A criação de um algoritmo é um exercício de criatividade
(conhecimento) e experiência (técnica e prática)
O que é Programação? = ABSTRAÇÃO!
A realidade é complexa e rica em detalhes!
Abstração = Operação mental que observa a realidade e captura
apenas os aspectos relevantes para um contexto!
Algoritmos
![Page 23: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/23.jpg)
Realidade
Algoritmos
![Page 24: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/24.jpg)
A tarefa de programar sistemas computacionais envolve oexercício constante da abstração da realidade e sua codificaçãoem uma linguagem de programação
RealidadeRealidade
Sistema de Locadora de Veículo
Abstração+
Programação
Algoritmos
![Page 25: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/25.jpg)
Programação de um Sistema Computacional
Unidade de entrada: em que ocorre a entrada de dados. Ex.: teclado,
mouse.
Unidade de saída: há a saída de informações. Ex.: monitor,
impressora.
Unidade de Processamento Central: responsável pelo processamento
das informações e alocação de recursos.
Memória: armazenamento de dados (RAM, HD, ROM, Cache).
![Page 26: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/26.jpg)
Lógica
• Pense em soluções para os problemas (7 minutos)
1. 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?
2. Três gatos comem três ratos em três minutos. Cem gatos comem cemratos em quantos minutos?
3. Se um bezerro pesa 75 kg mais meio bezerro, quanto pesa um bezerrointeiro?
4. Qual o próximo número da sequência 7,8,10,13,17,?
5. Um pai de 80kg e suas 2 filhas (40kg cada), precisam sair de uma ilhacom um barco. Porém a capacidade do barco é de 80kg. Como farãopara sair da ilha?
6. Usando uma jangada, um camponês precisa atravessar uma cabra, umleão e um fardo de capim para a outra margem do rio. A jangada só temlugar para ele e mais outra coisa. O que ele deve fazer para atravessar orio com seus pertences intactos?
![Page 27: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/27.jpg)
Respostas
1. 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e
evidentemente não desce 1 metro
2. 3 (três) minutos
3. 150 (cento e cinquenta) kg
4. 22
5. Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem
juntas.
6. 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
![Page 28: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/28.jpg)
Proposição é um enunciado verbal, ao qual deve ser atribuído, sem ambiguidade, um valor lógico verdadeiro (V) ou falso (F).
Exemplos de proposições:
• Adelson Felipe é professor (V) • 3 + 5 = 10 (F) • 5 < 8 (V)
Lógica
![Page 29: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/29.jpg)
Linearização de Expressões
. • Para a construção de algoritmos que realizam cálculomatemático, todas as expressões aritméticas devem serlinearizadas, ou seja, colocadas em linhas ser linearizadas, ouseja, colocadas em linhas, devendo também ser feito omapeamento dos operadores da aritmética tradicional paraos do Português estruturado
![Page 30: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/30.jpg)
Linearização de Expressões
![Page 31: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/31.jpg)
Operadores Aritméticos
![Page 32: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/32.jpg)
Exercícios
• Escreva as expressões abaixo na forma na sintaxe doPortuguês Estruturado.
![Page 33: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/33.jpg)
Exercícios
• Escreva as expressões abaixo na forma na formaconvencional.
![Page 34: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/34.jpg)
Operadores Lógicos
• Os operadores relacionais realizam a comparação entre doisoperandos ou duas expressões e resultam em valores lógicos(VERDADEIRO ou FALSO).
![Page 35: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/35.jpg)
Tabela Verdade
• Mostra os resultados das aplicações dos operadores lógicosconforme os valores dos operadores envolvidos.
![Page 36: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/36.jpg)
Exemplo:(2+5>4) e (3<>3) resulta FALSO, pois :VERDADEIRO e FALSO resulta FALSO.
Tabela Verdade
![Page 37: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/37.jpg)
Tabela Verdade
• Resolva as expressões lógicas determinando se a expressão é VERDADEIRA ou FALSA:
1. 2 > 3
2. (6<8) ou (3>7)
3. Não (2<3)
4. (5>=6 ou 6<7 ou não (a+5-6=8) {onde a = 5}
5. (34>9 e 5+u = 34) ou (5=15/3 e 8>12 = ((u=29) e 8>12) { onde u= 29}
![Page 38: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/38.jpg)
Modularização
• É a divisão de uma expressão em partes proporcionando maior
compreensão e definindo prioridades para a resolução da mesma.
• Utilizaremos somente parêntesis “()” para modularização.
• Podemos ter parêntesis dentro de parênteses, como serial os colchetes e
chaves na matemática.
![Page 39: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/39.jpg)
Modularização
• Os parênteses indicam quais sub expressões, dentro de uma expressão,
serão executados primeiro.
• A princípio, a execução é da esquerda para direita, mas além dos
parênteses, existem prioridades entre os operadores envolvidos na
expressão.
![Page 40: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/40.jpg)
Tabela de Prioridades
• Exemplo:
• (2 + 2)/2
• 2 + 2/2
![Page 41: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/41.jpg)
Tabela de Prioridades
Exemplo
▫ (2>3) ou (3<2) e (2<3)
▫ (2>3) e (3<2) ou (2<3)
![Page 42: Algoritmos Lógica e Programação - Cloud Object Storage · uma lista de instruções. –Os computadores podem ser mecânicos (computador analógico) ... 3a GERAÇÃO –circuitos](https://reader030.fdocumentos.com/reader030/viewer/2022020216/5be346bb09d3f2ad378b7f46/html5/thumbnails/42.jpg)
Dúvidas