Variável e Tipos Básicos

Ver Todos os Exercícios

Teoria

Introdução

Fala aí, tudo beleza?

Nesse tópico a gente vai aprender sobre variáveis no C++, os seus diferentes tipos e como utilizá-las num programa, desde a parte da criação delas no programa, até a sua manipulação.

O que é uma variável?

Imagine que você precisa fazer um programa no qual, em algum momento, ele precisa receber e salvar a informação da idade do usuário. Para que isso ocorra, utilizamos as variáveis.

Uma variável para o C++ é um objeto que armazena um dado computacional de determinado tipo na memória do computador. Esse tipo de dado pode ser um número inteiro, um número real, uma letra, etc.

Declarando uma variável

Para trabalharmos com uma variável, o primeiro processo é declará-la. No código isso funciona por meio do seguinte padrão:

PrefixoDoTipoDeVariável NomeDaVariável;

Ou

PrefixoDoTipoDeVariável NomeDaVariável = Valor;

Ou ainda

PrefixoDoTipoDeVariável NomeDaVariável{ Valor };

Exemplo:

Por meio da linha de código 5, é reservado um local na memória do computador para armazenar o valor atribuído à variável que, nesse caso, foi chamada de “a”. O prefixo “int” é referente à variável do tipo inteiro. Além das variáveis do tipo inteiro, existem os pontos flutuantes, os valores booleanos, e outros.

Para cada tipo de variável temos os seguintes prefixos:

  • Inteiro – i n t
  • Nesse tipo de variável, serão armazenados apenas valores inteiros, como - 1029 ,   0 ,   35 ,   - 1 ,   50 .

  • Ponto flutuante – f l o a t
  • O f l o a t é caracterizado por ser um número real, tal como 1.23, 3.44, -1.72.

  • d o u b l e
  • É semelhante ao f l o a t , no entanto, apresenta uma maior capacidade de armazenamento, o que significa que ele pode armazenar números maiores com uma melhor precisão, ou seja, mais casas decimais.

  • Caractere c h a r
  • O c h a r armazena um, e apenas um, caractere, podendo ser uma letra ou um número, sendo caracterizado por estar entre aspas simples, como ‘a’, ‘b’, ‘3’.

  • Operador booleano – b o o l

O b o o l é uma variável que armazena o valor 0 ( f a l s e ) ou 1   ( t r u e ) que, para o C++, é o mesmo que falso ou verdadeiro. É muito utilizado em situações nas quais precisamos analisar se alguma condição está sendo cumprida ou não no nosso código, ou seja, caso esteja sendo cumprida, o valor da variável é 1 , caso não esteja, o valor será 0 .

Atribuindo um valor

Imagine que você esteja precisando fazer um programa que, dado 3 números, calcule o valor da soma. Bem, para isso, é preciso atribuir valores às suas variáveis.

O primeiro passo seria declarar as variáveis que receberiam cada valor: o primeiro número, o segundo número e a soma deles.

Depois, precisaríamos atribuir valores a cada uma dessas variáveis.

Dessa forma, o código ficaria assim:

Perceba que usamos o sinal de “ = “ para atribuirmos um valor. Esse sinal se lê “ r e c e b e ”, logo, na linha 7 , lê-se “ n u m e r o 1   r e c e b e   2 ”. Mas por que não lemos “ n u m e r o 1   i g u a l   a   2 ”?

Isso ocorre porque a operação que está acontecendo não necessariamente é uma igualdade. O que acontece é que estamos atribuindo o valor que está do lado direito do sinal “ = ” à variável que está do lado esquerdo.

Uma outra maneira de escrevermos esse código, seria atribuirmos o valor da variável no momento em que a declaramos.

Ou ainda

Como já aprendemos o que é uma variável, como a declaramos e como atribuímos um valor a ela, que tal fazermos alguns exercícios de fixação?

Declarando uma variável

Atribuindo um valor

Exercícios Resolvidos

Exercício Resolvido #1

Descreva a importância do uso de variáveis num programa de C++.

Passo 1

Na computação, as variáveis são de suma importância, pois elas são o que utilizamos para salvar os dados que queremos ao longo da execução do programa. Sem elas, não seria possível que fizéssemos as manipulações de dados necessárias para chegarmos aos resultados que queremos.

Resposta

As variáveis são importantes para salvar e manipular dados utilizados no programa que está sendo executado no computador.

Exercício Resolvido #2

Dadas as seguintes variáveis:

  • a = 0.1972;
  • b = ‘R’;
  • c = false;
  • d = -1;

Classifique-as quanto ao seu tipo entre int, float, char ou boolean.

Passo 1

Eai, tudo beleza?

Para resolver essa problema, vamos primeiro identificar o que cada tipo de variável representa.

Int: um número inteiro.

Float: um número real.

Char: um caractere.

Bool: uma afirmação lógica, verdadeiro ou false, 1 ou 0.

Passo 2

Agora, vamos associar cada variável dada com a definição proposta.

  • a = 0.1972: essa variável é um número real e não é um número inteiro, portanto é classificada como um ponto flutuante (float).
  • b = ‘R’: já aqui, temos um caractere que está entre aspas, se encaixando como um char.
  • c = false: uma afirmação lógica, que também poderia ser escrita como 0, logo, um boolean.
  • d = -1: aqui, temos um valor inteiro, que também é um valor real. Logo, existe a possibilidade de ele estar declarado como um int ou um float (caso fosse -1.0, ele seria interpretado como um float).

Resposta

Portanto, temos como resposta final:

a = float

b = char

c = bool

d = int ou float.

Exercício Resolvido #3

Dado o seguinte código de C++:

Descreva o que o programa faz a cada linha de código.

Passo 1

Vamos analisar passo a passo do código.

O código começa inicializando a função main, onde o bloco de código principal será escrito.

Após isso, temos a parte de declaração de variáveis (linhas 4 e 5), onde é reservado o espaço na memória do computador para receber os valores atribuídos a essas variáveis. Nessa hora, também se define que as duas variáveis serão inteiros, colocando o termo int antes do nome da variável.

Passo 2

O próximo passo (linhas 7 e 8) foi atribuir valores às variáveis, no qual ambas as variáveis assumem valores iguais a 1.

O que acontece a seguir é o incremento da variável cont (linha 10). Para tal processo, vamos analisar primeiramente os valores do lado direito da igualdade, nos quais temos “cont + num”. Até antes dessa linha, tínhamos cont e num iguais a 1, logo cont + num é igual a 2. O valor 2 será atribuído à variável que está à esquerda do sinal “=”, o cont. Portanto, a variável cont vai passar a ser igual a 2.

Após isso, há a finalização do programa (linha 12) e o fechamento da função main (linha 14).

Resposta

  • Linha 1: inicialização da função main
  • Linhas 4 e 5: declaram as variáveis e reservam os espaços na memória do computador para receber os valores atribuídos a essas variáveis.
  • Linha 7 e 8: atribuído valores a cont e num.
  • Linha 10: incremento da variável cont.
  • Linha 12: retorno de 0, encerramento do programa.
  • Linha 14: fechamento da função main.

Exercício Resolvido #4

Dados os números:

  • Num1 = 7;
  • Num2 = 9.

Faça um programa que declare 3 variáveis, uma para cada número e uma terceira variável que receberá o valor do produto das duas primeiras.

Passo 1

Eai, beleza?

Inicialmente, para resolvermos esse problema, devemos inicialmente declarar as variáveis para armazenar o valor de num1 e num2:

Perceba, que optamos por atribuir o valor delas no momento de declará-las, por questão de simplificação.

Passo 2

Agora, vamos declarar a variável que assumirá o valor do produto:

Dessa vez, declaramos a variável (linha 6) mas ainda não determinamos seu valor. O que falta agora é apenas atribuir a essa variável o valor do produto.

Para o C++, o produto de dois números “a” e “b” pode ser definido como “a*b”. Dessa forma basta fazermos com que a variável prod receba o valor “num1*num2”.

Passo 3

Outra forma de declarar a variável produto, é atribuir o seu valor no momento da sua declaração, assim como fizemos para as variáveis num1 e num2. Nesse caso, fica assim:

E você pode fazer de qualquer um dos 2 jeitos, que os 2 dão a mesma coisa!

Resposta

Ou

Exercício Resolvido #5

Na física, um problema clássico de cinemática é encontrar a posição de um corpo ao longo do processo de queda acelerada por meio da gravidade.

Faça um programa que calcula a altura H que um corpo cai sob ação da gravidade ( g = 9.8 m / s 2 ) durante 7.5 segundos, sabendo que ele tem uma velocidade inicial v 0 = 0.75 m / s 2 , vertical para baixo.

Passo 1

Para tal problema, vamos primeiramente escrever as equações físicas do MRUV (movimento retilíneo uniformemente variado) que se aplicam ao esse lançamento vertical:

  • v = v 0 + g ⋅ t
  • h = h 0 + v 0 ⋅ t + g ⋅ t 2 2

Na situação descrita, vamos considerar g = 9.8 m / s 2 , h 0 = 0 , v 0 = 0.75   m / s 2 e t = 7.5 s .

Agora vamos pensar na parte de programação.

Passo 2

Inicialmente, vamos declarar as variáveis que usaremos. Como os valores dados no enunciado são números reais não inteiros, devemos declará-las como pontos flutuantes. Para isso, colocamos esse float antes de todas elas.

Perceba que os valores que foram dados no enunciado já foram atribuídos às suas variáveis.

Passo 3

Agora, devemos atribuir a variável “h” o seu valor, que é definido pela equação:

h = v 0 ⋅ t + g ⋅ t 2 2

Com isso, temos:

É possível ainda printarmos o valor final no terminal. Para isso, incluímos a biblioteca iostream, e escrevemos o comando para printar a variável h.

Resposta

No fim, temos como resposta:

h = 281.25   metros.

Exercício Resolvido #6

Suponha que você está mexendo com um banco de dados de números inteiros. Você decide salvar cada valor numa variável e percebe que, em algum momento do código, você precisa trocar os valores de duas variáveis ( a e b ) entre si. Ou seja, fazer com que a receba o valor de b e que b receba o valor de a . Faça um programa que realize essa troca de valores entre duas variáveis.

Dica: utilize a ajuda de uma terceira variável.

Passo 1

Eai, tudo beleza?

Nesse código, vamos fazer uma implementação simples de uma mudança de valor entre duas variáveis. Primeiramente, vamos declarar essas variáveis com valores iniciais arbitrários:

Em seguida, para que seja possível realizar a troca, vamos seguir a dica do enunciado e declarar uma terceira variável para nos auxiliar nessa troca.

Passo 2

Vamos analisar o que nós temos nesse momento:

a = 5 ,       b = 6

Nós queremos chegar em:

a = 6 ,       b = 5

Para isso, vamos inicialmente passa o valor da variável a , para a nossa variável auxiliar c . Dessa forma, nós teremos o valor inicial de a guardado em c , permitindo que mudemos o valor de a para o valor de b logo em seguida.

Agora, nós temos a seguinte configuração:

a = 6 ,     b = 6 ,     c = 5

Por fim, bastaria então, nós passarmos o valor que está armazenado na variável c para a variável b e nós chegaríamos na configuração que queremos:

Resposta

Exercício Resolvido #7

Descreva a sintaxe utilizada para declarar o valor de uma variável. Explique como funciona a reserva de memória.

Passo 1

Eai, tudo beleza?

Para que declararmos uma variável, precisamos saber o tipo de variável e um nome para utilizarmos de referência para essa variável ao longo do nosso código. Dessa forma, nós temos a seguinte sintaxe:

P r e f i x o D o T i p o D e V a r i á v e l         N o m e D a V a r i á v e l ;

Nós podemos também, declarar uma variável enquanto e imediatamente atribuirmos um valor inicial a ela:

P r e f i x o D o T i p o D e V a r i á v e l         N o m e D a V a r i á v e l       =       V a l o r ;

Ou

P r e f i x o D o T i p o D e V a r i á v e l         N o m e D a V a r i á v e l {     V a l o r     } ;

Passo 2

Ao declararmos uma variável, o computador reserva um local na sua memória ram de forma a armazenar o valor atribuído a essa variável nesse local. Essa região da memória do nosso computador tem o seu tamanho determinado pelo tipo de variável que declaramos.

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #8

Suponha que você foi contratado para desenvolver um jogo em C++. Durante esse processo, você deve desenvolver a física do jogo, ou seja, as equações que regem aquele mundo virtual. Pensando na física de um bloco sendo arrastado no chão, declare variáveis para guardar as informações do coeficiente de atrito estático do bloco com o chão, do coeficiente de atrito dinâmico, da força normal e da força de atrito estático máxima e da força de atrito dinâmico. Inicialize essas variáveis com os valores que achar adequado.

Passo 1

Eai, tudo beleza?

Nessa questão, nós vamos declarar as variáveis indicadas no enunciado para simular um sistema de um bloco sendo arrastado no chão. Para isso, vamos utilizar o tipo f l o a t , pois esses valores podem ser melhor representados utilizando números reais.

Primeiramente, vamos iniciar a nossa função m a i n ( ) e declarar as variáveis do para representar o coeficiente de atrito estático, o dinâmico e a força normal, que vamos chamar de u _ e s t a t i c o , u _ d i n a m i c o e n o r m a l , respectivamente.

Perceba que iniciamos com valores iniciais, assim como é orientado pelo enunciado.

Passo 2

Agora, vamos declarar as variáveis que representar a força de atrito estático máxima e a força de atrito dinâmico. Nós sabemos que é possível chegar nessas forças por meio das fórmulas:

f a t e s t = μ e s t ⋅ N

f a t d i n = μ d i n ⋅ N

Como já declaramos as outras variáveis com valores iniciais, podemos fazer com que as forças de atrito tenham os seus valores definidos com base nas variáveis anteriores:

Resposta