130 likes | 304 Vues
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.
E N D
EJEMPLO DEL TEMA 6 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
datos_tabla.txt Calculo medias y d.tipicas marginales Leer datos de fichero Calcular media marginal de C Calcular d.tipica marginal de C Calcular media marginal de RM Calcular d.tipica marginal de RM
datos_tabla.txt Calculo medias y d.tipicas marginales Leer datos de fichero Calcular sumas de frecuencias de todas columnas Calcular media marginal de C Calcular suma de una col. Calcular d.tipica marginal de C Aplicar fórmula de la media a las frecuencias y valores de C Calcular media marginal de RM Mostrar la media Calcular d.tipica marginal de RM
datos_tabla.txt Calculo medias y d.tipicas marginales Leer datos de fichero Calcular media marginal de C Calcular d.tipica marginal de C Aplicar fórmula de la d. tipica a las frecuencias y valores de C Calcular media marginal de RM Calcular d.tipica marginal de RM
datos_tabla.txt Calculo medias y d.tipicas marginales Leer datos de fichero Calcular sumas de frecuencias de todas filas Calcular media marginal de C Calcular suma de una fila. Calcular d.tipica marginal de C Aplicar fórmula de la media a las frecuencias y valores de RM Calcular media marginal de RM Mostrar la media Calcular d.tipica marginal de RM
datos_tabla.txt Calculo medias y d.tipicas marginales Leer datos de fichero Calcular media marginal de C Calcular d.tipica marginal de C Calcular media marginal de RM Aplicar fórmula de la d. tipica a las frecuencias y valores de RM Calcular d.tipica marginal de RM
Maria del Mar: LeeDatosdeFichero • Yasin: SumaFilasdeMatriz • Alex: SumaColumnasdeMatriz • Sonia: CalculaMediadeVector • Maria Teresa: CalculaDTipicadeVector • Maria José: Ensambla el programa.
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*)
(*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;
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;
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*)
(*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.