EJEMPLO DEL TEMA 6 ARRAYS BIDIMENSIONALES TEMA 6
EJEMPLO DEL TEMA 6 ARRAYS BIDIMENSIONALES
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES l Consumo (C) y renta mensual (RM) de 100 familias (expresadas en 104 €) C 15 35 RM 30 10 15 40 5 20 25 15 5 50 l 5 45 5 Diseñar e implementar un programa en Pascal que obtenga las medias y desviaciones típicas de las distribuciones marginales
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES 15 5 35 30 10 15 40 5 20 25 15 5 45 C RM 50 Calculo medias y d. tipicas marginales 5 datos_tabla. txt 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
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES 15 5 35 30 10 15 40 5 20 25 15 5 45 C RM 50 Calculo medias y d. tipicas marginales 5 datos_tabla. txt Leer datos de fichero 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 Mostrar la media Calcular media marginal de C Calcular d. tipica marginal de C Calcular media marginal de RM Calcular d. tipica marginal de RM
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES 15 5 35 30 10 15 40 5 20 25 15 5 45 C RM 50 Calculo medias y d. tipicas marginales 5 datos_tabla. txt Leer datos de fichero Calcular media marginal de C Aplicar fórmula de la d. tipica a las frecuencias y valores de C Calcular d. tipica marginal de C Calcular media marginal de RM Calcular d. tipica marginal de RM
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES 15 5 35 30 10 15 40 5 20 25 15 5 45 C RM 50 Calculo medias y d. tipicas marginales 5 datos_tabla. txt Leer datos de fichero 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 Mostrar la media Calcular media marginal de C Calcular d. tipica marginal de C Calcular media marginal de RM Calcular d. tipica marginal de RM
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES 15 5 35 30 10 15 40 5 20 25 15 5 45 C RM 50 Calculo medias y d. tipicas marginales 5 datos_tabla. txt 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
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES l l l Maria del Mar: Lee. Datosde. Fichero Yasin: Suma. Filasde. Matriz Alex: Suma. Columnasde. Matriz Sonia: Calcula. Mediade. Vector Maria Teresa: Calcula. DTipicade. Vector Maria José: Ensambla el programa.
TEMA 6: 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*) m 1, m 2, dt 1, dt 2: real; (*medias y desv. tipicas marginales*)
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES (*Declaracion de procedimientos*) procedure lee_datos (var tab: array of integer; var fichero: text); (*lee datos del fichero y los devuelve en tab*) procedure suma_filas (tab: 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;
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES procedure suma_columnas (tab: 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;
TEMA 6: 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*)
TEMA 6: EJEMPLO ARRAYS BIDIMENSIONALES (*Programa principal*) begin assign (fich, 'datos_tabla. txt'); lee_datos (tabla, fich); suma_columnas (tabla, fila); suma_filas (tabla, columna); m 1: = media_datos(fila, c); m 2: = media_datos(columna, rm); dt 1: = desviacion_tipica (fila, c, m 1); dt 2: = desviacion_tipica (columnas, rm, m 2); writeln ('La media del costo es: ', m 1); writeln ('La media de rm es: ', m 2); writeln ('La desviacion tipica del costo es: ', dt 1); writeln ('La desviacion tipica de rm es: ', dt 2); end.
- Slides: 13