Introdução à Lógica e Algoritmos
Introdução à Lógica e Algoritmos
LÓGICA DE PROGRAMAÇÃO E
ALGORITMOS
AULA 1
[Link] 1/35
20/08/2022 22:52 UNINTER
CONVERSA INICIAL
O
objetivo desta aula é introduzir os principais conceitos inerentes à esta
disciplina. Iniciaremos
programas
computacionais, bem como definiremos, em um contexto até mesmo fora da
Após
essas definições, trataremos dos recursos necessários para que um sistema
computacional
programas, o hardware.
Veremos
maneiras distintas de representar um algoritmo. Para tal, estudaremos a
nomenclatura
curso.
Por
fim, encerraremos esta primeira aula compreendendo o que são linguagens de
programação
Ao
longo de toda a aula serão apresentados exemplos de algoritmos escritos tanto
em
[Link] 2/35
20/08/2022 22:52 UNINTER
Você
já parou para pensar na maneira com que você racionaliza para realizar suas
tarefas
Tudo o
que fazemos e seguimos em nossas rotinas tem um motivo, o qual é baseado em
nosso
do que fazemos, e
veremos que temos uma resposta racional mesmo que faça sentido somente para
nós
mesmos.
O
raciocínio lógico adotado para estabelecer nossas tarefas é um
pensamento que adotamos
Antiga
por Aristóteles (384-322 a.C.). A palavra lógica tem sua origem no termo grego logos,
e
Trazendo
o conceito de lógica para a área da computação e informática, novamente de acordo
implantação de um programa”.
Certo;
o conceito do dicionário nos trouxe uma nova palavra: algoritmo. Ainda
não definimos o
desta
disciplina.
Veremos
que o raciocínio lógico inevitavelmente nos leva a resultados do tipo binário –
em que p é a
preposição, x é um valor arbitrário, inteiro e positivo e V(p) é
o resultado lógico da
uma resposta.
Caso x
seja o valor 11, o resultado será V(p)=V, pois 11 é maior do
que 10. Se x for o valor 10,
A
lógica pode ser dividida em indutiva e dedutiva (Puga; Rissetti, 2016). Em
ambas, temos
premissas que nos fazem chegar a uma conclusão. A indutiva é
aquela em que as premissas não
anteriormente é baseado em
lógica dedutiva, e trabalharemos somente com esse tipo de lógica na
área da
programação, afinal, um programa computacional necessita sempre ter certeza do
resultado
Vimos
que a lógica está intimamente conectada com o conceito de algoritmos na área da
Assim
como ocorre com a lógica, o conceito de algoritmo não é especificamente
atrelado ao
época, linguagens
matemáticas simbólicas e máquinas universais de cálculo eram muito empregadas
matemática,
resolver problemas é seguir etapas na ordem correta.
Assim,
o conceito de algoritmo surge. Um algoritmo é dado como uma sequência de
passos a
A
ideia do uso de algoritmos antes da era da informatização foi fundamental na
matemática,
? Considere que a, b, c
e d sejam números inteiros e positivos.
1. realizar
o cálculo dentro dos parênteses ;
2. multiplicar
o resultado de dentro dos parênteses por c;
3. por
fim, somar com d.
Observe
que qualquer outra ordem de execução desses passos resultaria em um resultado
Vejamos
outros exemplos de algoritmos, mas agora mais de nosso cotidiano. Um
exemplo
Vejamos
outro exemplo prático: você está em sua casa e abre a geladeira. Como faz tempo
que
sanduíche!”.
Para
construir seu sanduíche, mesmo involuntariamente, você faz um algoritmo! Duvida?
Quer
ver só? Tente imaginar (ou anote em seu caderno) a sequência de passos que
você utiliza para
[Link] 5/35
20/08/2022 22:52 UNINTER
1. pegue
uma fatia de pão de forma;
2. com a
ponta faca, raspe duas vezes na manteiga dentro do pote;
3. com a
mesma faca que contém a manteiga, espalhe uniformemente a manteiga em um
dos
lados do pão de forma;
4. no
mesmo lado que você espalhou a manteiga, coloque uma fatia de queijo e uma de
5. em
cima das fatias, coloque o outro pão de forma e pronto, seu sanduíche está pronto.
Ficou
parecido com o seu? É claro que cada um tem suas preferências culinárias, como
colocar
Note
também o nível de detalhes inseridos no algoritmo. Se pensarmos que um
computador
bom, aí seria possível usar até mesmo a sua própria mão para espalhar a
manteiga. Portanto, é
necessário informar a maneira mais minuciosa de construir
o sanduíche.
Exercício de revisão:
Escreva
uma sequência de passos (um algoritmo) para resolver a equação do delta (Δ) na
fórmula de Bhaskara ( ).
Exercício de fixação:
[Link] 6/35
20/08/2022 22:52 UNINTER
“Um
cliente deseja fazer a consulta do saldo de sua conta corrente no computador
pela internet.
a. Inserir
a senha;
b. Clicar
no botão “OK” de acesso;
c. Selecionar
a opção de saldo;
d. Encerrar
a sessão;
e. Abrir
o navegador;
f. Preencher
dados (números de agência e conta);
g. Confirmar
ou digitar o nome do usuário;
h. Fechar
o navegador;
i. Confirmar
o endereço do site do banco (Puga; Rissetti, 2016, p. 16, ex. 5).
Vimos
que algoritmos são a essência para o desenvolvimento de programas de
computadores,
existir um
hardware para executar o programa que foi desenvolvido. Portanto, é
necessário que
vejamos a base de um sistema computacional necessário para
executar programas.
O hardware
é todo o aparato físico responsável por compreender o algoritmo
desenvolvido e
O
grande estímulo para o surgimento do conceito do primeiro computador eletrônico
do
mundo veio com a Segunda Guerra Mundial. Nessa época, cálculos matemáticos
complexos eram
necessários para que se alcançasse diferentes objetivos. Um
deles era o cálculo de rotas e trajetórias
de mísseis de guerra.
[Link] 7/35
20/08/2022 22:52 UNINTER
Uma
outra necessidade interessante era a codificação de mensagens contendo ordens,
informações
de combate, movimentações do inimigo etc., para as tropas. Mensagens como essas
eram transmitidas via ar, ou mesmo água, e podiam ser interceptadas. Assim, era
essencial que
fossem enviadas em códigos. Desse modo, a necessidade de
codificar mensagens que fossem
O
interesse pela decodificação vinha de ambos os lados. A própria nação emissora da
mensagem
Assim,
uma corrida por máquinas capazes de realizar codificações e decodificações cada
vez
No
início da guerra, tínhamos computadores construídos com milhares de válvulas e
relés
pesando toneladas e consumindo montantes gigantes de energia elétrica. Um
dos mais famosos
[Link] 8/35
20/08/2022 22:52 UNINTER
O
ENIAC começou a ser construído em 1943, e continha 18 mil válvulas, 1500 relés,
pesava 30
toneladas e consumia 140 KW de potência. Tudo isso para ser capaz de
manipular 20 unidades de
Nessa
época, começou a ficar evidente que máquinas como o ENIAC podiam não ser a
melhor
Em
1946, o matemático húngaro John von Neumann, apoiando-se em trabalhos
anteriores de
[Link] 9/35
20/08/2022 22:52 UNINTER
Logo
de início, von Neumann percebeu que programar computadores com imensas
quantidades
de interruptores é uma tarefa lenta, cara e manual demais, requerendo
muita mão de obra só para
O
projeto, que ficou posteriormente conhecido como máquina de von Neumann,
foi então o
primeiro computador de programa armazenado criado.
Dedicaremos
um tempo para entender melhor o que von Neumann propôs. Afinal, essa é a
arquitetura base de qualquer sistema computacional do século XXI. A máquina de
von Neumann
contém cinco elementos básicos, como ilustra a Figura 2.
Figura
2 – Diagrama da máquina de von Neumann
codificação
binária. A memória que mantem os programas em execução é a memória RAM
(Random
Acess Memory);
computacional é
capaz de realizar somente cálculos aritméticos e lógicos dos mais simples
da ULA;
unidade de controle (UC): gerencia o fluxo de
execução dos programas dentro do
são
transferidas ao programa;
dispositivos de saída: são maneiras pelas
quais o resultado de uma ação do programa informa
A ULA
e a UC formam o que é de chamado de processador, ou seja, a CPU (Central
Process Unit)
Inicialmente,
quando von Neumann propôs sua arquitetura, a memória não fazia parte do chip
Em
suma, a arquitetura de von Neumann, hoje considerada clássica dentro dos
computadores
Desde
a proposta de um computador digital feita por von Neumann em meados de 1945, as
[Link] 11/35
20/08/2022 22:52 UNINTER
e
custos compatíveis para vendas residenciais. Toda a história e a evolução dos
computadores podem
ser lidas em detalhes no livro Organização estruturada de
computadores (Tanenbaum, 2013a).
De
todo modo, o que todas essas gerações têm em comum é que a arquitetura que
serviu como
base está contida dentro de todas as nossas máquinas digitais, e
não só computadores e laptops, mas
ondas, lâmpadas
inteligentes etc. Tudo isso tem von Neumann como ponto de partida.
Sabemos
que um computador digital contém uma memória que manipula e armazena dados de
Aprendemos,
desde os primeiros anos de escola, a realizar operações aritméticas na
denominada
base decimal. Decimal, que vem de 10, nos indica que, para
representarmos qualquer número,
combinação de dígitos de
0-9 para representar o número que queremos em decimal.
O
termo bit é originário de binary digit (dígito binário), de
que escolheu-se pegar as duas
primeiras letras da palavra binary (bi) e
a última letra da palavra digit (t) para formar a palavra bit
(bi+t).
Um binary digit nos indica que, diferentemente da base decimal, na base
binária podemos
Um
computador digital armazena, calcula e manipula com esse tipo de aritmética
devido à
facilidade que é para ele realizar operações nessa base. Como citado,
a menor unidade de
Em
aspectos físicos, um valor zero em uma memória poderá ser a ausência de um
sinal elétrico
(ou carga elétrica) naquele ponto, e o valor 1 pode ser
representado pela existência de sinal elétrico
memória,
veríamos quantidades quase que infinitas de sequências de sinais (ou cargas
elétricas)
[3]
dentro dela.
[Link] 12/35
20/08/2022 22:52 UNINTER
Se o
computador trabalha com aritmética binária, talvez você esteja se perguntando:
como é que
convertemos
decimal em binário, ou vice-versa, recomendo a leitura dos capítulos 1 e 2 do
livro
O que se
deve compreender aqui é que todo e qualquer computador projetado com base
na
máquina de von Neumann é binário e, portanto, só compreende dígitos 0 e 1, o bit,
nada
além disso.
O bit
é a menor unidade de armazenamento. Porém, é mais comum mensurarmos a memória
em
Tabela1 – Nomenclatura
Equivale à 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
Ao
longo de nossa disciplina de programação e de outras vindouras na área de
computação,
[Link] 13/35
20/08/2022 22:52 UNINTER
Considere
a seguinte situação: você precisa desenvolver um player de música para
rodar em um
Observe
que o universo de configurações de hardware dos computadores tende ao
infinito, pois
temos centenas de marcas e modelos, com hardwares dos
mais distintos, tecnologias diferentes de
nas possibilidades
de saídas de som que podemos ter para a aplicação do player (fone de
ouvido,
Se um
programador precisar se preocupar com o hardware disponível em cada
máquina, será
comercialmente inviável.
E,
acredite, até meados da década de 1970 era assim que se desenvolviam programas
O
surgimento do conceito de sistema operacional fez com que a vida do desenvolver
para um hardware
específico, mas, sim, para um sistema operacional específico, o que
facilita
[4]
enormemente o processo de desenvolvimento.
Talvez
você esteja se perguntando se já utilizou algum sistema operacional ao longo de
sua vida
de usuário de computadores. A resposta é: com toda a certeza! Quer ver
alguns exemplos?
em
computadores (desktops e laptops), os mais conhecidos são os da Microsoft,
que iniciou
com o MS-DOS, e foi seguido pelo Windows. Em contrapartida, temos
os baseados em
[Link] 14/35
20/08/2022 22:52 UNINTER
no
meio dos dispositivos móveis, temos sistemas operacionais desenvolvidos
exclusivamente
diversos
outros sistemas computacionais também contêm um sistema operacional. Videogames
Algoritmos
são sequências de passos a serem seguidos para que uma tarefa seja executada
com
Neste
tópico, portanto, aprenderemos três diferentes tipos de representações de
algoritmos.
A
maneira mais simples e intuitiva de construirmos nossos algoritmos é a partir
de uma
ambiguidades e dupla interpretação, o que faz com que acabe não sendo utilizada
na construção de
algoritmos computacionais.
Você se
lembra do nosso algoritmo de sanduíche, lá na Seção 1.2? Pois bem, ele está em forma
de descrição narrativa. Note que muitas das frases lá construídas, por mais
detalhadas que estejam,
[Link] 15/35
20/08/2022 22:52 UNINTER
1. Ler
dois valores (x e y).
2. Verificar
se x e y são iguais.
3. Se x
for igual a y, mostrar a mensagem “Valores iguais!”.
4. Se x
for diferente de y, mostrar a mensagem “Valores diferentes!”.
5. Fim
os valores são
iguais, mas como essa verificação é feita? Não temos a informação disso, porque
na
descrição narrativa estamos preocupados somente com a ideia geral da
instrução, e não com a
É por
esse motivo que não trabalharemos com essa representação ao longo de nosso
curso. Mas
é interessante que se tenha conhecimento dela, uma vez que pode ser
útil para ajudá-lo a formular
3.2 PSEUDOCÓDIGO
O
pseudocódigo é a representação de um algoritmo mais próxima que podemos ter de
um
corresponde a uma
linguagem genérica e, uma vez entendendo a lógica por trás de seu
pseudocódigo,
basta aplicá-lo a qualquer linguagem de programação existente.
[Link] 16/35
20/08/2022 22:52 UNINTER
Vejamos
o mesmo exemplo apresentado em descrição narrativa, mas agora nos atentando às
regras impostas pela representação em pseudocódigo.
Exemplo de algoritmo:
1.
Var
2.
x,
y: inteiro
3.
Início
4.
Ler
(x, y)
5.
Se
(x = y) então
6.
Mostrar
(“Valores iguais!”)
7.
Senão
8.
Mostrar
(“Valores diferentes!”)
9.
Fimse
10. Fim
Não
vamos nos ater ainda às nuanças e regras de construção do pseudocódigo. Faremos
isso ao
Por
exemplo, um algoritmo em pseudocódigo deve, sempre, iniciar com a palavra Algoritmo
seguida de um nome dado ao seu código (linha 1), assim como sempre finalizar
com a palavra Fim
3.3 FLUXOGRAMA
A
última maneira que trabalharemos para representar algoritmos é o fluxograma. Esse
tipo de
[Link] 17/35
20/08/2022 22:52 UNINTER
Embora
fluxogramas não sejam interpretados literalmente por nenhum software de
Também,
fluxogramas são muito utilizados para mostrar algoritmos em trabalhos
científicos, em
apresentações acadêmicas e profissionais, uma vez que mostrar
códigos completos em exposições
fluxogramas de seus
algoritmos, pois, em algum momento, precisará trabalhar com esse recurso, seja
em outra disciplina, seja no mercado de trabalho.
Existe
mais de uma nomenclatura de símbolos distintas para fluxogramas. A nomenclatura
adotada nesta disciplina é a padronizada e documentada na norma ISO 5807:1985 e
é também a
da ISO.
Figura
3 – Simbologia para fluxogramas ISO
5807:1985
[Link] 18/35
20/08/2022 22:52 UNINTER
Fonte:
Puga e Rissetti, 2016, p.
O
mesmo algoritmo proposto na descrição narrativa e no pseudocódigo agora está
representado
em um fluxograma que pode ser visto na Figura 4.
Trabalharemos
mais fluxogramas, em detalhes, no decorrer de nossa disciplina.
Figura
4 – Exemplo de fluxograma
[Link] 19/35
20/08/2022 22:52 UNINTER
complexidade do desenho
isso pode tomar um tempo considerável, a não ser que exista um roteiro a
ser
seguido.
tente
elaborar um roteiro do caminho a ser seguido no labirinto, iniciando na seta da
Figura 5a.
Figura
5 – Labirintos do exercício: (a) sem marcações; (b) com marcações
Aprendemos
que pseudocódigo é uma maneira genérica de representar algoritmos em
linguagem
computacional, sendo o mais próximo que temos de uma linguagem de programação
programação?
Conforme
já aprendemos nesta aula, um computador trabalha com codificação binária e,
portanto, não compreende mais nada além de bits. Agora, tente imaginar
um cenário em que você,
Você
consegue se imaginar escrevendo um código dessa maneira? Não? Pois bem, nem eu.
Isso
Fonte : iunewind/Shutterstock.
[Link] 21/35
20/08/2022 22:52 UNINTER
Saiba
que no passado já construímos códigos assim, em binário, mas naquela época
O
surgimento das linguagens de programação mudou para sempre a maneira como
Não
obstante, linguagens de programação apresentam outras facilidades, como
escrever
códigos que não dão margens a erros de interpretação pelo computador,
graças à criação de
Uma
linguagem de programação é, portanto, esse conjunto de regras, com
palavras-chaves,
primeiro a um breve
histórico das linguagens.
[Link] 22/35
20/08/2022 22:52 UNINTER
Você se
lembra do primeiro computador digital, o ENIAC? A grande máquina que só ficou
pronta
Naquela
época, as programadoras começaram a desenvolver as primeiras técnicas de
linguagens
de programação com o objetivo de facilitar seu próprio trabalho.
Simultaneamente, um outro grupo
dias de hoje.
Outra
linguagem de programação primitiva, surgida em 1954, foi a Fortran. Inventada
pela IBM,
Nas
décadas que se sucederam (1960 e 1970), com o COBOL e o Fortran se consolidando,
os
maiores paradigmas de linguagens de programação foram inventados. Nessa
época, tivemos o
surgimento da linguagem C, desenvolvida na Bell Labs. A
linguagem C foi responsável por tornar
Você
se lembra de quando falamos que programar se preocupando especificamente com um
problemas
bastante comuns, como implementações de funções matemáticas não triviais.
Assim,
o programador passou a se preocupar menos com pequenos detalhes, como hardware,
[Link] 23/35
20/08/2022 22:52 UNINTER
Na
década de 1980 tivemos a consolidação das linguagens imperativas, ou seja,
linguagens de
programação fortemente segmentadas, e o conceito de programação
orientada a objetos estava
então formalizado. Nesta disciplina de programação,
não trabalharemos com esses paradigmas por
[7]
se tratar de conceitos mais
avançados de programação.
Por
fim, com o boom da internet em meados de 1990, tivemos o surgimento de
uma gama
Descobrimos
ao longo deste material que um computador trabalha e compreende somente a
linguagem binária, também chamada de linguagem de máquina (vide Figura
6). Acabamos de
Se o
computador compreende uma linguagem e você trabalha em outra, ilegível para
ele,
Para
resolver esse problema foram criados os softwares de compilação. Um compilador
é capaz
Figura
8 – Processo de compilação
[Link] 24/35
20/08/2022 22:52 UNINTER
Fonte:
Cada
linguagem de programação apresenta o(s) seu(s) respectivo(s) software(s)
de compilação
capaz(es) de compreendê-la. O software de compilação é
também desenvolvido e dependente de um
novamente para cada plataforma, embora o código de alto nível praticamente não
sofra alterações.
Por
fim, é interessante ressaltar a diferença entre compilador e interpretador. O compilador,
A gama
de linguagens de programação é bastante grande e ultrapassa a casa da centena.
Já
É fato
que não existe nenhuma linguagem ideal para todos os cenários de
desenvolvimento.
Cada uma contém suas peculiaridades e características que as
tornam boas e populares em certos
ambientes. O IEEE Spectrum anualmente
lança seu ranking de linguagens de programação mais
usadas e
procuradas. Este ranking é criado com base em pesquisas de usuários na internet,
mas
também se baseia no uso dessas linguagens no meio científico, verificando
bases de dados de
artigos. O ranking do ano de 2019 pode ser visto na
Figura 9.
[Link] 25/35
20/08/2022 22:52 UNINTER
Figura
9 – Ranking de linguagens de programação mais utilizadas no ano de 2019,
segundo o IEEE
Spectrum
O uso
de rankings como esse são ótimos termômetros para sabermos em qual
linguagem de
programação devemos investir tempo de estudo, uma vez que a chance
de nos depararmos com
uma delas no mercado de trabalho será grande. Algumas das
linguagens mais populares são:
linguagem Python: é a
linguagem mais popular dos últimos anos em praticamente todos os
segmentos de
desenvolvimento. É por esse motivo que adotaremos essa linguagem neste
curso.
Falaremos em detalhes sobre o Python na próxima seção;
linguagem
Java: a linguagem da Oracle é a mais popular
atualmente no segmento de
desenvolvimento para dispositivos móveis. O Java
popularizou-se muito devido à inovadora
virtualização de
qualquer programa em Java utilizando uma máquina virtual pré-instalada. É
orientada a objetos em seu cerne;
linguagem
C: talvez a mais antiga desta lista e que continua
entre as mais utilizadas. A
linguagem
C++: é uma linguagem derivada do próprio C. Porém,
diferentemente dele,
trabalha também com paradigmas de programação orientada a
objetos;
linguagem
C# (C Sharp): é uma linguagem desenvolvida
pela Microsoft como parte da
hardware
de Arduino;
linguagem
HTML: não é uma linguagem de programação, mas, sim,
de marcação, e é o
recursos foram
implementados com o objetivo de eliminar plugins que antes era
necessário
instalar em navegadores, como o Flash (Adobe) e o Silverlight (Microsoft);
linguagem
PHP: é uma linguagem interpretada criada
exclusivamente para desenvolvimento
A
linguagem escolhida para trabalharmos ao longo deste curso é o Python (visite a
página:
<htt
ps://[Link]/>). Conforme
vimos anteriormente, o Python é a linguagem mais empregada
em quase todas as
áreas de desenvolvimento, sendo fundamental que um programador nos dias de
hoje
tenha conhecimento dela. Porém, o que torna o Python tão popular, amado e
utilizado?
[Link] 27/35
20/08/2022 22:52 UNINTER
Primeiramente,
é válido ressaltar que o Python é uma linguagem de propósito geral, ou seja,
não
foi criada pensando em um só setor de desenvolvido. O PHP, por exemplo, só
é aplicável para
O que
torna o Python tão versátil é a gama enorme de bibliotecas que existem para
ele. Você
quer desenvolver jogos com Python? Sem problemas, ele dá conta. Basta
instalar as bibliotecas do
pygame e aprender a usar. Desenvolvimento
para dispositivos móveis, interfaces e até mesmo
recursos de inteligência
artificial e ciência de dados são facilmente localizados para uso no Python.
A
linguagem caiu no gosto dos desenvolvedores por ser simples, fácil e intuitiva.
Programadores
A linguagem
Python é orientada a objetos. Porém, não nos ateremos aos paradigmas de
download para
diferentes plataformas (visite:
<[Link]
).
Acerca
da licença que rege a linguagem Python, conforme o site oficial, a
linguagem Python é
[10]
Open Source. O Python contém uma licença própria, mas
compatível com a GPL.
Por
fim, como curiosidade, a linguagem Python contém inclusive uma espécie de
filosofia da
tps://[Link]/dev/peps/pep-0020/>).
A seguir, reproduzimos, em tradução livre feita pela
Python Brasil (disponível
em: <[Link] o mantra da linguagem
por
Tim Peters:
[Link] 28/35
20/08/2022 22:52 UNINTER
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.
Esparso
é melhor que denso.
Legibilidade
faz diferença.
Casos
especiais não são especiais o bastante para quebrar as regras.
Embora
a praticidade vença a pureza.
Erros
nunca devem passar silenciosamente.
A
menos que sejam explicitamente silenciados.
Diante
da ambiguidade, recuse a tentação de adivinhar.
Deve
haver um – e preferencialmente só um – modo óbvio para fazer algo.
Embora
esse modo possa não ser óbvio à primeira vista a menos que você seja holandês.
Agora
é melhor que nunca.
Embora
nunca frequentemente seja melhor que *exatamente* agora.
Se
a implementação é difícil de explicar, é uma má ideia.
Se
a implementação é fácil de explicar, pode ser uma boa ideia.
Namespaces são uma
grande ideia – vamos fazer mais dessas!
Em
1982, em Amsterdã, no Centrum Wiskunde & Informatica (CWI), um programador
de nome
Guido van Rossum trabalhava no desenvolvimento de uma linguagem de
programação chamada de
ABC. Essa linguagem, embora não tenha se popularizado,
até por carecer de recursos e
[Link] 29/35
20/08/2022 22:52 UNINTER
O nome
da linguagem, Python, não foi dado em homenagem às cobras popularmente
conhecidas como píton aqui no Brasil, como muitas pessoas pensam. O nome Python
foi dado por
von Rossum para homenagear o programa de TV britânico chamado de Monty
Python Flying Circus,
transmitido entre 1969 e 1974, e que até hoje arranca
bastante risada do público ao redor do mundo
(Figura 10).
Figura
10 – Caixa do filme Monty Python and the Holy Grail. No
Brasil, o título foi traduzido como
Monty Python: em busca do cálice
sagrado
Figura
11 – Logotipo da linguagem Python
[Link] 30/35
20/08/2022 22:52 UNINTER
Fonte: cash1994/Shutterstock.
Python
pré-instalado. Não só isso, mas parte desses sistemas operacionais também foi
desenvolvida
em linguagem Python. Todas as destruições Linux e o macOS contêm. Infelizmente,
o Windows não
[Link] 31/35
20/08/2022 22:52 UNINTER
Figura
12 – Foto de uma RaspBerry Pi 3 Model B+
Fonte: goodcat/Shutterstock.
desenvolvidas
nessa linguagem. O Youtube e o próprio buscador do Google são dois exemplos de
peso.
No ramo do entretenimento, um
ótimo exemplo de uso de Python está na Industrial Light and
Magical (ILM),
empresa do cineasta George Lucas e responsável pelos efeitos visuais de filmes
como
Star Wars, Jurassic Park e Terminator 2. A linguagem Python
está por trás de todos seus softwares de
[11]
renderização, animação etc.
FINALIZANDO
Compreendemos a arquitetura de
hardware necessária para desenvolvermos e executarmos
softwares,
e que computadores modernos são construídos com base na máquina de von Neumann.
A definição de linguagem de
programação e como um computador, que trabalha em linguagem
de máquina,
consegue compreender o que escrevemos em programas foi apresentado durante esta
[Link] 32/35
20/08/2022 22:52 UNINTER
aula.
escritas
por Tim Peters no zen do Python: “Agora é melhor do que nunca”. Comece a
estudar hoje,
não deixe para depois. Programação é prática, e prática leva ao
aprendizado.
REFERÊNCIAS
ARDUINO.
Disponível em: <[Link] Acesso em: 11 mar. 2020.
DEITEL, P.;
DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson, 2017.
FORBELLONE,
A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de
algoritmos
<[Link]
python>.
Acesso em: 11 mar. 2020.
IEEE
SPECTRUM. Disponível em: <[Link] Acesso em: 10 mar.
2020.
LÓGICA. In:
Michaelis. Disponível em:
<[Link]
portugues/busca/portugues-brasileiro/l%C3%B3gica/>.
Acesso em: 10 mar. 2020.
PEP 20: The Zen of Python. Python, 19 ago. 2004. Disponível em:
<[Link]
Acesso em: 11 mar. 2020.
[Link] 33/35
20/08/2022 22:52 UNINTER
PERKOVIC, L.
Introdução à computação usando Python: um foco no desenvolvimento de
aplicações.
Rio de Janeiro: LTC, 2016.
PUGA, S.;
RISSETTI, 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,
Andrew. Organização estruturada de computadores. 5. ed. São Paulo:
Pearson,
2013a.
_____. Sistemas
operacionais modernos. 3. ed. São Paulo: Pearson, 2013b.
Leibniz”, e você
verá a máquina manual construída por ele no século XVII.
empregada no
armazenamento. Por exemplo, memórias RAM convencionais trabalham com
[Link] 34/35
20/08/2022 22:52 UNINTER
McNulty, Ruth
Teitelbaum e Frances Spence. Existe um documentário sobre a história dessas
mulheres, chamado de The invisible computers: the untold story of the ENIAC programmers.
programar (Deitel;
Deitel, 2017).
Compiladores: princípios,
técnicas e ferramentas (Aho et al., 2013).
[10] A licença do
Python 3 pode ser encontrada em:
<[Link]
using-python>.
[11]
[Link] 35/35