SlideShare une entreprise Scribd logo
1  sur  117
Télécharger pour lire hors ligne
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
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
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++
004claudio_cesar_cordeiro@yahoo.com.br
.
Conceitos
Básicos da
Informática
Linguagem de Programação I - C++
005claudio_cesar_cordeiro@yahoo.com.br .
.
Hardware e
Software
Linguagem de Programação I - C++
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
007claudio_cesar_cordeiro@yahoo.com.br
.
Comunicação
.
Linguagem de Programação I - C++
008claudio_cesar_cordeiro@yahoo.com.br .
.Linguagem de Programação I - C++
Para que haja comunicação entre dois elementos
precisamos de ...
... uma linguagem!
claudio_cesar_cordeiro@yahoo.com.br
A Linguagem de Programação permite a
comunicação do homem com a máquina.
Não adianta xingar, nem chutar! Tem que entender!!!
.Linguagem de Programação I - C++
009
010claudio_cesar_cordeiro@yahoo.com.br
.
Sistemas de Numeração
.
Linguagem de Programação I - C++
011claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Decimal
Base: Dez
012claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Binário
Base: Dois ou Binária
Computadores só reconhecem dois algarismos: zero e um!
013claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Octal
Base: Oito
014claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Hexadecimal
Base: Dezesseis, Hexadecimal,
Hexa ou Hex
10 11 12 13 14 150 1 2 3 4 5 6 7 8 9
015claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Regras Básicas dos
Sistemas de Numeração
016claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Regra 1: Um número pode ser escrito em qualquer
Base, desde que a mesma seja maior do que dois.
Número 10, na Base
Decimal, escrito nas
Bases 2, 8 e 16
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
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
019claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Decimal
020claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Um Número Escrito na Base 10
abc = (a x B2) + (b x B1) + (c x B0)
Generalizando...
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
022claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema de Numeração
Binário – Bits e Bytes
023claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Um Número Escrito na Base 2 – Base Binária
b2b1b0 = (b2 x B2) + (b1 x B1) + (b0 x B0)
Generalizando...
Assim, o número binário 1102 é igual a 610 (seis) no decimal!
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
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!
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.
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.
028claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Sistema Hexadecimal
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
030claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Convertendo Binário
em Hexadecimal
031claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
b7 b6 b5 b4 b3 b2 b1 b0
Bits
Para Converter Hexadecimal em Binário
F A
1 1 1 1 1 0 1 0
= 25010
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
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
034claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Convertendo
Hexadecimal em Binário
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.
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.
037claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++
Múltiplos do Byte
038claudio_cesar_cordeiro@yahoo.com.br
.
Fonte ► http://pt.wikipedia.org/wiki/Byte
Linguagem de Programação I - C++
Múltiplos do Byte
039claudio_cesar_cordeiro@yahoo.com.br
.
Tipos de
Software
.
Linguagem de Programação I - C++
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++
041claudio_cesar_cordeiro@yahoo.com.br
.
Tipos de
Linguagens
.
Linguagem de Programação I - C++
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++
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++
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++
045claudio_cesar_cordeiro@yahoo.com.br
.
Exemplos de
Linguagens de
Programação
.
Linguagem de Programação I - C++
046claudio_cesar_cordeiro@yahoo.com.br http://pt.wikipedia.org/wiki/Anexo:Lista_de_linguagens_de_programa%C3%A7%C3%A3o
Algumas Linguagens de Programação
.Linguagem de Programação I - C++
047claudio_cesar_cordeiro@yahoo.com.br
.
Origem do C++
.
Linguagem de Programação I - C++
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
049claudio_cesar_cordeiro@yahoo.com.br
.
Paradigmas de
Programação
.
Linguagem de Programação I - C++
050claudio_cesar_cordeiro@yahoo.com.br http://pt.wikipedia.org/wiki/Paradigma_de_programa%C3%A7%C3%A3o
Paradigmas de Programação do C e do C++Linguagem de Programação I - C++
Paradigma de Programação, simplificando, é a forma ou método
com que o programador escreve os programas.
051claudio_cesar_cordeiro@yahoo.com.br
.
Linguagem de
Programação Não-
Estruturada
.
Linguagem de Programação I - C++
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
053claudio_cesar_cordeiro@yahoo.com.br
.
Linguagem de
Programação
Estruturada
.
Linguagem de Programação I - C++
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
055claudio_cesar_cordeiro@yahoo.com.br
.
Programação
Orientada a Objetos
.
Linguagem de Programação I - C++
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
057claudio_cesar_cordeiro@yahoo.com.br
.
O Compilador Dev-C++
.
Linguagem de Programação I - C++
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
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.
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
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.
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.
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 ()!
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!
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!
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
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 ()
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!!
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++
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++
071claudio_cesar_cordeiro@yahoo.com.br
.
Atenção com o
Compilador Dev-C++
.
Linguagem de Programação I - C++
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.
073claudio_cesar_cordeiro@yahoo.com.br
.
Cuidado ao Copiar do PPT,
ou da Internet, e colar no
Editor do Compilador Dev-
C++
.
Linguagem de Programação I - C++
#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++
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!
076claudio_cesar_cordeiro@yahoo.com.br
.
Mudança de Linha
Caracteres de Escape
.
Linguagem de Programação I - C++
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.
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.
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++
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++
081claudio_cesar_cordeiro@yahoo.com.br
.
O Comando system para
dar pausa do Sistema
Operacional
.
Linguagem de Programação I - C++
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!
083claudio_cesar_cordeiro@yahoo.com.br
.
O Comando getch() e a
pausa do Programa
.
Linguagem de Programação I - C++
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()
085claudio_cesar_cordeiro@yahoo.com.br
.
Estrutura Básica de
um Programa em C++
.
Linguagem de Programação I - C++
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()
087claudio_cesar_cordeiro@yahoo.com.br
.
O Comando cout do C++
.
Linguagem de Programação I - C++
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
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
090claudio_cesar_cordeiro@yahoo.com.br
.
Declaração de Variáveis
Atribuição de Valores às Variáveis
.
Linguagem de Programação I - C++
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
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
093claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Exemplo 08 – Execução do Programa
Usando Comando cout
094claudio_cesar_cordeiro@yahoo.com.br
.
Overload do Caractere
de Inserção no
Comando cout do C++
.
Linguagem de Programação I - C++
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!
096claudio_cesar_cordeiro@yahoo.com.br
.
O Comando cin do C++
.
Linguagem de Programação I - C++
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
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
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).
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!
101claudio_cesar_cordeiro@yahoo.com.br
.
As 7 Primeiras Regras
Básicas Para Começar a
Programar em C++
.
Linguagem de Programação I - C++
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
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
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
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
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++
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!
108
Vence quem
persiste!
claudio_cesar_cordeiro@yahoo.com.br .
Linguagem de Programação I - C++
Regra 07 – E por último ... (por enquanto ... pois a lista continuará!)
Regras Básicas de Programação C++
109claudio_cesar_cordeiro@yahoo.com.br
.
Log de Erros do C++
.
Linguagem de Programação I - C++
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!
111claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++ Log de Erros do Dev-C++
Exemplo 11 – Log de Erros Dev-C++ - Falta da Biblioteca conio.h
Biblioteca
conio.h é
necessária para
uso do comando
getch().
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!
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?
114claudio_cesar_cordeiro@yahoo.com.br
.
Warning na Compilação
.
Linguagem de Programação I - C++
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!
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!
117claudio_cesar_cordeiro@yahoo.com.br
.
.
Linguagem de Programação I - C++ .
Fim
Capítulo 01
Exercícios Propostos 01 que estão no
SIA devem ser feitos. As Provas, com
certeza, poderão ser inspiradas neles!
Quem sabe?
Arquivo no SIA em
Seg, 22/07/13-21h05

Contenu connexe

Tendances

Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivosFlávio Freitas
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhanyKaren Costa
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem csergiocrespo
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STLMarcos Castro
 
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na Massa
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na MassaIniciando Programação em C: Dicas, Ideias e Colocando a Mão na Massa
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na MassaLhaís Rodrigues
 

Tendances (19)

Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
O compilador dev c++
O compilador dev c++O compilador dev c++
O compilador dev c++
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Microsoft C#
Microsoft C#Microsoft C#
Microsoft C#
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
TDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código CTDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código C
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
Estruturas de dados com C++ e STL
Estruturas de dados com C++ e STLEstruturas de dados com C++ e STL
Estruturas de dados com C++ e STL
 
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na Massa
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na MassaIniciando Programação em C: Dicas, Ideias e Colocando a Mão na Massa
Iniciando Programação em C: Dicas, Ideias e Colocando a Mão na Massa
 

En vedette

Aula 01 - Introdução ao C++
Aula 01 - Introdução ao C++Aula 01 - Introdução ao C++
Aula 01 - Introdução ao C++PeslPinguim
 
Aula c++ estruturas de dados
Aula c++   estruturas de dadosAula c++   estruturas de dados
Aula c++ estruturas de dadosJean Martina
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisPacc UAB
 
Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Languagesatvirsandhu9
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Leinylson Fontinele
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )PeslPinguim
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - MatrizesPacc UAB
 

En vedette (12)

Aula 01 - Introdução ao C++
Aula 01 - Introdução ao C++Aula 01 - Introdução ao C++
Aula 01 - Introdução ao C++
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Aula c++ estruturas de dados
Aula c++   estruturas de dadosAula c++   estruturas de dados
Aula c++ estruturas de dados
 
Aula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionaisAula 12 - Exercícios vetores unidimensionais
Aula 12 - Exercícios vetores unidimensionais
 
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-QuixadáApresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
 
Presentation on C++ Programming Language
Presentation on C++ Programming LanguagePresentation on C++ Programming Language
Presentation on C++ Programming Language
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )Aula 02 - Classes em C++ ( Parte 1 )
Aula 02 - Classes em C++ ( Parte 1 )
 
Aula 13 - Matrizes
Aula 13 - MatrizesAula 13 - Matrizes
Aula 13 - Matrizes
 
C++ Funções
 C++ Funções C++ Funções
C++ Funções
 
C++ Presentation
C++ PresentationC++ Presentation
C++ Presentation
 
C++ programming
C++ programmingC++ programming
C++ programming
 

Similaire à 599026

Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptx1CEBAEB
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAbdulSacur2
 
Fundamentos da computação software evolução e conceito
Fundamentos da computação software evolução e conceitoFundamentos da computação software evolução e conceito
Fundamentos da computação software evolução e conceitoEriclys Moreira
 
CCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresCCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresFerNandoSantos287416
 
Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadoshenriqueprossi
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfLuanaBatista74
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
Questão de informatica muitas questoes
Questão de informatica muitas questoesQuestão de informatica muitas questoes
Questão de informatica muitas questoesGilberto Luiz
 
Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxriodurval
 
Aula 3 - Programação 1
Aula 3 - Programação 1Aula 3 - Programação 1
Aula 3 - Programação 1Isaac Barros
 
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Messias Batista
 

Similaire à 599026 (20)

Aula1.pdf
Aula1.pdfAula1.pdf
Aula1.pdf
 
Introdução ao C#
Introdução ao C#Introdução ao C#
Introdução ao C#
 
Csharp.intro
Csharp.introCsharp.intro
Csharp.intro
 
Operações com Bits
Operações com BitsOperações com Bits
Operações com Bits
 
Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptx
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptx
 
Fundamentos da computação software evolução e conceito
Fundamentos da computação software evolução e conceitoFundamentos da computação software evolução e conceito
Fundamentos da computação software evolução e conceito
 
CCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de ComputadoresCCNA 5 - Introdução à Redes de Computadores
CCNA 5 - Introdução à Redes de Computadores
 
Codificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcadosCodificação segura em C para sistemas embarcados
Codificação segura em C para sistemas embarcados
 
C++11
C++11C++11
C++11
 
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdfMC-102 — Aula 01 Introdução à Programação de Computadores.pdf
MC-102 — Aula 01 Introdução à Programação de Computadores.pdf
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Questão de informatica muitas questoes
Questão de informatica muitas questoesQuestão de informatica muitas questoes
Questão de informatica muitas questoes
 
Modulo02
Modulo02Modulo02
Modulo02
 
Roteiro IOC 03_2
Roteiro IOC 03_2Roteiro IOC 03_2
Roteiro IOC 03_2
 
Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018Sistemas Digitais Aula 29-08-2018
Sistemas Digitais Aula 29-08-2018
 
Aula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptxAula 10 - Códigos BCD.pptx
Aula 10 - Códigos BCD.pptx
 
Atpaula3 150906041855-lva1-app6892
Atpaula3 150906041855-lva1-app6892Atpaula3 150906041855-lva1-app6892
Atpaula3 150906041855-lva1-app6892
 
Aula 3 - Programação 1
Aula 3 - Programação 1Aula 3 - Programação 1
Aula 3 - Programação 1
 
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)Aula 08.1 - ALP - Linguagem C (Primeiros passos)
Aula 08.1 - ALP - Linguagem C (Primeiros passos)
 

599026

  • 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
  • 8. 008claudio_cesar_cordeiro@yahoo.com.br . .Linguagem de Programação I - C++ Para que haja comunicação entre dois elementos precisamos de ... ... uma linguagem!
  • 9. claudio_cesar_cordeiro@yahoo.com.br A Linguagem de Programação permite a comunicação do homem com a máquina. Não adianta xingar, nem chutar! Tem que entender!!! .Linguagem de Programação I - C++ 009
  • 11. 011claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Sistema de Numeração Decimal Base: Dez
  • 12. 012claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Sistema de Numeração Binário Base: Dois ou Binária Computadores só reconhecem dois algarismos: zero e um!
  • 13. 013claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Sistema de Numeração Octal Base: Oito
  • 14. 014claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Sistema de Numeração Hexadecimal Base: Dezesseis, Hexadecimal, Hexa ou Hex 10 11 12 13 14 150 1 2 3 4 5 6 7 8 9
  • 15. 015claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Regras Básicas dos Sistemas de Numeração
  • 16. 016claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Regra 1: Um número pode ser escrito em qualquer Base, desde que a mesma seja maior do que dois. Número 10, na Base Decimal, escrito nas Bases 2, 8 e 16
  • 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
  • 20. 020claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Um Número Escrito na Base 10 abc = (a x B2) + (b x B1) + (c x B0) Generalizando...
  • 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
  • 22. 022claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Sistema de Numeração Binário – Bits e Bytes
  • 23. 023claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Um Número Escrito na Base 2 – Base Binária b2b1b0 = (b2 x B2) + (b1 x B1) + (b0 x B0) Generalizando... Assim, o número binário 1102 é igual a 610 (seis) no decimal!
  • 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
  • 30. 030claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Convertendo Binário em Hexadecimal
  • 31. 031claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ b7 b6 b5 b4 b3 b2 b1 b0 Bits Para Converter Hexadecimal em Binário F A 1 1 1 1 1 0 1 0 = 25010
  • 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
  • 34. 034claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Convertendo Hexadecimal em Binário
  • 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
  • 50. 050claudio_cesar_cordeiro@yahoo.com.br http://pt.wikipedia.org/wiki/Paradigma_de_programa%C3%A7%C3%A3o Paradigmas de Programação do C e do C++Linguagem de Programação I - C++ Paradigma de Programação, simplificando, é a forma ou método com que o programador escreve os programas.
  • 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++
  • 71. 071claudio_cesar_cordeiro@yahoo.com.br . Atenção com o Compilador Dev-C++ . 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.
  • 73. 073claudio_cesar_cordeiro@yahoo.com.br . Cuidado ao Copiar do PPT, ou da Internet, e colar no Editor do Compilador Dev- C++ . Linguagem de Programação I - C++
  • 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!
  • 76. 076claudio_cesar_cordeiro@yahoo.com.br . Mudança de Linha Caracteres de Escape . Linguagem de Programação I - C++
  • 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++
  • 81. 081claudio_cesar_cordeiro@yahoo.com.br . O Comando system para dar pausa do Sistema Operacional . 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!
  • 83. 083claudio_cesar_cordeiro@yahoo.com.br . O Comando getch() e a pausa do Programa . Linguagem de Programação I - C++
  • 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()
  • 85. 085claudio_cesar_cordeiro@yahoo.com.br . Estrutura Básica de um Programa em C++ . Linguagem de Programação I - C++
  • 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()
  • 87. 087claudio_cesar_cordeiro@yahoo.com.br . O Comando cout do C++ . Linguagem de Programação I - C++
  • 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
  • 90. 090claudio_cesar_cordeiro@yahoo.com.br . Declaração de Variáveis Atribuição de Valores às Variáveis . Linguagem de Programação I - C++
  • 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
  • 93. 093claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação I - C++ Exemplo 08 – Execução do Programa Usando Comando cout
  • 94. 094claudio_cesar_cordeiro@yahoo.com.br . Overload do Caractere de Inserção no Comando cout do C++ . Linguagem de Programação I - C++
  • 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!
  • 96. 096claudio_cesar_cordeiro@yahoo.com.br . O Comando cin do C++ . Linguagem de Programação I - C++
  • 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!
  • 101. 101claudio_cesar_cordeiro@yahoo.com.br . As 7 Primeiras Regras Básicas Para Começar a Programar em C++ . Linguagem de Programação I - C++
  • 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!
  • 108. 108 Vence quem persiste! claudio_cesar_cordeiro@yahoo.com.br . Linguagem de Programação I - C++ Regra 07 – E por último ... (por enquanto ... pois a lista continuará!) Regras Básicas de Programação C++
  • 109. 109claudio_cesar_cordeiro@yahoo.com.br . Log de Erros do C++ . Linguagem de Programação I - C++
  • 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!
  • 111. 111claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ Log de Erros do Dev-C++ Exemplo 11 – Log de Erros Dev-C++ - Falta da Biblioteca conio.h Biblioteca conio.h é necessária para uso do comando getch().
  • 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!
  • 117. 117claudio_cesar_cordeiro@yahoo.com.br . . Linguagem de Programação I - C++ . Fim Capítulo 01 Exercícios Propostos 01 que estão no SIA devem ser feitos. As Provas, com certeza, poderão ser inspiradas neles! Quem sabe? Arquivo no SIA em Seg, 22/07/13-21h05