Paradigmas e Linguagem Python
Paradigmas e Linguagem Python
Apresentação
Propósito
Objetivos
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 1/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Módulo 1
Classificando as linguagens de
programação
Classificar as linguagens de programação.
Módulo 2
Critérios de avaliação de
linguagens de programação
Descrever critérios de avaliação de linguagens de programação.
Módulo 3
Paradigmas de linguagens de
programação
Distinguir os paradigmas e suas características.
Módulo 4
meeting_room
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 2/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Introdução
As linguagens de programação são classificadas por nível,
geração e paradigmas, destacando Python pela sua versatilidade.
Critérios de avaliação incluem domínios de aplicação e
implementação. Entender essas características e identificar os
paradigmas de cada linguagem é essencial para escolher a mais
adequada conforme o tipo de problema e a solução necessária no
mercado de trabalho. Neste vídeo, apresentaremos o conteúdo,
incluindo a classificação, os critérios de avaliação, os paradigmas
e os métodos de implementação de linguagens de programação.
Acompanhe!
Download material
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 3/64
12/05/2025, 16:05 Paradigmas e linguagem Python
1 - Classificando as linguagens de
programação
Ao final deste módulo, você será capaz de classificar as linguagens
de programação.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 4/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Aplicativo Básico
Visa oferecer ao usuário close Compreende programas
facilidades para realizar essenciais ao
uma tarefa laboral ou funcionamento do
de lazer. computador. O sistema
operacional é o principal
exemplo.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 5/64
12/05/2025, 16:05 Paradigmas e linguagem Python
(Edsger Dijkstra)
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 6/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Sistema binário.
Comentário
No início da década de 1950, o único mecanismo de abstração fornecido
pela linguagem de montagem, ou Assembly, em relação às linguagens
de máquina eram os nomes simbólicos. O programador podia empregar
termos relativamente autoexplicativos (nomes simbólicos) para nomear
códigos de operação (ADD = soma, SUB = subtração, M = multiplicação e
DIV = divisão) e posições de memória. A linguagem de montagem
(Assembly) melhorou a vida do programador, porém obrigava-o a
escrever 1 linha de código para cada instrução que a máquina deve
executar, forçando-o a pensar como se fosse uma máquina.
Linguagem
Assembly Linguagem de máquina
Python
swap:
Muli
$2,$5,4
Sw
$15,4($2)
Jr $31
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 8/64
12/05/2025, 16:05 Paradigmas e linguagem Python
counter_1 Nível 1
É representado pelo hardware, conjunto de circuitos
eletrônicos.
counter_2 Nível 2
É representado pela linguagem de máquina (1 e 0),
única que o hardware entende.
counter_3 Nível 3
É representado pela linguagem Assembly
(mneumônicos).
counter_4 Nível 4
É representado pelas linguagens de alto nível,
próximas à língua do usuário e distantes da
linguagem computacional. Python e Java são
li d ã
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html#
i d 9/64
12/05/2025, 16:05 Paradigmas e linguagem Python
linguagens de programação representativas da
classe LP de alto nível (LP = linguagem de
programação).
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 10/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Resumindo
Quanto maior for o leque de linguagens que um programador dominar e
praticar, maiores serão as chances de conhecer e fazer uso das
propriedades superlativas da(s) linguagem(ns) em questão.
Atividade 1
1. Avalie as assertivas sobre as linguagens de programação:
IV. Um comando em uma linguagem de alto nível faz mais que uma
operação primária do hardware.
B III e IV apenas.
C III apenas.
D II e IV apenas.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 11/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Classificação das
linguagens de
programação por nível
Ao longo do tempo, diferentes autores propuseram várias formas de
classificar as linguagens de programação, usando critérios diversos.
Aqui, você vai entender as características, classificações e
implementações das várias linguagens de programação, com base em
seus níveis. Compreender esses aspectos permitirá criar soluções
inovadoras, entender melhor os sistemas e colaborar eficazmente em
equipes de desenvolvimento.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 12/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Terminal
content_copy
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 13/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Assembly
content_copy
Agora responda:
Próximas
Distantes
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 14/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Comentário
Quem programa em uma linguagem de alto nível não precisa conhecer
características dos componentes do hardware (processador, instruções e
registradores). Isso é abstraído no pensamento computacional.
Python content_copy
C content_copy
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 15/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Linguagem C e C++.
Atividade 2
Para entender a complexidade e a aplicabilidade das linguagens de
programação, é crucial distinguir entre linguagens de baixo nível e de
alto nível. Qual das opções melhor descreve a principal diferença entre
linguagens de programação de baixo nível e de alto nível?
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 16/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Classificação das
linguagens de
programação por gerações
Vamos explorar a classificação das linguagens de programação através
de suas gerações, desde as linguagens de primeira geração, próximas ao
código de máquina, até as modernas, de quarta geração, focadas em
produtividade e facilidade de uso, e as de quinta geração, voltadas para
a inteligência artificial. Compreender essa evolução ajuda a apreciar
como as linguagens se adaptaram às crescentes necessidades de
desenvolvimento de software, influenciando a eficiência e a abordagem
dos programadores na resolução de problemas complexos.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 17/64
12/05/2025, 16:05 Paradigmas e linguagem Python
open_in_full
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 18/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Processador.
Código em
O que faz cada linha de código
Assembly
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 19/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Comentário
O processo de conversão para a linguagem de máquina ficou mais
complexo e ficaram a cargo dos interpretadores e tradutores. As
primeiras linguagens de 3ª geração que foram apresentadas ao mercado
são Fortran, BASIC, COBOL, C, PASCAL, C, dentre outras.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 20/64
12/05/2025, 16:05 Paradigmas e linguagem Python
3ª geração 4ª geração
São procedurais, ou São não procedurais. O
seja, especifica-se close programador especifica
passo a passo a o que deseja fazer e
solução do problema. não como deve ser feito.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 21/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Reconhecimento de voz.
open_in_full
Atividade 3
As linguagens de programação evoluíram significativamente ao longo de
décadas, e essa evolução é frequentemente categorizada em gerações.
Cada geração trouxe características distintas e avanços tecnológicos.
Considerando essa evolução, qual das alternativas a seguir melhor
descreve uma linguagem de programação de quarta geração (4GL)?
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 22/64
12/05/2025, 16:05 Paradigmas e linguagem Python
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 23/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Domínios da programação
Vamos explorar agora os diversos domínios da programação, desde o
desenvolvimento web e móvel até a inteligência artificial. Compreender
esses domínios permite identificar as linguagens e tecnologias mais
adequadas a cada área, facilitando a criação de soluções eficientes e
inovadoras. Vamos conferir como diferentes linguagens de programação
são aplicadas em contextos específicos, permitindo uma escolha
informada da ferramenta certa para resolver problemas complexos em
variados setores da indústria.
O computador tem sido usado para diversos fins, na ciência, nas forças
armadas, nas empresas públicas e privadas, pelos profissionais liberais,
pelas pessoas em seus lazeres e onde mais possa ser aplicado. Seu uso
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 24/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Computador ENIAC.
Aplicações comerciais
A segunda onda de aplicativos foi para suprir as demandas das
empresas a partir de meados da década de 1950.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 25/64
12/05/2025, 16:05 Paradigmas e linguagem Python
computer
1959
Surge a Lisp, primeira linguagem projetada para apoio à computação
simbólica, primeira referência da computação funcional.
psychology
1977
Surge a Prolog, primeira linguagem de apoio da computação lógica,
essência dos sistemas especialistas.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 26/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Agora responda:
Programação de sistemas
A programação de sistemas cabe a linguagens de programação que
tenham comandos e estruturas para acessar, diretamente, o hardware.
Tais linguagens são usadas para desenvolver softwares básicos, como
sistemas operacionais, tradutores e interpretadores de linguagens de
programação.
Comentário
Antes de surgir a linguagem C, usada para desenvolver o sistema
operacional Linux, a Assembly era a linguagem usada para esse fim. A
linguagem C++ também é usada com essa finalidade.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 27/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Programação mobile
Considerando que, hoje em dia, grande parte da população, no Brasil e
no Mundo tem acesso à internet pelo celular, cresceu vertiginosamente a
quantidade de apps (aplicativos) para uso de aplicações via celular. Os
apps, na verdade, são interfaces que rodam no lado cliente.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 28/64
12/05/2025, 16:05 Paradigmas e linguagem Python
android Android
Linguagens Java e Kotlin
O Google tem por base o Android SDK e orienta a
usar as linguagens Kotlin, Java e C++. Porém, as
linguagens Python, Shell script, Basic4Android,
LiveCode (para iOS e Windows também), App
Inventor (que não necessita conhecimento em
programação), Unity (motor para games) e GO,
também são usadas para desenvolver apps para
Android.
iOS iOS
Linguagens Swift (oficial da Apple) e
Objective-C (código nativo para iOS)
O desenvolvimento de APP para iOS é baseado
numa IDE chamada Xcode que permite o
desenvolvimento de APP em várias linguagens,
como C, C++, Java e Python, mas oficialmente
orienta o Swift e Objective-C.
grid_view Windows
Linguagens C#, Visual Basic (VB), C++,
HTML, CSS, JavaScript e Java
No contexto de desenvolvimento de APP para
Windows, foi lançado no Windows 8.1 e atualizado
para atender também ao Windows 10, o App Studio,
que permite a qualquer pessoa criar em poucos
passos um app Windows e publicá-lo na loja.
Atividade 1
Para entender melhor os domínios das linguagens de programação,
podemos identificar onde cada linguagem é mais utilizada. Nesse
contexto, qual domínio a linguagem de programação JavaScript é
amplamente utilizada?
A Desenvolvimento de jogos.
D Desenvolvimento Web.
programação
Vamos abordar a avaliação de linguagens de programação, destacando
critérios como legibilidade, facilidade de escrita, confiabilidade e custo.
Compreender esses aspectos permite selecionar a linguagem mais
adequada para cada projeto, garantindo eficiência e eficácia no
desenvolvimento de software. Exploraremos exemplos práticos e
comparações entre linguagens populares para proporcionar uma visão
ampla e fundamentada, facilitando decisões informadas na escolha de
ferramentas de programação.
remove_red_eye Legibilidade
Um dos critérios mais relevantes é a “facilidade com
que os programas podem ser lidos e entendidos”
pelas pessoas que não necessariamente
participaram do desenvolvimento.
bl lhid
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 31/64
12/05/2025, 16:05 Paradigmas e linguagem Python
problema escolhido.
check_circle_outline Confiabilidade
Um programa é dito confiável se ele se comporta
conforme a sua especificação, repetidas vezes.
attach_money Custo
O custo final de uma linguagem de programação é
em função de muitas de suas propriedades e
características.
Critérios
Facilidade
Características Legibilidade Confiabilida
escrita
Simplicidade
Ortogonalidade
Estruturas de
controle
Tipos de dados
Projeto de
sintaxe
Suporte para
abstração
Expressividade
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 32/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Critérios
Verificação de
tipos
Tratamento de
exceções
Aliasing
Legibilidade
Um dos critérios mais relevantes para avaliar uma linguagem de
programação diz respeito à capacidade com que os programas podem
ser lidos e entendidos pela sintaxe e construção da linguagem, sem
considerar as possíveis influências da má programação.
Simplicidade
Exemplo
Em Python, o programador pode incrementar uma variável, de duas
formas distintas: cont= cont + 1 e cont +=1. Nas linguagens C e Java,
ainda podemos usar para incrementar variáveis as seguintes estruturas:
++cont e cont++.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 33/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Ortogonalidade
thumb_up thumb_down
Boa Má
ortogonalidade ortogonalidade
Permitir, por exemplo, Não permitir que um
que haja um vetor, cujos vetor seja passado
elementos sejam do tipo
close como argumento para
registro (estrutura uma rotina
heterogênea). (procedimento ou
função). Ou que uma
função não possa
retornar um vetor.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 34/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Instruções de controle
Comentário
As linguagens modernas não implementam desvio incondicional, assim
sendo, o projeto de estruturas de controle é menos relevante na
legibilidade do que anos atrás, quando surgiram as primeiras linguagens
de alto nível.
Exemplo
Para localizar um elemento em uma das posições de um vetor, usa-se
uma variável lógica se a linguagem permitir e, assim, teríamos a
instrução “achou=false” em determinado trecho de código. Em outra
linguagem que não permita o tipo de dado lógico, a instrução poderia ser
“achou=0”, em que achou seria uma variável inteira. Qual das duas
sentenças é mais clara a quem lê o código? A primeira, não é?
“achou=false”.
Sintaxe
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 35/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Simplicidade e ortogonalidade
Quanto mais simples e ortogonal for a linguagem, mais fácil será para
escrever programas. O ideal são linguagens com poucas construções
primitivas.
Expressividade
Exemplo
O comando FOR é mais adequado que WHILE e REPEAT para representar
lações com número fixo de vezes. Da mesma forma que o C, em que o
FOR é mais indicado que o WHILE e DO-WHILE. Na linguagem Python,
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 36/64
12/05/2025, 16:05 Paradigmas e linguagem Python
account_tree
Processos
Como o conceito de subprograma.
list_alt
Dados
Como uma árvore ou lista simplesmente encadeada.
Confiabilidade
Dizemos que um programa é confiável se ele se comportar conforme sua
especificação, sob todas as condições, todas as vezes em que for
executado.
Custo
O custo de uma linguagem de programação varia em função das
seguintes despesas: de treinamento, de escrita do programa, do
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 38/64
12/05/2025, 16:05 Paradigmas e linguagem Python
person Treinamento
Varia em função da expertise do programador,
simplicidade e ortogonalidade da linguagem;
F (Facilidade de escrita).
F (Projeto da linguagem).
P l P h J
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 39/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Por exemplo, Python e Java possuem
compiladores e interpretadores gratuitos.
security Confiabilidade
O custo da má confiabilidade será elevado. Se
um sistema crítico falhar, o custo aumenta;
settings Manutenção
Depende de vários fatores, mas principalmente
da legibilidade, já que a tendência é que a
manutenção seja dada por pessoas que não
participaram do desenvolvimento do software.
Comentário
A reusabilidade, ou seja, o quanto um código pode ser reutilizado em
outros programas ou sistemas aumenta o nível de produtividade da
linguagem, além da facilidade de aprendizado, que é fortemente afetada
pela legibilidade e facilidade de escrita.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 40/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Atividade 2
Um linguagem de programação pode ser avaliada a partir de vários
critérios. Qual critério refere-se à capacidade de um código ser facilmente
compreendido e interpretado pelos programadores?
A Eficiência de desempenho
B Popularidade da linguagem
C Legibilidade do código
E Tamanho do código-fonte
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 41/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Paradigma imperativo
O agrupamento por paradigmas é outra forma de classificar as
linguagens de programação. Um paradigma agrupa linguagens com
características semelhantes que surgiram em uma mesma época. A
imagem a seguir ilustra os cinco paradigmas nos quais as linguagens de
programação são classificadas. Esses paradigmas são agrupados em
imperativos e declarativos, de acordo com a forma com que os
programas são estruturados e descritos.
open_in_full
Paradigma estruturado
Caracteriza as principais linguagens de programação que seguiram os
princípios da programação estruturada nas décadas de 1970 e 1980.
Conheça!
counter_1 Princípio 1
Não usar desvios incondicionais (Goto,
característico de linguagens como BASIC e versões
iniciais do COBOL).
counter_2 Princípio 2
Desenvolver programas por refinamentos
sucessivos (metodologia top down), motivando o
desenvolvimento de rotinas (procedimentos e
funções) e a visão do programa partindo do geral
para o particular, ou seja, o programa vai sendo
refinado à medida que se conhece melhor o
problema e seus detalhes.
counter_3 Princípio 3
Desenvolver programas usando três tipos de
estruturas (sequenciais, condicionais e repetição).
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 43/64
12/05/2025, 16:05 Paradigmas e linguagem Python
counter_4 Princípio 4
Utilizar, para ser eficiente, o paradigma estruturado
baseado nos princípios da arquitetura de Von
Neumann, onde programas e dados residem na
memória (durante a execução), instruções e dados
trafegam da memória para CPU e vice-versa e
resultados das operações trafegam da CPU para a
memória.
Exemplo
Uma classe ALUNO pode encapsular um conjunto de dados que os
identifiquem: matrícula, nome, endereço (rua, número, complemento,
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 44/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Paradigma concorrente
Caracterizado quando processos executam simultaneamente e
concorrem aos recursos de hardware (processadores, discos e outros
periféricos), características cada vez mais usuais em sistemas de
informação.
Um processador expand_more
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 45/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Comentário
Ao contrário de Go, Python não foi originalmente projetada com foco em
programação concorrente, muito menos paralela. O modo tradicional de
programar concorrência em Python -- threads -- é limitado no
interpretador padrão (CPython) por uma trava global (a GIL), que impede
a execução paralela de threads escritas em Python. Isso significa que
threads em Python são úteis apenas em aplicações I/O bound – em que
o gargalo está no I/O (entrada e saída), como é o caso de aplicações na
Internet.
Atividade 3
É preciso entender os paradigmas de programação para escolher a
abordagem certa ao resolver problemas. Qual das seguintes
características melhor descreve o paradigma imperativo na
programação?
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 46/64
12/05/2025, 16:05 Paradigmas e linguagem Python
D Organização do código em componentes
independentes, comunicando-se através de mensagens.
Paradigma declarativo
Diferentemente do paradigma imperativo, no declarativo o programador
diz o que o programa deve fazer (qual a tarefa) ao invés de descrever
como o programa deve fazer. O programador declara, de forma abstrata,
a solução do problema. Essas linguagens não são dependentes de
determinada arquitetura de computador. As variáveis são incógnitas, tal
qual na matemática, e não células de memória. O paradigma declarativo
agrega os paradigmas funcional e lógico. Vamos explicar as
características de cada um.
Paradigma funcional
Abrange linguagens que operam tão somente funções que recebem um
conjunto de valores e retornam um valor. O resultado que a função
retorna é a solução do problema (foca o processo de resolução de
problemas).
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 47/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Python content_copy
Python content_copy
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 48/64
12/05/2025, 16:05 Paradigmas e linguagem Python
entre outros recursos. Além disso, Python possui uma vasta biblioteca de
funções.
Paradigma lógico
Um programa lógico expressa a solução da maneira como o ser humano
raciocina sobre o problema, baseado em fatos, derivam-se conclusões e
novos fatos.
Comentário
Python não tem características para implementar programas que
atendam ao paradigma lógico.
Atividade 4
Os paradigmas de linguagens de programação são modelos ou estilos
que definem a forma como as soluções de problemas são estruturadas e
implementadas. Considerando os diferentes paradigmas. Qual das
alternativas a seguir descreve corretamente uma característica
fundamental do paradigma funcional?
B
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 49/64
12/05/2025, 16:05 Paradigmas e linguagem Python
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 50/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Tradução
Todo programa, a menos que seja escrito em linguagem de máquina, o
que hoje em dia está totalmente fora dos propósitos, precisará ser
convertido para linguagem de máquina antes de ser executado. Essa
conversão precisa de um programa que receba o código-fonte escrito na
linguagem e gere o respectivo código em linguagem de máquina.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 51/64
12/05/2025, 16:05 Paradigmas e linguagem Python
add
add add
add
Fases de tradução de um programa em linguagem de alto nível.
Compilador
O compilador analisa o código-fonte e estando tudo OK, o converte para um
código Assembly (da máquina hospedeira).
Montador
O montador traduz o código Assembly para o código de máquina
intermediário (Código-objeto), que não é executável pelo computador. O
código-objeto pode ser relocável, ou seja, carregado em qualquer posição de
memória ou absoluto, carregado em um endereço de memória específico. A
opção relocável é mais comum e mais vantajosa.
Carregador
O carregador é que torna o código-objeto em relocável.
Ligador
O Ligador liga (ou linka) o código-objeto relocável com as rotinas bibliotecas
(outros objetos, rotinas do SO, DLLs etc.), usadas nos códigos-fontes. Essa
ligação gera o código executável.
Compilador
É o elemento central do processo de tradução, responsável pelo custo de
compilação. Em função dessa relevância, muitas vezes, o processo
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 52/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Análise léxica
Análise sintática
Análise semântica
Exemplo
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 53/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Código intermediário.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 54/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Tratador de erros
Atividade 1
Avalie as assertivas a seguir:
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 55/64
12/05/2025, 16:05 Paradigmas e linguagem Python
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 56/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Interpretação e sistemas
híbridos
A interpretação e os sistemas híbridos são métodos distintos de
implementação das linguagens de programação. A interpretação envolve
a execução direta do código-fonte por um interpretador, que traduz e
executa cada instrução uma de cada vez. Esse método facilita a
depuração e a execução em tempo real, mas pode ser menos eficiente.
Interpretação
A imagem a seguir ilustra o simples processo de Interpretação. Observe!
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 57/64
12/05/2025, 16:05 Paradigmas e linguagem Python
looks_one
Obter a próxima instrução do código-fonte.
looks_two
Interpretar a instrução (conversão para comandos em linguagem de
máquina).
looks_3
Executar a instrução.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 58/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Decodificar a instrução.
Executar a instrução.
Vantagens Desvantagens
Várias etapas
de
Execução conversão.
mais Programação
rápida final é maior,
Permite necessitando
estruturas de mais
Tradutores de memória
(Compiladores) programas para sua
mais execução.
complexas. Processo de
Permite a correção de
otimização erros e
de código. depuração é
mais
demorado.
Depuração
Execução do
mais
programa é
simples.
mais lenta.
Consome
Estruturas de
menos
dados
memória.
Interpretadores demasiado
Resultado
simples.
imediato
Necessário
do
fornecer o
programa
código fonte
(ou parte
ao utilizador.
dele).
Sistemas híbridos
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 60/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Curiosidade
Um código Python pode ser traduzido em Bytecode Java usando a
implementação Jython.
Atividade 2
Compreender o conceito de interpretação de código é fundamental na
programação.
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 62/64
12/05/2025, 16:05 Paradigmas e linguagem Python
Explore +
Para saber mais sobre os assuntos tratados neste tema, pesquise na
internet sobre:
Referências
BORGES, Luiz Eduardo. Python para Desenvolvedores. 2. ed. Rio de
Janeiro: Edição do Autor, 2010.
Download material
Relatar problema
https://stecine.azureedge.net/repositorio/00212ti/47256/experiencia-tradicional/index.html# 64/64