Você está na página 1de 15

PENSAMENTO

COMPUTACIONAL

Cleiton Silvano Goulart


Atribuição, operadores
aritméticos (utilizando
a linguagem Python)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:

„„ Definir o comando de atribuição e os operadores aritméticos.


„„ Introduzir os testes de mesa utilizando os comandos print, input
e de atribuição.
„„ Aplicar os operadores aritméticos e de atribuição em problemas
computacionais.

Introdução
Os operadores são símbolos utilizados para escrever expressões; eles são
essenciais para o desenvolvimento de algoritmos em qualquer linguagem
de programação. Os operadores de atribuição possuem o papel de atri-
buir um determinado valor a uma variável. Já os operadores aritméticos
consistem em operações matemáticas básicas, que podem sem aplicadas
a variáveis numéricas.
Neste capítulo, você vai estudar os operadores de atribuição e os
operadores aritméticos da linguagem de programação Python. Você
também vai analisar o uso dos testes de mesa utilizando os comandos
print, input e de atribuição. Por fim, você vai verificar como aplicar os
operadores aritméticos e de atribuição em problemas computacionais.
2 Atribuição, operadores aritméticos (utilizando a linguagem Python)

Comandos de atribuição e operadores


aritméticos
Os operadores são símbolos utilizados para realizar alguma operação com
as variáveis do programa. Lembre-se de que as variáveis consistem em um
pequeno espaço na memória, em que podemos armazenar alguma informação,
seja ela um número ou um texto, conforme leciona Santos (2018). O operador
de atribuição mais simples que existe na linguagem Python é o operador
de igualdade, cujo símbolo é o =. Por meio dele, podemos armazenar uma
nova informação dentro de uma variável, de acordo com a sintaxe básica
representada na Figura 1.

Figura 1. Representação da sintaxe básica do operador de atribuição de igualdade em


Python.

Além do operador de atribuição (=), existem ainda as quatro operações


aritméticas básicas: soma, subtração, multiplicação e divisão, representadas
pelos operadores +, –, * e /, respectivamente. Todos esses operadores devem
ser utilizados de forma análoga à forma ilustrada na Figura 1. Na Figura 2,
é possível observar um exemplo de código com essas operações. Observe
que cada operação foi realizada e armazenada em uma variável com o nome
da operação realizada. Para exibir o valor da variável na tela, foi utilizado o
comando print, que será estudado nas próximas lições.
Atribuição, operadores aritméticos (utilizando a linguagem Python) 3

Figura 2. Exemplo de uso dos operadores


aritméticos básicos da linguagem Python.

Além das operações aritméticas básicas, existem, ainda, os operadores


de potenciação (**), o operador resto da divisão, também conhecido como
módulo (%), e o operador parte inteira da divisão (//). No código ilustrado
na Figura 3, é possível observar um exemplo de operação desses operadores
adicionais.

Figura 3. Exemplo de uso dos operadores aritmé-


ticos adicionais da linguagem Python.
4 Atribuição, operadores aritméticos (utilizando a linguagem Python)

Ordem de interpretação dos operadores


Na avaliação de uma expressão aritmética, é importante lembrar que alguns
desses operadores serão avaliados antes dos outros. Na linguagem Python, a
ordem de prioridade começa nos operadores de potência (*), de módulo (%)
e de resto da parte inteira (//). Após esses operadores terem sido avaliados,
serão avaliados os operadores de multiplicação e divisão, para, só então, serem
avaliados os operadores de soma e subtração.
Da mesma forma que, em uma expressão aritmética, é possível empregar os
parênteses, os colchetes e as chaves para separar a expressão matemática em
blocos, é possível fazer isso na linguagem Python. Porém, nessa linguagem, é
possível usar apenas os parênteses. Os colchetes e as chaves possuem funções
especiais na linguagem Python. A ordem de interpretação da expressão
será sempre do parêntese mais interno para o mais externo. Por exemplo, na
expressão 1 * 2 – (3 + 4), será avaliada primeiro a soma de 3 + 4, depois a
multiplicação de 1 * 2, para, só então, ser avaliada a subtração do resultado
da multiplicação com o resultado da soma.

Operadores de atribuição compostos


A linguagem Python possui um conjunto de operadores que facilitam opera-
ções, como a soma de um número qualquer a uma variável. Por exemplo, se
tivermos uma variável auxiliar, cujo valor consiste em um número inteiro
qualquer, e queremos adicionar 3 a ela, podemos escrever auxiliar = au-
xiliar + 3. Observe que, nesse exemplo, apesar de simples, foi necessário
escrever o nome da variável duas vezes. Isso não só é mais cansativo, como
pode ser uma fonte de erros. Além disso, deixa o código final mais difícil de ler.
Nesse caso, podemos lançar mão dos operadores de atribuição compostos,
conforme sugere Banin (2018). O mesmo exemplo abordado acima poderia
ser escrito da forma auxiliar += 3, sendo ambas as abordagens iguais,
em termos funcionais. Porém, mediante o uso desse operador, o código fica
mais simples, mais limpo e menos sujeito a erros de digitação.
Como você pode perceber, os operadores de atribuição compostos permitem
uma escrita de código mais limpa, mais clara e muito mais eficiente. Além
do operador de atribuição composto +=, a linguagem Python possui ainda os
operadores -=, *=, /= e %=. Cada um deles possui um funcionamento análogo
ao do operador +=. Na Figura 4 você pode observar como se dá o funcionamento
de cada um desses operadores de atribuição compostos.
Atribuição, operadores aritméticos (utilizando a linguagem Python) 5

Figura 4. Exemplo de uso dos operadores de atribui-


ção compostos.

Testes de mesa
Muitas vezes, quando você está desenvolvendo um código ou um algoritmo, é
necessário que você garanta que esse código será funcional. Independentemente
da linguagem de programação ou da forma de representação do algoritmo, por
meio de testes, você vai conseguir eliminar uma série de erros que poderiam
trazer um resultado inesperado ao código. O teste que é realizado durante
a fase de desenvolvimento do algoritmo é conhecido como teste de mesa,
conforme leciona Schach (2009).
Esses testes devem ser realizados a partir de uma série de dados válidos,
isto é, dados previstos para o correto funcionamento do teste. Porém, também é
importante usar dados inválidos, para verificar a robustez do algoritmo. Existem
várias formas de se aplicar esses testes. Eles podem ser realizados a partir da
análise de execução direta do código, ou mesmo a partir da interpretação de
algum pseudocódigo com funcionamento esperado para o código sob teste.

Procedimento para fazer um teste de mesa


Como regra geral, um teste de mesa deve avaliar a capacidade de um algoritmo
de funcionar conforme o esperado. Se tomarmos como exemplo uma expressão
aritmética cujo algoritmo deve ser avaliado, o procedimento consiste em aplicar
uma série de valores de entrada no algoritmo e anotar suas saídas. Uma forma
bastante prática consiste em utilizar uma tabela com os valores de entrada, os
valores de saída e os valores esperados.
6 Atribuição, operadores aritméticos (utilizando a linguagem Python)

Para você fazer um teste de mesa em algum algoritmo, muitas vezes você vai precisar
ter esse algoritmo escrito em alguma linguagem de programação (como a linguagem
Python) ou por meio de uma representação gráfica (como o diagrama de blocos).

Outro aspecto muito importante para realizar um teste de mesa em uma


expressão aritmética consiste em dividir essa expressão em blocos menores,
para facilitar a análise. Nesse caso, o teste pode ser feito bloco a bloco. Por
meio da comparação direta do valor esperado com o valor de saída do algo-
ritmo, é possível detectar rapidamente qual o trecho da expressão que precisa
ser revisado.

Exemplo de aplicação do teste de mesa


Para exemplificar a aplicação de um teste de mesa em uma expressão aritmética,
vamos tomar a função matemática expressa na equação 1. Observe que essa
função pode ser desmembrada em três partes, A, B e C, sendo que a parte A
representa o termo x2, a parte B representa , e a parte C representa o
termo – 7x. A fração da parte B ainda teve seu numerador e seu denominador
separados nas variáveis B1 e B2, respectivamente.

(1)

Para o teste de mesa desse algoritmo, observe no Quadro 1 que foram usados
os operadores de atribuição e aritméticos para compor cada um dos termos da
equação 1. Ainda no Quadro 1, temos o valor de entrada que será aplicado ao
algoritmo; na coluna valor de saída, temos o valor dado pelo algoritmo (código
em Python, nesse exemplo), e na coluna valor esperado, temos o valor que
seria esperado após a realização desse algoritmo. Os valores encontrados na
coluna de valores esperados devem ser calculados à mão, de forma que você
tenha plena certeza de que eles estejam corretos.
Atribuição, operadores aritméticos (utilizando a linguagem Python) 7

Quadro 1. Teste de mesa da equação 1: comandos e tabela de valores de saída

Valor de Valor de Valor


Comando em Python
entrada saída esperado

1 1

0 0

4 4

0 0

-7 -7

-6 -6

O teste apresenta um resultado positivo quando todos os valores de saída


do algoritmo forem iguais aos valores esperados para cada bloco de código.
Já no Quadro 2, o mesmo teste foi repetido, porém, com um erro de digitação
dos comandos. Você sabe dizer qual foi o erro? Observe os valores de saída e
os valores esperados. A partir dessa análise, é possível identificar que o erro
está no cálculo da variável C — foi ignorado um sinal de negativo. Repare
que o valor final da função (y) é totalmente diferente do valor esperado para
o valor de entrada 1.
O teste de mesa que foi exemplificado pelos Quadros 1 e 2 deve ser repetido
quantas vezes forem necessárias, mas com um valor de entrada diferente de 1.
Podemos, por exemplo, aplicar como entrada os valores 0 e – 4. Repare que,
assim, é possível testar o algoritmo matemático para uma variedade maior de
entradas (uma positiva, uma negativa e uma nula — 0).
8 Atribuição, operadores aritméticos (utilizando a linguagem Python)

Quadro 2. Teste de mesa da equação 1, com um erro de digitação no algoritmo

Valor de Valor de Valor


Comando em Python
entrada saída esperado

1 1

0 0

4 4

0 0

7 -7

8 -6

Aplicação prática nos problemas


computacionais
Os operadores aritméticos e de atribuição são essenciais para a criação de
algoritmos computacionais que resolvam algum problema. Os operadores de
atribuição são responsáveis por armazenar alguma informação nas variáveis
de memória. Essas variáveis serão tratadas e recuperadas posteriormente,
conforme a necessidade do algoritmo.
Por meio de dois exemplos, será ilustrado, de forma simples e clara, como
os operadores aritméticos e de atribuição podem ser empregados na solução
de problemas computacionais.

Exemplo 1: determinando o índice de massa corporal


(IMC)
O IMC é uma medida internacional usada para determinar a relação entre a
altura e o peso corporal de um indivíduo. Por meio dessa medida, é possível
determinar se uma pessoa está com o seu peso ideal. Esse indicador pode
ser determinado por meio da equação (2). Para exemplificar como é possível
usar os operadores de atribuição e os operadores aritméticos para resolver
Atribuição, operadores aritméticos (utilizando a linguagem Python) 9

problemas computacionais, a Figura 5 apresenta um código em Python que


tem como objetivo perguntar ao usuário, por meio da função input, qual
é o seu peso e sua altura, e, por meio dos operadores, determinar o IMC da
pessoa. Após determinar o IMC, esse programa informa ao usuário o valor
do seu índice de massa corporal, por meio da função print.

(2)

Figura 5. Código em Python para um programa que calcula o índice de massa


corporal de uma pessoa.

Exemplo 2: calculadora interativa simples


Na Figura 6, temos um exemplo simples de uma calculadora interativa, que
pode ser implementada com os operadores de atribuição e os operadores
aritméticos. Para esse exemplo, foram utilizadas as seguintes funções:

„„ print — usada para exibir algum conteúdo na tela;


„„ input — usada para interagir com o usuário, solicitando que ele
digite algo; e
„„ float — usada para converter a entrada do usuário para um número de
ponto flutuante, para que a linguagem Python possa fazer as operações
aritméticas com os números digitados.

Além disso, foi utilizada a estrutura if..elif..else para a tomada


de decisões.
10 Atribuição, operadores aritméticos (utilizando a linguagem Python)

Figura 6. Código em Python para uma calculadora interativa simples.

Exemplo 3: cálculo do teorema de Pitágoras


Um triângulo retângulo é todo aquele que possui um de seus ângulos internos
com 90º. A hipotenusa é o lado que fica oposto a esse ângulo, enquanto os
catetos são os outros dois lados (que são adjacentes ao ângulo de 90º). Por
meio do teorema de Pitágoras, expresso na equação (3), é possível obter o valor
de qualquer um dos lados a partir do tamanho dos outros dois. Esse teorema
é vastamente empregado nas engenharias, nas ciências da computação e em
várias outras áreas, em diversos processos e operações.

c2 = a2 + b2 (3)

Uma aplicação muito interessante desse teorema é a determinação da


menor distância entre dois pontos em um plano cartesiano. Esse problema
é muito comum em situações reais e, até mesmo, em algoritmos de jogos.
Considerando a situação da Figura 7, se tivermos dois pontos x1 e x2, a menor
distância entre eles é dada pela reta c. Observe que, conhecendo as coorde-
nadas cartesianas de ambos os pontos, é possível definir as distâncias a e b.
O teorema de Pitágoras da equação (3) relaciona essas grandezas, conforme
leciona Dasgupta, Papadimitriou e Vizirani (2009).
Atribuição, operadores aritméticos (utilizando a linguagem Python) 11

Supondo que o lado a = 3 e o lado b = 4, a partir da aplicação direta da


equação 3, o lado c resulta em 5. Na Figura 8, é possível observar um algoritmo
em linguagem Python que comprova tal exemplo e ilustra como é possível
determinar essa relação com essa linguagem.

Figura 7. Exemplo da determinação


da menor distância em linha reta entre
dois pontos por meio do teorema de
Pitágoras.

Figura 8. Exemplo de código em linguagem Python para


determinação da menor distância entre dois pontos por meio
do teorema de Pitágoras.
12 Atribuição, operadores aritméticos (utilizando a linguagem Python)

BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo:


Érica, 2018, 264 p.
DASGUPTA, S.; PAPADIMITRIOU, C.; VIZIRANI, U. Algoritmos. São Paulo: McGraw-Hill,
2009. 336 p.
SANTOS, M. G. Algoritmos e programação. Porto Alegre: Sagah, 2018.
SCHACH, S. R. Engenharia de software: os paradigmas clássico & orientado a objetos. 7.
ed. São Paulo, McGraw-Hill, 2009. 618 p.

Leituras recomendadas
BARRY, P. Use a cabeça! Python. 2. ed. Rio de Janeiro: Alta Books, 2018. 616 p. (Série Use
a Cabeça/Head First).
PERKOVIC, L. Introdução à computação usando Python: um foco no desenvolvimento
de aplicações. Rio de Janeiro: LTC, 2016. 516 p.
SANTOS, M. G.; SARAIVA, M. O.; GONÇALVES, P. F. Linguagem de programação. Porto
Alegre: Sagah, 2018. 204 p.

Você também pode gostar