Edd 2

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Edd 2 as PDF for free.

More details

  • Words: 515
  • Pages: 18
4 Tipus de dades elementals unitat didàctica 1: Contextualització del crèdit

1

Tipus de dades en C 

int



char



float

2

Tipus de dades en pseudocodi 

booleà



natural



caràcter



enter



real

3

5 Tipus de dades estructurats unitat didàctica 1: Contextualització del crèdit

4

Tipus de dades estructurats 

Tipus de dades estructurats = estructures de dades



És una manera d'organitzar un conjunt de dades elementals amb un objectiu determinat.

5

Classificació

6

Registres (tuples) 1 

Estructura de dades heterogènia: agrupa elements de diferents tipus. struct nom_estr { tipus nom_camp1; ... tipus nom_campN; } llista_variables; DECLARACIÓ: struct nom_estr llista_variables; 7

Registres (tuples) 2 

Exemple struct data { int dia; int mes; int any; } dataActual; struct data dataFutura; //accés als camps: dataActual.dia = 21; 8

Registres (tuples) 3 

Podem definir tipus de dades a partir de registres: typedef struct { int dia; int mes; int any; } Data; Data dataActual;



Per conveni els tipus creats tindran la primera lletra en majúscula. 9

Registres (tuples) 4 

Sintaxi en pseudocodi tupla data { var dia: enter; var mes: enter; var any: enter; } dataActual; tupla data dataFutura; //accés als camps: dataActual.dia = 21; 10

Registres (tuples) 5 

Definició de tipus de dades: tipus tupla { ... } Data; Data dataActual;



Per conveni els tipus creats tindran la primera lletra en majúscula. 11

Vectors i matrius (1) 

Estructura de dades estàtica i homogènia: tots els elements són del mateix tipus.



Basat en el concepte matemàtic de vector i matriu.



Té N dimensions, cadascuna d'elles amb una mida concreta: 

Vector: 1 dimensió



Matriu: 2 dimensions



Poliedre: N>2 dimensions 12

Vectors i matrius (2) 

Cadascuna de les dimensions es fixa i es determina a priori.



Per a accedir a una dada es fa mitjançant l'índex de cadascuna de les seves components: 

Els índexs van numerats de 0 a dimensió-1.

13

Vectors i matrius: declaració 



Declaració: 

tipus_vector nom_vector[mida];



tipus_matriu nom_matriu[#fil][#col];

Declaració i inicialització: 

tipus nom[N]={val1, val2,... valN};



tipus nom[N][M]= { {val10,...,val1N} ,..., {valM0,...,valMN} };

14

Vectors i matrius: declaració 

Sintaxi en pseudocodi var notes: vector[20] d'enter; var alumnotes: matriu[20][10] d'enter; notes[2] = 6;

15

Organització en memòria 

Els elements de vectors i matrius se situen a memòria de la següent forma:

@pos[i] = @pos * i * tipus; @pos[i][j] = @pos + #COLS * i * tipus + j * tipus On #COLS és el nombre de columnes i tipus la mida dels elements del vector. 16

Pas com a paràmetres (1) 

Els vectors i matrius SEMPRE es passen per referència: int main() { int Matriu[2][2]; funcio(Matriu); //id= punter a 1a posició //funcio(&Matriu[0][0]) seria equivalent } void funcio(int M[2][2]) { M[0][1]* = -2; }

17

Pas com a paràmetres (2) 

En cas d'haver de recórrer els vectors o matrius, caldrà que passem com a paràmetre també les seves dimensions. void funcio(int vec[], int N) { int i = 0; while (i

Related Documents