1 / 16

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 6

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 6. Agenda. Matrizes Unidimensionais Multidimensionais Declaração de Vetores. Vetores. Dados Homogêneos Uma estrutura de dados, que utiliza somente um tipo de dado, em sua

albin
Download Presentation

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula 6

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMASLINGUAGEM DE PROGRAMAÇÃO IAula 6 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  2. Agenda • Matrizes • Unidimensionais • Multidimensionais • Declaração de Vetores 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  3. Vetores • Dados Homogêneos Uma estrutura de dados, que utiliza somente um tipo de dado, em sua Definição é conhecida como dados homogêneos. Variáveis compostas homogêneas correspondem a posições de memória, identificadas por um mesmo nome, individualizado por índices e cujo conteúdo é composto do mesmo tipo. Sendo os vetores (também conhecidos como estruturas de dados unidimensionais) e as matrizes (estruturas de dados bidimensionais) os representantes dos dados homogêneos 3 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  4. Vetores • Vetor - O vetor é uma estrutura de dados linear que necessita de somente um índice para que seus elementos sejam endereçados. • Usado para armazenar lista de valores do mesmo tipo. • Cada célula armazena somente um valor de dados do vetor tipo. • Cada célula tem seu próprio endereço ou indice. • Características principais • Alocação estática, Estrutura homogênea, alocação seqüencial 4 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  5. Vetores • Inserção/Exclusão Realocação dos elementos Posição de memória não liberada Ex : int nota [ 5 ] nota [1]=9.5; nota[2]=7.4 ......... 5 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  6. Matriz • Uma matriz é um arranjo bidimensional ou multidimensional de alocação estática e seqüencial. A matriz é uma estrutura de dados que necessita de um índice para referenciar a linha e outro para referenciar a coluna para que seus elementos sejam endereçados. • Ex. Char letras[3][6] 6 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  7. Matriz • Funções para alocação de memória Na linguagem C, a alocação dinâmica de memória pode ser realizada com apenas quatro chamadas a funções: void * malloc(int qty_bytes_alloc); void * calloc(int qty, int size); void * realloc(void * pointer, int new_size); free( void * pointer); 7 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  8. Uso de Memória em C • Funções para alocação de memória É a função malloc que realiza a alocação de memória. Deve-se informar para a função a quantidade de bytes para alocação. A função irá retornar, se existir memória suifciente, um endereço que deve ser colocado em uma variável do tipo ponteiro. Como a função retorna um ponteiro para o tipo void, deve-se utilizar o typecast, transformando este endereço para o tipo de ponteiro desejado. 8 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  9. Uso de Memória em C • Funções para alocação de memória calloc - Em vez de se alocar uma quantidade de bytes através da função malloc, pode-se usar a função calloc e especificar a quantidade de bloco de um determinado tamanho. Funcionalmente a alocação irá ocorrer de maneira idêntica. A única diferença entre o malloc e o calloc é que a última função, além de alocar o espaço, também inicializa o mesmo com zeros. 9 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  10. Uso de Memória em C • Funções para alocação de memória • Função realloc Às vezes é necessário expandir uma área alocada. Para isto deve-se usar a função realloc. Deve-se passar para ela o ponteiro retornado pelo malloc e a indicação do novo tamanho. A realocação de memória pode resultar na troca de blocos na memória. 10 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  11. Uso de Memória em C • Funções para alocação de memória • Função free - Quando não se deseja mais uma área alocada, deve-se liberá-la através da função free. Deve ser passado para a função o endereço, que se deseja liberar, que foi devolvido quando a alocação da memória ocorreu. 11 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  12. Declaração de Vetores • Ocorre da mesma forma que a declaração de uma variavel simples • Tipo nome_variavel[no. De elementos] OU • Int notas[4]; • Tipo – Tipo de dados de cada um dos elementos do vetor • Nome_variavel – Indica o Nome pelo qual o vetor sera chamado. • No. De elementos – Valor constante que indica quantos elementos tem o vetor. • Um vetor pode conter elementos de qualquer tipo de ddaos, mas os elementos são todos do mesmo tipo definido na declaração do vetor. 12 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  13. Declaração de Vetores • Carga inicial – como as variaveis contem valores aleatorios. • É possivel iniciar automaticamente todos os elementos de um vetor : • Tipo var[n] = {valor1,valor2,valor3,...valorn}; • Ex. de prog. Para leitura de salarios: 13 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  14. Matrizes e vetores Multidimensionais • A declaração de um vetor com n dimensões é realizada da seguinte maneira: • Tipo vetor[dim1] [dim2] [...] [dimn] • Ex. de vetor para implementar o jogo da velha usando um vetor de duas dimensões: • Constantes – Nome correspondente a um valor fixo (não se pode alterar ao longo da execução do programa. • Const tipo simbolo = valor ou • #define simbolo valor 14 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  15. Matrizes e vetores Multidimensionais • Diferenças entre const e #define. • Uma constante definida com const existe fisicamente em uma determinada posição de memória. • Uma constante definda com #define não existe fisicamente na memória, sendo seu valor substituido ao longo do programa na fase de pré processamento (antes da compilação) • Const faz parte das palavras reservadas da linguagem C • #define é uma diretiva que indica ao pré-processador que o simbolo que a segue vai ficar com o valor que aparece depois do simbolo, antes de compilar o pré-processdor subtitui o simbolo pelo valor definido. • Constante definida com const fica com o tipo de dado indicado na definição enquanto que se usar #define o tipo resulta da expressão que aparece no componente valor. • Como #define não faz parte da ling. C não precisa de ; no final 15 05/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

  16. Bibliografia 02/08/2011 Professor Leomir J. Borba- professor.leomir@gmail.com –http://professorleomir.wordpress.com

More Related