O documento apresenta o professor Claudio Cesar de Oliveira Cordeiro e seu currículo acadêmico e profissional. Ele também fornece um índice do capítulo 1 sobre conceitos básicos de informática, incluindo hardware, software, sistemas de numeração e linguagens de programação.
1. Prof. Claudio Cesar de Oliveira Cordeiro
claudio_cesar_cordeiro@yahoo.com.br Jul 2013
Capítulo 01
Introdução ao C++
Linguagem de Programação I
001
2. claudio_cesar_cordeiro@yahoo.com.br .
ApresentaçãoProfessor Claudio Cesar de Oliveira Cordeiro
► Formação Profissional
► Engenheiro Eletricista – Modalidade Eletrônica – Universidade Gama Filho
► Pós-Graduação em Gestão da Excelência Empresarial – UNIFOA
► Experiência Profissional
► Trabalhou na Embratel durante 31 anos em várias áreas (1977 a 2008)
► Aposentou-se em 02 de dezembro de 2008
► Manteve em atividade a Empresa de Treinamento Multimídia Informática (1990 a 1994)
► Experiência Acadêmica
► Curso de Didática do Ensino Superior pela Fundação MUDES
► Professor da Estácio desde outubro de 2003
► Instrutor em vários cursos na Embratel
► Professor da extinta Multimídia Informática Ltda
► Disciplinas Ministradas nos Campus Centro Rio e São Gonçalo (2003 a 2011)
► Qualidade e Produtividade
► Gestão de Projeto (com Ênfase no PMI – Project Management Institute)
► Disciplinas Ministradas no Campus Niterói em 2012 e 2013
► Algoritmos
► Linguagem de Programação I – Linguagem C e C++
► Lógica de Programação
► Materiais Elétricos
002
3. 003claudio_cesar_cordeiro@yahoo.com.br .
Introdução ao C++
Cap. 01 - ÍndiceProf. Claudio Cesar de Oliveira Cordeiro
► Conceitos Básicos da Informática
► Hardware & Software
► Comunicação
► Sistemas de Numeração
► Decimal – Binário – Octal - Hexadecimal
► Sistema de Numeração Binário - Bits e Bytes
► Conversão Sistema Binário ► Hexa e Vice-Versa
► Múltiplos do Byte – Tabela IEC e Sistema Internacional SI
► Tipos de Softwares
► Sistemas Operacionais
► Programas Aplicativos
► Linguagens de Programação
► Tipos de Linguagens
► Linguagem de Alto Nível
► Linguagem de Baixo Nível, Máquina, Binária
► Programas Tradutores
► Interpretadores
► Compiladores
► Exemplos de Linguagens de Programação
► A Origem do C++
► O Criador
► Paradigmas de Programação
► Linguagem de Programa Não-Estruturada
► Linguagem de Programa Estruturada
► Programação Orientada a Objetos (POO, OOP)
► O Compilador Dev-C++
► Apresentando o Dev-C++
► Iniciando a Digitação de um Programa Fonte Novo
► Programa Fonte
► Programa Compilado
► Programa em Linguagem de Máquina ou Binária
► Apresentando Número de Linha no Editor do Dev-C++
► Configuração de Cores no Editor do Dev-C++
Continuação...
► Execução de um Programa C++ começa na Função main ()
► Inclusão de Bibliotecas com o Comando #include
► Função main ()
► Função Obrigatória num Programa C++
► Execução de um Programa C++ começa na Função main ()
► Atenção com o Compilador Dev-C++
► Cuidado ao Copiar e Colar
► Mudança de Linha e Caracteres de Escape
► Tabela Caracteres de Escape ou Códigos de Barra Invertida
► O Comando system Dando Pausa no Sistema Operacional
► O Comando getch() Dando Pausa no Programa
► Estrutura Básica de um Programa C++
► O Comando cout do C++
► Declaração de Vairáveis
► Atribuição de Valores às Variáveis
► Overload (Sobrecarga) do Caractere de Inserção do cout
► O Comando cin do C++
► As 7 Primeiras Regras Básicas Para Programar no C++
► Regra 01 - O melhor Compilador
► Regra 02 - Simplifique, Não Complique!
► Regra 03 - Não se esqueça das Bibliotecas
► Regra 04 - Nunca se esqueça do namespace
► Regra 05 - Nunca se esqueça do ponto e vírgula
► Regra 06 - C++ é case sensitive - Comandos em minúsculas
► Regra 07 - NUNCA DESISTA!
► Logs de Erro do Dev-C++
► Warnings (Alertas, Avisos) na Compilação com o Dev-C++
6. 006claudio_cesar_cordeiro@yahoo.com.br
HW & SW
.
Linguagem de Programação I - C++
Hardware + Software + Firmware = Sistema Computacional
Hardware (HW) ► Toda a parte física do sistema
Software (SW) ► São os programas de um sistema
Firmware (FW) ► SW armazenado numa ROM
17. 017claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Regra 2: Convenciona-se que a partir de agora os
números devem ser escritos com índice da base
(subscrito), exceto quando se referir à base decimal.
Atenção!
Mesmo convencionado que não precisamos explicitar a base de um número decimal, é de bom tom o fazermos.
Assim, evitamos dúvidas. Veja: 10 é dez na base dez ou um e zero na binária? Quem escreveu esqueceu de informar que a
base é binária ou é mesmo um número decimal? Melhor prevenir do que remediar!
Número 10, na Base
Decimal, escrito nas
Bases 2, 8 e 16
18. 018claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Regra 3: O C++ diferencia números entre bases
diferentes usando prefixos nos números!
Atenção! Não se esqueça!
Número decimal NUNCA tem zero à esquerda!
Número Octal é sempre escrito COM ZERO à esquerda!
Número Hexadecimal é sempre escrito com 0x à esquerda!
Número 123 na Base Octal
0
0x Número 123 na Base Hexa
Número 123 na Base DecimalZero
Zero x
Sem nada
21. claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Contando em Decimal – Algarismos Arábicos Decimais
1
2
3
0
5
6
7
4
9
0
8
1
Contando de 0 a 10
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
...........
11
12
13
10
15
16
17
14
19
0
18
2
Contando de 10 a 20
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
...........
Note que 10
é a Base de
qualquer
sistema de
numeração.
Não é
mágica! É
Matemática!
021
24. claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Contando em Binário – Os “algarismos” são 0 e 1
1
0
1
0
Contando de 0 a 7
+ 1
+ 1
+ 1
+ 1
1
1
001
101
011
111
Contando de 8 a 16
0001
1001
0101
1101
0011
1011
0111
1111
00001
...........
..........................
024
25. 025claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Contando em Binário – Os “algarismos” são os Bits!
Bits
b3 b2 b1 b0
0
1
1 0
1 1
Bits
b3 b2 b1 b0
1 0 1
1 1 0
1 1 1
1 0 0
D
1
2
3
0
D
5
6
7
4
Bit – Binary Digit – Dígito Binário – Só pode ser zero ou um!
26. 026claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Contando em Binário – De 0 a 16
Bits
b3 b2 b1 b0
Bits
D
9
10
80 0 01
0 0 11
0 1 01
110 1 11
b3 b2 b1 b0 D
13
14
121 0 01
1 0 11
1 1 01
151 1 11
160 0 001b0 – Bit Zero – Bit menos significativo.
27. 027claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Byte – Binary Term – Termo Binário
b7 b6 b5 b4
0 0 00
0 0 00
1 1 11
1 1 11
b3 b2 b1 b0 Deci
1
254
00 0 00
0 0 10
1 1 01
2551 1 11
Byte
Bits
Nybble 0Nybble 1
Byte é
conjunto
de 8 bits
Nybble é
conjunto
de 4 bits
Um byte
tem dois
nybbles
Bit MAIS significativo. Bit menos significativo.
29. claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Contando em Hexadecimal – Algarismos Arábicos Decimais + Letras!
1
2
3
0
5
6
7
4
9
A
8
Contando de 0 a 10
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
...........
C
D
D
B
0
1
F
FF
Contando de 11 a 255
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
...........
1
1
EF
DF
Note que 10 é a
Base de qualquer
sistema de
numeração. Não é
mágica! É
Matemática! 1016 é
a Base do
Hexadecimal (16).
029
32. 032claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Para Converter Binário Menor que um Nybble em Hexadecimal
1 1 0 1 1 00
1º Pass0 - Se número binário com menos de 4 bits, completar com zeros à esquerda.
2º Pass0 – Converter agora o binário para Hexa. 01102 é 416
1 1 00 4
33. 033claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Para Converter Binário Menor que dois Nybbles em Hexadecimal
1 1 0
1º Pass 0 - Se número binário com mais de 4 bits e menor do que 8 bits, completar com
zeros à esquerda nyblle a nybble até completa um byte inteiro.
2º Pass0 – Converter agora o binário de quatro em quatro bits para Hexa.
416
1 1 0
1 1 0 1 1 000
3
35. 035claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
b7 b6 b5 b4 b3 b2 b1 b0
Bits
Caso 1 - Para Converter Hexadecimal em Binário
F A
1 1 1 1 1 0 1 0
= 25010
Atenção!
Converter sempre de 4 em 4 bits. O número hexa acima tem ambos os nybbles completos, assim é converter direto para binário.
36. 036claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
b7 b6 b5 b4 b3 b2 b1 b0
Assim, 1116 = 000100012 = 100012 = 1710
Caso 2 - Para Converter Hexadecimal em Binário
1 116
0 0 0 1 0 0 0 1
= 1710
Atenção!
Converter sempre de 4 em 4 bits. Se número hexa tiver ny bbles com menos de 4 bits em binário, completar com zeros à esquerda.
40. 040claudio_cesar_cordeiro@yahoo.com.br
.
Tipos de
Softwares
Sistemas Operacionais
Programas Aplicativos
Linguagens de Programação
Sistemas Operacionais
são programas que
controlam todo o HW e
todo os outros SW do
sistema de computador.
Linguagens de
Programação permite
que o homem escreva
comandos para que o
computador possa
executá-los.
Programas Aplicativos são os
desenvolvidos para uma
determinada aplicação. Exemplo:
para escrever textos usamos o
MS (MicroSoft) Word. Para
criarmos planilhas eletrônicas
usamos o MS Excel e para esta
apresentação na tela estamos
usando o aplicativo MS
PowerPoinT (PPT).
.
Linguagem de Programação I - C++
42. 042claudio_cesar_cordeiro@yahoo.com.br * BASIC foi muito utilizado na década de 80. Hoje temos o Visual Basic da Microsoft.
.
Exemplo Programa em Linguagem de Alto Nível
10 Cls
20 Print “Alô, mundo!”
30 End
Linguagem BASIC de Alto Nível
BASIC é uma sigla!
Beginners
All-purpose
Standard
Information
Code
Linguagem de Alto Nível é aquela em que os comandos estão
escritos numa linguagem que é fácil para o homem entender. Cls
acima vem do inglês Clear Screen, limpar a tela. Print imprime
na tela um texto, uma variável ou expressão. End é fim.
Este programinha escrito pelo programador é
chamado de Programa Fonte, ou Código Fonte.
Alô, mundo!
Linguagem de Programação I - C++
43. 0423claudio_cesar_cordeiro@yahoo.com.br
.
Exemplo Programa em Linguagem de Baixo Nível
00011010 11001100
00101100 00110011
00101111 00000000
Linguagem de Baixo Nível
Linguagem de
Máquina é a
linguagem de mais
baixo nível que
temos. É a
Linguagens dos
Zeros (0) e Uns (1)!
Linguagem de Baixo Nível é aquela em que os comandos estão escritos numa
linguagem que a máquina entende; e ela só entende zeros (0) e uns (1). Linguagem de
Máquina ou Linguagem Binária é tremendamente difícil para o homem entender. Então
deve haver algum programa que converta a Linguagem de Alto Nível em Linguagem de
Máquina, certo? Sim! São os Programas Tradutores.
Este programinha que a CPU entende é chamado
de Programa em Linguagem de Máquina, Código
Binário e ainda Código EXEcutável (são os
programas .exe).
Alô, mundo!
.
Linguagem de Programação I - C++
44. 044claudio_cesar_cordeiro@yahoo.com.br
.
Tipos de Tradutores
de Linguagens de
Programação
Interpretadores
Compiladores
Interpretadores
As instruções do Programa Fonte
são traduzidas em código binário e
executadas imediatamente.
Compiladores
As instruções do Programa Fonte
são traduzidas, mas não são
executadas imediatamente! É
gerado um novo programa com as
instruções convertidas na
Linguagem de Máquina, que
posteriormente será executado; é
o famoso .exe.
SO – Sistema Operacional (OS – Operating System)
Linguagem de Programação I - C++
Portugol
C++
48. 048claudio_cesar_cordeiro@yahoo.com.br Mais detalhes ► http://pt.wikipedia.org/wiki/C%2B%2B
C++
C++
► O C++ (em português lê-se "cê mais mais") é uma linguagem de programação multi-paradigma e de uso
geral. A linguagem é considerada de nível médio ou intemediário, pois combina características de
linguagens de alto e baixo níveis. Desde os anos 90 é uma das linguagens comerciais mais populares.
► Bjarne Straustrup desenvolveu o C++ (originalmente com o nome C with Classes (C com Classes) em
1983 no Bell Labs como um adicional à linguagem C. Novas características foram adicionadas com o
tempo, como funções virtuais, sobrecarga de operadores, herança múltipla, gabaritos e tratamento de
exceções. Após a padronização ISO realizada em 1998 e a posterior revisão realizada em 2003, uma
nova versão da especificação da linguagem foi lançada em setembro de 2011, conhecida informalmente
como C++11.
► O porquê do nome C++ - Durante sua fase inicial de desenvolvimento, a linguagem era chamada "novo
C", "C84" ou ainda "C com classes". O termo "C++" é creditado a Rick Mascitti, e foi utilizado pela
primeira vez em dezembro de 1983. Ele é uma referência ao operador de incremento ++, significando um
incremento, um acréscimo (uma evolução) à linguagem C.
► Bjarne Stroustrup (11 de junho de 1950) é dinamarquês, cientista da computação e professor
catedrático da Universidade do Texas. É conhecido como o Pai da Linguagem de Programação I - C++.
Bjarne Stroustrup
A Linguagem C faz com que
dar um tiro no pé seja fácil. A
Linguagem C++ torna isso
mais difícil, mas quando nós o
fazemos arrebentamos com a
perna toda.
Bjarne Stroustrup
Linguagem de Programação I - C++
... e o Criador!
A origem ...
Leitura Complementar ► Apostilas indicadas
52. 052claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Programação Não-
Estruturada é uma
forma (paradigma)
de programação de
computadores que
permite que os
programas possam
usar estruturas de
desvio incondi-
cionais, além de
estruturas de
sequência, decisão
e repetição.
As famosas estruturas de desvio incondicional mais
conhecidas são GOTO, GOSUB, ONGOTO, ONGOSUB que
eram utilizadas na Linguagem BASIC da década de 80.
10 Cls
20 Print “Cuidado!”
30 Goto 50
40 Print “Alô, Mundo!”
50 End
Neste pequeno programa em BASIC a mensagem “Alô, Mundo!”,
nunca será mostrada devido ao desvio incondicinal para o FIM!
Problemas da Programação Não-Estruturada!
Aqui fica fácil ver o problema, mas num programa de centenas ou
milhares de linhas não é tão simples assim!
Programação Não-Estruturada
54. 054
.
.
Linguagem de Programação I - C++
Programação
Estruturada é uma
forma (paradigma) de
programação de
computadores que
estabelece que todos
os programas podem
ser escritos usando-se
apenas três estruturas
básicas: sequência,
decisão e repetição.
Estrutura de
Sequências de
Comandos
Estruturas de
Decisão
Estruturas de
Repetição
#include <iostream>
int main ()
{
cout << “Alô Mundo!”;
return 0;
}
if
switch
for
while
do while
Não se usa
estruturas de
desvio
incondicional
tais como GOTO
ou GOSUB na
Linguagem
Estruturada!
As Linguagens C e C++ são Linguagens Estruturadas!
Programação Estruturada
claudio_cesar_cordeiro@yahoo.com.br
1
2
3
56. 056claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
No Paradigma de
Programação
Orientada a Objetos
(POO) ou Object
Oriented
Programming (OOP),
as unidades de
software são
tratadas como
objetos. Por exemplo:
um comando seria
um objeto.
A Linguagem C não suporta POO, mas o C++ sim!
Programação Orientada a Objetos
Nossa Disciplina Linguagem de Programação I não contempla a
Programação Orientada a Objetos, portanto, não será alvo de nosso estudo!
Aos interessados no assunto, sugiro o excelente livro “Programação
Orientada a Objetos com C++” de André Duarte Bueno – Editora Novatec
Alguns Conceitos da POO:
► Abstração
► Objeto ou Instância
► Identidade do Objeto
► Classes
► Atributos (Propriedades/Variáveis)
► Métodos (Funções)
► Herança (Heriditariedade)
► Polimorfismo
► UML – Unified Modeling Language
58. Apresentando o Compilador Dev-C++ 5.0 beta 9.2 (4.9.9.2 )
claudio_cesar_cordeiro@yahoo.com.br http://www.bloodshed.net/devcpp.html
O Compilador DEV-C++ freewareLinguagem de Programação I - C++
058
59. Iniciando a Digitação de um Programa Fonte Novo
claudio_cesar_cordeiro@yahoo.com.br http://www.bloodshed.net/devcpp.html
O Compilador DEV-C++ freewareLinguagem de Programação I - C++
059
Programa Fonte é o programa
original escrito em Linguagem
de Alto Nível pelo programador!
Os comandos são fáceis de
serem entendidos, afinal são
palavras e acrônimos em
Inglês.
60. Compilador Transforma o Programa Fonte num Programa em Linguagem de Máquina
claudio_cesar_cordeiro@yahoo.com.br http://www.bloodshed.net/devcpp.html
O Compilador DEV-C++ freewareLinguagem de Programação I - C++
060
Programa
Fonte em
C++.
Arquivo
com a
extensão
.cpp no
Compilador
Dev-C++.
Programa
Objeto,
Programa em
Linguagem de
Máquina ou
Binária com a
extensão .exe,
que pode ser
executado pelo
Sistema
Operacional
Windows.
Compilador
Fonte Executável
Alto Nível Baixo Nível
61. Apresentando o Número das Linhas do Programa Fonte e Tamanho das Letras
claudio_cesar_cordeiro@yahoo.com.br Veja link para download do Dev-C++ ► http://www.bloodshed.net/devcpp.html
Configurando o DEV-C++Linguagem de Programação I - C++
061
Os números das linhas que aparecem no Editor não
fazem parte do programa, mas ajudam pra caramba
na hora de se ”debugar” o programa!
Debugging Aids – Ajudas (Recursos) para
se debugar o programa. “Debugar” é
procurar por erros do programa.
62. Iniciando o Compilador Dev-C++
Exemplo 01 – O Primeiro Programa Ninguém Esquece!
062claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
#include <iostream> //Inclui a Biblioteca iostream
using namespace std; //Usaremos grupo lógico (namespace) padrão
int main () //Função principal do C++
{ //Início da função main.
system ("PAUSE > null"); //Pausa. Para seguir pressionar qq tecla
return 0; //Retorno com valor zero, tudo OK
}
Após iniciar o Compilador Dev-
C++, para criarmos um novo
programa C++, devemos clicar
em:
►File (Arquivo)
►New (Novo)
►Source File (Arquivo Fonte).
Podemos também pressionar
Ctrl+N ou clicar no Botão Novo.
Em seguida devemos digitar
nosso primeiro programinha ao
lado.
Digite estas 7 linhas abaixo
EXATAMENTE
como está aqui neste
quadro. Não precisa digitar
as linhas de comentário.
63. Iniciando o Compilador Dev-C++
Exemplo 01 – O Primeiro Programa Ninguém Esquece!
063claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
AS cores são configuráveis no Dev-C++!
► Menu Ferramentas
► Opções do Editor
► Sintaxe
Para compilar o programa
fonte e logo em seguida
executar o programa
compilado, devemos pressionar
a tecla:
F9!
Atenção!
A execução de
um programa
C++ começa na
Função main ()!
64. Iniciando o Compilador Dev-C++
Exemplo 01 – O Primeiro Programa Ninguém Esquece!
064claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Mais um vez!
Para compilar o programa
fonte e logo em seguida
executar o programa
compilado, devemos pressionar
a tecla:
F9!
O nosso primeiro programinha na verdade
não faz nada, mas FUNCIONA!
Este é o resultado da execução
do Programa Compilado.
Uma linda tela preta!
65. Exemplo 01 – Listagem Digitar no Editor do Dev-C++
Primeiro Programa em C++
065claudio_cesar_cordeiro@yahoo.com.br Podemos ter outras funções no programa, mas a main () é obrigatória!
Linguagem de Programação I - C++
Digite estas
linhas no Dev-
C++.
Não esqueça
do ponto e
vírgula!
Não esqueça
do ponto e
vírgula!
Não
esqueça os
três pontos
e vírgulas!
66. Exemplo de Programa C++
Exemplo 01 – O Primeiro Programa Ninguém Esquece!
066claudio_cesar_cordeiro@yahoo.com.br
Este exemplo mostra a
estrutura básica de um
programa em C++. Não
faz nada ainda, pois só
inserimos o comando
system. Importante notar
a Biblioteca iostream no
início e a função principal
main () dentro da qual os
comandos serão
inseridos (entre as
chaves).
Após a compilação pelo
Dev-C++ não foram
encontrados erros nem
warnings (avisos,
advertências).
A Biblioteca iostream contém os principais comandos de entrada e saída de
dados do C++, entre outros. Para incluirmos uma biblioteca usamos o
comando #include <nome_da_biblioteca>.
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
.
Linguagem de Programação I - C++
Dev-C++ na
versão Inglês
67. Exemplo 01 – Listagem para Dev-C++
Necessária para o
comandos system, cin,
cout e endl.
Biblioteca e Namespace
067claudio_cesar_cordeiro@yahoo.com.br As chaves delimitam o início e o fim de um bloco de comandos, no caso o da a função main ().
Linguagem de Programação I - C++
Grupo Lógico
(namespace)
necessário para o
comando cin e
cout.
Função OBRIGATÓRIA num programa C++. A
execução de um programa C++ começa em main ()!
Dá uma pausa
no Sistema
Operacional.
Se a função main ()
chegou até e aqui e
retornou o valor inteiro
(int) zero, tudo OK na
execução do programa.
Início de
main ()
Fim de
main ()
68. Exemplo de Programa C++
Executando o Primeiro Programa Que Ninguém Esquece!
068claudio_cesar_cordeiro@yahoo.com.br
Para somente
executar o programa
pressionamos Ctrl+F10
ou clicamos no ícone
de executar do
Compilador Dev-C++.
Aparece somente uma
tela preta e o cursor
piscando.
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
.
Linguagem de Programação I - C++
Como esperado,
somente uma tela!
preta!!
69. Exemplo de Programa C++
Exemplo 02 - O Primeiro Programa – Agora com Mensagem na Tela
069claudio_cesar_cordeiro@yahoo.com.br
Para enviar uma
mensagem para a tela
usamos o comando
cout. Veja que
usamos o símbolo <<
de inserção.
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
Nota Interessante: Apesar de digitarmos duas vezes o sinal de menor, o compilador
entende os dois como somente um caractere de inserção.
.
Atenção! cout é objeto do C++ e está contido na Biblioteca
<iostream> e será usado no namespace std (padrão) do C++.
Linguagem de Programação I - C++
70. Exemplo de Programa C++
Exemplo 02 - O Primeiro Programa com Mensagem na Tela
070claudio_cesar_cordeiro@yahoo.com.br
Note que a
mensagem deve
estar entre aspas
duplas. Tudo que
estiver dentro das
aspas, no
comando cout,
será mostrado na
tela.
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
.
Linguagem de Programação I - C++
72. Dev-C++ não compila! Janela de programa anterior aberta!
072
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
claudio_cesar_cordeiro@yahoo.com.br
Janela de Executável Aberta
.
Linguagem de Programação I - C++
Às vezes quando
pressionamos F9
para compilar e
executar, o Dev-C++
não responde.
Verifique se não há um ícone da
janelinha do DEV-C++ da última
execução aberta na Barra de Tarefas.
Se houver, precisamos fechá-la.
74. #include <iostream>
using namespace std;
int main ()
{
cout << "Meu Primeiro Programa Funciona!!!";
cout << “Pressione qq tecla para terminar.”;
system ("PAUSE > null");
return 0;
}
Exemplo 03 – Listagem para Dev-C++
Agora duas mensagens!
074claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
75. Exemplo 03 – Listagem Copiada do PPT para Dev-C++
ATENÇÃO!!!
O segundo comando cout FOI DIGITADO
NO PPT. Quando copiamos no Dev-C++
note que as aspas ficaram DIFERENTES
e a mensagem ficou na cor preta!
Quando compilamos o programa, dá erro
In function “int main ()’: no comando
cout!
Solução: no DEV-C++ redigite as aspas e
aí funciona. Cuidado com o Copiar e
Colar! Detalhe: isto nem sempre
acontece, mas fiquemos atentos!
Erro ao Copiar do PowerPoinT (PPT)
075claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Atenção! Mensagem do comando cout na cor preta significa aspas duplas erradas!
77. Enviando Mensagem Para a Tela - cout
Exemplo 03 - O Primeiro Programa – Mais Mensagens na Tela
077
Compilar e
Executar (F9)
Executar (Ctrl+F10)
Compilar (Ctrl+F9)
claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Quando o programa
for executado, veja
que as mensagens
ficarão na mesma
linha! Vamos fazer
com que as
mensagens fiquem em
linha diferentes.
78. 078
Para mudarmos
de linha usamos
um caractere
especial
chamado
Caractere de
Escape ou
Código de Barra
Invertida:
n
dentro da
mensagem do
cout.
claudio_cesar_cordeiro@yahoo.com.br
Exemplo 04 - Mais Mensagens na Tela em Linhas Diferentes
Caracteres Especiais de Escape
.
Linguagem de Programação I - C++
Nota: n vem de new line ► nova linha.
79. 079
Podemos também
fazer mudança de
linha usando o
modificador endl do
comando cout. endl
(end line) faz o
mesmo que n dentro
da mensagem como
visto no exemplo
anterior.
claudio_cesar_cordeiro@yahoo.com.br
Exemplo 05 - Mais Mensagens Usando endl
Caractere Especial de Escape – Mudança de Linha
Um endl no comando
cout provoca uma
mudança de linha.
.
Linguagem de Programação I - C++
80. Códigos de Barra Invertida ou Caracteres de Escape
Estes códigos (barra
invertida + caractere)
são usados para
inserir caracteres de
controle ou especiais
não podem ser
facilmente inseridos
via teclado. São muito
usados com os
comandos cout (C++).
Códigos de Escape
080claudio_cesar_cordeiro@yahoo.com.br ATENÇÃO! Apesar de digitarmos dois caracteres, para o C++ são apenas UM!
Linguagem de Programação I - C++
82. 082claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Exemplo 06 – O Comando system Note que na linha 17 o
comando system foi
modificada de
system (“PAUSE > null”);
para
system (“PAUSE”);.
O system sem “... > null”);
envia sua mensagem de
parada na tela. Veja que
aparecem duas mensagens
avisando para prosseguir.
A da linha 14 foi o
programador quem definiu,
mas a da linha 17 é o
comando system quem
envia, sem interferência do
programador.
Também
funcionam!
84. 084
Há programadores
profissionais que condenam
a prática de dar pausa no SO
usando o comando system,
devido a vários efeitos
indesejados e consumir
muito recurso da máquina.
Uma outra forma de dar
pausa (no programa e não no
SO) é usar o comando
getch(), que precisa da
biblioteca conio.h.
claudio_cesar_cordeiro@yahoo.com.br
Pausa no Programa Usando getch()
.
Linguagem de Programação I - C++
Exemplo 07 – Pausa com o Comando getch()
86. 086claudio_cesar_cordeiro@yahoo.com.br
Passo a Passo na Estrutura Básica de um Programa em C++ - Para
Iniciantes! DE NOVO! NOVAMENTE! OUTRA VEZ!
Pausa no Programa Usando getch()
.
Linguagem de Programação I - C++
1º - Incluir biblioteca(s)
2º - Usar
namespace (grupo
lógico) padrão (std)
3º - A Função obrigatória do C++
5º - Dar uma
pausa no SO
ou melhor,
usar o getch()
6º - Retorno da
Função main().
Retorna um
número inteiro
4º - Abre Chavae ► Início da Função main().
7º - Fecha Chave ►
Fim da Função main()
88. claudio_cesar_cordeiro@yahoo.com.br .
Lógica de Programação Caracteres de Inserção de Dados <<
>>
cout << var;
cout << “a”;
cout vem de console
out. Saída para o
console, no caso o
vídeo!
cout << “texto”n;
1
2 3
Este comando 2 dá
erro na compilação.
Por quê?
088
89. 089
O comando cout envia
para a tela uma
mensagem escrita
entre aspas duplas,
uma mudança de linha
(n ou endl),
Caracteres de Escape,
tipo: n, a, t, ’, ” e
outros e envia
também outros dados
e informações que
veremos a seguir.
claudio_cesar_cordeiro@yahoo.com.br
Exemplo 07 - O Comando cout enviando mensagens para a tela
.
Linguagem de Programação I - C++ Usando Comando cout
91. 091claudio_cesar_cordeiro@yahoo.com.br
Exemplo 08 - Enviando conteúdo de variáveis para a tela – Parte 1/2
Estudaremos as variáveis com detalhes mais adiante.
Linguagem de Programação I - C++
Aproveitemos este
exemplo para
apresentar dois
novos conceitos:
Declaração de
Variáveis (linhas 12
e 13) e Atribuição de
Valor às Variáveis
(linhas 14 e 15).
Importante pra cachorro!
E pra gente também!
O sinal de igual (=) NÃO É
SINAL DE IGUAL NO C++! É o
Operador de ATRIBUIÇÃO!
Usando Comando cout
92. 092claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Aproveitando ainda o exemplo apresentamos os dois
primeiros Operadores Aritméticos:
Soma (+) e Multiplicação (*).
Note que dentro da mensagem da linha 27
x + y está em vermelho, será mostrado na tela o texto x +
y pois é parte da mensagem. No final desta linha x + y
aparece novamente na cor preta. Neste caso é o resultado
da expressão matemática da soma
x + y é que será enviada para a tela! No caso: 7!
Exemplo 08 - Enviando conteúdo de expressão para tela – Parte 2/2
Usando Comando cout
95. 095claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sobrecarga (Overload) do Caractere de Inserção no cout
Overload (sobrecarga) do Caractere de Inserção, também
conhecido como Operador de Inserção, nada mais é do que
usarmos mais de um << no comando cout. Já vínhamos
utilizando este recurso nos nossos exemplos. Agora
oficializamos seu uso!
Neste trecho de programa C++, as linhas 20, 21, 23, 24, 26, 27,
29 e 30 estão TODAS usando overload do Caractere de
Inserção no comando cout!
97. claudio_cesar_cordeiro@yahoo.com.br .
Lógica de Programação Caracteres de Extração de Dados >>
cin vem de console
input. Entrada de
dados pelo console,
no caso o teclado!
Quando queremos entrar com
um dado qualquer no
programa, usamos o comando
cin.
>>
O caracter >> é
chamado de
Caracter de
Extração de Dados.
É o inverso do
Caractere de
Inserção do cout.
097
98. 098
O primeiro número que o operador digitar no teclado será
atribuído à variável x (linha 16) e o segundo à variável y (linha 18).
claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Exemplo 09 – Recebendo Dados Pelo Teclado – Parte 1/2
Usando Comando cin
99. 099claudio_cesar_cordeiro@yahoo.com.br
Usando Comando cin
.
Linguagem de Programação I - C++
Exemplo 09 – Recebendo Dados Pelo Teclado – Parte 2/2
O restante do programa é exatamente igual ao
exemplo anterior. Isto é, mostra o conteúdo das
variáveis (linhas 20 e 21), a soma (linha 26) e o
produto, ou multiplicação delas (linha 27).
100. 100claudio_cesar_cordeiro@yahoo.com.br
Usando Comando cin
.
Linguagem de Programação I - C++
Exemplo 09 – Execução do Programa
O Dev-C++ não entende acentuação
do Português no comando cout.
Melhor não acentuar!Melhor não acentuar!
Já acentuação nas
Linhas de Comentário
(//...) e/ou Blocos de
Comentários (/*...*/)
não tem problema!
102. 102
O compilador que vamos
utilizar, apesar de “alguns” bugs
(mais de 300 ) e não ter mais
manutenção desde 2005, é fácil
de usar, de instalar e de se
conseguir, haja vista ser um
freeware.
Ele é o ... Dev-C++. Em suma:
para nosso estudo inicial em
C++ ele atende muito bem!
Existem outros melhores e ...
BEM mais caros! Exemplos: o
compilador C++ da Borland e o
da Microsoft etc.
claudio_cesar_cordeiro@yahoo.com.br
Regra 01 – O melhor compilador é o que gente conhece!
Regras Básicas de Programação C++
Aula Dev-C++ no YouTube ► http://www.youtube.com/watch?v=nAjcfERf07M.
Linguagem de Programação I - C++
Aulinha no
YouTube
103. 103
Para os neófitos, esta
regra vale ouro!
Comece com
soluções simples.
Quando estivar
dominando o assunto,
aí pode fazer algumas
gracinhas! Sem muito
entusiasmo, porque
para dar um tiro na
perda com o C++
basta um ponto e
vírgula fora do lugar!
claudio_cesar_cordeiro@yahoo.com.br
Regra 02 – Simplifique, não complique!
Linguagem de Programação I - C++
.
Regras Básicas de Programação C++
104. 104
O C++ adora uma
bibliotecazinha! Não
vamos entrar no
buraco do queijo
com elas, mas as
básicas têm que
estar no sangue.
Paulatinamente
vamos apresentar
mais algumas!
claudio_cesar_cordeiro@yahoo.com.br
Regra 03 – Nunca se esqueça das bibliotecas!
Linguagem de Programação I - C++
As duas primeiras:
iostream ► system, cin, cout e endl precisam dela
conio.h ► getch() precisa dela
Atenção!
O comando #include não tem o ponto
e vírgula (;) como finalizador da linha
de comando! Coisa rara no C++!
Esquecer de incluir as
bibliotecas, ou digitar o
nome delas errado, é uma
fonte de erro na
programação em C++.
.
Regras Básicas de Programação C++
Repare também que
int main () também
não tem ponto e
vírgula. Na verdade
poderia ter. Quando
estudarmos as
funções veremos
quando ter ou não o
ponto e vírgula numa
função.
105. 105
O namespace
evita conflitos
entre nomes
iguais de objetos
no ambiente C++.
Para não nos
estressarmos
usaremos sempre
o namespace
padrão: std!
claudio_cesar_cordeiro@yahoo.com.br
Linguagem de Programação I - C++
Regra 04 – Nunca se esqueça do namespace ou Grupo Lógico!
using namespace std;
Necessário para: cin, cout e endl!
Atenção!
O comando using namespace std; TEM o ponto e
vírgula (;) como finalizador da linha de comando,
tal como 99,99% dos comandos do C++!
Esquecer também o comando
using namespace std; ou escrevê-
lo de forma incorreta é outra
fonte de erro na programação em
C++.
.
Regras Básicas de Programação C++
106. 106
Uma linha de comando no C++ SÓ TERMINA
QUANDO FOR ENCONTRADO UM PONTO E
VÍRGULA, com raríssimas exceções.
claudio_cesar_cordeiro@yahoo.com.br
Linguagem de Programação I - C++
Regra 05 – Nunca se esqueça do ponto e vírgula!
No trecho de programa C++
acima, a linha 20 do editor
tem somente um comando
cout, enviando para a tela
duas mudanças de linha.
Por incrível que pareça, da linha 22 até a linha 25 TEMOS
TAMBÉM SOMENTE UM COMANDO C++!
O que caracteriza o final de um comando C++ é ponto e
vírgula e não a mudança de linha no final. O Editor mostra
quatro linhas de texto, mas é um comando único!
Outra grande
fonte de erro na
programação em
C++ e
MUITÍSSIMO
COMUM se deve
ao esquecimento
do ponto e
vírgula para
finalizar os
comandos!
.
Regras Básicas de Programação C++
107. 107claudio_cesar_cordeiro@yahoo.com.br
Linguagem de Programação I - C++
Regra 06 – C++ é case sensitive – Comandos em minúsculas
Não poderíamos escrever o trecho acima como:
#INCLUDE <IOSTREAM>
#INCLUDE <CONIO.H>
USING NAMESPACE STD;
INT MAIN ()
{ INT a =5,A=11;
COUT << .... e assim por diante! Dá erro na primeira linha, e em outras!
Mais uma fonte de erro na programação em C++ é escrever
os comandos em letras MAIÚSCULAS! Os Comandos e
Palavras Reservadas em C++ são SEMPRE em minúsculas!
Mesmo com os avisos acima, vai ter gente que vai escrever comandos em MAIÚSCULAS!
Regras Básicas de Programação C++
C++ é CASE
SENSITIVE!
C++ é uma Linguagem
case sensitive, isto é, é
sensível a CAIXA ALTA
(UPPER CASE) e caixa
baixa (lower case). Por
exemplo: int A; e int a;
declaram duas variáveis
de nome A e a. A variável
A (maiúscula) é
DIFERENTE da variável
a (minúscula). São,
portanto, duas variáveis
diferentes! O que têm
em comum, neste
exemplo, é que ambas
são do tipo inteiro.
C++ é CASE
SENSITIVE!
C++ é CASE
SENSITIVE!
110. 110claudio_cesar_cordeiro@yahoo.com.br
Log de Erros do Dev-C++
.
Linguagem de Programação I - C++
Exemplo 10 - Registro de Erros (log) do Dev-C++ - Falta de iostream
Erro nas linhas 14,
17 e 37! Na verdade
o erro está na linha
6! Foi colocada
como comentário!
A biblioteca
iostream é
necessária para uso
dos comandos
system, cin, cout e
endl.
Outro erro comum é errar o nome da
biblioteca.
Digitar #include <iostrema> é o mesmo
que não incluir a bibioteca, pois o
nome correto dela é: iostream!
112. 112claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++ Log de Erros do Dev-C++
Exemplo 12 – Log de Erros Dev-C++ - Comandos em Maiúsculas
Não foi
encontrado o
comando
COUT! Nem
poderia! Não
existe!
Existe cout com
letras minúsculas!
Lembre-se: C++ é
case sensitive!
113. 113claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++ Log de Erros do Dev-C++
Exemplo 13 – Log de Erros Dev-C++ - Falta de Ponto e Vírgula (;)
Falta ponto e
vírgula
finalizador do
comando da
linha 8.
Aqui vale uma explicação!
O Log apresenta a linha 9 em vermelho com a mensagem de erro: “expected ‘;’ before “int”. Na
verdade o erro está na linha anterior, a linha 8. O que ocorre é o seguinte: se tudo estivesse
OK na linha 8 deveria ter um ponto e vírgula no final dela. Este ponto e vírgula estaria
imediatamente antes do início da linha 9. Na linha 9 ela começa com int main (). Por isso o log
diz que esperava (expected) um ponto e vírgula antes, que na verdade é o final da linha
anterior! O log apresentou a linha 9 como errada, mas é a linha 8 que tem o erro! Tendeu?
115. 115claudio_cesar_cordeiro@yahoo.com.br
.
To warn – Significa em Inglês, avisar. Portanto, warning é aviso!.
Linguagem de Programação I - C++
Warnings são
anomalias que não
comprometem a
compilação. São
chamados de
Avisos, Alertas.
O programa ao
lado foi compilado
e executado sem
erros ou warnings.
Perfeito!
Compilação sem Erros e sem Warnings (Avisos)
Esta janela ao lado
aparece quando
solicitamos somente a
Compilação, sem
execução imediata.
Usamos Ctrl + F9. Note
também que a área de
Log está vazia!
116. 116claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Neste caso
acrescentamos
pontos e vírgulas nos
comandos #include
nas linhas 1 e 2. Era
de esperar um erro
ou warnings, na
compilação. Erro não
deu, mas a janela de
compilação (Compile
Progress) não
apresentou warnings,
mas a área de Log
sim!
Compilação com Warnings (Avisos)
Esta janela ao lado
aparece muito rápido e
desaparece em seguida,
sem warnings. Note que
a área de Log apresenta
warnings!
Atenção!
Os pontos e vírgulas
no #include foram
inseridos só para
teste! Não devemos
usá-los!
Como já
foi falado
o Dev-C++
não é
100%
confiável!