Você está na página 1de 11

Programação de Computadores II Objetivos

Introdução à Comparar linguagem C com C++.


Identificar e aprender como ler dados de entrada e exibir
Linguagem de Programação C++ resultados de processamento em C++.
Utilizar objetos e funções de bibliotecas e diretivas do
Curso: Engenharia de Produção
pré-processador.
Semestre Letivo: 2021 / 1

Prof. Kalid Antunes Bel. em Ciência da Computação


Especialista em Tecnologias para Desenvolvimento Web
1
kalid.costa@ifmg.edu.br Pós-Graduado em Docência do Ensino Superior Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 2 /41

1 2

Histórico Histórico

O C++ foi inicialmente desenvolvido por Bjarne Stroustrup1 durante


a década de 80 com o objetivo de melhorar a linguagem de
programação C, mantendo a compatibilidade com esta linguagem.
A Linguagem de Programação C++ pode ser definida como
uma extensão da Linguagem C;
Todo código de programação em Linguagem C pode a
priori ser compilado em um compilador C++;

1BjarneStroustrup
Nasceu em 11 de junho de 1950 na Dinamarca. É cientista da Universidade do Texas.

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 3 /41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 4 /41

3 4
Histórico Características

A principal característica da linguagem C++ é oferecer


Stroustrup teve como principal objetivo apresentar uma suporte à programação orientada a objetos (OO), além de
linguagem de programação que mantivesse permitir realizar outras tarefas, similarmente a outras
compatibilidade com C, mas que desse suporte e recursos linguagens de programação.
para desenvolvimento de códigos que suportassem o
paradigma da programação orientada a objetos; O C++ faz distinção entre minúsculas e maiúsculas (Case
Sensitive).
O nome original sugerido por seu criador, Bjarne
Stroustrup, para a sua linguagem foi “C with Classes” Os comentários são escritos entre /* e */ para bloco de
texto e são ignorados pelo compilador.
Os comentários são escritos entre // para texto em linha.

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 5 /41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 6 /41

5 6

Estrutura Básica Estrutura Básica

Estrutura em C: Estrutura em C++:

#include <stdio.h> #include <iostream>


#include <stdlib.h> #include <cstdlib>

int main() int main()


{ {
puts(“Ola IFMG-GV!\n”); std::cout << “Ola IFMG-GV!”;
system(“PAUSE”); system(“PAUSE”);
return 0; return 0;
} }

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 7 /41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 8 /41

7 8
Tipos Básicos Declaração de variáveis

Tamanho
Tipo Intervalo de valores Descrição
(em bytes)
O tipo char representa letras, dígitos e
char 1 -128 a 127
símbolos.
0, 1 Valor boleano. Pode assumir um dos
int soma;
bool 1
dois valores; true ou false.
-32.768 a +32.767 número inteiro.
short 2

0 a 65.535 número inteiro. Tipo de variável Nome da variável


unsigned short 2

-2.147.483.648 a número inteiro.


int 4
+2.147.483.648

unsigned long 4 0 a 4.294.967.295 número inteiro.

Tipo que representa um número real (7


float 4 -1.2*10-38 a 3.4*10+38
dígitos).
Tipo que representa um número real (15
double 8 -2.2*10-308 a 1.7*10+308
dígitos).

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 9 /41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 10/41

9 10

Comando de Atribuição Atribuições Aritméticas

No exemplo abaixo, a variável soma recebe o valor calculado da


expressão a + b

Comando Exemplo Corresponde a:


+= a += 2; a = a + 2;
soma = a + b; -= a -= 2; a = a - 2;
*= a *= 2; a = a * 2;
/= a /= 2; a = a / 2;
Variável Expressão %= a %= 2; a = a % 2;

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 11/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 12/41

11 12
Operadores de incremento e
Operadores aritméticos
decremento

Incremento (++) Operação Descrição Exemplo


Decremento (--) + Soma num = x + 2;
a++; - Subtração num = 3 - 1;
Incrementa o valor da variável em uma unidade. * Multiplicação num = x * y;
A posição do operador de incremento e decremento / Divisão inteira num = 7 / 3; --> num == 2
determina a ordem de execução do que está em seu % Resto da divisão inteira. num = 5 % 2; --> num == 1
derredor.

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 13/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 14/41

13 14

Resultados da Divisão Conversão de Tipo

O resultado de uma divisão em C, depende dos tipos dos Quando deseja-se, momentaneamente, modificar o tipo do
dados que estão sendo divididos: conteúdo da variável:

(..)
numerador / denominador resultado int A, B, C;
float X, Y;
inteiro / inteiro inteiro
A = 7;
inteiro / real real B = 3;
real / inteiro real X = 6.5;
C = (int) X % B;
real / real real
Y = (float)A / B; // Y == 2.333333
(..)

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 15/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 16/41

15 16
Operadores Relacionais Operadores Lógicos

Código Significado
OPERADOR REPRESENTAÇÃO PRIORIDADE
== igual
!= diferente de && E 2
> maior que
< menor que || OU 3
>= maior ou igual
! NÃO 1
<= menor ou igual

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 17/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 18/41

17 18

Estrutura de Decisão Múltipla


Condicional em Linguagem C++
Escolha
A sintaxe da construção de switch é:
switch (<expressão>){
case <valor1>:
if (condição){ <bloco_de_comandos_1>
break;
<bloco de comandos 1> case <valor2>:
}else{ <bloco_de_comandos_2>
<bloco de comandos 2> break;
...
} case <valorn>:
<bloco_de_comandos_n>
break;
default:
<bloco_de_comandos_s>
break;
}
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 19/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 20/41

19 20
Laços em Linguagem C++ Laços em Linguagem C++

Estrutura de laço contado: Estrutura de laço condicional while:

for (var-controle = início; condição; while (condição){


atualização_var-controle){ <bloco de comandos>
<bloco de comandos> }
}

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 21/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 22/41

21 22

Laços em Linguagem C++ Arrays em Linguagem C++

Estrutura de laço condicional do..while: Estrutura de dados array:

do{
<bloco de comandos> int vet [30];
}
while (condição);

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 23/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 24/41

23 24
Structs em Linguagem C++ Linguagem C++

Novos tipos - struct:

typedef struct Tipo_Cadastro{


char nome[80];
int idade; O QUE MUDA???
}TCadastro;

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 25/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 26/41

25 26

Entrada em C++ Exemplo de entrada em C++

O objeto do fluxo de entrada padrão é o cin localizada na #include <iostream>


biblioteca Input/Output Stream <iostream>. #include <cstdlib>
Na instrução: int main()
std::cin >> numero; // entrada em c++ {
int numero;
scanf(“%d”, &numero); // entrada em c
usa o operador de extração >> para guardar o dado a std::cin >> numero;
ser digitado pelo usuário e colocá-lo na variável numero.
system(“PAUSE”);
return 0;
}

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 27/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 28/41

27 28
Exemplo de entrada em C++ Diretiva using

Pode-se utilizar a diretiva using para eliminar o prefixo std.


#include <iostream> Exemplo:
#include <cstdlib> #include <iostream>
#include <cstdlib>
main()
{ using namespace std;
int idade1, idade2;
int main()
{
std::cin >> idade1 >> idade2; int numero, numero2;

system(“PAUSE”); cout << “Digite dois numeros: ”;


cin >> numero >> numero2;
return 0;
cout << “Numeros digitados: ” << numero << numero2;
}
system(“PAUSE”);
return 0;
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 29/41 Kalid }
Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 30/41

29 30

Entrada de String em C++ Exemplo de entrada de String

#include <iostream>
#include <cstdlib>
using namespace std;

Uso do método getline do objeto cin localizada na int main ()


biblioteca Input/Output Stream <iostream>. {
char nome [100];
Sintaxe:
cout << "Qual o seu nome? ";
cin.getline(<matriz_destino>,<limite_de_caracteres>); cin.getline (nome,100);
cout << "Ola " << nome << ".";
system("PAUSE");

return 0;
}
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 31/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 32/41

31 32
Saídas em C++ Manipuladores

O objeto do fluxo de saída padrão é o cout localizada na Manipuladores são operadores usados com o operador de
biblioteca Input/Output Stream <iostream>. inserção << para modificar (ou manipular) a forma que os
Na instrução: dados são mostrados. A biblioteca a ser utilizada é a
<iomanip>.
cout << “Ola IFMG-GV!”;
O manipulador endl:
usa o operador de inserção << para direcionar a string
para o dispositivo padrão de saída (cout), isto é, a tela. A instrução: cout << "Soma = " << soma << endl;
causa o mesmo efeito do caractere ‘\n’, ou seja, ele envia
um caractere de nova linha ’\n’ para saída padrão
(monitor).

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 33/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 34/41

33 34

Manipuladores Manipuladores

O manipulador setw(n): O manipulador fixed:


A instrução: cout << setw(20) << “IFMG-GV”; A instrução: cout << fixed << setprecision(2) << 2.456;
faz a string que o segue no fluxo (a ser enviado a tela) geralmente utilizado com o manipulador setprecision()
dentro do campo com n caracteres de largura. Esse para fixar o número de casas decimais.
conteúdo é justificado à direita.

O manipuladores right e left:


O manipulador setprecision(n):
A instrução: cout << setw(20) << left << “IFMG-GV”;
A instrução: cout << setprecision(2) << 2.456;
define o alinhamento do valor (direita e esquerda) dentro
define um determinado número de dígitos de precisão do espaçamento estipulado de colunas (setw()).
para ponto flutuante.
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 35/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 36/41

35 36
Exemplo de Manipuladores Funções Matemáticas

#include <iostream>
#include <cstdlib>
#include <iomanip> //em função do setw(n) e setprecision(n)
using namespace std;

main() Potência: pow(parâmetro1, parâmetro2);


{
int numero Raiz quadrada: sqrt(parâmetro);
float numero2;
cout << setw(20) << “Digite dois numeros: ” << endl;
Localizadas na biblioteca <cmath> (math.h em c).
cin >> numero >> numero2;

cout << “Numeros digitados: ” << numero << “ “ <<


setprecision(2) << numero2;

system(“PAUSE”);
return 0;
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 37/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 38/41
} (1.0) (1.0)

37 38

Vamos Fazer... Referências

Escreva um único comando em C++ para realizar cada


uma das seguintes frases:
Bibliografia Básica
a) Solicite ao usuário que forneça um inteiro. Termine sua mensagem JOYANES, Luis Aguilar. Programação em C++: Algoritmos,
de solicitação com um sinal de dois pontos(:) seguido por um espaço e Estruturas de Dados e Objetos. 2. Ed. São Paulo: McGraw Hill, 2008.
deixe o cursor posicionado depois do espaço. SAVITCH, Walter J. C++ Absoluto. 1. Ed. São Paulo: Addison
b) Imprima a mensagem “Este é um programa em C++ “ em uma linha. Wesley, 2004.
SILVA FILHO, Antonio Mendes da. Introdução à Programação
c) Imprima a mensagem “Este é um programa em C++” com cada Orientada a Objetos com C++. Rio de Janeiro: Elsevier, 2010.
palavra da mensagem escrita em uma linha separada. Com um único
comando de saída.
d) Solicite ao usuário que forneça um valor real com 3 casas decimais.
Exiba o valor com uma casa decimal.

Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 39/41 Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 40/41

39 40
Referências

Bibliografia Complementar
DEITEL, Harvey M. I.; DEITEL, Paul J. C++ Como Programar. 5.
ed. São Paulo: Prentice Hall Brasil, 2006.
ZIVIANI, Nívio. Projeto de algoritmos: com implementações em
Pascal e C. 3 ed. Revista e Ampliada. São Paulo: Cengage
Learning, 2011.
DROZDEK, Adam. Estrutura de Dados e Algoritmos em C++. 1.
Ed. São Paulo: Cengage Learning, 2009.
HOLLOWAY, James Paul. Introdução à Programação para
Engenharia: resolvendo problemas com algoritmos. Rio de Janeiro:
LTC, 2006.
GUEDES, Gilleanes T. A. UML 2: uma abordagem prática. 2 ed.
São Paulo: Novatec Editora, 2011.
Kalid Costa [kalid.costa@ifmg.edu.br] Linguagem de Programação C++ 1º Semestre de 2021 (1.0) 41/41

41

Você também pode gostar