UNDB


ESTRUTURAS DE DADOS


Prof. Alessandro Gonçalves
 Alessandro.inovacao@gmail.com
Estrutura da informação - revisão

Bit – representação binária (0 ou 1)
Menor unidade de informação
Estrutura da informação - revisão

Byte – conjunto de 8 bits


      0   0   0   1   0     0   0   1
Estrutura da informação - revisão

Byte – conjunto de 8 bits

  0        0 x 27           0
  0        0 x 26           0
  0        0 x 25           0
  1        1 x 24           16
  0        0 x 23           0
  0        0 x 22           0
  0        0 x 21           0
  1        1 x 2°           1



Em decimal: 17
Representação de caracteres

ASCII – American Standard Code for
 Information Interchange

   Binário        Decimal        Representação
       01000001             65          A
       01000010             66          B
       01000011             67          C
       00001101             13         CR
       00001010             10          LF
Estrutura da informação - revisão

Word – conjunto de bytes


 0   0   0   0   0   0   1   1   0   0   0   1   0   0   0   1
Tipos: primitivos e complexos

Primitivos – base para todos os outros
• Char      ‘A’, ‘.’, ‘5’
• Integer   0, 1, 200, -5
• Boolean True, False
• Real    750.78, -32457, 0.0001
Tipos: primitivos e complexos

Complexos – gerados a partir dos primitivos
• String ‘ROSE’
• Array   [1,2,5] [‘ab’,’cd’] [true,false]
Tipos: declarando em C

Int numero;
Char letra;



       Variável   Tipo   Endereço   Valor
       Numero     Int    16538              ?
       Letra      Char   17200              ?
Tipos: declarando em C

Int numero = 5;
Char letra = ‘a’;



       Variável     Tipo   Endereço   Valor
       Numero       Int    16538              5
       Letra        Char   17200              a
Motivacional
Filas
Filas

        INÍCIO



          A      B   C



                     FIM
Filas - operações

• Incluir elemento
• Excluir elemento
• Limpar fila
Filas – incluir elemento

      A          B         C




                 D




• elementos = elementos + 1;
Filas – excluir elemento

      A         B        C     D




• elementos = elementos - 1;
Filas - limpar

      A          B   C   D




• elementos = 0;
Pilhas

Estrutura de Dados do tipo LIFO (Last in First Out)

Apesar de simples, tem muitas aplicações


     Topo
                      E
                      D
                      C
                      B
                                  Base
                      A
Pilhas - operações

Inclusão: sempre o elemento superior

Exclusão: sempre o elemento superior


                 X
   E             E           E
   D             D           D         D

   C             C           C         C
   B             B           B         B
   A             A           A         A
Pilhas - operações

Restrições de operações ?




                X
   E            E           E
   D            D           D   D

   C            C           C   C
   B            B           B   B
   A            A           A   A
Pilhas

Estrutura de Dados do tipo LIFO (Last in First Out)

Apesar de simples, tem muitas aplicações


     Topo
                      E
                      D
                      C
                      B
                                  Base
                      A
Pilhas - operações

Inclusão: sempre o elemento superior

Exclusão: sempre o elemento superior


                 X
   E             E           E
   D             D           D         D

   C             C           C         C
   B             B           B         B
   A             A           A         A
Pilhas - operações

Restrições de operações ?




                X
   E            E           E
   D            D           D   D

   C            C           C   C
   B            B           B   B
   A            A           A   A
A Linguagem C


Criada por Dennis Ritchie, na década de 70

Procedural e compilada

Inicialmente voltada ao ambiente Unix

Simples e poderosa: 28 comandos

Gera código muito eficiente
A Linguagem C

Código fonte



               Pré-processador



                                 Compilador



                                              Linker
Sintaxe
Os comandos terminam com ;

Case sensitive

Em todo o programa existe o corpo:

main()
{

}
Declaração de variáveis
 [tipo] nome da variável {inicialização}



 Ex:

 int x;
 char teste = 'a';
Tipos escalares


     Char     Caractere

     Int      Inteiro (±215)

     Float    Decimal ±3.4 x 238
Operadores aritméticos

 X = 5;

 X = X + 10;

 Y = Y – 1;

 Z = X * Y;

 A = B/C;

 A = 2^3 (2 ELEVADO A 3)
Operadores relacionais

 >    maior que
 >=   maior ou igual
 <    menor
 <=   menor ou igual
 ==   igual
 !=   diferente
Operadores lógicos

 &&   e
 ||   ou
 !    não
Comandos de I/O

 printf(“olá”);   /* Exibe texto na tela */

 Para exibição de variáveis, deve-se informar o
 tipo:

 main() {
   char l = 'x';
   printf(“A letra eh %c”, l);
 }

 Resultado
 A letra eh x
Comandos de I/O - printf
 n   nova linha
 "   aspas
    barra

 %c   caractere simples
 %d   decimal
 %e   notação científica
 %f   ponto flutuante
 %i   inteiro
 %s   cadeia de caracteres
 %u   decimal sem sinal
Comandos de I/O - printf
 main() {
   char l = 'x';
   printf(“A letra eh
 %cn----------n”Fim”n----------”, l);
 }

 Resultado:
 A letra eh x
 ----------
 “Fim”
 ----------
Comandos de I/O - printf
 main() {
   float x = 10;
   printf(“valor de x %en”, l);
 }

 Resultado:
 valor de x: 1.000000e+001
Comandos de I/O - printf
 Exercícios

 1) Crie um programa em C que defina duas
 variáveis, some seus valores e exiba o resultado
 na tela
Comandos de I/O - scanf
 main() {
   char s;
   printf (“Digite um caracteren”);
   scanf(“%c”, &s);
   printf(“%c”, s);
 }
Comandos de I/O - scanf
 Exercícios

 1) Crie um programa em C que aguarde a
 digitação de 3 números e exiba a média deles na
 tela;
UNDB

ESTRUTURAS DE DADOS


Prof. Alessandro Gonçalves
 Alessandro.inovacao@gmail.com

Estruturas de dados aulas - bloco 1

  • 1.
    UNDB ESTRUTURAS DE DADOS Prof.Alessandro Gonçalves Alessandro.inovacao@gmail.com
  • 3.
    Estrutura da informação- revisão Bit – representação binária (0 ou 1) Menor unidade de informação
  • 4.
    Estrutura da informação- revisão Byte – conjunto de 8 bits 0 0 0 1 0 0 0 1
  • 5.
    Estrutura da informação- revisão Byte – conjunto de 8 bits 0 0 x 27 0 0 0 x 26 0 0 0 x 25 0 1 1 x 24 16 0 0 x 23 0 0 0 x 22 0 0 0 x 21 0 1 1 x 2° 1 Em decimal: 17
  • 6.
    Representação de caracteres ASCII– American Standard Code for Information Interchange Binário Decimal Representação 01000001 65 A 01000010 66 B 01000011 67 C 00001101 13 CR 00001010 10 LF
  • 7.
    Estrutura da informação- revisão Word – conjunto de bytes 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 1
  • 8.
    Tipos: primitivos ecomplexos Primitivos – base para todos os outros • Char ‘A’, ‘.’, ‘5’ • Integer 0, 1, 200, -5 • Boolean True, False • Real 750.78, -32457, 0.0001
  • 9.
    Tipos: primitivos ecomplexos Complexos – gerados a partir dos primitivos • String ‘ROSE’ • Array [1,2,5] [‘ab’,’cd’] [true,false]
  • 10.
    Tipos: declarando emC Int numero; Char letra; Variável Tipo Endereço Valor Numero Int 16538 ? Letra Char 17200 ?
  • 11.
    Tipos: declarando emC Int numero = 5; Char letra = ‘a’; Variável Tipo Endereço Valor Numero Int 16538 5 Letra Char 17200 a
  • 12.
  • 13.
  • 14.
    Filas INÍCIO A B C FIM
  • 15.
    Filas - operações •Incluir elemento • Excluir elemento • Limpar fila
  • 16.
    Filas – incluirelemento A B C D • elementos = elementos + 1;
  • 17.
    Filas – excluirelemento A B C D • elementos = elementos - 1;
  • 18.
    Filas - limpar A B C D • elementos = 0;
  • 19.
    Pilhas Estrutura de Dadosdo tipo LIFO (Last in First Out) Apesar de simples, tem muitas aplicações Topo E D C B Base A
  • 20.
    Pilhas - operações Inclusão:sempre o elemento superior Exclusão: sempre o elemento superior X E E E D D D D C C C C B B B B A A A A
  • 21.
    Pilhas - operações Restriçõesde operações ? X E E E D D D D C C C C B B B B A A A A
  • 22.
    Pilhas Estrutura de Dadosdo tipo LIFO (Last in First Out) Apesar de simples, tem muitas aplicações Topo E D C B Base A
  • 23.
    Pilhas - operações Inclusão:sempre o elemento superior Exclusão: sempre o elemento superior X E E E D D D D C C C C B B B B A A A A
  • 24.
    Pilhas - operações Restriçõesde operações ? X E E E D D D D C C C C B B B B A A A A
  • 25.
    A Linguagem C Criadapor Dennis Ritchie, na década de 70 Procedural e compilada Inicialmente voltada ao ambiente Unix Simples e poderosa: 28 comandos Gera código muito eficiente
  • 26.
    A Linguagem C Códigofonte Pré-processador Compilador Linker
  • 27.
    Sintaxe Os comandos terminamcom ; Case sensitive Em todo o programa existe o corpo: main() { }
  • 28.
    Declaração de variáveis [tipo] nome da variável {inicialização} Ex: int x; char teste = 'a';
  • 30.
    Tipos escalares Char Caractere Int Inteiro (±215) Float Decimal ±3.4 x 238
  • 31.
    Operadores aritméticos X= 5; X = X + 10; Y = Y – 1; Z = X * Y; A = B/C; A = 2^3 (2 ELEVADO A 3)
  • 32.
    Operadores relacionais > maior que >= maior ou igual < menor <= menor ou igual == igual != diferente
  • 33.
    Operadores lógicos && e || ou ! não
  • 34.
    Comandos de I/O printf(“olá”); /* Exibe texto na tela */ Para exibição de variáveis, deve-se informar o tipo: main() { char l = 'x'; printf(“A letra eh %c”, l); } Resultado A letra eh x
  • 35.
    Comandos de I/O- printf n nova linha " aspas barra %c caractere simples %d decimal %e notação científica %f ponto flutuante %i inteiro %s cadeia de caracteres %u decimal sem sinal
  • 36.
    Comandos de I/O- printf main() { char l = 'x'; printf(“A letra eh %cn----------n”Fim”n----------”, l); } Resultado: A letra eh x ---------- “Fim” ----------
  • 37.
    Comandos de I/O- printf main() { float x = 10; printf(“valor de x %en”, l); } Resultado: valor de x: 1.000000e+001
  • 38.
    Comandos de I/O- printf Exercícios 1) Crie um programa em C que defina duas variáveis, some seus valores e exiba o resultado na tela
  • 39.
    Comandos de I/O- scanf main() { char s; printf (“Digite um caracteren”); scanf(“%c”, &s); printf(“%c”, s); }
  • 40.
    Comandos de I/O- scanf Exercícios 1) Crie um programa em C que aguarde a digitação de 3 números e exiba a média deles na tela;
  • 41.
    UNDB ESTRUTURAS DE DADOS Prof.Alessandro Gonçalves Alessandro.inovacao@gmail.com