Você está na página 1de 17

Tipos de Dados

Introduo: Dados
Computao: Estudo e manipulao de dados Dados Dados Transformados

Computador: Manipulador de dados Mundo real


modelagem
representao

Resultado
execuo

Dados

Algoritmos

Algoritmo
Definio: Um algoritmo um conjunto finito de instrues que seguidas, realizam uma tarefa determinada. Todo algoritmo deve ainda satisfazer as propriedades de:
1. Entrada - nenhum ou vrios de entrada 2. Sada - pelo menos um valor deve ser gerado 3. Clareza - cada instruo deve ser clara e no ambgua 4. Trmino - o algoritmo deve terminar aps um nmero finito de passos ou iteraes 5. Efetividade - toda instruo deve poder ser executada

Um programa pode no satisfazer o critrio (4), por exemplo, os Sistemas Operacionais.

PROCEDIMENTOS E FUNES
PROCEDURE nome_da_procedure;
BEGIN <lista de comandos> END;
PARMETROS DO PROCEDIMENTO/ DA FUNO

FUNCTION nome_da_funcao: tipo_da_funcao;


BEGIN <lista de comandos> nome_da_funcao := valor; //O tipo do valor deve ser igual ao tipo da funo END;

PASSAGEM DE PARMETROS
POR VALOR
A procedure ou funo NO afeta o valor da varivel passada como parmetro PROCEDURE procedimento (variavel: tipo); FUNCTION funcao (variavel: tipo): tipo_da_funcao;

POR REFERNCIA A procedure ou funo afeta o valor da varivel passada como parmetro PROCEDURE procedimento (VAR variavel: tipo); FUNCTION funcao (VAR variavel: tipo): tipo_da_funcao;

PASSAGEM DE PARMETROS POR VALOR


PROGRAM EXEMPLO; VAR n: integer; PROCEDURE NumPar (N:Integer); begin N := N DIV 2; writeln (N); Quais seriam as sadas end; do programa principal? BEGIN N := 4; NumPar(n); writeln(n); END;

Sada: 2 Sada: 4

PASSAGEM DE PARMETROS POR REFERNCIA


PROGRAM EXEMPLO; VAR n: integer; PROCEDURE NumPar (VAR N:Integer); begin N := N DIV 2; writeln (N); Quais seriam as sadas end; do programa principal? BEGIN N := 4; NumPar(n); writeln(n); END;

Sada: 2 Sada: 2

Tipos de Dados
Um tipo de dado consiste em:
1. Um conjunto de valores (domnio) 2. Um conjunto de operaes

Cada constante, varivel, expresso ou funo pertence a um tipo de dado


Refere-se ao conjunto de valores que uma varivel, constante ou expresso pode assumir, ou o conjunto de valores que podem ser gerados por uma funo

Ex: tipo de dado INTEGER em Pascal


Os valores que este pode assumir so: ..., -2, -1, 0, 1, 2, ...; Vrias operaes so definidas: +, , , mod, etc.

Tipos de Dados
Os tipos de dados pode ser divididos em: 1. Primitivos ou Elementares 2. Compostos ou Estruturados

1. Tipos primitivos: no existe uma estrutura sobre seus valores


Ex: tipos boolean, integer e char em Pascal

2. Tipos estruturados: existe uma relao estrutural intrnseca entre seus valores
Ex: num array, os elementos seguem uma estruturao linear

Tipos de Dados Primitivos


Podem ser definidos das seguintes formas:
Dentro da linguagem (fundamentais): INTEGER, REAL, BOOLEAN, CHAR, ... Por enumerao de valores: TYPE sexo = (masculino, feminino) TYPE cor = (amarelo, verde, azul, branco, preto, roxo) Atravs de Subintervalos: TYPE ano = [1900..2100] TYPE digito = [0,9]

Tipos de Dados Estruturados


Tipos estruturados disponveis em Pascal:
1. Vetores (arrays) uni e n-dimensionais (tambm chamados de arranjos) 2. Conjuntos 3. Registros

Tipo Estruturado Vetor (1)


Vetor: Conjunto de elementos do mesmo tipo, e tem as seguintes caractersticas:
1. Finito: tamanho conhecido 2. Ordenado: elementos organizados de forma que exista um elemento 1, um elemento 2, e assim por diante... 3. Homogneo: os componentes so do mesmo tipo

Pode ter vrias dimenses: matriz = 2 Em Pascal:


VAR vetor = ARRAY [1..80] OF CHAR VAR matriz = ARRAY [1..10, 1..20] OF INTEGER

Tipo Estruturado Conjunto (1)


A declarao
TYPE TipoConj = SET OF TipoBase x : TipoConj

Os valores possveis de x do tipo TipoConj so conjuntos dos elementos de TipoBase


TYPE BitSet = SET OF [0..15]

TYPE Baianao = SET OF [Bahia, Catuense, Camacari, Vitria,


Juazeiro, Ipitanga] Seja a varivel futebol: Baianao Valores podem ser atribudos por: GrupoA := [Bahia, Catuense, Camacari] GrupoB := [Vitoria..Ipitanga];

Tipo Estruturado Registro (1)


Consiste num agrupamento de dois ou mais tipos de dados arbitrrios
TYPE TipoReg = RECORD s1 : Tipo1 ; s2 : Tipo2 ;
...

Campo / membro

sn : Tipon ; END

Uso:

x : TipoReg; x. s1 = v ; (* do tipo Tipo1 *)

EXERCCIOS DE FIXAO
Faa um programa para o controle das notas de 50 alunos. Para cada aluno necessrio guardar as seguintes informaes: Nome, Matricula, Curso, Matria e notas de 3 provas. Use funes, procedures e registros. O programa deve possuir os seguintes itens: Um procedimento para inserir um aluno (informar se pode ou no ser includo); Um procedimento para guardar a nota de um aluno (informar se o aluno existe e se podem ser cadastradas mais notas para ele); Uma funo para retornar a mdia das notas de um aluno; Uma funo que retorna a mdia das notas de todos os alunos; Uma funo que retorna a quantidade de alunos que foram aprovados em Estrutura de Dados I

Você também pode gostar