© E.L.
Favero Algoritmos em Python 7
Capítulo
1 INTRODUÇÃO & PYTHON TUTOR
Este capítulo apresenta uma introdução ao conceito de variáveil e ao ambiente Python
Tutor para execução de Algoritmos codificados na linguagem Python. Este ambiente
mostra a visualização do comportamento do algoritmo, permitindo caminhar passo a
passo na execução para frente e para tras sobre as linhas do código. Conceitos
apresentados: variável, comando de atribuição, expressões aritméticas, algoritmo, passo
de execução, memória, nomes de variáveis. Prática de laboratório com Lista de
exercícios.
1.1 Conceito de variável
Estamos familiarizados com o conceito matemático de variável. Por exemplo, seja a
equação y=x.x+3x-4. Se x=0 então y=-4. Se x=10 então y=100+30-4=126. E assim por
diante. Logo o valor da variável y está definido em função do valor da variável x.
O gráfico abaixo mostra uma lista de valores plotados a partir de um programa Python.
from matplotlib import pyplot as plt
X = list(range(0,20))
Y = [x*x+3*x-4 for x in X]
plt.scatter(X,Y)
plt.show()
print(X)
print(Y)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,..., 18, 19]
[-4, 0, 6, 14, 24, 36, 50, 66, 84, 104, 126,...
, 374, 414]
Aqui, neste simples programa temos inúmeros conceitos de programação, de pensamento
computacional. O range(0,20) é um intervalo fechado no 0 e aberto no 20. X maiúsculo é um
vetor (list) de x minúsculos, são os 20 x, [0,1,2,...19]. A equação x.x+3x-4 é representada
como x*x+3*x-4. O vetor Y maiúsculo é a coleção de valores resultantes da função aplicada
aos 20 valores do vetor X, o primeiro é -4 e o último é 414.
Com este exemplo se entende porque se chamam variáveis, porque os valores variam.
Neste exemplo, as variáveis nomeiam valores inteiros ou vetores de valores inteiros.
© E.L.Favero Algoritmos em Python 8
Variáveis em geral armazenam objetos computacionais: valores inteiros, reais, vetores de
inteiros, vetores de reais, nomes, listas de compras, atributos de um ser humano como cpf,
data nascimento, altura e cor dos olhos.
Observação: o programa acima não precisa ser compreendido agora. Foi apresentado só
para motivar a introdução do conceito de variável. O que é necessário compreender neste
módulo é como práticar os exercícios apresentados no final do módulo, sobre o conceito de
variável.
1.1.1 Variáveis em Python
As variáveis ocupam o espaço de memória de um computador. Uma variável em Python é
representada por um frame ou por um objeto. Para compreender melhor o que é um frame
ou um objeto vamos visualizar a execução de alguns comandos com o Python Tutor, ver na
web.
Para quem está aprendendo algoritmos ou iniciando em programação
recomendamos o uso do ambiente Python Tutor, pois ele permite a visualização do efeito
dos comandos mostrando a representação das variáveis e permitindo o acompanhamento
da execução passo a passo dos comandos, para frente e para traz. Visualizando assim o
efeito dos comandos sobre as variáveis.
Vamos examinar nosso primeiro programa. Neste exemplo, o símbolo de igual =
representa o comando de atribuição. Se a=1 e c=a, então c=1. Depois, c=c+1 então c=1+1.
O print() imprime o valor. Só nos próximos capítulos vamos diferenciar o comando de
atribuição do teste de igualdade, que é necessário nas expressões de condições.
a=1
b=2
c=a
c=c+1
print(a)
print(a+b)
print(a+c)
linhas de código
1.1.2 Python Tutor
Vamos trabalhar com o ambiente online do Python tutor. Marque, copie e cole as linhas de
código para uma janela do python tutor. Mantenha o tradutor do google para a língua
inglesa. Pois, senão ele vai confundir, vai traduzir só pela metade, e até tentar traduzir
palavras do programa.
© E.L.Favero Algoritmos em Python 9
Agora clicando em Visualize Execution, vamos visualizar a execução do código (code).
Segue uma tradução para os termos em Inglês, falando dos principais termos usados neste
ambiente:
Print output (drag lower right corner to resize) :Escreva saída (araste canto direito
inferior para mudar o tamanho)
Frames, Objects: Memorias, Objetos
(known limitations) : limitações conhecidas
line that just executed: linha recém executada
next line to execute: próxima linha a executar
Edit this code: edite este código
First, Prev, Next, Last: primeiro, prévio, próximo, último
Global Frame: Memoria Global
© E.L.Favero Algoritmos em Python 10
Agora com dois next chegamos na situação abaixo, onde na memória global é mostrado que
as variáveis possuem os valores a=1 e b=2.
Com mais um next c=1, e com mais um next c=2 no Global Frame. Podemos executar
também para traz com o botão prev. Assim vamos executanto para frete ou para traz o
código, até entendermos o que o programa esta fazendo, compreendendo o comportamento
da execução do algoritmo.
© E.L.Favero Algoritmos em Python 11
Nos passos 5, 6,e 7 ocorrem as impressões dos valores na tela de saída, respectivamente
os valores 1, 3, 3.
O nome de uma variável sempre começa por uma letra ou pelo _. Depois do primeiro
caractere podemos ter também números. A linguagem é case sensitive, isto é, nomes com
maiúscula e com minúsculas são diferentes, x ≠ X. Os comentários de linha em Python são
iniciados pelo símbolo #, e vão até o final da linha. Seguem alguns exemplos de declarações
de variáveis em comandos de atribuição.
# exemplos de variáveis
A1 = 76
a1 = 12 # comentario
aa_1 = a1+A1
zero = 0
1.1.3 Identificação de erros no Python Tutor
Identificação de erros de sintaxe ou de indentação. Abaixo, mostramos um caso de
erro de indentação.
© E.L.Favero Algoritmos em Python 12
O tradutor do google pode nos auxiliar na identificação do erro, mas é bom depois
voltar para o idioma inglês.
© E.L.Favero Algoritmos em Python 13
1.1.4 Lista de exercícios no python tutor (10)
Vamos adotar a seguinte convenção. Nos exercícios, os códigos dos algoritmos são
separados da sua saída pelo prompt >>>, então quando for copiar e colar; copie somente a
parte acima do prompt >>>. No próximo capítulo ficará mais claro porque utilizamos o
prompt >>>.
Pratique cada um dos exercícios abaixo no python tutor. Trabalhe até compreender o
que esta acontecendo com o código, até compreender o comportamento do algoritmo.
E1.1 a=1
b=2
c=a
c=c+1
print(a)
print(a+b)
print(a+c)
>>>
1
3
3
E1.2 # exemplos de variáveis & comentários
A1 = 76
a1 = 12
aa_1 = a1+A1 # o valor de aa_1 é 88
zero = 0
E1.3 Escreva o resultado de 2a x 3b. Onde a=3 e b=5.
a=3
b=5
res=2*a * 3*b
print(res)
>>>
90
E1.4 Escreva o resultado de 2a x 3b. Onde a=7 e b=11.
E1.5 Escreva o resultado de 4a x 2b. Onde a=3 e b=5.
E1.6 Calcule a soma de três variáveis, a=3;b=5;c=11.
a=3
b=5
c=11
abc=a+b+c
print(abc)
>>>
19
E1.7 Seja um salário (sal) de 1000. Como dar um aumento de 15%. Qual o valor do
aumento e do novo salário.
sal=1000
percent=15
aumento=sal*percent/100
novosal=sal+aumento
© E.L.Favero Algoritmos em Python 14
print(aumento, novosal)
>>>
150.0 1150.0
E1.8 Seja um salário (sal) de 1500. Como dar um aumento de 20%. Qual o valor do
aumento e do novo salário.
sal=1500
percent=20
aumento=sal*percent/100
novosal=sal+aumento
print(aumento, novosal)
>>>
300 1800
E1.9 Seja um salário (sal) de 1500. Como dar um aumento de 10%. Qual o valor do
aumento e do novo salário.
E1.10 Seja um salário (sal) de 1800. Como dar um aumento de 1%. Qual o valor do
aumento e do novo salário.
RESUMO
= comando de atribuição
+ - * / operadores aritméticos
print() comando de impressão
variável
nomes de variáveis
algoritmo é uma sequencia de comandos