14
1 Prof. Luis Nícolas de Amorim Trigo [email protected] Programa Programaç ão Estruturada ão Estruturada Linguagem C Estrutura de Dados Homogêneas 2 Sum Sumá rio rio • Introdução • Exercícios

[06]_C_-_Estrutura_de_Dados_Homogeneas-1[1]

Embed Size (px)

DESCRIPTION

estrutura de dados

Citation preview

  • 1Prof. Luis Ncolas de Amorim [email protected]

    ProgramaProgramao Estruturadao Estruturada

    Linguagem CEstrutura de Dados Homogneas

    2

    SumSumriorio

    Introduo

    Exerccios

  • 23

    IntroduIntroduo [ 1 o [ 1 3 ]3 ] A manipulao de dados um dos objetivos da

    criao de programas, que leva este a precisar de dados e informaes para exercer as suas funes.

    Informaes simples atendem a uma pequena parcela dos algoritmos.

    A maioria utiliza uma grande carga de informaes e estas, quando utilizadas com tipos primitivos, precisam de inmeras variveis, tornando o algoritmo um monstro carregado de repositrios, j que um deste contm apenas uma informao.

    4

    IntroduIntroduo [ 2 o [ 2 3 ]3 ] A alternativa para atender a esta

    demanda corresponde a criao de novos repositrios que suportem vrias informaes.

    Utilizando os armrios como demonstrao: uma gaveta s pode conter um objeto,

    uma varivel tem somente uma informao, no tipo primitivo.

    Quando se trata de tipos construdos, uma gaveta, ou melhor, uma varivel pode conter inmeras informaes.

  • 35

    IntroduIntroduo [ 3 o [ 3 3 ]3 ] Os tipos construdos so denominados de

    Estrutura de Dados Composta, que consiste em um conjunto de informaes armazenados em um repositrio.

    dividida em duas classificaes: Estruturas de Dados Compostas Homogneas Estruturas de Dados Compostas Heterogneas

    6

    Estrutura de Dados Compostas HomogneasEstrutura de Dados Compostas Homogneas

    formado por variveis que aceitam um nmero indeterminado de informaes a partir de um mesmo tipo primitivo.

    Ele dividido em duas partes: Estruturas de Dados Compostas

    Homogneas Unidimensionais, conhecido como Vetor; e

    Estruturas de Dados Compostas Homogneas Compostas Multidimensionais, conhecido como Matriz.

  • 47

    VetorVetor

    Para entendermos um vetor iremos utilizar o cenrio de um edifcio. Digamos que um edifcio contm apenas um apartamento por andar.

    Um edifcio corresponde a um vetor e cada apartamento corresponde a um elemento deste vetor.

    8

    Sintaxe de DeclaraSintaxe de Declarao de Vetoro de Vetor

    tipo nome_var[tamanho];

    Onde: tipo Refere-se ao tipo de dado(int, etc.). nome_var Identifica o nome do vetor. [tamanho] Quantidade de elementos que o vetor armazenar.

    Exemplo:float notas[4];// vetor possui 4 posies (ndice de 0 a 3)

  • 59

    Sintaxe de ManipulaSintaxe de Manipulao de Vetoro de Vetor

    Atribuio completa do vetornome_var[tamanho] = {x,y,z};

    Exemplo:float notas[4];notas[4] = {5.5,9,6,8};

    10

    Sintaxe de ManipulaSintaxe de Manipulao de Vetoro de Vetor

    Atribuio em uma posio do vetornome_var[i] = n;

    Exemplo:Float notas[4];notas[2] = 6;

    NicolasRealce

    NicolasNotatipo nome_var[tamanho] = {x,y,z};

    float notas[4] = {5.5,9,6,8};

  • 611

    Sintaxe de ManipulaSintaxe de Manipulao de Vetoro de Vetor

    Inicializao de um vetorfloat notas[4];for(int i=0;i

  • 713

    Sintaxe de ManipulaSintaxe de Manipulao de Vetoro de Vetor

    Sada de dados em um vetor#include float notas[4];...

    for(int i=0;i

  • 815

    MatrizMatriz

    Vetor uma varivel composta homognea unidimensional porque tem somente uma dimenso, ou seja, cresce somente em um sentido.

    J uma matriz corresponde a uma varivel composta homognea multidimensional, pois ela pode crescer em vrios sentidos.

    Ela pode variar de matriz bidimensional atN-dimensional, ou seja, projeta de 2 ou mais direes.

    16

    MatrizMatriz

  • 917

    MatrizMatriz

    Para entendermos uma matriz bidimensional (duas dimenses), ser utilizado o cenrio de uma platia de um teatro.

    O teatro formado por um palco e uma platia de 20 cadeiras.

    Esta platia composta por cinco fileiras de quatro cadeiras ou quatro arquibancadas de cinco cadeiras.

    18

    MatrizMatriz

    Fazendo outra comparao para haver uma melhor compreenso, iremos utilizar novamente o cenrio de um edifcio, s que, agora, cada andar tervrios apartamentos.

    Digamos que um edifcio tenha trs apartamentos por andar, sendo quatro andares.

    Neste caso, o edifcio corresponde a uma matriz com quatro linhas e trs colunas, conforme a figura ao lado.

    As formas de declarao e manipulao a seguir so de estruturas bidimensionais.

  • 10

    19

    Sintaxe de DeclaraSintaxe de Declarao de Matrizo de Matriz

    tipo nome_var[linha][coluna];

    Onde: tipo Refere-se ao tipo de dado(int, etc.). nome_var Identifica o nome da matriz. [linha][coluna] Qtde. de elementos que a matriz armazenar.

    linhas * colunas.

    Exemplo:int num[2][3];int num2[4][4] Matriz Retangular

    Matriz Quadrada

    20

    Sintaxe de ManipulaSintaxe de Manipulao de Matrizo de Matriz

    Atribuio completa da matriztipo nome_var[linha][coluna] = {{x1,...,y1},{x2,...,y2},...{xn,...,yn}};

    Exemplo:int num[2][2] = {{5,9},{6,8}};int num2[3][2] = {{4,7},{5,6},{1,0}};

  • 11

    21

    Sintaxe de ManipulaSintaxe de Manipulao de Matrizo de Matriz

    Atribuio em uma posio da matriznome_var[linha][coluna] = n;

    Exemplo:int num[2][3];num[1][0] = 87;int num2[4][4];num2[0][3] = 23;

    22

    Sintaxe de ManipulaSintaxe de Manipulao de Matrizo de Matriz

    Inicializao de uma matrizint num[2][3];for(int i=0;i

  • 12

    23

    Sintaxe de ManipulaSintaxe de Manipulao de Matrizo de Matriz Entrada de dados em uma matriz#include ...

    int num[2][3];for(int i=0;i

  • 13

    25

    Exemplo de MatrizExemplo de Matriz

    #include #include int main(){

    int num[3][2],maior,menor;for(int i=0;i

  • 14

    27

    ExercExercciocio

    4. Elabore um algoritmo que leia uma matriz quadrada de ordem 5 e um inteiro. Apresente os nmeros da linha indicada pelo nmero inteiro fornecido pelo usurio.

    5. Elabore um algoritmo que leia uma matriz quadrada de ordem 5 e um inteiro. Apresente os nmeros da coluna indicada pelo nmero inteiro fornecido pelo usurio.

    6. Elabore um algoritmo que receba uma matriz inteira retangular 2x3, gere e imprima uma matriz transposta. Esta gerada trocando a linha pela coluna. Exemplificado na figura ao lado. 63

    52

    41

    num transposta

    654

    321

    num

    28

    ExercExercciocio

    7. Elabore um algoritmo que leia uma matriz inteira quadrada de ordem 4, calcule e mostre no final:

    a) A soma dos Tringulos Principais e Secundrios, tanto superior, quanto inferior.

    b) A mdia aritmtica da Diagonal Principal e da Diagonal Secundria.