A
NALISANDO
O
PROGRAMA
Comentário
Comentários são linhas não compiladas, ou seja, não são comandos que
devem ser executados pelo programa.
Então, se não são linhas executadas, qual a finalidade de adicionar um
comentário? A função dos comentários é deixar o código mais legível e para fazer anotações importantes dentro do próprio código, como por exemplo, anotar porque você usou uma lógica ao invés de outra, porque você nomeou aquela variável de tal forma, etc.
Os comentários de uma linha foram introduzidos em C++ e são
definidos pelas barras barras duplas (//). Tudo que estiver nessa linha será ignorado pelo compilador.
Já os comentários de várias linhas tem em ambos, tanto C como C++.
Você procede abrindo o comentário com /* e demonstrando onde termina o comentário com */.
Exemplo:
//O primeiro programa em C / C++ /*
Adaptado do programa original do livro The C Programming Language
de autoria de Dennis Ritchie e Ken Thompson */
A
NALISANDO
O
PROGRAMA
Pré-processamento
Uma característica marcante de C++ é o pré-processamento.
A linguagem C++ tem a capacidade de importar bibliotecas de funções
que são, leigamente, comandos já prontos para usar.
Cada um desses comandos, que chamamos de FUNÇÕES, estão
organizados em bibliotecas diferentes. Bastando a nós determinar em qual biblioteca o compilador irá encontrar tal função.
O pré-processamento é determinado pelo caracter #.
Para importar uma biblioteca, basta usar o comando include.
Quanto inclusão de biblioteca, há diferenças entre C e C++ tanto na
forma de inclusão quanto nas bibliotecas, que não são as mesmas. Esse é um detalhe que abordaremos melhor na próxima página.
Exemplo:
#include <iostream>
A
NALISANDO
O
PROGRAMA
Função principal
Todo o programa em C++ está estrito dentro da função main.
main é a primeira função a ser executada por qualquer programa em
C++, mesmo que tenha outras funções escritas antes dela.
Há compiladores que interpretam esta função mesmo incompleta, ou
seja, você também como começar esta função escrevendo:
main () int main () main (void)
Mas para manter a portabilidade e evitar erros desnecessários de
compilação, o melhor a fazer é declarar ela inteira: int main (void).
Devemos salientar também que deve ser tudo em letras minúsculas,
pois a linguagem é case sensitive, trocando por miúdos, ele distingui entre letras maiúsculas e minúsculas. Então, de preferência, sempre use letras minúsculas.
A
NALISANDO
O
PROGRAMA
Bloco de dados
Os blocos de dados são utilizados para determinar todas as linhas de
código que comandos ou funções devem executar de uma vez.
O bloco de dados é determinado pelo abrir e fechar de chaves ({}).
Você abre chaves onde se deve começar a executar e fecha onde deve
terminar a execução. Em um programa pode haver mais de uma chave e o mesmo número de chaves aberta deve ser o de chaves fechadas.
No caso do primeiro programa, apenas abre a execução da função
A
NALISANDO
O
PROGRAMA
Funções e Processos
Qualquer programa é determinado pelo que está dentro das chaves.
O que está dentro das chaves pode ser uma função, uma palavra
reservada (como IF, ELSE, FOR, ...) ou processo (operação matemática).
Toda chamada de função, processo ou algumas palavras reservadas
devem terminar a linha com um ponto e vírgula (;).
Como você pode ver na chamada da função cout e da palavra reservada
system.
Exemplos:
Cout<<"Olá! Mundo.”; system ("pause");
I
MPORTANDO
UMA
BIBLIOTECA
Após importarmos uma biblioteca por linha, no final dessa lista devemos
demonstrar que tipo de funções usaremos. Na grande maioria dos casos usaremos as funções padrões de cada bibloteca. Podemos fazer isso
facilmente digitando a palavra reservada using indicando o espaço de nome (namespace) standard (std), que quer dizer padrão em inglês.
Abaixo importaremos uma biblioteca padrão de entrada e saída de C++
#include <iostream> using namespace std;
VARIÁVEIS
Variáveis são endereços de mémoria na qual podemos atribuir ou mudar o
valor.
A declaração da variável deve proceder da seguinte maneira:
1) especificar o tipo de variável 2) nomear a variável
* Não podemos esquecer que o C / C++ é case sensitive, ou seja, ele diferencia as letras maiúsculas das minúsculas. Por exemplo, x não é a mesma coisa de X.
Um outro cuidado que devemos ter é não começar uma variável por
número, mas podemos terminá-la.
Exemplo:
É errado declarar 2x, mas podemos declarar x2 ou _2x.
Como uma última precaução, não podemos usar espaços, pois o compilador
pode entender como sendo outra variável não separada por vírgula e acusará um erro. No lugar do espaço, pode-se usar underline (_). Exemplo: É errado digitar resultado da raiz, mas é correto,
V
ARIÁVEIS
Algoritmo C++
Numero:inteiro; Dados:real;
nome:caracter;
vetor: vetor [1..10] de inteiro;
tabela: vetor[1..10,1..5] de inteiro;
Int numero; Float dados; Char nome; String frase; Int vetor[10]; Int tabela [10][5];
Declaração de variáveis
VARIÁVEIS
A parte mais importante de qualquer programa é o processo.
O processamento, em geral, é dado de forma genérica, ou seja, por
variáveis.
Cada variável tem um alcance e forma diferente de trabalhar o dado nela
gravado. Por exemplo, se determinarmos uma variável inteira, você jamais poderá digitar um número decimal, pois todos os números depois do sinal decimal serão ignorados. Se formos escrever um número decimal, devemos usar o ponto (.) ao invés da vírgula (,), se for determinado uma variável de caracter pode ser tanto um inteiro como uma letra e assim por diante.
A atribuição de valores às variáveis se dá de duas forma: ou na inicialização
ou durante um processo.
A atribuição é indicada pelo sinal de igual (=) sempre da direita para
esquerda.
Exemplo: Se digito a=b, quero dizer que a receberá o valor contido em b.
VARIÁVEIS
Exemplos:
/* EXEMPLO1
Aqui está um exemplo de variáveis recebendo valores durante um processo*/ #include <iostream>
using namespace std; int main (void){
int a; float b;
a=15+5; // atribuindo o valor de 15+5 a variavel a (resultara em 20) b=1.5-0.5; // atribuindo o valor de 1,5-0,5 a variavel b (resultara em 1) cout<<"a="<<a<<"\n";
cout<<"b="<<b<<"\n"; system("pause");
return 0; }
P
ROCESSOS
Os processos são contas matemática (cálculos) que podem ser feitos com
números, variáveis ou ambos.
Abaixo está uma tabela com os operadores mais comuns:
Se você fizer 1+2*3, o resultado será 7 e não 9, pois a multiplicação deve
ser calculada primeiro. Para esta conta dar 9 devemos indicar que a soma deve ser feita antes da multiplicação. Ela ficaria assim, (1+2)*3. O que está entre parênteses deve ser calculado primeiro.
+ adição
- subtração
* multiplicação
/ divisão
% módulo (divisão no qual é obtido o resto)
+ + incremento de 1
P
ROCESSOS
Exemplos:
// EXEMPLO3
#include <iostream> using namespace std; int main (void){
int soma, subtracao, multiplicacao, divisao, decremento, incremento, resto; soma=50+50; subtracao=200-200; multiplicacao=5*5; divisao=10/5; decremento=10; decremento--; incremento=10; incremento++; resto=10%3; cout<<"soma = "<<soma<<"\n"; cout<<"subtracao = "<<subtracao<<"\n"; cout<<"multiplicacao = "<<multiplicacao<<"\n"; cout<<"divisao = "<<divisao<<"\n"; cout<<"decremento = "<<decremento<<"\n"; cout<<"incremento = "<<incremento<<"\n"; cout<<"resto = "<<resto<<"\n"; system("pause"); return 0; }
C
ONTROLE
DE
S
AÍDA
As funções de saída de C++ são encontradas na biblioteca padrão de
entrada/saída, a IOSTREAM.
No caso, para imprimir uma mensagem basta adicionar a linha com a
função COUT. Tudo que deve ser mostrado na tela deve estar especificado entre os acumuladores de saída (<<) e as aspas ("").
Exemplos:
//exemplo1
#include <iostream>
// biblioteca padrão I/O de C++ using namespace std;
int main (void){
cout <<"Esta e uma mensagem sendo mostrada na tela"; system("pause");
return 0; }
C
ONTROLE
DE
S
AÍDA
Exibindo resultado de variáveis
O que também podemos fazer é imprimir variáveis como por exemplo o
resultado de uma soma. Exemplos:
//exemplo2
#include <iostream> using namespace std; int main (void){
int a, b, resultado; a=5;
b=10;
resultado=a+b;
cout <<a<<" + "<<b<<" = "<<resultado; system("pause");
return 0; }
C
ONTROLE
DE
S
AÍDA
Controle de texto
O controle de texto é dado do mesmo modo que em C. Todos os controles
são determinados pelo caracter barra invertida (\) e uma letra. Cada letra faz algo determinado, veja a tabela abaixo e o exemplo:
Na maior parte da vezes, você irá usar apenas o \n para começar uma
nova linha.
E em C++ é um bom costume sempre utilizar no final da função o endl
(END LINE), dessa forma não precisamos nos preocupar com a mensagem que virá depois porque ela automaticamente virá em outra linha.
\n Pula de linha
\t Adiciona tabulação
\a Adiciona um bip
\b Faz o cursor voltar um caracter
C
ONTROLE
DE
S
AÍDA
Exemplos:
//exemplo3
#include <iostream>
using namespace std;
int main (void){
int a, b, c, d, r1, r2;
a=5;
b=10;
c=15;
d=25;
r1=a+b;
r2=c+d;
cout <<"O calculo retornou o seguinte resultado:"<<endl;
cout << a <<" + "<< b <<" = "<< r1;
cout << c <<" + "<< d <<" = "<< r2;
system("pause");
return 0;
}
C
ONTROLE
DE
ENTRADA
As funções de entrada de C++ são encontradas na biblioteca padrão de
entrada/saída, a IOSTREAM.
Toda entrada de dado deve ser armazenada em um endereço de uma
variável.
A entrada de entrada de dados é controlada pela função CIN.
Todas as entradas devem estar depois do acumulador de entrada* (>>) e
não é necessário identificar o tipo de dado com uma máscara, nem indicar o endereço da variável, apenas digitamos o nome da variável.
*Cuidado: Não confunda os acumuladores. O acumulador de saída é << e
C
ONTROLE
DE
ENTRADA
Exemplos:
//EXEMPLO1
#include <iostream> using namespace std; int main (void){
int nr;
cout <<"Digite um numero: "; cin >> nr;
cout <<"\n\n\nVoce digitou o numero: "<<nr; system("pause");
return 0; }
E
STRUTURA
C
ONDICIONAL
Uma ação muito importante que o processador de qualquer computador
executa, e que o torna diferente de qualquer outra máquina, é a tomada de decisão definindo o que é verdadeiro e o que é falso.
Em C / C++, como em muitas linguagens de programação, quem faz isso é
o IF (SE traduzindo).
O ELSE é o que chamamos de caso contrário, ou seja, se for falso execute o
que está no ELSE.
Exemplos:
#include <iostream> using namespace std; int main (void){
int nr;
cout<<"Digite um numero: "; cin>> nr;
if (nr>=0)
cout<<"O numero digitado e positivo"<<"\n\n"; //se nr for maior ou igual a 0 o numero sera positivo else
cout<<"O numero digitado e negativo"<<"\n\n"; //caso contrario, ele sera negativo!
system("pause"); return 0;
E
STRUTURA
DE
R
EPETIÇÃO
– FOR
(
PARA
)
//loop com FOR
#include <iostream> #include <cstdlib> using namespace std; int main (void){
int x;
for (x=1; x<=100; x++)
/* inicialização: x começa em 1
critério: executar enquanto x for menor ou igual a 100 incremento (++) será somado 1 a x */
cout << x <<"\t"; system ("pause"); return 0;
E
STRUTURA
DE
R
EPETIÇÃO
– FOR
(
PARA
)
#include <iostream>
#include <cstdlib>
using namespace std;
int main (void){
int x, user;
cout <<"Digite qual sera o intervalo da contagem\n";
cin >> user;
system ("cls"); // limpa a tela
for (x=1; x<=100; x+=user)
cout << x <<"\t";
system("pause");
return 0;
E
STRUTURA
DE
R
EPETIÇÃO
–
WHILE
(
ENQUANTO
)
#include <iostream> #include <cstdlib> using namespace std; int main (void){
int par=0;
cout <<"Os numeros pares de 0 a 100 sao:"<<"\n\n"; while (par<=100)
{
cout <<par<<"\t";
par+=2; //o mesmo que par=par+2 }
system ("pause"); return 0;
E
STRUTURA
DE
R
EPETIÇÃO
–
WHILE
(
ENQUANTO
)
#include <iostream> #include <cstdlib> using namespace std; int main (void){
int nr=1;
while (nr!=0) //enquanto nr for diferente de 0 {
cout <<"Digite um numero (0 para finalizar): "; cin >> nr;
if (nr>0)
cout <<"Este numero e positivo"<<"\n"; else
cout <<"Este numero e negativo"<<"\n"; }
system("pause"); return 0;
E
STRUTURA
DE
R
EPETIÇÃO
–
DO
...W
HILE
(
REPITA
)
#include <iostream> #include <cstdlib> using namespace std; int main (void){
int nr; do {
cout <<"Digite um numero (0 para finalizar): "; cin >> nr;
if (nr%2==0)
/* se nr for divisivel por 2
(O resto da divisão por 2 for 0)*/ cout <<"Este numero e par"<<"\n"; else
cout <<"Este numero e impar"<<"\n"; system ("pause");
system ("cls");
} while (nr!=0); //enquanto nr for diferente de 0 return 0;