UNDB
ESTRUTURAS DE DADOSESTRUTURAS DE DADOS
Prof. Alessandro GonçalvesProf. Alessandro Gonç[email protected]@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
Em decimal: 17
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
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
A B C
INÍCIO
FIM
Filas - operações
• Incluir elemento
• Excluir elemento
• Limpar fila
Filas – incluir elemento
• elementos = elementos + 1;
A B C
D
Filas – excluir elemento
• elementos = elementos - 1;
B C DA
Filas - limpar
• elementos = 0;
B C DA
Pilhas
Estrutura de Dados do tipo LIFO (Last in First Out)
Apesar de simples, tem muitas aplicações
E
D
C
B
A
Topo
Base
Pilhas - operações
Inclusão: sempre o elemento superior
Exclusão: sempre o elemento superior
E
D
C
B
A
X
E
D
C
B
A
E
D
C
B
A
D
C
B
A
Pilhas - operações
Restrições de operações ?
E
D
C
B
A
X
E
D
C
B
A
E
D
C
B
A
D
C
B
A
Pilhas
Estrutura de Dados do tipo LIFO (Last in First Out)
Apesar de simples, tem muitas aplicações
E
D
C
B
A
Topo
Base
Pilhas - operações
Inclusão: sempre o elemento superior
Exclusão: sempre o elemento superior
E
D
C
B
A
X
E
D
C
B
A
E
D
C
B
A
D
C
B
A
Pilhas - operações
Restrições de operações ?
E
D
C
B
A
X
E
D
C
B
A
E
D
C
B
A
D
C
B
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
Pré-processador
Compilador
Código fonte
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);
}
ResultadoA 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 - printfmain() {
char l = 'x';printf(“A letra eh
%c\n----------\n\”Fim\”\n----------”, l);}
Resultado:A letra eh x----------“Fim”----------
Comandos de I/O - printfmain() {
float x = 10;printf(“valor de x %e\n”, l);
}
Resultado:valor de x: 1.000000e+001
Comandos de I/O - printfExercí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 - scanfmain() {
char s;printf (“Digite um caractere\n”);scanf(“%c”, &s);printf(“%c”, s);
}
Comandos de I/O - scanfExercícios
1) Crie um programa em C que aguarde a digitação de 3 números e exiba a média deles na tela;