20
  Estruturas de Dados  Varáveis Compostas Heterogêneas:  Registros

Aula 08_Estruturas de Dados [Registros]

Embed Size (px)

DESCRIPTION

Registros

Citation preview

  • Estruturas de Dados

    Varveis Compostas Heterogneas:

    Registros

  • ESTRUTURAS DE DADOS

    Inicialmente foi feita uma diviso imaginria (numrico,

    caractere e lgico) com o objetivo de tornar mais simples a

    classificao das informaes (dados) de um programa.

    Em muitas situaes esses recursos so escassos. 2

    Exemplo 01 Declarao de variveis

    inteiro: a;

    real: x;

    caracter: s;

    logico: l;

    a = 5;

    x = 8.34;

    s = c;

    l = VERDADEIRO;

  • ESTRUTURAS DE DADOS

    As Estruturas de Dados so tipos de dados

    (variveis) que podem ser construdos e organizados

    a partir da composio dos tipos primitivos vistos

    anteriormente e so classificados da seguinte forma:

    Estrutura de Dados

    Variveis Compostas Homogneas;

    Unidimensionais (Vetores);

    Multidimensionais (Matrizes).

    Variveis Compostas Heterogneas

    Registros

    3

  • ESTRUTURAS DE DADOS

    Variveis Compostas Homogneas;

    Unidimensionais (Vetores);

    Multidimensionais (Matrizes).

    4

  • VARVEIS COMPOSTAS HETEROGNEAS

    So variveis compostas por diferentes tipos

    primitivos.

    5

    Heterognea (1, 2, Carro, Alagoas, 3.55)

  • EXEMPLO

    Em um sistema de vendas de passagens de uma

    empresa de nibus temos as seguintes informaes:

    6 TIPO SADA CHEGADA KM POLTRONA VALOR TOTAL

    Convencional 14/11/10 19/11/10 314 01-02 R$ 100,00 R$ 200,00

  • A PASSAGEM DE NIBUS PODE SER FORMADA POR UM CONJUNTO

    DE INFORMAES LOGICAMENTE RELACIONADAS, MAS DE TIPOS

    DIFERENTES.

    Nmero da passagem (numrico);

    Origem e Destino (caracteres);

    Data (caracteres);

    Horrio (numrico);

    Poltrona (numrico);

    Distncia (numrico);

    Fumante (lgico: verdadeiro ou falso). 7

    Como podemos

    Armazenar estas

    informaes em

    um programa

    Como podemos

    Armazenar estas

    informaes em

    um programa

  • FREEMAT

    No FreeMat as Variveis Compostas Heterogneas,

    ou seja, as informaes logicamente relacionadas,

    mas de tipos diferentes, podem ser armazenadas em

    variveis do tipo registro.

    8

  • Alguns detalhes que devem ser observados:

    a) Varivel do tipo registro: passagem de nibus;

    b) Cada campo do registro deve possuir um nome

    associado a ele.

    9

    Nmero da passagem (numrico)

    Origem e Destino (caracteres)

    Data (caracteres)

    Horrio (numrico)

    Poltrona (numrico)

    Distncia (numrico)

    Fumante (lgico:)

    Num

    Origem/destino

    Data

    Horario

    Poltrona

    Dist

    Fuma

  • REGISTRO: PASSAGEM DE NIBUS

    10

  • 11

    Marca Marca

    Modelo Modelo

    Cor Cor

    Ano Ano Placa Placa

    EXEMPLO 1 - REGISTRO: CARRO

    Quais so as

    informaes

    associadas ao carro?

  • 12

  • EXEMPLO 02: FAZER UM PROGRAMA PARA LER INFORMAES ESCOLARES

    DE UM ALUNO E ARMAZEN-LOS EM UM REGISTRO.

    13

    Nome Nome

    Idade Idade

    Serie Serie

    Matricula Matricula

    Quais so as

    informaes

    associadas ao aluno?

  • EXEMPLO 02: FAZER UM PROGRAMA PARA LER INFORMAES ESCOLARES

    DE UM ALUNO E ARMAZEN-LOS EM UM REGISTRO.

    14

    Aluno = { };

    Aluno.nome = input(Nome: , s);

    Aluno.idade = input(Idade: );

    Aluno.matri = input(Matricula: );

    Aluno.serie = input(Serie: );

    disp(Aluno);

  • 15

    E se ns desejarmos armazenar informaes sobre

    vrios alunos?

    Isso pode ser feito a partir da composio (combinao)

    entre variveis compostas homogneas e heterogneas.

  • 16

    registro 1

    registro 2

    registro 3

    registro 4

    Variveis

    Compostas

    Homogneas

    Variveis

    Compostas

    Homogneas

    Variveis

    Compostas

    Heterogneas

    Variveis

    Compostas

    Heterogneas

    No to

    complicado

    quanto parece!

    No to

    complicado

    quanto parece!

  • 17

    Exemplo 03:

    for i = 1:1:4

    aux = { };

    aux.nome = input(Nome: ,s);

    aux.idade = input(Idade: );

    aux.matri = input(Matricula: );

    aux.serie = input(Serie: );

    aluno(i) = aux;

    end

    for i = 1:1:4

    disp(aluno(i));

    end

  • EXERCCIOS 03: FAZER UM PROGRAMA PARA LER E ARMAZENAR

    INFORMAES SOBRE N ALUNOS. AS INFORMAES SO: NOME,

    MDIA, APROVADO (S OU N) E SEXO (M OU F). PEDE-SE AINDA PARA IMPRIMIR O NMERO DE MULHERES APROVADAS.

    18

    Passos:

    1 - Fazer leitura do nmero de alunos n; 2 - Fazer leitura das informaes dos alunos;

    3 - Contabilizar o nmero de mulheres aprovadas;

    4 - imprimir resultado na tela.

  • EXERCCIOS 03: FAZER UM PROGRAMA PARA LER E ARMAZENAR INFORMAES

    SOBRE N ALUNOS. AS INFORMAES SO: NOME, MDIA, APROVADO (S OU N) E SEXO (M OU F). PEDE-SE AINDA PARA IMPRIMIR O NMERO DE MULHERES APROVADAS.

    19

  • COLOCAR AS OPES ABAIXO NO

    PROGRAMA DO EXEMPLO ANTERIOR

    Armazenar as notas dos alunos;

    Prova 1

    Prova 2

    Calcular a mdia dos alunos

    Mdia = 0.3*(prova1) + 0.7*(prova2)

    Imprimir a maior nota e o nome do aluno;

    Imprimir listagem com o nome dos alunos

    aprovados e suas notas;

    20