Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Lógica de Programação – Teórica – Aula 03

Variáveis e Tipos de Dados: Guardando Informações

Objetivos da aula

Ao final desta aula, o estudante deverá ser capaz de:

  • compreender por que um algoritmo precisa armazenar informações;
  • entender o conceito de memória durante a execução de um algoritmo;
  • diferenciar dado, informação, valor e variável;
  • identificar constantes e variáveis;
  • compreender os principais tipos de dados;
  • declarar variáveis em Portugol;
  • utilizar comandos de leitura e escrita envolvendo variáveis;
  • validar algoritmos simples utilizando variáveis.

A pergunta da aula

Nas aulas anteriores aprendemos que todo algoritmo trabalha com:

  • entrada;
  • processamento;
  • saída.

Agora surge uma nova pergunta.

Pergunta

Quando o usuário digita uma informação, como uma nota ou uma idade, onde o algoritmo guarda esse valor enquanto realiza os cálculos?

Essa pergunta nos leva a um dos conceitos mais importantes da programação:

As variáveis.


Situação-problema

Imagine o seguinte algoritmo.

Um aluno informa suas duas notas.

O algoritmo deverá calcular a média e exibir o resultado.

As perguntas são:

  • Como o algoritmo lembra da primeira nota depois que a segunda é digitada?
  • Como ele sabe quais valores deve somar?
  • Onde essas informações ficam armazenadas?

A resposta é simples.

Durante a execução, o algoritmo reserva pequenos espaços na memória para guardar essas informações.

Esses espaços recebem o nome de variáveis.


Memória do computador

Sempre que um programa é executado, o computador reserva uma área da memória para armazenar dados temporários.

Podemos imaginar essa memória como um conjunto de caixas.

Cada caixa possui:

  • um nome;
  • um tipo de informação;
  • um valor armazenado.

O algoritmo consulta e modifica essas caixas durante toda sua execução.


O que é uma variável?

Uma variável é uma posição identificada da memória utilizada para armazenar um valor que pode ser alterado durante a execução do algoritmo.

Observe a palavra mais importante dessa definição:

Alterado.

Uma variável recebe esse nome justamente porque seu conteúdo pode variar.


Um exemplo do cotidiano

Imagine uma garrafa de água.

Durante o dia ela pode estar:

  • cheia;
  • pela metade;
  • quase vazia;
  • vazia.

A garrafa continua sendo a mesma.

O que muda é o conteúdo.

Uma variável funciona da mesma maneira.

Ela possui um nome fixo, mas seu valor pode mudar diversas vezes.


Variável × Valor

É importante não confundir esses dois conceitos.

Variável Valor
nome “Carlos”
idade 18
salário 2500,00
média 8,5

A variável é o “recipiente”.

O valor é aquilo que está armazenado.


Atribuição

Para colocar um valor dentro de uma variável utilizamos o operador de atribuição.

Em Portugol:

idade <- 18

Lemos:

A variável idade recebe o valor 18.

Observe que não dizemos:

idade é igual a 18.

Na programação, “<-” representa uma operação de armazenamento, e não uma igualdade matemática (o simbolo usado para a operação de atribuição pode variar em linguagens diferentes).


O valor pode mudar

Uma variável pode receber novos valores durante a execução do algoritmo.

contador <- 1
contador <- 2
contador <- 3

Ao final da execução, o valor armazenado será:

contador = 3

Os valores anteriores deixam de existir.


Situação-problema

Imagine um caixa eletrônico.

No início:

saldo = 1000

Após um saque de R$ 200:

saldo = 800

Após um depósito de R$ 500:

saldo = 1300

A variável continua sendo saldo.

Quem muda é apenas o valor armazenado.


Constantes

Nem toda informação muda durante um algoritmo.

Alguns valores permanecem fixos.

Exemplos:

  • número de meses do ano;
  • dias da semana;
  • valor de π (pi);
  • velocidade da luz (em contextos científicos).

Esses valores recebem o nome de constantes.

Enquanto uma variável pode mudar, uma constante permanece inalterada durante a execução do algoritmo.


Tipos de dados

Nem toda informação é igual.

Um algoritmo pode trabalhar com números, textos e valores lógicos.

Por isso, cada variável possui um tipo.

Os principais tipos utilizados nesta disciplina são:

Tipo Utilização Exemplo
Inteiro números sem parte decimal 15
Real números com casas decimais 7,5
Caractere textos “Maria”
Lógico verdadeiro ou falso Verdadeiro

Escolhendo o tipo correto

Observe as variáveis abaixo.

Informação Tipo
idade Inteiro
altura Real
nome Caractere
aprovado Lógico

Pergunta:

Seria adequado armazenar um nome em uma variável inteira?

Claro que não.

Cada tipo foi criado para armazenar informações específicas.


Declarando variáveis em Portugol

Antes de utilizar uma variável, devemos declará-la.

Algoritmo "Media"
Var
nota1 : Real
nota2 : Real
media : Real
Inicio
...
FimAlgoritmo

Observe que:

  • cada variável possui um nome;
  • cada variável possui um tipo.

Boas Práticas para Criação de Nomes de Variáveis

Criar bons nomes para as variáveis é uma das habilidades mais importantes de um programador.

Um algoritmo pode funcionar corretamente utilizando qualquer nome de variável permitido pela linguagem. Entretanto, nomes bem escolhidos tornam o algoritmo mais fácil de compreender, revisar e modificar.

Ao ler um algoritmo, o nome da variável deve indicar claramente qual informação ela armazena.

Escolha nomes que representem o conteúdo

Observe os exemplos abaixo.

Pouco recomendado Recomendado
a idade
x nota1
y salario
n quantidade
t temperatura

Pergunta:

Qual das variáveis abaixo é mais fácil de entender?

a <- 18
ou
idade <- 18
Certamente a segunda opção comunica melhor o objetivo da variável.

Utilize nomes significativos

O nome da variável deve responder à pergunta:

“O que esta variável representa?”

Por exemplo:

nome
idade
altura
peso
media
salario
desconto
totalCompra
anoNascimento
Mesmo sem conhecer o algoritmo, é possível compreender o significado dessas variáveis.

Evite abreviações desnecessárias

Abreviações podem dificultar a leitura do algoritmo.

Evite:

qt
vl
slr
tmp
Prefira:
quantidade
valor
salario
temperatura
Uma abreviação só deve ser utilizada quando for amplamente conhecida, como:
cpf
cep
ip
url

Não utilize nomes sem significado

Evite variáveis como:

teste
coisa
valor1
valor2
abc
x
Esses nomes não informam ao leitor qual é o papel da variável.

Mantenha um padrão de escrita

Ao desenvolver algoritmos, é importante adotar um padrão para escrever os nomes das variáveis.

Existem diferentes convenções utilizadas na programação.

snake_case

As palavras são separadas por sublinhado (_).

Exemplos:

ano_nascimento
valor_total
nota_final
quantidade_alunos
Essa convenção é amplamente utilizada em Python, Ruby e diversas linguagens de script.

camelCase

A primeira palavra começa com letra minúscula e as palavras seguintes iniciam com letra maiúscula.

Exemplos:

anoNascimento
valorTotal
notaFinal
quantidadeAlunos
É a convenção mais utilizada em Java, JavaScript, C#, Kotlin e outras linguagens orientadas a objetos.

PascalCase

Todas as palavras começam com letra maiúscula.

Exemplos:

AnoNascimento
ValorTotal
NotaFinal
Normalmente essa convenção é utilizada para nomes de classes, tipos de dados e estruturas, e não para variáveis.

Qual convenção utilizaremos nesta disciplina?

Como os algoritmos desta disciplina serão escritos em Portugol, adotaremos nomes claros e descritivos.

Sempre que possível, utilizaremos o padrão camelCase, por ser amplamente empregado em diversas linguagens modernas e facilitar a transição para linguagens como Java, JavaScript e C#.

Exemplos:

nomeAluno
nota1
nota2
mediaFinal
valorCompra
quantidadeProdutos
anoNascimento
O mais importante, entretanto, não é a convenção escolhida, mas manter o mesmo padrão durante todo o algoritmo.

Regras gerais

Ao criar uma variável, procure seguir estas recomendações:

  • Escolha um nome que descreva claramente a informação armazenada.
  • Evite abreviações sem necessidade.
  • Não utilize nomes genéricos como x, a ou teste.
  • Mantenha um único padrão de escrita em todo o algoritmo.
  • Utilize nomes curtos, mas suficientemente descritivos.
  • Escreva nomes que facilitem a leitura do algoritmo por outras pessoas.

Exemplo

Observe a diferença entre os algoritmos.

Pouco legível

Var
a, b, c : Real
Inicio
Leia(a)
Leia(b)
c <- (a + b)/2
Escreva(c)

Mais legível

Var
nota1, nota2, media : Real
Inicio
Leia(nota1)
Leia(nota2)
media <- (nota1 + nota2)/2
Escreva(media)
Os dois algoritmos produzem exatamente o mesmo resultado.

Entretanto, o segundo é muito mais fácil de compreender, revisar e manter.


Lendo valores do usuário

Depois de declarar as variáveis, podemos receber informações.

Escreva("Digite a primeira nota: ")
Leia(nota1)
Escreva("Digite a segunda nota: ")
Leia(nota2)

Agora o algoritmo possui os valores necessários para realizar os cálculos.


Inicialização de Variáveis

Declarar uma variável significa apenas informar ao algoritmo que ela existirá durante a execução do programa.

Entretanto, uma variável recém-declarada não possui, necessariamente, um valor válido.

Antes de utilizá-la em qualquer cálculo, é preciso atribuir um valor à variável.

Essa operação recebe o nome de inicialização.

Uma variável pode ser inicializada de duas maneiras:

  • recebendo um valor digitado pelo usuário;
  • recebendo um valor atribuído diretamente pelo algoritmo.

Inicialização utilizando o comando Leia

Na maioria dos algoritmos, o valor inicial é fornecido pelo usuário.

Exemplo:

Escreva("Digite sua idade: ")
Leia(idade)
Após a execução do comando Leia, a variável idade passa a armazenar o valor informado pelo usuário.

Inicialização utilizando atribuição

Também é possível inicializar uma variável atribuindo diretamente um valor.

Exemplo:

contador <- 0
pi <- 3.14159
Nesse caso, o próprio algoritmo define o valor inicial da variável.

Um exemplo de erro

Observe o algoritmo abaixo.

Algoritmo "Erro"
Var
   nota1, nota2, media : Real
Inicio
   media <- (nota1 + nota2) / 2
   Escreva(media)
FimAlgoritmo
À primeira vista, o algoritmo parece correto.

Entretanto, existe um problema.

As variáveis nota1 e nota2 nunca receberam um valor.

Como consequência, o cálculo da média utilizará informações indefinidas, produzindo um resultado incorreto.


Corrigindo o algoritmo

O algoritmo correto deve inicializar as variáveis antes de utilizá-las.

Algoritmo "Media"
Var
   nota1, nota2, media : Real
   nota1<-0
   nota2<-0
   media<-0
Inicio
   Escreva("Primeira nota: ")
   Leia(nota1)
   Escreva("Segunda nota: ")
   Leia(nota2)
   media <- (nota1 + nota2) / 2
   Escreva(media)
FimAlgoritmo

Agora todas as variáveis utilizadas no cálculo possuem valores válidos.


Boas práticas

Sempre que desenvolver um algoritmo, procure seguir estas recomendações:

  • Declare todas as variáveis antes de utilizá-las.
  • Inicialize uma variável antes de realizar qualquer cálculo com ela.
  • Nunca suponha que uma variável já contém um valor.
  • Sempre que possível, atribua valores iniciais coerentes com o problema.
  • Revise o algoritmo verificando se todas as variáveis utilizadas receberam um valor antes de serem lidas.

Exercício

Analise os algoritmos abaixo e identifique quais apresentam erro de inicialização.

Algoritmo A

Var
   idade : Inteiro
Inicio
Leia(idade)
Escreva(idade)
FimAlgoritmo
A variável foi inicializada corretamente?

( ) Sim

( ) Não


Algoritmo B

Var
   total : Real
Inicio
Escreva(total)
FimAlgoritmo
A variável foi inicializada corretamente?

( ) Sim

( ) Não

Justifique sua resposta.


Algoritmo C

Var
   contador : Inteiro
Inicio
contador <- 1
Escreva(contador)
FimAlgoritmo
A variável foi inicializada corretamente?

( ) Sim

( ) Não


Conclusão

Uma variável declarada ainda não está pronta para ser utilizada. Antes de participar de qualquer cálculo ou ser exibida ao usuário, ela deve receber um valor por meio de uma leitura (Leia) ou de uma atribuição (<-). Esse cuidado evita erros de lógica e torna os algoritmos mais confiáveis.


Primeiro algoritmo completo com variáveis e tipos

Algoritmo "Media"
Var
nota1, nota2, media : Real
Inicio
Escreva("Primeira nota: ")
Leia(nota1)
Escreva("Segunda nota: ")
Leia(nota2)
media <- (nota1 + nota2)/2
Escreva("Média = ", media)
FimAlgoritmo

Neste algoritmo aparecem, pela primeira vez, todos os elementos estudados até aqui:

  • entrada;
  • processamento;
  • saída;
  • variáveis;
  • tipos de dados.

Como um algoritmo utiliza variáveis

Durante sua execução, o algoritmo passa por diferentes estados.

Estado inicial
nota1 = ?
nota2 = ?
media = ?

Após a leitura:

nota1 = 8
nota2 = 6
media = ?

Após o processamento:

nota1 = 8
nota2 = 6
media = 7

Erros comuns

  • Utilizar uma variável sem declará-la.
  • Armazenar um texto em uma variável numérica.
  • Trocar os nomes das variáveis durante o algoritmo.
  • Esquecer de ler uma variável antes de utilizá-la.
  • Acreditar que uma variável guarda todos os valores anteriores.

Exercício Resolvido

Problema: Calcular a área de um retângulo.

Entradas:

  • base;
  • altura.

Processamento:

  • área ← base × altura.

Saída:

  • área.

Escreva o algoritmo em Portugol e identifique o tipo de cada variável.


Exercícios Propostos

Nível 1 — Identificação

Para cada informação, indique o tipo adequado:

  1. CPF.
  2. Nome.
  3. Temperatura.
  4. Quantidade de alunos.
  5. Está matriculado? (Sim/Não).

Nível 2 — Variáveis

Escreva apenas a declaração das variáveis para:

  • cadastro de aluno;
  • cálculo do IMC;
  • cálculo do salário;
  • controle de estoque;
  • cálculo do consumo de combustível.

Nível 3 — Algoritmos

Desenvolva algoritmos em Portugol para:

  1. Calcular o perímetro de um retângulo.
  2. Calcular o salário bruto de um funcionário.
  3. Calcular a idade aproximada de uma pessoa a partir do ano de nascimento.
  4. Converter uma temperatura de Celsius para Fahrenheit.
  5. Calcular o valor total de uma compra.

Desafio

Uma loja concede 10% de desconto em todas as compras.

Escreva um algoritmo que:

  • leia o valor da compra;
  • calcule o desconto;
  • calcule o valor final;
  • apresente os dois resultados.

Resumo da Aula

Nesta aula aprendemos que:

  • algoritmos precisam armazenar informações durante sua execução;
  • esse armazenamento é realizado por meio de variáveis;
  • cada variável possui um nome, um tipo e um valor;
  • o valor de uma variável pode mudar ao longo da execução;
  • diferentes tipos de dados são utilizados para representar diferentes informações;
  • variáveis permitem construir algoritmos capazes de resolver problemas reais.

Fim da aula 03

Click to listen highlighted text!