Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

1
49
1
Prof. Vinicius Pozzobon Borin
Lógica de Programação e Algoritmos
Aula 1
49
2
Conversa Inicial
49
3
O objetivo de hoje é introduzir os principais 
conceitos inerentes a esta disciplina de 
programação
Tais conceitos serão recorrentes
49
4
A estrutura de conteúdos é a seguinte:
O que é lógica?
O que são algoritmos?
Como representamos algoritmos?
Que sistema computacional usamos para 
executar programas?
O que são linguagens de programação?
Qual linguagem vamos adotar?
49
5
Introdução à lógica e aos algoritmos
49
6
Aristóteles (384 a 322 a.C.) – conceito de 
lógica (logos) – linguagem racional
Parte da filosofia que se ocupa das formas do 
pensamento e das operações intelectuais 
(Michaelis, 2020)
O que é lógica?
1 2
3 4
5 6
2
49
7
Raciocínio lógico do nosso dia a dia para 
realizar atividades 
Na computação: maneira pela qual 
instruções, assertivas e pressupostos são 
organizados num algoritmo para viabilizar a 
implantação de um programa (Michaelis, 
2020)
49
8
Um algoritmo é dado como uma sequência de 
passos a serem realizados para que 
determinada tarefa seja concluída, ou um 
objetivo atingido
O que são algoritmos?
49
9
Exemplo de algoritmo:
Pegue uma fatia de pão de forma
Com a ponta da faca, raspe duas vezes na 
manteiga dentro do pote
Com a mesma faca que contém a manteiga, 
espalhe uniformemente a manteiga em um dos 
lados do pão de forma
No mesmo lado que você espalhou a manteiga, 
coloque uma fatia de queijo e uma de 
presunto, esta última em cima da de queijo
Em cima das fatias, coloque o outro pão de 
forma e pronto, seu sanduíche está finalizado
49
10
Passo a passo da equação:
𝑎 + 𝑏 ∗ 𝑐 + 𝑑
Realizar o cálculo dentro dos parênteses a+b
Multiplicar o resultado de dentro dos 
parênteses por c
Por fim, somar com d
49
11
Sistemas de computação
49
12
Segunda Guerra Mundial:
Cálculo de mísseis
Mensagens codificadas
Computadores construídos com milhares de 
válvulas e relés, pesando toneladas e 
consumindo montantes gigantes de energia 
elétrica
7 8
9 10
11 12
3
49
13
ENIAC (Electronic Numerical Integrator and 
Computer)
Everett Historical/SHUTTERSTOCK
49
14
Percebeu-se a necessidade de mudar a 
maneira como computadores eram 
projetados, começando pela aritmética 
decimal para binária
John von Neumann – matemático húngaro. 
Propôs o primeiro computador de programa 
armazenado e criado
49
15
A máquina de von Neumann
Máquina original
de von Neumann
Memória
Unidade de
controle
Unidade de lógica
e aritmética
Entrada
Saída
Acumulador
49
16
Base decimal – dígitos de 0 a 9
Base binária – dígitos 0 e 1
Todo e qualquer computador é binário
Binary digit – a menor unidade de 
armazenamento de dados
O bit
49
17
AbreviaçãoEquivale a
B1 Byte8 bits
KB1 KiloByte1024 Bytes
MB1 MegaByte1024 KB
GB1 GigaByte1024 MB
TB1 TeraByte1024 GB
PB1 PetaByte1024 TB
49
18
Binary digit – a menor unidade de 
armazenamento de dados
Palavra (word) – a menor unidade útil de 
manipulação do dado
A palavra (word)
13 14
15 16
17 18
4
49
19
Define quais softwares e quando serão 
executados
Gerencia o uso de memória
Abstrai o hardware para o usuário e para o 
desenvolvedor
O sistema operacional
49
20
Stanislaw Mikulski/SHUTTERSTOCK
49
21
Representação de algoritmos
49
22
Linguagem natural
Não utilizada em algoritmos computacionais
Descrição narrativa
1.
2.
3.
4.
5.
Ler dois valores (x e y)
Verificar se x e y são iguais
Se x for igual a y, mostrar a mensagem “Valores iguais!”
Se x for diferente de y, mostrar a mensagem “Valores diferentes!”
Fim
49
23
Português estruturado
Representação mais próxima de um 
programa computacional, mas sem se 
preocupar com a linguagem de programação 
adotada
Regras definidas 
Linguagem genérica
Pseudocódigo
49
24
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Algoritmo – exemplo
Var
x, y: inteiro
Início
Ler (x, y)
Se (x = y) então
Mostrar (“Valores iguais!”)
Senão
Mostrar (“Valores diferentes!”)
Fimse
Fim 
19 20
21 22
23 24
5
49
25
1.
2.
3.
4.
5.
Ler dois valores (x e y)
Verificar se x e y são iguais
Se x for igual a y, mostrar...
Se x for diferente de y, mostrar...
Fim
Comparando com a descrição narrativa...
49
26
Representação gráfica de um algoritmo
Usado para passar a ideia do seu código e 
organizar o raciocínio lógico
Simbologia gráfica padrão ISO 5807:1985 
Fluxograma
49
27
Início x, y X = y
Valores
Diferentes!
Valores
Iguais!
Fim1
F
V
Fluxograma do pseudocódigo apresentado 
anteriormente
49
28
Linguagens de programação 
e compiladores
49
29
Um computador só compreende bits
Você conseguiria escrever um programa 
somente usando bits?
iunewind/SHUTTERSTOCK
49
30
Jefferson Schnaider
Altair 8800
25 26
27 28
29 30
6
49
31
Uma linguagem de programação é, portanto, 
esse conjunto de regras, com palavras-
chaves, verbos, símbolos e sequências 
específicas. Chamamos todo esse conjunto de 
sintaxe da linguagem
Resultam em instruções compreendidas pelo 
computador e não geram ambiguidades
Linguagens de programação
49
32
Se o computador compreende uma linguagem 
e você trabalha em outra, diferente e ilegível 
para ele, como o computador entende o 
código que você faz? 
Ele transforma o código que você escreveu 
(alto nível) em uma linguagem de máquina 
(baixo nível) compreendida pelo hardware
Software de compilação
49
33
Linguagem 
de programação
Processo de compilação
Linguagem
de máquina
Arquivo binário/
executável
COMPILAÇÃO
49
34
Compilador – transforma um código-fonte em 
um arquivo binário
Interpretador – o código não é convertido de 
uma só vez, mas, sim, executado instrução 
por instrução à medida que o programa vai 
requisitando
Prós x contras
49
35
Language Ranking: Stack Overflow
49
36
Linguagem de programação
Python
31 32
33 34
35 36
7
49
37
Site oficial da linguagem: 
https://www.python.org/
Site oficial no Brasil: 
https://python.org.br/
cash1994/SHUTTERSTOCK
49
38
O que torna o Python tão popular, amado e 
utilizado?
Linguagem de propósito geral 
Vasta quantidade de bibliotecas existentes
Linguagem simples, intuitiva. Ótima para 
iniciantes
Linguagem multiplataforma
Comunidade ativa e atualizações 
constantes
Python Software Foundation (2001)
49
39
Linguagem criada em 1982 por Guido van 
Rossum
Centrum Wiskunde & Informatica (CWI), 
Amsterdam
Inspiração: linguagem ABC 
Histórico da linguagem
49
40
Monty Python Flying Circus
Programa de televisão britânico (1969-1974)
cash1994/SHUTTERSTOCKPeter Gudella/SHUTTERSTOCK
49
41
Sistemas 
operacionais. 
Linux, macOS
RaspBerry Pi
Exemplos de aplicações Python
goodcat/shutterstock
49
42
Análise de dados e inteligência artificial
Ali.alpha/shutterstock
37 38
39 40
41 42
8
49
43
Alex Cimbal/SHUTTERSTOCKpio3/SHUTTERSTOCK
Industrial Light and Magical (ILM)
49
44
charnsitr/shutterstockmonticello/shutterstock
49
45
sukku_1242/shutterstock
Praveen Nanu/shutterstock
49
46
O Zen do Python, por Tim Peters
Bonito é melhor que feio
Explícito é melhor que implícito
Simples é melhor que complexo
Complexo é melhor que complicado
Plano é melhor que aglomerado
Legibilidade faz diferença
Agora é melhor que nunca
49
47
Referências
49
48
PERKOVIC, L. Introdução à computação 
usando Python – um foco no 
desenvolvimento de aplicações. Rio de 
Janeiro: LTC, 2016.
PUGA, S.; RISSETI, G. Lógica de programação 
e estrutura de dados. 3. ed. São Paulo: 
Pearson, 2016.
STALLINGS, W. Arquitetura e organização de 
computadores. 10. ed. São Paulo: Pearson, 
2017.
43 44
45 46
47 48
9
49
49
TANENBAUM, A. Sistemas operacionais 
modernos. 3. ed. São Paulo, Pearson, 2013.
TANENBAUM, A. Organização estruturada de 
computadores. 5. ed. São Paulo: Pearson, 
2013.
TOCCI, R. J. et al. Sistemas digitais: 
princípios e aplicações. 10. ed. São Paulo: 
2007.
49
50
49 50