Estrutura de dados

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1894 palavras )
  • Download(s) : 0
  • Publicado : 18 de setembro de 2011
Ler documento completo
Amostra do texto
AVALIAÇÃO: 8,0 PONTOS ATIVIDADE: 2,O PONTOS
P1: 20/09 P2: 29/11

Estrutura de dados memória principal(RAM) alocação estática( matrizes e vetores) e alocação dinâmica (ponteiros int *p)

Vantagem da alocação estática: bastante simples e eficiente, mas perde espaço no servidor em situações simples, programas pequenos utilizamos:Estático:
ex: sistema de venda em loja:
qtos produtos? Difícil quantificar. Na prática é difícil quantificar

alocação dinâmica: através de ponteiros (linguagem C) permite implementar estrutura de alocação dinâmica. Na alocação dinâmica eu quantifico o tamanho apenas quando vou utilizar.
int *p

vetor
índices
indice > = 0 e índice < tamanho vetor OK
v[-1] não existe vetornegativo

Cuidado com posição e índice!!!!!!!!! índice é o local no vetor

for (int i = 4; i > = 0; i-- )
{
printf(" %d ", v[ i ] );
}

O for é dividido em 4 blocos:
A) inicialização: int i = 4 executado só no inicio
B) condição: i > = 0 executado até q a condição seja falsa
C) bloco a ser repetido: { printf(" %d ",v[i]); }
D) pós operação: i--teste de mesa:
|i |v[i] |
|4 |1 |
|3 |8 |
|2 |4 |
|1 |5 |
|0 |6 |

int maior = v[0];
for (int i=1; i maior)
maior= v[i];
}

teste de mesa
|i |v[i] |maior |
|1 |4 |6 |
|2 |5|FALSO |
|3 |8 |8 |
|4 |1 |FALSO |
| |Maior é |8 |

O scanf não limpa o teclado! Tem que ser feito um fflush(stdin)

Exercicico 3

Para deixar tudo em uma única linha:
if(v[i]==1)
r[0]++;
else if(v[i]==2)
r[1]++;
else if(v[i]==3)
r[2]++;else if(v[i]==4)
r[3]++;
else if(v[i]==5)
r[4]++;
else if(v[i]==6)
r[5]++;*/
podemos trocar por uma única linha
r[v[i]-1]++;
resolve-se o que está dentro dos parênteses e depois resolve a parte externa. Exemplo: jogamos o dado e deu valor 3( v=3). O valor 3 deve ser armazenado em r[2].
Pega-se na fórmula: r[v[3]-1]++r[3-1]++
r[2]++

Fazer exercícios 1, 4 7 (COMPLETED)

16/08/2011
Matriz:

Vetor é uma matriz unidimensional (apenas uma dimensão) v[2]

Matriz tem 2 dimensões. m[4][3] índice para cada uma das dimensões.

(neste caso existem 12 espaços na matriz)

Matrizes são “n” dimensionais.......m[2][6][3][4][5][6]Representação “visual” é definida pelo programador.

Qdo colocamos aspas simples,é apenas para um único caracter por posição ‘a’
Aspas duplas é uma string(conjunto de caracteres) ”x”

Fazer todos exercícios da apostila

23/08/2011
Matéria nova: estruturas em “C” (struct)

int v[10]; conjunto de dados (coleções); um único tipo de dado.
float m[8][3];

mas e se temos vários tipos dedados para serem armazenados????
Aí surge o conceito de estruturas (struct)
Ex.:
Produto
|CÓDIGO |NOME |PREÇO |
|11 |TELEVISOR |R$ 1.990,00 |
|12 |DVD PLAYER |R$ 365,00 |
|14 |RÁDIO|R$ 83,00 |

TIPOS DE DADOS:
|Primitivos |Abstratos |
|-definido pela linguagem de programação. |-definido pelo programador da aplicação. |
|-int, double, float, char, etc |-struct |
| |-typedef...
tracking img