Variáveis e constantes

Ver Todos os Exercícios

Teoria

Introdução

Fala aí, aqui é o Guga do Responde Aí! Tudo bem com você?

É impressionante a capacidade que um computador tem de realizar processamentos complexos em tempos cada vez menores. Um dos grandes fatores para toda essa eficiência é a existência de uma memória capaz de armazenar os dados gerados para uso futuro.

Nesse tópico nós iremos conversar um pouco sobre variáveis e constantes. Esses recursos presentes nas linguagens de programação são importantes, pois são eles que nós utilizamos para armazenar os dados de um programa na memória do computador.

Constantes

Como o próprio nome já diz, quando falamos de constantes estamos falando de dados que terão os seus valores fixos durante a execução de um programa.

Vamos criar um contexto para o uso de uma constante:

Imagine que você foi contratado pela NASA para desenvolver um programa que realiza o cálculo de rotas interplanetárias. Durante o desenvolvimento desse programa, você percebeu que os inúmeros cálculos a serem realizados necessitam do valor de π .

Sendo assim, ao invés de utilizar em cada cálculo o número 3,141592653589793 você decide atribuir esse valor a uma constante que chamou de PI e a partir de agora apenas referenciá-la através desse nome em todos os cálculos, economizando assim a escrita de um número com as criteriosas 15 casas decimais exigidas pela NASA diversas vezes.

Isso fará com que todos os lugares do seu programa que estiverem escritos com PI sejam substituídos por 3,141592653589793 durante a execução.

Definição de uma constante

A definição de uma constante é bastante simples e deve ser efetuada antes da declaração da função main.

Você se lembra do tópico anterior, onde criamos a anatomia de um programa?

Como forma de relembrar e já adicionar um espaço que deixaremos guardadinho só para a definição de constantes, dá uma olhadinha nessa imagem:

Agora que já sabemos onde definir as constantes, vamos definir a constante PI utilizada no exemplo anterior:

Faremos isso utilizando o comando de definição #define seguido do nome que daremos a constante e do valor que ela terá. No caso do nosso exemplo, o nome dado a constante foi P I e ela armazenará o valor fixo 3,141592653589793 .

A imagem a seguir ilustra uma forma geral de definição de constantes:

Show de bola! Agora podemos prosseguir.

Variáveis

Diferente das constantes, as variáveis são responsáveis por armazenar valores que podem sofrer alterações durante a execução de um programa.

Vamos criar um contexto em que as variáveis se encaixam bem:

Imagine que você possui um fichário para guardar todos os materiais das disciplinas cursadas por você atualmente na faculdade.

Uma variável nada mais é do que o espaço reservado para o material de cada disciplina, já o dado que a variável armazena são os materiais dessa disciplina. Sendo assim, da mesma forma que um espaço é reservado exclusivamente para materiais de uma determinada disciplina, uma variável só armazena dados de mesmo tipo.

Outra característica interessante é que durante uma aula nós podemos retirar o material do fichário e atualizá-lo com um novo conteúdo da disciplina. O mesmo ocorre com as variáveis durante a execução de um programa, onde os dados armazenados por elas podem ser lidos, processados e guardados novamente com um novo valor (ainda de mesmo tipo).

Ficou mais simples de entender com esse exemplo, né?

Declaração de uma variável

Você se lembra dos tipos primitivos de dados? Caso não lembre, existem três principais tipos (tipos primitivos) que são:

  • Inteiro (int);
  • Ponto flutuante (float);
  • Caractere (char).

Eles serão muito importantes agora, pois toda variável precisa de um tipo para especificar o dado que ela irá armazenar e o tamanho da memória que deverá ser reservado para ela.

Mas antes de tudo, vamos criar mais um exemplo:

Imagine que você está desenvolvendo um programa para calcular a média das suas provas na disciplina de programação.

Para armazenar uma de suas notas você precisa criar uma variável e como uma nota é um dado numérico que pode assumir valores reais, a variável deverá ser do tipo float.

Para declararmos essa variável, basta escrevermos o seguinte trecho de código:

Onde simplesmente escrevemos o tipo da variável que será declarada, nesse caso float, seguida do nome que ela assumirá no programa. Além disso, podemos inicializar uma variável em sua declaração (recomendável), para isso basta escrevermos o operador de atribuição (=) seguido do valor inicial da variável.

Não se preocupe com a utilização dos operadores agora, nós falaremos mais sobre ele no tópico “Operadores da linguagem”.

Além disso, inicializar uma variável nada mais é do que atribuir um valor inicial para ela, geralmente fazemos isso apenas nas variáveis do tipo int e float atribuindo o valor inicial 0 a elas.

Para você não esquecer, a forma geral para declarar e inicializar uma variável é a seguinte:

Agora se nós quisermos apenas declarar uma variável sem inicializar ela na declaração, basta fazermos isso aqui:

Para ficarmos mais familiarizados com a coisa, que tal criarmos algumas variáveis de tipos diferentes com e sem inicialização?

A imagem a seguir mostra exatamente um trecho de código onde isso ocorre:

Vale lembrar que para inicializarmos uma variável do tipo char nós devemos colocar o valor inicial entre aspas simples, pois ele se trata de um caractere.

Agora que já sabemos como o que são e como declarar variáveis e constantes, está na hora de resolvermos alguns exercícios de fixação!

Temos um encontro marcado na página aqui do lado.

Definição de uma constante

Variáveis

Declaração de uma variável

Exercícios Resolvidos

Exercício Resolvido #1

Descreva a importância das variáveis e constantes durante o desenvolvimento e execução de um programa.

Passo 1

As variáveis possuem extrema importância em um programa, pois são elas que de fato armazenam os dados que o programa irá processar.

Podemos dizer que o dado é algo conceitual se não estiver armazenado, mas que em um programa de computador, quando o mesmo não está em sua forma pura, ele na grande maioria das vezes será representado por uma variável ou constante que são os elementos computacionais capazes de armazená-lo na memória.

Passo 2

Já as constantes, assim como as variáveis, também são responsáveis por armazenar dados.

A grande diferença entre esses dois elementos é que em um deles o dado armazenado deve se manter fixo durante a execução do programa (constante), porém o outro pode sofrer alterações e manipulações no dado que armazena mesmo durante a execução (variável).

Resposta

As variáveis e constantes são os principais e mais básicos recursos de utilização de memória em um programa.

Exercício Resolvido #2

Faça a definição de uma constante π = 3,14159265359 e a declaração de uma variável x inicializando-a com a constante P I criada.

Passo 1

Vamos começar com a definição da constante:

Onde temos que utilizar o comando #define seguido do nome da constante, que nesse caso é P I que por sua vez é seguido do valor fixo que irá armazenar.

É bom ressaltar que os três elementos devem ser separados por um espaço em branco.

Passo 2

Com a constante definida, nós podemos realizar a declaração e inicialização da variável x :

Essa declaração é realizada informando o tipo da variável, que nesse caso é float seguida do seu nome que é x . Como também vamos inicializá-la, basta no ato da declaração realizar a atribuição da constante P I e não se esquecer do ponto e vírgula.

Resposta

Ao fim de tudo teremos a variável x declarada e inicializada com a constante P I .

Exercício Resolvido #3

Suponha que você possua as seguintes variáveis:

  • a = 5 ;
  • b = 17 .

Troque o valor armazenado pelas variáveis a e b , se necessário crie uma variável auxiliar.

Passo 1

Para realizar essa troca, nós precisamos declarar uma variável t e m p (temporária) que armazenará o valor de uma das variáveis para que o mesmo não seja perdido durante a troca.

Nesse caso, escolheremos armazenar o valor de b :

Passo 2

Com o valor de b armazenado em t e m p , podemos atribuir o valor de a a b :

Posteriormente, para finalizar a troca atribuiremos t e m p a a :

Resposta

Ao fim desse programa teremos as variáveis a e b armazenando os seguintes valores:

  • a = 17 ;
  • b = 5 .

Exercício Resolvido #4

Para ajudar os alunos do ensino médio de uma escola, você decidiu criar um programa que dado o valor dos dois catetos de um triângulo retângulo, calcula o valor da hipotenusa.

Para realizar esse cálculo, você decidiu utilizar o teorema de Pitágoras:

a 2 = b 2 + c 2

Onde:

  • a é o valor da hipotenusa do triângulo retângulo;
  • b é o valor do cateto oposto;
  • c é o valor do cateto adjacente.

Declare as variáveis necessárias para a implementação do algoritmo do teorema de Pitágoras em seu programa.

Passo 1

A primeira coisa que devemos fazer é reconhecer os dados do programa.

De acordo com o enunciado, teremos os valores dos dois catetos:

  • Cateto adjacente;
  • Cateto oposto.

E a partir deles aplicados ao teorema de Pitágoras obteremos:

  • Hipotenusa.

Passo 2

Agora que sabemos quais são os dados, podemos analisar os seus tipos.

Por se tratar de dados que representam os lados de um triângulo retângulo, todos eles podem assumir valores inseridos em R . Dessa forma, o tipo ideal para esses dados é float, pois ele é capaz de armazenar número reais.

Resposta

Com o reconhecimento dos dados e do tipo deles, podemos declarar as variáveis do nosso programa:

Exercício Resolvido #5

Declare as variáveis, e, se necessário, as constantes para o desenvolvimento de um programa que tenha como dado o salário atual de um funcionário, o percentual de reajuste igual a 45 % e tenha como objetivo processar o novo salário desse mesmo funcionário.

Passo 1

Em primeiro lugar, devemos realizar uma análise da existência de constantes.

O dado fornecido como percentual de reajuste é fixo em 45 % , pois será o mesmo valor para todos os funcionários. Dessa forma, podemos dizer que esse dado será armazenado por uma constante já que se trata de um valor fixo.

A imagem a seguir ilustra a definição dessa constante:

Passo 2

Com a constante definida, podemos iniciar o reconhecimento das variáveis responsáveis por armazenar os dados do programa.

Analisando os dados salário atual e novo salário, podemos concluir que eles são totalmente dependentes das informações que estão sendo processadas sobre determinado funcionário naquele momento da execução. Isso significa, que são dados que sofrem alterações e por esse motivo devem ser armazenados em variáveis.

Caso você não se lembre, o tipo da variável é decidido através do tipo do dado que a mesma irá armazenar. Nesse caso, como salários podem assumir valores reais, o tipo ideal é float.

A imagem a seguir ilustra o trecho de código que declara as variáveis responsáveis pelo armazenamento dos salários:

Resposta

Ao fim de tudo teremos as seguintes declarações e definições:

Exercício Resolvido #6

Um amigo pediu para que você desenvolvesse um programa capaz de calcular os pontos dos times participantes da gincana de sua escola. Esse mesmo amigo, por fazer parte da organização, te passou algumas informações sobre o evento:

  • Os times participantes da gincana são: A, B e C;
  • O programa deverá ter apenas 2 opções, inserir pontos (1) e remover pontos (2);

Os passos necessários para inserir e remover pontos de um time da gincana são:

  1. Escolher a opção (inserir ou remover);
  2. Inserir a quantidade de pontos;
  3. Inserir o time que sofrerá a alteração.

Tendo conhecimento dessas informações, você decidiu começar o desenvolvimento identificando os dados do programa e declarando as variáveis e constantes necessárias.

Passo 1

A primeira coisa que devemos fazer é identificar alguns dados do programa:

  • Opção que seleciona a ação (inserir ou remover pontos);
  • Quantidade de pontos envolvidos na ação;
  • Time envolvido na ação;
  • Total de pontos time A;
  • Total de pontos time B;
  • Total de pontos time C.

Passo 2

Com os dados devidamente identificados, podemos verificar a existência de constantes e a declarar as variáveis responsáveis por armazenar tais dados.

Como não existem valores fixos e todos podem sofrer alterações durante a execução do programa, não existem constantes a serem definidas.

Em contraposto, a quantidade de pontos envolvidos na ação, total de pontos do time A, total de pontos do time B e total de pontos do time C são dados que necessitam de variáveis para serem armazenados, pois serão atualizados a cada atividade. Além disso, como os pontos de determinado time da gincana podem assumir valores reais (critérios de desempate) o tipo ideal para essas variáveis é float.

Já o time envolvido na ação pode assumir três valores distintos: A, B e C. Como esses três valores são caracteres, possui char como tipo ideal.

Por fim, o dado opção, que é responsável por definir se a ação será de inserção ou remoção de pontos, tem o tipo int como ideal. Isso acontece, pois só existem duas opções (inserção e remoção) que serão selecionadas através dos números inteiros 1 e 2.

Resposta

Realizando a declaração das variáveis de acordo com os dados e tipos identificados, temos:

Exercício Resolvido #7

Uma revendedora de carros usados paga a seus funcionários vendedores um salário fixo por mês de R $   975,00 , mais uma comissão também fixa de 5 % para cada carro vendido e mais uma participação sobre o valor total das vendas por ele efetuadas.

Declare as variáveis, e, se necessário, constantes para desenvolver um programa que tendo como base os dados fornecidos calcule o salário final de determinado funcionário.

Passo 1

A primeira coisa que devemos fazer é separar os dados que serão armazenados em variáveis e aqueles que serão armazenados em constantes.

Começando pelas constantes, por se tratar de valores que não sofrem alterações durante a execução de um programa, devemos identificar como dados fixos: salário fixo e comissão fixa.

Passo 2

No entanto, a quantidade de carros vendidos, salário final e o valor total das vendas são dados que sofrem alterações de acordo com o funcionário que está sendo processado naquele momento de execução do programa e por isso devem ser armazenados em variáveis.

Passo 3

É importante lembrar que o tipo de uma variável é definido de acordo com o dado que ela armazena, nesse caso como salário fixo, comissão fixa, valor total das vendas e novo salário podem assumir valores reais, o tipo ideal para as variáveis que irão armazenar esses dados é float.

Por outro lado, não existe a possibilidade de a quantidade de carros vendidos ser real (é impossível vender meio carro) e por isso o tipo da variável que irá armazenar esse dado é int.

Resposta

Com os dados e seus tipos devidamente identificados, a declaração das variáveis e a definição das constantes ficariam da seguinte forma:

Exercício Resolvido #8

Você e seu amigo se juntaram para desenvolver um jogo e ao término da divisão das funcionalidades a serem desenvolvidas, ficou sob sua responsabilidade o sistema de informações sobre o inventário do personagem no jogo.

As regras definidas durante a etapa de planejamento para o sistema de inventário, foram:

  • A quantidade de itens que podem ser carregados é igual ao teto do valor referente a 10 % do nível do personagem naquele momento do jogo;
  • O sistema de informações deve mostrar a quantidade de itens presentes no inventário naquele momento do jogo;
  • Caso o jogador tente colocar um item com o inventário cheio, uma mensagem padrão deve ser exibida: “Inventário cheio!”.

Para iniciar o desenvolvimento dessa funcionalidade, você deve apenas declarar as variáveis, e, se necessário, definir as constantes que serão úteis para representar as informações do inventário.

Passo 1

A primeira coisa que devemos fazer para desenvolver esse sistema de informações do inventário é reconhecer os dados necessários.

De acordo com as regras definidas, são dados do programa:

  • Quantidade máxima de itens;
  • Nível do personagem (utilizado para calcular a quantidade máxima de itens);
  • Quantidade atual de itens;
  • Mensagem padrão de inventário cheio.

Passo 2

Como os dados quantidade máxima de itens, nível do personagem e quantidade atual de itens representam valores inteiros que se alteram ao longo do jogo, se trata de variáveis do tipo int.

Passo 3

Já a mensagem padrão se trata de uma constante, pois sempre será ela que irá alertar sobre o inventário estar totalmente ocupado, ou seja, um dado fixo.

Armazenando esses dados, o sistema de informações sobre o inventário do jogo é capaz de exibir para o jogador a quantidade de itens que ele possui armazenado, a quantidade máxima de itens que o personagem é capaz de carregar naquele momento e de impedir a adição de mais itens no inventário caso ele esteja cheio, exibindo assim uma mensagem de alerta.

Resposta

Ao identificar os dados do programa e seus respectivos tipos, podemos declarar as variáveis e definir as constantes que serão úteis da seguinte forma: