LINGUAGEM DE
PROGRAMAÇÃO C++
Prof. Ed
LINGUAGEM DE PROGRAMAÇÃO
Uma linguagem de programação é um método
padronizado para expressar instruções para um
computador.
É um conjunto de regras sintáticas e semânticas
usadas para definir um programa de computador.
LINGUAGEM DE PROGRAMAÇÃO
Uma linguagem permite que um programador
especifique precisamente sobre quais dados um
computador vai atuar, como estes dados serão
armazenados ou transmitidos e quais ações
devem ser tomadas sob várias circunstâncias.
LINGUAGEM DE PROGRAMAÇÃO
O conjunto de palavras, compostos de acordo com
essas regras, constituem o código fonte de um
software.
Esse código fonte é depois traduzido para código
de máquina, que é executado pelo processador.
LINGUAGEM DE PROGRAMAÇÃO
Linguagens
de programação são
ferramentas importantes para que
programadores e engenheiros de software
possam escrever programas mais
organizados e com maior rapidez.
Linguagens de programação também
tornam os programas menos dependentes
de computadores ou ambientes
computacionais específicos (propriedade
chamada de portabilidade).
LINGUAGEM DE PROGRAMAÇÃO
Isto
acontece porque programas escritos
em linguagens de programação são
traduzidos para o código de máquina do
computador no qual será executado em
vez de ser diretamente executado.
Uma meta ambiciosa do Fortran, uma das
primeiras linguagens de programação, era
esta independência da máquina onde seria
executada.
LINGUAGEM DE PROGRAMAÇÃO
Uma linguagem de programação pode ser
convertida, ou traduzida, em código de máquina
por compilação ou interpretação, que juntas
podem ser chamadas de tradução.
LINGUAGEM DE PROGRAMAÇÃO
Se
o método utilizado traduz todo o texto
do programa (também chamado de
código), para só depois executar (ou rodar,
como se diz no jargão da computação) o
programa, então diz-se que o programa foi
compilado.
O mecanismo utilizado para a tradução é
um compilador (que por sua vez nada
mais é do que um programa).
LINGUAGEM DE PROGRAMAÇÃO
A
versão compilada do programa
tipicamente é armazenada, de forma que o
programa pode ser executado um número
indefinido de vezes sem que seja
necessária nova compilação, o que
compensa o tempo gasto na compilação.
Isso acontece com linguagens como Pascal
e C.
LINGUAGEM DE PROGRAMAÇÃO
Se o texto do programa é traduzido à medida em
que vai sendo executado, como em Javascript,
Python ou Perl, num processo de tradução de
trechos seguidos de sua execução imediata, então
diz-se que o programa foi interpretado e que o
mecanismo utilizado para a tradução é um
interpretador.
LINGUAGEM DE PROGRAMAÇÃO
Programas interpretados são geralmente mais
lentos do que os compilados, mas são também
geralmente mais flexíveis, já que podem interagir
com o ambiente mais facilmente (freqüentemente
linguagens interpretadas são chamadas também
de script).
COMPILADOR
Um
compilador é um programa que, a
partir de um código escrito em uma
linguagem, o código fonte, cria um
programa semanticamente equivalente
porém escrito em outra linguagem, código
objeto.
Um compilador é um dos dois tipos mais
gerais de tradutores, sendo que o segundo
tipo que a ele deve ser comparado é um
interpretador.
COMPILADOR
Normalmente, o código fonte é escrito em uma
linguagem de programação de alto nível, com
grande capacidade de abstração, e o código objeto
é escrito em uma linguagem de baixo nível, como
uma sequência de instruções a ser executada pelo
processador.
INTRODUÇÃO AO C++
C++ é uma linguagem derivada da linguagem C.
O que foi adicionado em C++ foram as classes, os
objetos e a programação orientada a objeto.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
A unidade fundamental de programas C++ são as
funções.
Um programa C++ consiste em uma ou várias
funções.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Forma
geral das funções C++
tipo nome()
{
instrucao_1;
instrucao_2;
.
.
instrucao_n;
}
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
O primeiro programa
#include<iostream.h>
void main()
{
cout<<“Primeiro programa”;
}
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Nome
das funções
Este programa compõe-se de uma única função
chamada main.
O nome de uma função pode ser qualquer um,
com exceção de main, reservado para a função
que inicia a execução do programa.
Se existir só uma função, esta deve ser main.
O programa termina quando for encerrada a
execução da função main.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Chaves
Toda função C++ deve começar com uma chave de
abertura de bloco { e deve terminar com uma chave
de fechamento de bloco }.
As chaves delimitam o corpo da função.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Espaços em branco
Você pode inserir espaços em branco e tabulações e
pular linhas à vontade em seus programas.
O compilador ignora esses caracteres.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Instruções de programa
O nosso primeiro programa contém uma única
instrução:
Cout<<“Primeiro Programa”;
Toda instrução C++ termina com um ponto-e-vírgula.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Instruções de programa
Uma função pode ter qualquer número de instruções.
As instruções devem ser escritas entre as chaves que
delimitam o corpo da função e são executadas na
ordem em que as escrevemos.
ESTRUTURA BÁSICA DE UM
PROGRAMA EM C++
Imprimindo usando cout
Cout (pronuncia-se “c out”) é um objeto da classe de
I/O (leitura e impressão) predefinida em C++.
O PRÉ-PROCESSADOR C++
A primeira linha do nosso programa não é uma
instrução C++ e sim uma diretiva do préprocessador C++.
A diretiva #include provoca a inclusão de outro
arquivo em nosso programa-fonte.
O PRÉ-PROCESSADOR C++
Quando usamos os sinais < e >, o arquivo é
procurado somente no diretório INCLUDE.
Quando usamos aspas duplas, o arquivo é
procurado primeiro no diretório atual e depois, se
não for encontrado, no diretório INCLUDE.
O PRÉ-PROCESSADOR C++
O arquivo iostream.h é um exemplo de arquivo de
inclusão.
Ele contém declarações necessárias ao uso do
objeto cout e do operador de inserção <<.
Sem essas declarações, o compilador não
reconhece cout e <<.
IMPRIMINDO NUMA NOVA LINHA
Vamos alterar o primeiro programa:
#include<iostream.h>
void main(){
cout<<“Primeira instrucao\n”;
cout<<“Segunda instrucao”;
}
CADEIA DE CARACTERES
CONSTANTE
A expressão “Primeiro programa” é um exemplo
de cadeia de caracteres constante.
A linguagem C++ reconhece uma cadeia de
caracteres constante quando delimitada por
aspas duplas, como mostrado na expressão
anterior.
ASPAS SIMPLES OU ASPAS DUPLAS
Algumas linguagens de programação permitem o
uso de aspas simples ou duplas indistintamente.
Em C++, as aspas simples servem para
representar um único caractere ASCII com um
valor numérico entre 0 e 255 e as aspas duplas,
para representar cadeias caracteres.
SEGUNDO PROGRAMA
#include<iostream.h>
int main(){
cout << “Venus esta a “ << 67 <<
“milhoes de milhas” << ‘\n’ <<
“do sol”;
}
TERCEIRO PROGRAMA
#include<iostream.h>
int main(){
cout<<“A letra “ << ‘j’;
cout<<“ pronuncia-se
“<<“jota”<<‘.’;
}
TERCEIRO PROGRAMA
Observe que ‘j’ é delimitado por aspas simples,
enquanto ”jota” é delimitado por aspas duplas.
Isto indica ao compilador como diferenciar um
caractere de uma cadeia de caracteres.
TERCEIRO PROGRAMA
Note também que a saída é escrita em duas
linhas de programa, o que não constitui duas
linhas impressas de texto.
Se você desejar imprimir um caractere de nova
linha, deve inseri-lo explicitamente.
VARIÁVEIS
As variáveis são o aspecto fundamental de
qualquer linguagem de programação.
Uma variável em C++ é um espaço de memória
reservado para armazenar um certo de tipo de
dado e tendo um nome para referenciar o seu
conteúdo.
VARIÁVEIS
Uma variável é um espaço de memória que pode
conter, a cada tempo, valores diferentes.
VARIÁVEIS
#include<iostream.h>
int main(){
int num1;
num1=44;
cout<<\nO primeiro numero é “<<num1;
int num2;
num2=88;
cout<<“\nO segundo numero é “<<num2;
}
DECLARAÇÃO DE VARIÁVEIS
As instruções:
int num1;
int num2;
São exemplos de declaração de variáveis, isto é,
apresentam um tipo int e um nome para acessar
seu conteúdo.
DECLARAÇÃO DE VARIÁVEIS
Uma declaração de variável consiste no nome de
um tipo, seguido do nome da variável, seguido de
ponto-e-vírgula.
As variáveis devem ser declaradas antes de
serem usadas no programa.
Elas podem ser declaradas em qualquer parte do
programa.
DECLARAÇÃO DE VARIÁVEIS
Se você tiver mais de uma variável do mesmo
tipo, poderá declará-las de uma única vez,
separando seus nomes por vírgulas.
int aviao, foguete, helicoptero;
TIPOS DE VARIÁVEIS
O tipo de uma variável informa a quantidade de
memória, em bytes, que a variável ocupará e a
forma como um valor deverá ser armazenado e
interpretado.
Existem cinco tipos básicos de variáveis.
TIPOS DE VARIÁVEIS
TIPO
BIT
ESCALA
char
8
-128 a 127
int
16
-32768 a 32767
float
32
3.4E-38 a 3.4E+38
double
64
1.7E-308 a 1.7E+308
void
0
nenhum valor
INICIALIZAÇÃO DE VARIÁVEIS
Inicializar uma variável significa atribuir um
valor a ela na mesma instrução de sua
declaração.
VARIÁVEIS EM PONTO FLUTUANTE
(FLOAT)
Números em ponto flutuante correspondem ao
que os matemáticos chamam de “números reais”.
Existem várias maneiras de escrever números em
ponto flutuante.
VARIÁVEIS EM PONTO FLUTUANTE
(FLOAT)
A notação “3.16E7” é um meio de indicar que 3.16
será multiplicado por 10 elevado à potência 7,
isto é, 31600000.
Esta indicação chama-se notação científica.
VARIÁVEIS EM PONTO FLUTUANTE
(FLOAT)
Valores armazenados em variáveis float são
guardados em duas partes: mantissa e expoente.
NOMES DE VARIÁVEIS
Em C++, letras maiúsculas e minúsculas são
diferentes.
Em C++, somente os 32 primeiros caracteres são
significativos.
Uma variável não pode ter o mesmo nome de
uma palavra-chave.
OPERADOR DE ATRIBUIÇÃO
Em C++, o sinal de igual não tem a interpretação
dada em matemática.
Representa a atribuição da expressão à sua
direita à variável à sua esquerda.
Atribuições múltiplas.
OPERADORES ARITMÉTICOS
+ Soma
- Subtração
* Multiplicação
/ Divisão
% Módulo (somente com inteiros)
LENDO COM CIN E O OPERADOR DE
EXTRAÇÃO >>
O objeto cin (“C in”) manipula toda entrada do
teclado por meio do operador de extração >> que
conecta a entrada de dados à variável que a
conterá.
MÚLTIPLAS ENTRADAS COM CIN
#include<iostream.h>
void main(){
cout<<“\nDigite as notas das 4 provas: “;
float p1,p2,p3,p4;
cin>>p1>>p2>>p3>>p4;
float media=(p1+p2+p3+p4)/4;
cout<<“\nMedia: “<<media;
}
CONVERSÕES DE TIPO E O
OPERADOR DE MOLDE
Suponhamos
que desejemos imprimir o
valor numérico de um caractere da tabela
ASCII.
Para isso, usaremos um novo operador
chamado operador de molde, que consiste
em escrever o nome do tipo desejado e em
seguida o valor ou a expressão a ser
avaliada entre parênteses.
Char ch = ‘A’;
Cout << int(ch); //Imprime 65
AS FUNÇÕES GETCHE() E GETCH()
#include <iostream.h>
#include <conio.h>
void main(){
char ch;
cout<<“\nPressione uma tecla “;
ch = getche();
cout<<“\nA tecla sucessora ASCII é
“<<char(ch+1);
}
AS FUNÇÕES GETCHE() E GETCH()
A
função getche() retorna o caractere lido
no teclado.
O valor retornado de uma função pode ser
chamado de valor da função ou resultado
da função.
A expressão
ch=getche();
atribui o valor da função getche à variável
ch.
AS FUNÇÕES GETCHE() E GETCH()
A função getch() é similar à função getche(),
exceto pelo fato de que o caractere digitado não é
impresso no vídeo.
As duas necessitam do arquivo “conio.h”.
COMENTÁRIOS
Comentários podem ser colocados em qualquer
lugar do programa e são tratados pelo compilador
como espaços em branco.
Comentários são utilizados para documentar o
seu código-fonte.
OPERADORES DE INCREMENTO E DE
DECREMENTO
A instrução
x=x+1;
é equivalente a
++x;
que é equivalente a
x++;
OPERADORES DE INCREMENTO E DE
DECREMENTO
n=5;
x=++n;
cout<<“\nN= “<<n<<“ X= “<<x;
A saída será
N=6 X=6
OPERADORES DE INCREMENTO E DE
DECREMENTO
n=5;
x=n++;
cout<<“\nN= “<<n<<“ X= “<<x;
A saída será
N=6 X=5
OPERADORES RELACIONAIS
> maior
>= maior ou igual
< menor
<= menor ou igual
== igual
!= diferente
PROGRAMA EXEMPLO
#include<iostream.h>
void main(){
int verdadeiro, falso;
verdadeiro = (15<20);
falso = (15==20);
cout<<“\nVerdadeiro “<<verdadeiro;
cout<<“\nFalso “<<falso;
}
OPERADORES LÓGICOS: && || !
C++ oferece três operadores lógicos. São eles:
&& lógico e
|| lógico ou
! Lógico não
COMANDOS DE DECISÃO
Os comandos de decisão permitem determinar
qual é a ação a ser tomada com base no resultado
de uma expressão condicional.
O COMANDO IF
A instrução if consiste na palavra-chave if
seguida de uma expressão de teste entre
parênteses.
Se a expressão de teste for verdadeira, a
instrução é executada; do contrário, nada é feito.
O COMANDO IF
if (expressão de teste)
{
Instrução;
Instrução;
}
O COMANDO IF-ELSE
O comando if-else é uma expansão de um simples
comando if.
O comando if permite que executemos algo
somente se a sua expressão de teste for
verdadeira, caso contrário nada é executado.
O COMANDO IF-ELSE
Suponhamos que você queira executar alguma
coisa se a expressão de teste for verdadeira e
outra coisa se a expressão de teste for falsa.
Neste caso, você deve usar o comando if-else.
O COMANDO IF-ELSE
if (expressão de teste)
{
instrução;
instrução;
}
else
{
instrução;
instrução;
}
O COMANDO IF-ELSE
if (expressão de teste 1)
{
instrução;
instrução;
}
else if (expressão de teste 2)
{
instrução;
instrução;
}
else
{
instrução;
instrução;
}