EJEMPLO DEL TEMA 6

13
EJEMPLO DEL TEMA 6 ARRAYS BIDIMENSIONALES

description

EJEMPLO DEL TEMA 6. ARRAYS BIDIMENSIONALES. Consumo (C) y renta mensual (RM) de 100 familias (expresadas en 10 4 €) Diseñar e implementar un programa en Pascal que obtenga las medias y desviaciones típicas de las distribuciones marginales. datos_tabla.txt. - PowerPoint PPT Presentation

Transcript of EJEMPLO DEL TEMA 6

Page 1: EJEMPLO DEL TEMA 6

EJEMPLO DEL TEMA 6

ARRAYS BIDIMENSIONALES

Page 2: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Consumo (C) y renta mensual (RM) de 100 familias (expresadas en 104 €)

Diseñar e implementar un programa en Pascal que obtenga las medias y desviaciones típicas de las distribuciones marginales

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Page 3: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Calculo medias y d.tipicas marginales

datos_tabla.txt

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Leer datos de fichero

Calcular media marginal de C

Calcular media marginal de RM

Calcular d.tipica marginal de C

Calcular d.tipica marginal de RM

Page 4: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Calculo medias y d.tipicas marginales

datos_tabla.txt

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Calcular suma de una col.

Calcular sumas de frecuencias de todas

columnas

Aplicar fórmula de la media a las

frecuencias y valores de C

Leer datos de fichero

Calcular media marginal de C

Calcular media marginal de RM

Calcular d.tipica marginal de C

Calcular d.tipica marginal de RM

Mostrar la media

Page 5: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Calculo medias y d.tipicas marginales

datos_tabla.txt

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Leer datos de fichero

Calcular media marginal de C

Calcular media marginal de RM

Calcular d.tipica marginal de C

Calcular d.tipica marginal de RM

Aplicar fórmula de la d. tipica a las

frecuencias y valores de C

Page 6: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Calculo medias y d.tipicas marginales

datos_tabla.txt

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Calcular suma de una fila.

Calcular sumas de frecuencias de todas

filas

Aplicar fórmula de la media a las

frecuencias y valores de RM

Leer datos de fichero

Calcular media marginal de C

Calcular media marginal de RM

Calcular d.tipica marginal de C

Calcular d.tipica marginal de RM

Mostrar la media

Page 7: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Calculo medias y d.tipicas marginales

datos_tabla.txt

C

RM

15 5 35 45

30 10 15

40 5 20 25

50 15 5 5

Leer datos de fichero

Calcular media marginal de C

Calcular media marginal de RM

Calcular d.tipica marginal de C

Calcular d.tipica marginal de RM

Aplicar fórmula de la d. tipica a las

frecuencias y valores de RM

Page 8: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

Maria del Mar: LeeDatosdeFichero Yasin: SumaFilasdeMatriz Alex: SumaColumnasdeMatriz Sonia: CalculaMediadeVector Maria Teresa: CalculaDTipicadeVector Maria José: Ensambla el programa.

Page 9: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

program experimento;

const

c:array [1..4] of integer = (15,25,35,45);(*valores de C*)

RM:array [1..3] of integer = (30,40,50);(*valores de RM*)

var

fila:array [1..4] of integer;(*guarda suma columnas*)

columna:array [1..3] of integer;(*guarda suma filas*)

fich:text;(*fichero de datos*)

tabla:array[1..3,1..4] of integer; (*guarda las frecuencias de la distribucion*)

m1,m2,dt1,dt2:real;(*medias y desv.tipicas marginales*)

Page 10: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

(*Declaracion de procedimientos*)

procedure lee_datos (var tab:array of array of integer; var fichero:text);

(*lee datos del fichero y los devuelve en tab*)

procedure suma_filas (tab:array of array of integer; var col: array[1..3] of integer);

(*recibe la tabla y una columna vacia, suma las filas y las guarda en la columna*)

Var i,j:integer;

Begin

For i:=low(tab) to high(tab) do

For j:= low(tab[0]) to high(tab[0]) do

col[i]:= col[i] + tab[i,j];

End;

Page 11: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

procedure suma_columnas (tab:array of array of integer; var fil:array [1..4] of integer);

(*recibe la tabla y una fila vacia,suma las columnas y las guarda en la fila*)

Var i,j: integer;

BEGIN

For i:= low(tab[0]) to high(tab[0])) do

For j:= low(tab) to high(tab) do

fil[i] := fil[i] + tab[j,i];

END;

Page 12: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

function media_datos (vf:array of integer;vx: array of real):real;

(*recibe las frecuencias (vf) y los valores (vx)y devuelve la media como un numero real*)

function dsviacion_tipica (vf,vx:array of integer; media:real):real;

(*recibe las frecuencias(vf) y los valores (vx) y la media y devuelve la desviacion tipica como un numero real*)

Page 13: EJEMPLO DEL TEMA 6

TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES

(*Programa principal*)

begin

assign (fich,'datos_tabla.txt');

lee_datos (tabla, fich);

suma_columnas (tabla,fila);

suma_filas (tabla,columna);

m1:= media_datos(fila,c);

m2:= media_datos(columna,rm);

dt1:= desviacion_tipica (fila,c,m1);

dt2:= desviacion_tipica (columnas,rm,m2);

writeln ('La media del costo es: ', m1);

writeln ('La media de rm es: ',m2);

writeln ('La desviacion tipica del costo es: ',dt1);

writeln ('La desviacion tipica de rm es: ',dt2);

end.