1 of 57

Banco de Dados

Introdução a BD

Prof. Marcelo Iury de Sousa Oliveira

marceloiury@gmail.com

http://sites.google.com/site/marceloiury

LP I (C++)

Aula 1 – Conceitos Básicos

(Slides Baseados no Material do Prof. Tiago Maritan)

2 of 57

O que é Banco de Dados?

  • 1979: Extensão da linguagem C é desenvolvida por Bjarne Stroustrup nos Bell Laboratories
    • Objetivo: Incluir suporte a orientação a objetos na linguagem C
    • Chamada inicialmente de “C with Classes”

  • 1983: Nome é modificado para C++;

  • 1985: Stroustrup publica o livro referência The C++ Programming Language. (1ª Edição)

2

Breve Histórico do C++

3 of 57

O que é Banco de Dados?

  • 1985: C++ é implementada como um produto comercial
    • Ainda não estava padronizada

  • 1990: Compilador Borland's Turbo C++ é lançado.
    • Adição de várias bibliotecas que trouxeram significado impacto para a linguagem C++.

  • 1998: C++ é padronizado pela ISO (C++ 98)

3

Breve Histórico do C++

4 of 57

O que é Banco de Dados?

  • 2003: Comitê da ISO lança uma revisão do padrão (C++ 03)
    • Correção de problemas reportados no C++ 98

  • 2011: Novo padrão C++ 11 é lançado.
    • Algumas das novas funcionalidade
    • Suporte a expressões regulares
    • Biblioteca padrão de Threads.
    • Nova biblioteca de tempo (time) de C++
    • Suporte a loops foreach

4

Breve Histórico do C++

5 of 57

O que é Banco de Dados?

5

Características de C++

6 of 57

O que é Banco de Dados?

6

Aplicações que usam C++

http://www.stroustrup.com/applications.html

7 of 57

O que é Banco de Dados?

7

Aplicações que usam C++

http://www.stroustrup.com/applications.html

8 of 57

O que é Banco de Dados?

8

Popularidade da Linguagem

https://www.tiobe.com/tiobe-index/

9 of 57

O que é Banco de Dados?

9

Criação de Programas em C++

10 of 57

O que é Banco de Dados?

10

Programa com múltiplos arquivos/classes

11 of 57

O que é Banco de Dados?

  • Tipicamente só é necessário:
    • 1 Editor de Texto;
    • 1 Compilador

  • Editores:
    • Notepad (Win)
    • Notepad++ (Win)
    • Vim ou Gvim(Linux)
    • Gedit (Linux)
    • Sublime Text (Win, Linux, OS X)

11

Ferramentas para Desenvolvimento de Programas em C++

  • Compiladores C++:
    • G++ (Linux, OS X)
    • MinGW (Win)
    • Cygwin (Win)
    • Apple C++ (OS X)

12 of 57

O que é Banco de Dados?

  • Outra alternativa para escrever, compilar e rodar programas C++;
  • Possuem uma versão integrada de :
    • Editor de Texto;
    • Compilador C++;
    • Editor Gráfico;
    • Debugger;
  • Facilita a construção e manipulação de programas
  • Rápida visualização de todos os arquivos do projeto;
  • Ferramentas de gerenciamento de trabalho coletivo, etc

12

Ambientes de Desenvolvimento Integrado (IDEs)

13 of 57

O que é Banco de Dados?

  • No curso, usaremos a IDE Eclipse
  • Contém as seguintes ferramentas
    • Editor de texto: com destaque de sintaxe
    • Compilador C++ (e de outras linguagens);
    • Debugger: auxilia na correção de bugs;

13

Eclipse

https://www.eclipse.org/downloads/packages/release/2021-12/r/eclipse-ide-cc-developers

14 of 57

O que é Banco de Dados?

14

Primeiro Contato: Alô Mundo!

15 of 57

O que é Banco de Dados?

15

Primeiro Contato: Alô Mundo!

16 of 57

16

Tipos, Variáveis,

Operadores e E/S em C++

17 of 57

O que é Banco de Dados?

  • C++ é uma extensão da linguagem C

  • Inclui suporte ao paradigma POO, mas preserva as principais construções da linguagem C:
    • Tipos primitivos e variáveis
    • Estruturas de Controle
    • Arrays
    • Funções (Métodos)

  • Vamos iniciar trabalhando esses aspectos...

17

Introdução a Linguagem C++

18 of 57

O que é Banco de Dados?

  • Tipos primitivos (embutidos)
    • Incorporados na própria linguagem
    • Representados por palavras chaves
    • Ex: int, float, char, bool, etc;

  • Tipos derivados
    • Definidos pelo programador ou providos pela biblioteca padrão;
    • Ex: Classes (estudaremos mais adiante no curso)

18

Tipos de Dados

19 of 57

O que é Banco de Dados?

19

Tipos Primitivos

20 of 57

O que é Banco de Dados?

  • Segue a mesma sintaxe de C:
    • Devem ser declaradas antes de ser utilizadas;
    • Mesma regras para definição de identificadores;

20

Declaração de variáveis

21 of 57

O que é Banco de Dados?

21

Palavras Reservadas em C++

22 of 57

O que é Banco de Dados?

  • Podem ser:
    • Atribuição;
    • Aritméticos;
    • Relacionais;
    • Lógicos;
    • Manipulação de Bits;

22

Operadores

23 of 57

O que é Banco de Dados?

  • Operador =
    • Copia o valor de uma variável (expressão ou constante) do lado direito para a variável do lado esquerdo;

23

Operador de Atribuição

24 of 57

O que é Banco de Dados?

24

Operadores de Atribuição com Operação

25 of 57

O que é Banco de Dados?

25

Operadores Aritméticos

26 of 57

O que é Banco de Dados?

  • Produzem sempre valores booleanos (1 ou 0)

26

Operadores Relacionais

27 of 57

O que é Banco de Dados?

  • Produzem sempre valores booleanos (1 ou 0)

27

Operadores Lógicos

28 of 57

O que é Banco de Dados?

28

string

29 of 57

O que é Banco de Dados?

  • Operadores
    • [i] – Acessa o i-esimo caracter da string
    • + - Concatena
  • Include:
    • #include <string>

29

string

30 of 57

O que é Banco de Dados?

30

Outro Exemplo string

31 of 57

O que é Banco de Dados?

  • Manipular E/S:
    • Entrada: teclado, mouse, arquivos, rede, etc;
    • Saída: tela, arquivo, rede, etc;
  • Bibiliotecas: <iostream>, <ostream> e <istream>
  • Operadores:
    • >> (pegar de)
    • << (por em)
  • Exemplo:
    • cin >> – Lê da entrada padrão;
    • cout << – Escreve na saída padrão;
    • cerr << – Escreve na saída de erro padrão;
  • printf e scanf
    • Não são generalizáveis para tipos definidos pelo usuário

31

Entrada e Saída em C++

32 of 57

O que é Banco de Dados?

32

Exemplo de Entrada e Saída em C++

33 of 57

O que é Banco de Dados?

33

Exemplo de Entrada e Saída em C++

34 of 57

O que é Banco de Dados?

  • Linhas adicionadas para facilitar o entendimento do programa;

  • São totalmente ignorados pelo compilador

  • Em C++, podem ser de 3 tipos:
    • Comentário de Linha: Uma única linha ( // )
    • Comentário de bloco: Múltiplas linhas (/* */)
    • Comentário de documentação: Múltiplas linhas (/** */)

34

Comentários

35 of 57

O que é Banco de Dados?

35

Comentários

36 of 57

O que é Banco de Dados?

36

Por que comentar o código?

37 of 57

37

Estruturas de Controle

38 of 57

O que é Banco de Dados?

  • C++ utiliza as mesmas estruturas de controle de C e algumas cositas más

  • São elas:
    • Decisão: if-else, switch-case
    • Repetição: for, while, do-while, for-each
    • Desvios: return, continue, break

38

Estruturas de Controle em C++

39 of 57

O que é Banco de Dados?

39

Estruturas de Decisão

40 of 57

O que é Banco de Dados?

  • Retorna um valor ou outro dependendo do resultado de uma expressão booleana

  • Cuidado!!!! Código pode ficar difícil de entender;

40

Operador Ternário

41 of 57

O que é Banco de Dados?

41

Estruturas de Repetição

42 of 57

O que é Banco de Dados?

42

Estruturas de Repetição

for-each

43 of 57

43

Arrays em C++

44 of 57

O que é Banco de Dados?

  • Duas formas de declarar (estática vs dinâmica):

44

Arrays

45 of 57

O que é Banco de Dados?

45

Arrays

46 of 57

O que é Banco de Dados?

46

Acesso aos elementos de Arrays

47 of 57

47

Métodos em C++

48 of 57

O que é Banco de Dados?

48

Métodos em C++

49 of 57

O que é Banco de Dados?

49

Métodos em C++

50 of 57

O que é Banco de Dados?

  • Podem ser de 2 tipos:
    • Por valor:
      • Recebe uma cópia do valor da variável;
      • Método não pode modificar valor de variável original;

    • Por referência (2 modos):
      • Recebe a localização (posição na memória) da variável;
      • Método pode modificar o valor da variável original;

50

Passagem de Parâmetros

51 of 57

O que é Banco de Dados?

51

Passagem por Valor

52 of 57

O que é Banco de Dados?

52

Passagem por Referência

53 of 57

O que é Banco de Dados?

53

Passagem por Referência

54 of 57

54

55 of 57

55

56 of 57

56

57 of 57

Apli

57