You are on page 1of 11

Sentenas: simples e compostas

Cada instruo em C++ chamada de sentena. Sentenas simples so


terminadas com um ponto e vrgula. Usando chaves, podemos agrupar
sentenas em blocos, chamados de sentenas compostas.
Exemplos de sentenas incluem:
Simples:

x = 3;

Composta:

{
i = 3;
cout << i << endl;
i = i + 1;
}

O corpo da funo main() um exemplo de sentena composta.

1.2 Variveis em C++


Uma varivel uma informao que voc pode usar dentro de um programa
C++ . Esta informao est associada com um lugar especfico da memria
(isso feito pelo compilador). O nome da varivel e o endereo da memria
onde a informao est armazenada esto associados. O nome e o endereo
no mudam. Mas, o valor da informao pode mudar (o valor do que est
dentro da caixa pode mudar, embora o tipo seja sempre o mesmo). Cada
varivel tem um tipo associado. Alguns tipos de variveis que discutiremos
incluem int, char e float.
Cada varivel usa uma determinada quantidade de armazenamento em
memria. A maneira como sabemos quantos bytes so utilizados pelo tipo da
varivel. Variveis do mesmo tipo utilizam o mesmo nmero de bytes, no
interessando qual o valor que a varivel armazena.
Um dos tipos utilizados para armazanar nmeros o int. Ele usado para
armazenar nmeros inteiros.
Outro tipo o char, usado para armazenar caracteres. Um caracter um
smbolo (uma letra do alfabeto, um dgito, um smbolo de pontuao, etc).

Um char armazenado em 1 byte de memria. Cada caracter associado com


um valor entre 0 e 255. O compilador C++ faz a traduo para voc, portanto
voc no precisa saber estes nmeros. Em C++ , um caracter representado
entre apstrofes ('). Por exemplo, 'C', 'a', '5', '$'. Note que '5' um caracter, e
no o inteiro 5.

A figura acima mostra como um int e um char so armazenados na memria.


Outro tipo existente o float, usado para armazenar nmeros reais (nmeros
com o ponto decimal). Este nmeros so armazenados em duas partes:
a mantissa e o expoente. Eles so armazenados de uma maneira que se
assemelha a notao exponencial. Por exemplo, o nmero

escrito como
. Neste caso, a mantissa 6.023 e o expoente 23.
Estes nmeros so armazenados de uma forma padro, tal que a mantissa tem
apenas um dgito para a esquerda do ponto decimal. Desta forma, 3634.1
escrito como 3.6341e3, e 0.0000341 escrito 3.41e-5. Note tambm que a
preciso limitada pela mantissa. Somente os 6 dgitos mais significativos so
armazenados. Em Code::Blocks um float ocupa 4 bytes de memria. H
muitos outros tipos ( short, long, double), que sero descritos no futuro.

1.3 Definio de Varivel em C++


Se voc usa variveis no programa, voc deve defini-las. Isto envolve
especificar o tipo da varivel e o seu nome. As regras para formar nomes de
variveis em C++ so:
qualquer sequncia de letras, digitos, e '_', MAS DEVE COMEAR
com uma letra ou com '_'. Por exemplo, hora_inicio, tempo, var1 so

nomes de variveis vlidos, enquanto 3horas, total$ e azul-claro no


so nomes vlidos;
Maisculas

Minsculas;

No so permitidos nomes ou palavras reservadas da linguagem.

Tabela 1: Palavras Reservadas da Linguagem C++


auto

break

case

char

const

continue

default

do

double

else

enum

extern

float

for

goto

if

int

long

main

register

return

short

signed

sizeof

static

struct

switch

typedef

union

unsigned

void

volatile

while

sempre uma boa idia ter certas regras (para voc mesmo) para nomear
variveis para tornar o programa mais legvel:
D nomes significativos as variveis (mas no muito longos);
Use nomes de variveis do tipo i, j, k somente para variveis tipo
contadores;
Pode-se usar letras maisculas ou '_' para juntar palavras. Por
exemplo, horaInicio ou hora_inicio. Use o que voc preferir, mas
SEJA CONSISTENTE em sua escolha.
Os tipos bsicos de dados existentes em C++ so:
Tipo de Dado

Bits

Faixa de Valores

char

-128 a 127

bool

true ou false

int

32

-2.147.483.647 a 2.147.483.647

float

32

7 dgitos significativos

double

64

15 dgitos significativos

Abaixo est um exemplo de um programa com diversas definies de


variveis:
int main()
{
int pera;
char qualidade;
float peso;

pera = 3;
qualidade = 'A';
peso = 0.653;
...
}

Quando variveis so definidas, elas no possuem valores ainda. Ns damos


valores s variveis usando o operador de atribuio (=). Variveis tambm
podem ser inicializadas para conter valores quando so definidas. Usando esta
forma, o program acima ficaria:
int main()
{
int pera = 3;
char qualidade = 'A';
float peso = 0.653;

...
}

Para resumir: quando um programa executado, uma varivel associada


com:
um tipo: diz quantos bytes a varivel ocupa, e como ela deve ser
interpretada.
um nome: um identificador.
um endereo: o endereo do byte menos significativo do local da
memria associado a varivel.
um valor: o contedo real dos bytes associados com a varivel; o valor
da varivel depende do tipo da varivel; a definio da varivel no d
valor a varivel; o valor dado pelo operador de atribuio, ou usando
a funo cin. Ns veremos mais tarde que a funo cin atribui a uma
varivel um valor digitado no teclado.
Em C++ , nomes de variveis devem ser declarados antes de serem
usados. Se no for declarado, ocorrer um erro de compilao.
Devem ser dados valores s variveis antes que sejam utilizadas. Se
voc tentar utilizar a varivel antes de especificar o seu valor, voc
obter ``lixo'' (o que quer que esteja armazenado no endereo da
varivel na memria quando o programa comea sua execuo),
culminando com falha na execuo do programa.

1.4 Constantes
Em C++ , alm de variveis, ns podemos usar tambm nmeros ou
caracteres cujos valores no mudam. Eles so chamados de constantes.
Constantes no so associados a lugares na memria.
Assim como variveis, constantes tambm tm tipos. Uma constante pode ser
do tipo int, char, etc. Voc nao tem que declarar constantes, e pode utiliz-las
diretamente (o compilador reconhece o tipo pela maneira que so escritos).
Por exemplo, 2 do tipo int, e 2.0 do tipo double. Por conveno, todas as
constantes reais so do tipo double.

1.5 Caracteres Constantes

Um constante caracter escrita entre apstrofes, como em 'A'. Todas as letras,


nmeros e smbolos que podem ser impressos so escritos desta forma em C+
+ . s vezes precisamos de caracteres que no podem ser impressos, por
exemplo, o caracter de ``nova linha'', que no tem uma tecla especfica no
teclado. Neste caso, usa-se caracteres de escape. Tais caracteres so escritos
no somente como um smbolo entre apstrofes, mas como um sequncia de
caracteres entre apstrofes. Por exemplo, '\n' o caracter para nova linha
(uma sequncia que inicia com a barra invertida chamada de sequncia de
escape). Se quisermos representar o caracter de barra invertida, temos que
escrever '\\'. Note que \n o caracter de nova linha - embora use-se dois
smbolos para represent-lo. A barra invertida chamada de escape. Ele diz ao
compilador que o n que segue no a letra n, mas que a sequncia completa
de caracteres deve ser interpretada como o caracter de ``nova linha''.
Cada caracter constante tem um valor inteiro igual ao seu valor numrico do
seu cdigo ASCII. Por exemplo, considere a constante 'A', que tem cdigo
ASCII 65, e 'B' que tem cdigo 66. Ns podemos usar a expresso 'A' + 1. O
resultado o valor 66. E se o tipo da expresso resultante for char, ento o
resultado da expresso 'B'.

1.6 Entrada e Sada


Se quisermos que um programa C++ mostre alguns resultados, ou se
quisermos que o programa pea ao usurio que entre com alguma informao,
ns podemos usar os elementos cout e cin2. Se voc quiser usar estes
elementos em seu programa, voce deve incluir as seguintes linhas no incio do
seu cdigo fonte:
#include

iostream

using namespace std;


Isto faz com que o arquivo header chamado iostream seja includo no seu
arquivo fonte durante a compilao. Este arquivo contm definies de
diversas funes e classes (por exemplo, cout e cin). Ele declara ao
compilador o nome das funes e algumas informaes adicionais necessrias
para que as instrues sejam executadas corretamente.
1.6.1 Exibindo informaes na tela: cout
cout pode ser utilizado para imprimir mensagens e valores em uma variedade
de formatos. Por enquanto, cout melhor descrito atravs de exemplos.

cout

"Al todo mundo"

endl;

Imprimir Al todo mundo em uma linha na tela do computador. O


valor endl representa a mudana de linha.
Para o comando cout fazer o que deve, ns devemos especificar o que ser
impresso. Ns devemos dar ao comando o que chamamos de argumentos. No
exemplo acima, Al todo mundo e endl so argumentos para cout.
Os argumentos de cout podem ser uma varivel, uma expresso ou
um string (uma srie de caracteres entre aspas (")).
Ns tambm podemos colocar caracteres de escape no string para imprimir
caracteres especiais. Por exemplo, colocando \n no string causa que o restante
do string seja impresso na linha seguinte. Outros caracteres de escape sero
apresentados no futuro.
Considere o seguinte programa:

#include

iostream

using namespace std;

#define PRECO 1.99

int main()

int pera = 3;

char qualidade = 'A';

float peso = 2.5;

cout
qualidade

"Existem "

" pesando "

cout

pera

peso

" peras de qualidade "

" quilos."

" O preco por quilo eh R$"

", o total eh R$"

endl;

PRECO

peso * PRECO

endl;

A sada do programa ser:


Existem 3 peras de qualidade A pesando 2.5 quilos.
O preco por quilo eh 1.99, o total eh 4.975
A linha #define PRECO 1.99 no incio do programa define uma macro. Ou
seja, definimos que PRECO um sinnimo para 1.99 e, portanto, toda
ocorrncia de PRECO no programa substitudo por 1.99antes que ele seja
compilado.
1.6.2 Lendo informao: cin
cin pode ser usado para ler valores digitados no teclado.

Considere o seguinte programa:

#include

iostream

using namespace std;

int main()
{
int idade;

cout

cin

" Entre sua idade: ";

cout

idade

"Voce tem "

idade

"anos."

endl;

Este programa mostrar no monitor: Entre sua idade: e aguardar que um


nmero seja digitado e a tecla ENTER. Depois disso, a varivel idade conter
o valor digitado pelo usurio.
Mais de um valor pode ser lido por um mesmo cin. Considere o seguinte
exemplo:

#include

iostream

using namespace std;

int main()

{
int dia, mes, ano;

cout

cin

"Entre com a data do seu aniversario (dd mm aa): ";

dia

cout
"/"

mes

ano;

"Voce nasceu em "


ano

dia

"/"

mes

endl;

Este exemplo funciona exatamente como o exemplo anterior. Um nico cin l


os 3 nmeros quando estes nmeros so separados por espaos (espaos em
branco, tabulao, novas linhas). Ento voc pode teclar ENTER depois de
cada nmero, ou colocar espaos ou tabulaes entre os nmeros. Os espaos
so ignorados pelo cin.

1.7 Algoritmo X Programa


ALGORITMO PERIMETRO_AREA
/* Calcula o permetro e a area de uma circunferencia
de raio R (fornecido pelo usuario) */
/* Definir variaveis */
int Raio;
float Perim, Area, PI;
PI = 3.14159;
/* Obter Raio da circunferencia */
Escreva("Entre com o valor do raio:");
Leia(Raio);
/* Calcular Perimetro do Circulo */
Perim = 2 * PI * Raio;
/* Calcular Area da Circunferencia */
Area = PI * Raio ** 2;
/* Exibir Resultados */

Escreva("O perimetro da circunferencia de raio", Raio,


"eh", Perim);
Escreva("e a area eh ",Area);
/* Terminar Programa */
FIM_ALGORITMO PERIMETRO_AREA

Programa em C++
/* programa que calcula o permetro e a rea de uma
circunferncia de raio R (fornecido pelo usurio) */
#include <iostream> /* inclui diretivas de
entrada-sada */
#include <cmath> /* inclui diretivas das funes matemticas */
using namespace std;
#define

PI

3.14159

int main( )
{
/* Definir variaveis */
int Raio;
float Perim, Area;
/* Obter Raio da circunferencia */
cout << "Entre com o valor do raio: ";
cin >> Raio;
/* Calcular Perimetro do Circulo */
Perim = 2 * PI * Raio;
/* Calcular Area da Circunferencia */
Area = PI * pow(Raio, 2);
/* Exibir Resultados */
cout << "O perimetro da circunferencia de raio " << Raio
<< " eh " << Perim << endl;
cout << "e a area eh " << Area << endl;
}

You might also like