Você está na página 1de 30

Linguagem de Programação

Aula 03 – Introdução a C++


Unidade 1: Conceitos de programação orientada a objetos

Objetivos:

● Apresentar a linguagem de programação C++;


● Apresentar definições importantes sobre o C++ ;

2
Unidade 1: Conceitos de programação orientada a objetos

Plano de Aula:
● Entrada e Saída de Dados;
● Estruturas de Controle;
● Exemplos de programas em C++;

3
Entrada e Saída básica:
● Permite o usuário interagir com o sistema.
● C++ usa streams para realizar entrada e saída básica de forma
sequencial, como no teclado, por exemplo.
● stream é um objeto onde o programa pode inserir
ou extrair caracteres.
● O arquivo de cabeçalho IOSTREAM contêm os
objetos de entrada e saída padrão.

4
Entrada e Saída básica:
● Saída padrão > monitor
● Objeto stream definido para acessar a saída: cout
● Ex: cout << "Primeira frase.\n ";

cout << "Segunda frase.\n Terceira frase.";

5
Entrada e Saída básica:
● Entrada padrão: teclado
● Objeto stream definido: cin
● Precisa ser seguido de uma variável
Ex: int x;

cin >> x;

6
Entrada e Saída básica:
// Exemplo de entradas e saídas
#include <iostream>
using namespace std;
int main (){

int i;
cout << "Entre com um número inteiro: ";
cin >> i;

cout << "O valor digitado foi " << i;


cout << " e o dobro deste valor é " << i*2 << ".\n";
return 0;

}
7
Entrada e Saída básica:
● cin recebe strings
● cin pára quando encontra um espaço em branco;
● Só é possivel entrar palavra por palavra;
● Solução: getline

8
Entrada e Saída básica:
// Exemplo cin com strings
#include <iostream>
#include <string>
using namespace std;
int main () {
string mystr;
cout << "Qual o seu nome? ";
getline (cin, mystr);

9
Entrada e Saída básica:
cout << "Olá, " << mystr << ".\n";
cout << "Qula o seu time favorito? ";
getline (cin, mystr);
cout << "Eu gosto do " << mystr << " também!\n";
return 0;
}

10
Entrada e Saída básica:
● Stringstream.
● O arquivo de cabeçalho <sstream> define uma
classe chamada stringstream.
● Permite tratar objetos strings como streams.
● Pode ser utilizado para converter strings em int e double

11
Entrada e Saída básica:
// stringstreams
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main () {
string mystr;
float preco=0;

int quantidade=0;

12
Entrada e Saída básica:
cout << "Entre com o preço: ";
getline (cin,mystr);
stringstream(mystr) >> preco;
cout << "Entre com a quantidade: ";
getline (cin,mystr);

stringstream(mystr) >> quantidade;


cout << "Preço total: " << preco*quantidade << endl;
return 0;

13
Estruturas de Controle:
● Um programa não é limitado a uma sequencia
linear de instruções.
● Pode haver bifurcações, repetição de código e
tomada de decisão.
● Especificam como o programa deve reagir em
determinadas circunstâncias.

14
Estruturas de Controle:
● Com a adição de estruturas de controle surge um
novo conceito: bloco.
● Bloco: Conjunto de instruções agrupadas e
delimitadas por colchetes {}
● Se o bloco for de apenas uma instrução podese
omitir o {}

15
Estruturas de Controle:
● if / else
● If (condição) bloco de instruções
● Se a condição é verdadeira o bloco de instruções
é executado.
● Se a condição é falsa o bloco é ignorado e o
programa continua após o bloco condicional.

16
Estruturas de Controle:
● Exs.
if (x == 100)
cout << "x is 100";

if (x == 100)
{
cout << "x is ";
cout << x;
}
17
Estruturas de Controle:
● Nós podemos especificar o que nós queremos que
aconteça caso a condição não seja satisfeita. Para
tal utilizamos a palavra reservada: else
Ex:
if (x == 100)
cout << "x is 100";
else
cout << "x is not 100";

18
Estruturas de Controle:
● Concatenando instruções if + else
● Ex:

if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is negative";
else
cout << "x is 0";

19
Estruturas de Controle:
● Loops: tem o propósito de repetir o bloco de
instruções um certo número de vezes ou enquanto
uma condição não for estabelecida.
● Loop while
● Sintaxe: while (condição) bloco de instruções

20
Estruturas de Controle:
● Exemplo:
#include <iostream>
using namespace std;
int main () {

int n;
cout << "Contagem regressiva! Entre com o número inicial > ";
cin >> n;

while (n>0) {
cout << n << ", ";
--n; }
cout << "FOGO!\n";
return 0;

} 21
Estruturas de Controle:
● Loop: do .. while
● Semelhante ao loop while, exceto que a condição
é testada depois da execução do bloco
● Garante que o bloco seja executado pelo menos
uma vez.

22
Estruturas de Controle:
● Ex.:
// ecoar número
#include <iostream>
using namespace std;
int main () {
unsigned long n;
do {
cout << "Entre com um número (0 para encerrar): ";
cin >> n;
cout << "Número digitado: " << --n << "\n";
} while (n != 0);
return 0;
}
23
Estruturas de Controle:
● Loop: for
● Sintaxe:
for (inicialização; condição; incremento) bloco;
● Realização uma ação repetitiva com um contador
que é inicializado e incrementado em cada iteração.

24
Estruturas de Controle:
● Ex.:
// contagem regressiva com loop for
#include <iostream>
using namespace std;
int main (){
for (int n=10; n>0; --n)
{ cout << n << ", ";
}
cout << "FOGO!\n";
return 0;

}
25
Estruturas de Controle:
● Goto
● Permite fazer um salto para um outro ponto do
programa.
● O destino do salto precisa ter um identificador
que é utilizado como argumento para o comando
goto.
● O identificador válido é seguido por dois pontos (:).

26
Estruturas de Controle:

Ex.:
// goto loop example
#include <iostream>
using namespace std;
int main () {
int n=10;
loop:
cout << n << ", ";
--n;
if (n>0) goto loop;
cout << "FOGO!\n";
return 0;

}
27
Estruturas de Controle:

Switch
● Tem a função de checar muitas opções para poder tomar uma decisão;
● Pode ser usado no lugar de vários if else

Sintaxe:
● switch (expression){
case constant1:
group of statements 1;
break;
case constant2:
group of statements 2;
break; . . .
default:
default group of statements
}
28
Estruturas de Controle:
● Comparação entre switch e if:

29
Bibliografia:
● DEITEL, H. M.; DEITEL, P. J. C++:Como
Programar. 3. Ed. Porto Alegre (RS): Bookman,
2001. 1098p
● SOUZA, M. A. F., GOMES, M. M.,SOARES, M.
V., CONCILIO, R., Algoritmos e Lógica de
Programação, Editora Cengage Learning, São
Paulo, 2008.
● Sergio Barbosa Villas-Boas, C / C++ e
Orientação a Objetos em Ambiente
Multiplataforma
30

Você também pode gostar