Aula 02 - Variáveis
Conceitos-Chave:
- variável, como ferramenta para armazenar valores;
- tipos de variáveis, compreender a necessidade da existência de vários tipos de variáveis;
- cin, como comando para captar valores inseridos pelo utilizador;
- caracteres especiais, certos caracteres necessitam de serem "escritos" de forma especial para serem reconhecidos pelo C++;
Variável
As variáveis são um dos conceitos mais importantes em programação. Pondo de uma forma simples, lembrem-se de matemática:
x = 23
y = 40
Uma variável é, portanto, um lugar na memória do computador que armazena um valor. Este valor poderá ser alterado ao longo do programa (embora também possamos declarar variáveis constantes).
Em C++ as variáveis são expressas desta forma:
int x;
x = 20;
float pi = 3.14;
char caracter = 'a';
bool exit = false;
Vamos linha por linha:
int x;
Cria uma variável do tipo integer (int) (um numero inteiro). Neste momento é atribuído um número qualquer à variável, pois não definimos um número.
x = 20;
A partir de agora a variável x assume o valor 20.
float pi = 3.14;
Cria uma variável do tipo float, ou seja, um número com casas decimais
char caracter = 'a';
Cria uma variável do tipo char (um carácter). Notem que só dá para inserir um caracter. Para inserir vários caracteres numa variável teremos que utilizar arrays (será explicado na lição 7)
bool exit = false;
Cria uma variável de tipo bool (só pode conter 2 valores: true ou false (verdadeiro ou falso, respectivamente))
Tipos de varíveis
Abaixo estão listados os tipos essenciais de variáveis em C++:
int - Número inteiro que vai de - 2 147 483 648 a + 2 147 483 647. Ocupa 4 bytes (32 bits)float - Número racional (por exemplo 1.8 ou 1.62). Ocupa 4 bytes.
double - o mesmo que o float, só que tem um maior alcance (ex. 1.23413445123). Ocupa 8 bytes.
char - Cria um caracter de texto. Valores de -128 a +127 e ocupa 1 byte.
bool - Cria uma variável booleana. Os valores podem ser true ou false (1 ou 0, respectivamente). Ocupa 1 byte.
Estes são os tipos essenciais. Depois há várias palavras-chave que estendem ou encurtam o alcance da variável. Por exemplo:
unsigned - a variável declarada à frente só pode ter valores positivos.
long - aumenta o alcance da varível pelo dobro, tornando-a numa varíavel com o dobro de
bytes.
short - diminui o alcance da varível pelo dobro, tornando-a numa varíavel com metade de
bytes.
Exemplo:
short int a;
unsigned short int b;
long int c;
unsigned char d;
Na maior parte das vezes vamos apenas utilizar o tipo int para números inteiros, o tipo float para números decimais, o tipo char (e mais à frente o string) para caracteres e strings (conjunto de caracteres) e o tipo bool, para variáveis de testes de condições.
Console Input
Na primeira aula, aprendemos a trabalhar com o console output (cout) que servia para o programador escrever no ecrã o que desejasse. Nesta vamos aprender console input, que serve para o utilizador escrever o que quiser no ecrã (e para ser tratado pelo programa). O Console Input faz-se através do comando cin.
Desta maneira poderemos fazer com que o utilizador interaja com o programa, e isso é mesmo muito importante em programação de jogos (senão seria um mero "filme" e não uma experiência interactiva).
Vou mostrar um exemplo:
#include <iostream>
using namespace std;
int main()
{
int x;
cout << "Insira um numero: ";
/* nota a ausência do endl. É opcional pôr endl ou não.
Experimentem pôr o endl para ver o efeito */
cin >> x; // notem que é >> e não << porque estamos a usar input e não output
cout << "\nVoce digitou " << x << endl;
cin.get(); //neste caso é necessário colocar 2 cin.get()
cin.get();
return 0;
}
Hummm.... Já é um programa maior... vamos linha por linha (vou ignorar o que já aprendemos)
int x;
Cria uma variável de tipo inteiro, chamada x.
cout << "Insira um número: ";
Como tinha dito, não é mesmo preciso usar o endl. Poderiam ter usado o endl, mas assim o número não aparecia à frente dos dois pontos, mas na linha a seguir. O melhor mesmo é experimentarem das 2 maneiras.
cin >> x;
Faz com que a variável x, tenha o valor que o utilizador introduziu. Basicamente este comando espera que o utilizador prima ENTER e fique com o valor que o utilizador introduziu antes do ENTER. Lembrem-se do exemplo do sinal a seguir: nós estamos a mandar o conteúdo do cin (o que o utilizador escreveu) para a variável x)
cout << "\nVocê digitou " << x << endl;
Estamos a mandar uma string (Você digitou...) e uma variável (x) para ser mostrado no console output
Repararam que no início da frase há um carácter um tanto estranho. Esse carácter '\n' faz com que se mude de linha. O endl também faz isso, mas é melhor usar o carácter '\n' no início da frase e endl no fim.
Dica:
Reparem que usei 2 vezes o cin.get();
Se o comando cin.get(); não funcionar devidamente substituam por
system("PAUSE"); e incluam o ficheiro stdlib.h
#include <iostream>
#include <stdlib.h>
using namespace std;
int main()
{
...
system("PAUSE");
return 0;
}
Ou usem 2 vezes o comando cin.get();
cin.get();
cin.get();
Caracteres especiais
Já que estamos no fim da aula vou-vos falar de alguns caracteres especiais. Vocês sabem de um: o '\n'
Vou pôr aqui uma tabela com os caracteres e uma breve explicação de cada um:
| Caractér | Descrição |
| \a | bell, emite um som |
| \b | retrocesso ( backspace ) |
| \0 | caractér terminador |
| \f | início de página |
| \n | mudança de linha |
| \r | início de linha |
| \t | tab horizontal |
| \v | tab vertical |
| \\ | backslash |
| \' | plica |
| \" | aspas |
| \ooo | caractér cujo código em octal é ooo |
| \xhh | caractér cujo código em hexadecimal é hh |
Esta tabela foi retirada do site do Pedro Santos. Já agora, esse site tem um tutorial de C++ muito bom
( eu aprendi C++ com esse tutorial ) e acho que todos devem perder algum tempo a lê-lo, pois se não perceberem alguma coisa neste
tutorial,
sempre podem ver se percebem com outro.
O site é www.psantos.net/cpptutorial/
Exemplo 2.2 - Adivinhe o número (Versão I)
#include <iostream>
using namespace std;
int main()
{
int numero = 8; //escolham um número qualquer
int tentativa; //a tentativa do utilizador
cout << "ADIVINHE O NUMERO - VERSAO I" << endl;
cout << "\n\nInsira a sua tentativa (1-10): ";
cin >> tentativa;
cout << "\nEscolheu o numero \'" << tentativa << "\'." << endl;
cout << "O numero escolhido pelo programador e \'" << numero << "\'." << endl;
cout << "\nSe acertou a primeira, parabens!" << endl;
cout << "Se nao acertou algo me diz que vai acertar a seguir :)" << endl;
cin.get();
cin.get();
return 0;
}
Próxima aula -> C++ 03 - Variáveis
Fazer o download do código fonte dos exemplos da aula
Fazer o download da aula em PDF (Brevemente)
Ir para o topo da página