Você está na página 1de 10

Computadores modernos são todos construídos a partir de ideias comuns.

Assim, não importa se


estamos falando de um laptop ou de um celular, por exemplo. Uma dessas ideias comuns é o uso de
vários tipos de memória para armazenar informação. Quando desenvolvemos programas de
computador, utilizamos variáveis para referenciar essa informação. Portanto, o computador opera
com números zeros e uns; nós humanos operamos com variáveis. Assim, as variáveis são elementos
básicos em programação.

Além disso, em qualquer linguagem de programação, essas variáveis têm que seguir um padrão
muito bem definido. Porém, você deve estar se perguntando qual a finalidade desse padrão. Bom,
entender o padrão vai te ajudar a desenvolver programas rápidos e leves. Afinal de contas ninguém
deve gostar de abrir, por exemplo, um aplicativo no celular ou computador e ter que esperar muito
tempo para que o programa comece a funcionar.

Dessa maneira, as linguagens de programação fazem uso desses tipos de dados para que o
programador não tenha muito trabalho ao escrever seu código.

Antes de apresentar as variáveis a você, entenda um pouco sobre a memória do computador.


Chamamos de memória todos os componentes utilizados para armazenar os dados. Seja de modo
temporário, como na memória RAM, seja de modo mais duradouro, como em um disco rígido. Nos
nossos dispositivos, a menor unidade de armazenamento de memória é o bit, que pode conter
apenas 0 ou 1. O agrupamento de 8 bits forma um byte. O dispositivo que você está utilizando para
estudar esta aula tem, muito provavelmente, vários gigabytes de RAM. Ora, um gigabyte nada mais
é que um grande pacote de bytes, cerca de um bilhão deles para ser mais preciso. Conforme
representado na imagem abaixo:

Por hora, basta saber que qualquer coisa armazenada em memória, seja um número, um
documento ou um filme, é armazenado como sequências de bytes. Felizmente, na grande maioria
das vezes, você não precisará se preocupar em como a informação é representada internamente no
computador, mas sim em como ela é representada em seus programas. É aí que entra o conceito de
variáveis. Mas o que de fato são variáveis? Imagine que o programa que você está desenvolvendo
precisa guardar informações como a idade do usuário. Logo, você precisará de uma variável! Agora,
caso você precise guardar o peso do usuário? Então, precisará de outra variável.

Novamente, variáveis guardam dados, como idade ou nome, em memória para utilização em um
programa de computador. Nesse caso, a memória do computador é uma grande tabela, e dizer que
seu programa possui uma variável é o mesmo que dizer que um pedacinho dessa tabela foi
reservado para você guardar o dado que você quer. Como acessar esse pedacinho da memória?
Simples, através do identificador de uma variável. Pense no identificador como o nome que você dá
àquele pedacinho.

Criar variáveis em Python é bem simples. Por exemplo, para criar uma variável para guardar a idade
do usuário, você pode fazer algo como:

1 idade_usuario1 = 18

Nesse exemplo, idade_usuario1 é o nome da variável, 18 é o seu valor e o “=” é o que representa a
atribuição. Com isso, você está comandando a Python a criar uma variável chamada
“idade_usuario1” e associar a ela o valor 18. Toda vez que você referenciar idade_usuario1, o
interpretador da linguagem entenderá que você está se referindo a essa variável.

Conheça algumas regras para identificadores. Talvez você tenha estranhado um pouco o nome da
variável utilizado no exemplo anterior. Por que “idade_usuario1” e não algo como “idade do
usuário”? Toda linguagem define uma série de regras para determinar como podemos nomear
variáveis.

Em Python, os identificadores, ou nomes de variáveis, podem ser escritos como combinações de


letras minúsculas e maiúsculas de “a até z”, dígitos numéricos de “0 até 9” e o caractere sublinhado
“_”, podendo iniciar com qualquer um desses elementos, menos com os números. Ah, também não
é possível usar acentos nem caracteres especiais, como !, ?, *, e &. Para que você compreenda
melhor, confira a tabela abaixo, que lista identificadores válidos e inválidos para variáveis em
Python:

É importante também que as variáveis não só tenham nomes válidos, como também tenham nomes
que ajudem você a reconhecer o que está sendo guardado nela. Você poderia ter usado apenas “i”
ao invés de “idade_usuario1”, mas qual das duas é mais fácil de reconhecer como algo contendo
uma idade? Ao escrever seus códigos, lembre-se de que é uma boa prática de programação criar
códigos que sejam não apenas corretos, mas também fáceis de serem lidos.

Agora que você aprendeu a identificar uma variável em Python, vamos ao segundo passo que é
atribuir um valor a uma variável. Como você pôde conferir anteriormente, o identificador
idade_do_usuario1 por si só não tem sentido, mas se você atribuir o valor 18 a ela, aí as coisas
mudam.

Sabendo que o valor da variável idade_do_usuario1 é 18, o programa pode decidir se o usuário
pode ser inscrito no sistema da autoescola ou se ele pode votar, por exemplo.

Nesse caso, você escreve o identificador da variável e, depois, o símbolo igual “=”. Por último, é só
escrever o valor que você quer atribuir à variável. Simples, não é mesmo? Então, acompanhe os
exemplos no código abaixo e, em seguida, confira o aviso sobre uso de ponto e vírgulas em Python:

1 idade_usuario = 34
2 altura_usuario = 1.72

3 nome_usuario = 'Rafael Carmo'


4 aprendendo_python = True

Quando queremos expressar um número quebrado nos valores das variáveis, aqui chamado de
ponto flutuante, devemos usar “.”, e não “,”, como usamos em português. Isso acontece por causa
das linguagens de programação que se baseiam em inglês para representar tais números.

Nesse exemplo, temos 5 atribuições feitas a 5 variáveis. Para a primeira até a terceira variável,
estamos atribuindo valores numéricos, 80.3, 34 e 1.72, respectivamente. Já para a quarta, estamos
atribuindo um valor textual que está contido entre aspas, ‘Rafael Carmo’, simples. A última variável é
um valor lógico, nesse caso ‘verdadeiro’. Estes são os chamados tipos de dados. Um tipo de dado
define os valores que podem ser representados e as operações que podem ser executadas.

Imagine, por exemplo, uma variável de um tipo numérico. Ela pode ser representada por números e
operações de adição ou subtração e podem ser executadas com os valores armazenados. Já uma
variável do tipo sequência de caracteres, ou string, não pode sofrer uma operação de subtração,
pois subtração é uma operação que tanto Python como o senso comum definem que só pode
ocorrer quando temos dois números envolvidos.

A partir disso, a Python divide seus tipos de dados básicos em duas classes: tipos primitivos, que são
aqueles tipos mais simples e que podem ser diretamente representados na memória do
computador; e os tipos compostos. Por isso, utilizar os tipos mais simples é sempre rápido e fácil.
Vejamos a tabela abaixo que lista os principais tipos primitivos de Python e os valores que podem
ser representados por variáveis desses tipos:

Conforme você pode perceber na tabela acima, valores lógicos são representados sempre
começando com letra maiúscula. Assim, em Python, lembre-se que você deve utilizar o True e False,
com as letras iniciais “T” e “F” sempre maiúsculas. Além dos tipos primitivos, como explicamos
anteriormente, também existem os tipos compostos, que são variáveis mais complexas e que podem
representar dados construídos a partir da composição (daí vem o nome) de elementos mais simples.
Confira a tabela abaixo que lista alguns tipos compostos de Python:
Os strings, ou cadeias/sequências de caracteres, são elementos comuns em programação. Assim,
sabendo que todo texto é uma sequência de caracteres, nós poderemos armazenar dados do tipo
texto em strings.

Já list são elementos um pouco mais complexos, mas podemos entender esse tipo através de um
exemplo: digamos que existem 3 baldes alinhados, um depois do outro, nos quais podemos colocar
qualquer coisa dentro deles. Quando eu quiser colocar ou retirar algum elemento, eu só tenho que
me referir à posição do balde na sequência (primeiro, segundo ou terceiro). Portanto, listas são isso,
elementos enumerados que você pode colocar qualquer coisa dentro, e que você acessa através da
posição em uma sequência. Você entenderá mais sobre tipos compostos em aulas futuras, não se
preocupe. A seguir, entenda como funciona a operação de atribuição em Python.

Em Python, a operação de atribuição, ou seja, o ato de se armazenar um valor em memória em uma


variável, é feita, como na maioria das linguagens de programação, utilizando-se o símbolo = . Você
está acostumado a entender = como “igual a”, mas, em Python, você vai entender este símbolo
como “recebe”. Abaixo, temos 5 exemplos de atribuição de valores a variáveis:

1 peso_usuario = 80.3

2 altura_usuario = 1.72

3 idade_usuario = 34
4 aprendendo_python = True

5 nome_usuario = 'Rafael Carmo'

Por isso que = deve ser entendido como “recebe”. Na primeira linha, a variável peso_usuario recebe
o valor 80.3 (lembre-se que deve-se utilizar . e não , para separar as casas decimais). As duas
primeiras variáveis são do tipo numérico de ponto flutuante (float), a terceira é do tipo inteiro (int),
a quarta é do tipo lógica (bool) e, a quinta, do tipo cadeia de caracteres (str).

Foram apresentadas as definições de cada tipo de dados e aplicado o conhecimento para discernir
como eles são, correto? Será que o Python também faz isto por si só?

Python é esperto o suficiente para, dada uma atribuição de valor a uma variável, discernir de que
tipo aquela variável deve ser. Mas como você pode verificar isto? Confira o comando a seguir
utilizando os mesmos valores apresentados anteriormente:

type(peso_usuario)

Python possui um comando que retorna o tipo da variável passada como parâmetro, este comando
é o comando type(). No caso listado acima, fizemos a chamada do comando type passando a variável
peso_usuario como parâmetro. Caso você execute este comando e imprima o resultado que deverá
aparecer em tela é:

float

Que é justamente o tipo correto para o valor atribuído à variável em questão de 80.3. A seguir, você
pode verificar isso para todas as variáveis que escrever em Python.

Até aqui, foram listados apenas alguns dos tipos de dados presentes em Python. A lista é bem maior
e apresenta tipos bem mais exóticos, como números complexos (complex). No mais, você pode
aprofundar seus conhecimentos acerca desse assunto e aumentar seu repertório de possibilidades
utilizando Python!
Caso tenha interesse, no site Real Python, existem vários conteúdos interessantes envolvendo a
linguagem.

Entrada, saída de dados e operação com variáveis


Até aqui, você aprendeu a atribuir valores a variáveis. Também entendeu que o Python,
automaticamente, descobre que tipo de dado está sendo representado em variáveis. Porém, até o
momento, você só descobriu como atribuir os valores de forma manual, ou seja, escrevendo os
valores das variáveis no código Python. Isto se chama de hard coding, o que nada mais é que a
prática de colocar dados diretamente no código fonte.

Entretanto, para que o programa em Python funcione em diversos cenários, esta prática não é boa.
O ideal é que o usuário escreva os valores com os quais os programas trabalharão. Além disso, eles
devem receber os resultados das computações feitas.

Preste atenção em todos os exemplos que serão apresentados ao longo do curso. Eles são
importantes para que você compreenda melhor o assunto. Vamos lá?!

Quando falamos de usuário, estamos falando de qualquer pessoa que interaja com o seu programa
Python. Você pode ser um usuário quando testa seu programa a procura de erros, ou uma pessoa
qualquer que comprou o seu programa e está usando-o no seu dia a dia para melhorar sua
performance no trabalho.

Assim, esta interação com o usuário se dá através da entrada e saída de dados. No tópico 01,
relembramos que todo programa funciona na sequência Entrada de Dados → Processamento →
Saída de Dados. Logo, a entrada e saída são componentes extremamente importantes em um
programa.

Existem diversos meios de se fazer entrada e saída de dados, podemos utilizar o mouse para entrada
de dados, uma impressora para saída e por assim vai. Porém, aqui neste curso, serão trabalhados os
elementos mais simples e efetivos: entrada de dados via teclado e saída de dados via texto em tela.

Você pode até achar chato este tipo de interação, mas não se preocupe, se você aprender direitinho
todos os conceitos de entrada e saída via texto, será possível reproduzi-los em seus projetos, além
de aprender boas práticas quando for utilizar outros dispositivos. Além disso, ela é clássica e
importante no processo de aprendizagem. Curioso(a) para descobrir como se faz isso?

A entrada de dados em Python se dá através de um comando chamado input. Você pode fazer uso
deste comando da seguinte forma:

1 peso_usuario = input('Digite seu peso: ')

O que acontece nesta linha de código é simples: é atribuído um valor à variável peso_usuario, mas
que valor é esse? Quando estamos em um notebook Jupyter, e executamos uma célula com este
código, é apresentada uma nova linha, como a disponível na imagem abaixo:

Esta linha é composta pela mensagem (string), entre parênteses, seguida por uma caixa de texto,
onde você pode digitar o valor que deseja e, então, apertar a tecla enter. Ao fazer isto, a caixa de
texto deixa de ser editável, e o valor que você digitou lá é atribuído à variável peso_usuario. Como
então verificar se o valor foi corretamente atribuído? É o que será discutido a seguir.
Até o momento, foi apresentado a você os comandos de atribuição, em que temos do lado esquerdo
do sinal = uma variável e do lado direito um valor. Na página anterior, foi apresentado um novo
comando, o input().

Perceba que ele é um pouco mais complexo, porém, mesmo não sabendo exatamente como ele
funciona, é possível fazer uso dele. Além disso, entre os parênteses, havia uma string, uma
mensagem que passamos como parâmetro. Assim, esse comando retorna um valor, e esse valor é
que é atribuído à variável.

Essa é uma das belezas da programação, não é mesmo? Algum colega pode implementar, escrever o
código fonte do comando input, e você pode utilizar esse comando sem entender como ele foi feito,
apenas esperando que ele entregue (retorne) um valor!

Dando continuidade, entenda como funciona a saída de dados em Python. Ela se dá através de um
comando chamado print. Você pode fazer uso deste comando da seguinte forma:

print(peso_usuario)

O que acontece nesta linha de código também é simples: o valor armazenado na variável
peso_usuario é lido e, então, apresentado na tela. Ao se executar uma célula com este código, é
apresentado o valor desta variável conforme disponível abaixo:

print(peso_usuario) 80.5

Este valor é armazenado em peso_usuario no exemplo apresentado. Quando se está utilizando um


notebook interativo, como é o nosso caso, podemos também criar uma célula do tipo Code,
contendo apenas o nome da variável, cujo valor queremos observar, como percebido abaixo:

peso_usuario‘80.5’

Você percebe alguma diferença? Ela é sutil, mas extremamente importante! Quando fazemos a
chamada do comando print, o valor da variável é lido e uma linha com o resultado é apresentado.
Quando escrevemos apenas o nome da variável, o valor bruto dela é apresentado. Assim, eu
pergunto: que tipo de dados é expresso entre aspas simples? Pois é, não é valor numérico de ponto
flutuante, é string! O que isso significa?

Quando fizemos a leitura do valor da variável peso_usuario, através do comando input, poderíamos
ter escrito qualquer coisa na caixa de texto aberta, não é mesmo? Logo, como Python é esperto, o
comando input atribui apenas strings às variáveis utilizadas para receber seus valores. Você,
enquanto programador, deve fazer a conversão do tipo string para o tipo de seu interesse. Isso se
chama conversão de tipo.

Para fazer a conversão de tipo, é necessário chamar um comando que é construído com o mesmo
nome do tipo de dado, para o qual queremos fazer a conversão. Imagine que você quer converter
uma string para um float. Logo, esse comando ocorre como apresentado no trecho abaixo:

1 peso_usuario = input('Digite seu peso:')


2 peso_usuario_float = float(peso_usuario)

Digite seu peso: 80.5

Bom, agora, você já sabe como descobrir o tipo de uma variável, não é? Então, é só fazer a chamada
do comando que faz essa apresentação, como apresentado na imagem abaixo. Copie as células
apresentadas a seguir, leve-as para um notebook Jupyter, execute-as e perceba tudo funcionando
em tempo real!

type(peso_usuario) str

type(peso_usuario_float)
float

Após esse passo, vamos entender como unir duas strings. Assim, você pode apresentar dados para o
usuário, passando um contexto mais amplo que apenas o valor determinado em uma variável.

O comando print imprime o valor de uma dada variável ou a concatenação de strings. Concatenação
é o ato de se conectar duas strings, colocando o início de uma logo após o fim de outra. Digamos que
temos duas strings como apresentado abaixo:

1 nome = 'Rafael' 2 sobrenome =


'Carmo'

Podemos conectá-las através do operador de concatenação, que é feito através do símbolo +. Sim, é
o mesmo símbolo da soma de dois números, mas faz coisas bem diferentes. Assim, se você rodar o
comando abaixo:

1 print(nome + sobrenome)

Você receberá como resultado:

‘RafaelCarmo’

Tal como se espera do operador de concatenação. Então, como separar o nome e o sobrenome?
Ora, podemos também concatenar uma terceira string apenas com um espaço:

1 print(nome + ' ' + sobrenome)

Execute um notebook com esses comandos e verifique o resultado! Quando você executar o
comando, vai perceber que foi impresso em tela ‘Rafael Carmo’. Na próxima página, entenda um
pouco sobre os erros que podem ocorrer ao desenvolver seus códigos!

Programação é um trabalho que requer cuidado e atenção. Sempre que estamos programando,
erros podem acontecer. Caso você tente executar uma célula do tipo Code e apareça uma
mensagem de erro, não se preocupe, você pode tentar ler o erro, corrigi-lo e executar novamente a
mesma célula. O código demonstrado na imagem abaixo tenta usar o operador + com uma variável
do tipo str e outra int, logo isso gera um erro:
Esse erro normalmente vai ser apresentado em inglês. Você pode utilizar ferramentas como o
Google Tradutor para traduzi-lo e corrigir o que deve ser feito. Além disso, se você perceber que
nada no seu programa está funcionando, ou seja, a página do notebook não está se comportando
corretamente, tente reiniciar o interpretador do Python indo na opção Kernel. Depois, pressione a
opção “Restart & Clear Output”, que o processo de reiniciar o interpretador será ativado, e, assim,
todas as saídas de células serão limpas. Você vai se acostumar com esses passos ao longo da prática.

Introdução a fluxogramas
O fluxograma é uma maneira de representar graficamente um programa. Nele cada operação é
representada por uma figura geométrica diferente, que são conectadas por setas permitindo
reconhecer prontamente os elementos do algoritmo apresentado, bem como a sequência em que
eles são executados. Em muitas situações, ter uma representação gráfica do algoritmo ajuda a
identificar mais rapidamente seu fluxo. Dessa forma, permitindo, inclusive, a identificação de
oportunidades de melhoria.

Até agora você aprendeu sobre atribuições, expressões simples e entrada e saída de dados. Assim,
por enquanto, você só precisa conhecer as representações desses elementos no fluxograma. À
medida que você for introduzido a mais elementos de programação, conhecerá também como os
mesmos são representados graficamente. Então, pronto para conhecer os seus primeiros
componentes?

Abaixo confira uma tabela com duas colunas. A primeira coluna com os 5 elementos básicos de um
fluxograma e a segunda contém a função de cada forma:

As explicações sempre ficam melhor com um exemplo, não é mesmo? Abaixo analise um programa
simples que soma dois números. Na próxima pagina, você aprenderá como fazer um fluxograma
para representá-lo.

A seguir temos um fluxograma que lê dois valores e exibe a soma deles. Acompanhe o comentário
de cada elemento do fluxograma na tabela de uma única coluna, onde cada linha se refere a uma
parte do fluxo. Tente relacionar o fluxograma e sua explicação com o código apresentado no slide
anterior.

A primeira elipse marca o ponto de partida do seu programa.


Não tem necessariamente um equivalente em código, servindo apenas para marcar o início da
execução do programa.
O paralelogramo aqui representando o comando de entrada de dados.
Seria o equivalente das linhas 1 e 2 do código.
A seguir, o retângulo representa a soma propriamente dita. Equivalente a linha 3 do código.
O próximo elemento, o retângulo com base ondulada, é um comando de saída de dados.
A quarta linha do programa apresentado.
Por fim, temos uma outra elipse marcando o fim do programa.

Esse foi um exemplo bem simples, eu sei. À medida que você avançar nesse curso, você
desenvolverá programas mais sofisticados e terá a chance de perceber melhor o poder dos
fluxogramas. A seguir, confira algumas opções para que você possa criar seus próprios fluxogramas.

Fluxogramas podem ser criados de várias formas. Por exemplo, é possível criá-los em ferramentas
comuns como o Powerpoint. Os fluxogramas apresentados nesse curso foram feitos com o Dia, um
software gratuito que está disponível para Windows, Mac OS e Linux, e para baixá-lo em seu
computador acesse fazer o download. Mas saiba que existem várias outras alternativas, uma das
mais conhecidas é o Lucidchart, uma ferramenta on-line que possui assinatura gratuita com direito a
vários recursos.

Agora não se preocupe, os fluxogramas apresentados aqui são apenas para lhe ajudar a
compreender melhor os conceitos de programação. Caso prefira, você pode apenas acompanhar os
fluxogramas das aulas, não sendo necessário instalar ferramentas para isso. Mas se sentir
curiosidade, você pode explorar alguma dessas opções disponíveis para quem sabe começar a criar
seus próprios fluxogramas!
Até aqui, foram apresentados diversos conceitos importantes! Você pôde aprender o que é uma
variável, a atribuir corretamente valores a elas, a discernir os diversos tipos de dados presentes em
Python, a realizar conversão de uma string para um outro tipo qualquer, além de ser introduzido às
formas de utilização de operações de entrada e saída de dados. Por fim, você conheceu os
componentes básicos de um fluxograma e como é possível representar seus algoritmos utilizando
essa ferramenta.

Referências

• https://pt.wikipedia.org/wiki/Mem%C3%B3ria_(inform%C3%A1tica), acessado em
maio/2021.
• https://www.programiz.com/python-programming/keywords-identifier , acessado em
abril/2020.
• https://en.wikipedia.org/wiki/Python_(programming_language), acessado em abril/2020.
• https://pt.wikipedia.org/wiki/Python, acessado em maio/2021.

Você também pode gostar