QUESTÃO 4 Os estudos das competências pessoais é de extrema importância, pr...
aula_01_tec_programacao_python_programacao.pdf
1. Técnicas de Programação I
Prof. Anderson Soares, PhD.
andersonsoares@ufra.edu.br
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Universidade Federal Rural da Amazônia
2. • Objetivo
• Introdução a computação
• Algoritmo
• Noções de Lógica
UFRA - Campus - Capanema 2
Qual o conteúdo da aula de hoje?
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
3. • Qual o objetivo da aula?
• Relembrar conceitos de arquitetura de computadores
• Compreender o conceito de algoritmos
• Ter noções de Lógica
UFRA - Campus - Capanema 3
Objetivo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
4. • O papel do computador:
• Automatização de tarefas (informática).
• Predição para tomadas de decisões.
• Processamento de cálculos complexos.
• Simulação e virtualização.
• Entretenimento.
• Comodidade em nossas vidas.
UFRA - Campus - Capanema 4
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
5. UFRA - Campus - Capanema 5
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
O que é um
computador?
6. • O que é um computador?
• É uma máquina constituída por uma série de componentes e circuitos eletrônicos,
capaz de receber, armazenar processar e transmitir informações.
• Máquina programável, capaz de realizar uma grande variedade de tarefas, seguindo uma
sequência de comandos, de acordo com o que for especificado.
UFRA - Campus - Capanema 6
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
7. • O que é um computador?
• O computador, sendo um equipamento eletrônico, armazena e movimenta as
informações internamente sob forma eletrônica. Tudo o que faz é reconhecer dois
estados físicos distintos, produzidos pela eletricidade, em essência, eles sabem dizer se
um interruptor está ligado ou desligado.
• O computador, por ser uma máquina eletrônica, só consegue processar duas
informações: a presença (1) ou ausência de energia (0).
UFRA - Campus - Capanema 7
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
9. • Por que o computador só entende 2 estados?
UFRA - Campus - Capanema 9
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Baseexp 29 28 27 26 25 24 23 22 21 20
512 256 128 64 32 16 8 4 2 1
410 0 0 0 0 0 0 0 1 0 0
3510 0 0 0 0 1 0 0 0 1 1
1
2
4
8
16
32
64
128
256
512
Dedo levantado = bit 1
Dedo abaixado = bit 0
10. • Por que o computador só entende 2 estados?
UFRA - Campus - Capanema 10
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Baseexp 29 28 27 26 25 24 23 22 21 20
512 256 128 64 32 16 8 4 2 1
7210 0 0 0 1 0 0 1 0 0 0
1
2
4
8
16
32
64
128
256
512
Dedo levantado = bit 1
Dedo abaixado = bit 0
11. • Por que o computador só entende 2 estados?
UFRA - Campus - Capanema 11
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Baseexp 29 28 27 26 25 24 23 22 21 20
512 256 128 64 32 16 8 4 2 1
410 0 0 0 0 0 0 0 1 0 0
1
2
4
8
16
32
64
128
256
512
Dedo levantado = bit 1
Dedo abaixado = bit 0
12. • O que é um sistema computacional?
• Integração de componentes atuando como uma entidade, com o propósito de processar
dados.
UFRA - Campus - Capanema 12
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Hardware Software
Peopleware
13. • O que é um sistema computacional?
UFRA - Campus - Capanema 13
Introdução a computação
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
14. UFRA - Campus - Capanema 14
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
O que são
algoritmos?
15. • O que é um algoritmo?
• Conjunto de regras e procedimentos lógicos perfeitamente definidos que levam a
solução de um problema em um número finito de etapas.
• Um algoritmo é um projeto bem definido que considera um conjunto de valores de
entrada para produzir um conjunto de valores de saída.
• É um projeto que implementará o raciocínio transformando-o em um programa de
computador.
• A lógica não é absoluta, haverá sempre várias alternativas possíveis para atingir o
mesmo resultado.
UFRA - Campus - Capanema 15
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
16. • O que é um algoritmo?
• É qualquer procedimento computacional bem definido que toma algum valor ou
conjunto de valores como entrada e produz algum valor ou conjunto de valores como
saída (CORMEN et. al, 2002).
• É uma sequência de passos computacionais que transformam a entrada na saída
(CORMEN et. al, 2002).
UFRA - Campus - Capanema 16
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
17. • Representação de algoritmos
• Descritiva.
• Fluxograma.
• Pseudocódigo
UFRA - Campus - Capanema 17
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
18. • Descritiva:
• Ordene e estruture uma
sequência para a realização de
uma ligação telefônica em um
orelhão.
1. Tirar o fone do gancho
2. Ouvir sinal de linha
3. Introduzir cartão
4. Teclar o número desejado
5. Conversar
6. Desligar
7. Tirar o cartão
UFRA - Campus - Capanema 18
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
19. • Descritiva:
• Vantagem: representação textual muito próxima da linguagem utilizada no cotidiano;
• Desvantagem: pode apresentar ambiguidades de interpretação e poucos autores
utilizam essa representação;
UFRA - Campus - Capanema 19
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
20. • Fluxograma
UFRA - Campus - Capanema 20
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
21. • Fluxograma
• Vantagem: representação gráfica é mais concisa que a representação textual;
• Desvantagem: é necessário aprender a simbologia dos fluxogramas
UFRA - Campus - Capanema 21
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
22. • Pseudocódigo:
Início
Declare A,B,C,D; { Declaração de variáveis }
Leia(A,B,C);
D = B^2 - 4*A*C; { Operação de atribuição }
Escreva(D);
Fim.
UFRA - Campus - Capanema 22
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
23. • Pseudocódigo:
• Vantagem: transcrição para qualquer linguagem de programação é quase direta;
• Desvantagem: é necessário aprender as regras do pseudocódigo;
UFRA - Campus - Capanema 23
Representação de algoritmos
Algoritmo
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
24. UFRA - Campus - Capanema 24
Noções de lógica
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
O que é lógica?
25. • Exemplos de aplicação da lógica
• O quarto está fechado e que 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)
UFRA - Campus - Capanema 25
Noções de lógica
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
26. •Problemas de lógica....
UFRA - Campus - Capanema 26
Noções de lógica
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
27. • 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?
• Resposta: 9(nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce
1 metro
• P2 - Três gatos comem três ratos em três minutos. Cem gatos comem cem ratos em quantos
minutos?
• Resposta: 3 (três) minutos
• P3 - O pai do padre é filho do meu pai. O que eu sou do Padre?
• Resposta: Tio
• P4 – Qual o próximo número da sequência 7,8,10,13,17?
• Resposta: 22
UFRA - Campus - Capanema 27
Noções de lógica
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Pai do padre
Meu pai
Padre
Eu
28. • Resolva os seguintes problemas de lógica:
• 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?
• Resposta: Vão as duas filhas. Uma delas volta. O pai sai. A outra filha volta. As duas filhas saem juntas.
• 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?
• Resposta: 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.
UFRA - Campus - Capanema 28
Noções de lógica
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
29. • Na próxima aula iremos estudar...
• Álgebra booleana
• Aproveite para baixar os aplicativos:
1. ”Algorithm City (Cidade do Algoritmo)”
2. Lightbot
3. SpriteBox
• Para quem quiser programar pelo smartphone
4. Pydoird 3 (Android)
5. Dcoder, Compiler IDE: Code & Programming on mobile (Android e IOS)
UFRA - Campus - Capanema 29
Próxima aula:
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
1 2 3
4 5
30. 1. Fazemos muitas coisas complexas intuitivamente, descrever de forma
detalhada os passos necessários para realizar uma tarefa não é trivial.
2. Você sabe ordenar números? Descreva todos os passos para ordenar de
forma crescente a seguinte sequência: 5, 2, 4, 6, 1, 3
UFRA - Campus - Capanema 30
Exercícios
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
31. 3. Pensando na arquitetura de um computador, escreva um algoritmo para
somar dois números.
4. Pensando na arquitetura de um computador, escreva um algoritmo para
somar três números.
UFRA - Campus - Capanema 31
Exercícios
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
32. • CORMEN, T. H, et. al. Algoritmos: Teoria em prática. Ed. 2ª. Rio de Janeiro:
Elsevier, 2002.
• LOPES, A. & GARCIA, G. Introdução à Programação – 500 Algoritmos
Resolvidos. Rio de Janeiro: Campus, 2002.
• FORBELLONE, A. L. & EBERSPÄCHER, H. F. Lógica de Programação – A
Construção de Algoritmos e Estruturas de Dados. 3ª Edição. São Paulo:
Pearson, 2005.
UFRA - Campus - Capanema 32
Referências
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
33. Técnicas de Programação I
Prof. Anderson Soares, PhD.
andersonsoares@ufra.edu.br
Objetivo
Introdução a computação
Algoritmo
Noções de Lógica
Universidade Federal Rural da Amazônia