Buscar

Introdução à Lógica de Programação e Algoritmos

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 8 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 8 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

Prévia do material em texto

1
Prof. Vinicius Pozzobon Borin
Lógica de Programação e Algoritmos
Aula 1
Conversa Inicial
O objetivo desta aula é introduzir os 
principais conceitos inerentes a esta 
disciplina de programação
Tais conceitos serão recorrentes ao longo das 
próximas aulas
A estrutura de conteúdos desta aula é 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 iremos adotar?
Introdução à lógica e aos algoritmos 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
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)
𝒑: 𝑥 é 𝑚𝑎𝑖𝑜𝑟 𝑜𝑢 𝑖𝑔𝑢𝑎𝑙 𝑎 10? 
𝒒: 𝑠𝑒 𝑥 é 𝑚𝑎𝑖𝑜𝑟 𝑜𝑢 𝑖𝑔𝑢𝑎𝑙, 𝑒𝑛𝑡ã𝑜, 𝑉 𝑝 𝑉
𝒓: 𝑠𝑒 𝑥 é 𝑚𝑒𝑛𝑜𝑟, 𝑒𝑛𝑡ã𝑜, 𝑉 𝑝 𝐹
X = 11 X = 10 X = 9
V(p) = V V(p) = FV(p) = V
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? 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
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
Sistemas de computação
7 8
9 10
11 12
3
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
ENIAC (Electronic Numerical Integrator and 
Computer)
Everett Historical/SHUTTERSTOCK
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
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
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
Equivale a Abreviação
8 bits 1 Byte B
1024 Bytes 1 KiloByte KB
1024 KB 1 MegaByte MB
1024 MB 1 GigaByte GB
1024 GB 1 TeraByte TB
1024 TB 1 PetaByte PB
13 14
15 16
17 18
4
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
Stanislaw Mikulski/SHUTTERSTOCK
Representação de algoritmos
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
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 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
Comparando com a 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...
Se x for diferente de y, mostrar...
Fim
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
Fluxograma do pseudocódigo apresentado 
anteriormente
Início x, y X = y
Valores
Diferentes!
Valores
Iguais!
Fim1
F
V
Linguagens de programação 
e compiladores
Um computador só compreende bits
Você conseguiria escrever um programa 
somente usando bits?
iunewind/SHUTTERSTOCK
Altair 8800
Jefferson Schnaider
25 26
27 28
29 30
6
Uma linguagem de programação é, portanto, 
um conjunto de regras com palavras-chave, 
símbolos e sequências específicas para 
escrever algoritmos 
Resultam em instruções compreendidas pelo 
computador e não geram ambiguidades
Linguagens de programação
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
Linguagem 
de Programação
Processo de compilação
Linguagem
de Máquina
Arquivo binário/
Executável
COMPILAÇÃO
Compilador – transforma um código em um 
arquivo binário. O código-fonte é perdido 
nesse processo
Interpretador – nunca perde o seu código-
fonte, ele está sempre presente. O código 
não é convertido de uma só vez, mas, sim, 
executado instrução por instrução à medida 
que o programa vai requisitando
1 100.0Python
Language Ranking: IEEE Spectrum
2 96.3Java
3 94.4C
4 87.5C++
5 81.5R
6 79.4JavaScript
7 74.5C#
8 70.6Matlab
9 69.1Swift
10 68.0Go
11 67.2Arduino
12 68.8HTML, CSS
13 65.1PHP
14 63.7Assembly
15 63.4SQL
16 57.4Dart
17 55.5Rust
18 55.3Scala
19 55.1Ruby
20 55.1Visual Basic
Linguagem de programação
Python
31 32
33 34
35 36
7
Site oficial da linguagem: 
<https://www.python.org/>
Site oficial no Brasil: 
<https://python.org.br/>
cash1994/SHUTTERSTOCK
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)
Linguagem criada em 1982 por Guido van 
Rossum
Centrum Wiskunde & Informatica (CWI), 
Amsterdam
Inspiração. Linguagem ABC 
Histórico da linguagem Monty Python Flying Circus
Programa de televisão britânico (1969-1974)
cash1994/SHUTTERSTOCKPeter Gudella/SHUTTERSTOCK
Sistemas
operacionais.
Linux, macOS
RaspBerry Pi
Exemplos de aplicações Python
goodcat/shutterstock
Industrial Light and Magical (ILM)
Alex Cimbal/SHUTTERSTOCKpio3/SHUTTERSTOCK
37 38
39 40
41 42
8
charnsitr/shutterstockmonticello/shutterstock
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
Referências
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.
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.
43 44
45 46
47 48

Continue navegando