EJEMPLO DEL TEMA 6
description
Transcript of EJEMPLO DEL TEMA 6
EJEMPLO DEL TEMA 6
ARRAYS BIDIMENSIONALES
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
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
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
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
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
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
TEMA6: EJEMPLO ARRAYS BIDIMENSIONALES
Maria del Mar: LeeDatosdeFichero Yasin: SumaFilasdeMatriz Alex: SumaColumnasdeMatriz Sonia: CalculaMediadeVector Maria Teresa: CalculaDTipicadeVector Maria José: Ensambla el programa.
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*)
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;
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;
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*)
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.