Pascal/Turbo Pascal - Procedures

 
Vista:

Procedures

Publicado por Roger (1 intervención) el 10/01/2012 20:16:08
Hola, tengo que hacer un programa que con procedures llene unos vectores con los que despues tendre que hacer calculos, queria saber si voy bien i como hacer el procedure para mostrar dia

const
NMAX = 100;
DIM1 = 5;
TYPE
Taula_CONTADOR = ARRAY[1..DIM1] of REAL;
Taula_R_Dia = ARRAY[1..NMAX] of REAL;
Taula_R_Set = ARRAY[1..DIM1] of Taula_R_Dia;
TAULA_MITJANA = ARRAY[1..DIM1] of REAL;
TAULA_DESVEST = ARRAY[1..DIM1] of REAL;
TAULA_RANG = ARRAY[1..DIM1] of REAL;
TAULA_MEDIANA = ARRAY[1..DIM1] of REAL;

Rec=RECORD


TDia : Taula_R_Dia;
TSet : Taula_R_Set;
TC : Taula_CONTADOR;
TM : Taula_MITJANA;
TD : TAULA_DESVEST;
TR : TAULA_RANG;
TMe : TAULA_MEDIANA;
MS : REAL; (*mitjana setmana*)
MD : REAL; (*desviacio estan. setmana*)
MR : REAL; (*RANG setmana*)
MeS : REAL; (*MEDIANA setmana*)

end;


PROCEDURE GENERAR_Dia (OUT x : Taula_R_Dia ; OUT y : INTEGER);
VAR

n:INTEGER;

Begin
y:=RANDOM(101);

FOR n:=1 TO y DO
Begin

x[n]:=RANDOM(1100+900);

end;
END;

PROCEDURE GENERAR_Semana ( OUT z: Taula_R_Set ;OUT x: Taula_R_Dia ; OUT y: INTEGER);

VAR
n: INTEGER;

Begin
Y:=5;

FOR n:=1 to y do
z[n]:=x;
end;

PROCEDURE Mostrar_Dia( d:taula_R_Dia );
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Procedures

Publicado por ramon (2158 intervenciones) el 13/01/2012 20:27:01
{No entendí bien lo que quieres pero te pongo tu programa con correcciones a ver si era eso lo que querías decir}

program dias;
uses
crt, dos;
const
NMAX = 100;
DIM1 = 5;
TYPE
Taula_CONTADOR = ARRAY[1..DIM1] of REAL;
Taula_R_Dia = ARRAY[1..NMAX] of REAL;
Taula_R_Set = ARRAY[1..DIM1] of Taula_R_Dia;
TAULA_MITJANA = ARRAY[1..DIM1] of REAL;
TAULA_DESVEST = ARRAY[1..DIM1] of REAL;
TAULA_RANG = ARRAY[1..DIM1] of REAL;
TAULA_MEDIANA = ARRAY[1..DIM1] of REAL;

Rec = RECORD
TDia : Taula_R_Dia;
TSet : Taula_R_Set;
TC : Taula_CONTADOR;
TM : Taula_MITJANA;
TD : TAULA_DESVEST;
TR : TAULA_RANG;
TMe : TAULA_MEDIANA;
MS : REAL; (*mitjana setmana*)
MD : REAL; (*desviacio estan. setmana*)
MR : REAL; (*RANG setmana*)
MeS : REAL; (*MEDIANA setmana*)
end;

var
x : Taula_R_Dia ;
dia, y : INTEGER;


PROCEDURE GENERAR_Dia (var x : Taula_R_Dia ; var y : INTEGER);
VAR
toma, n : INTEGER;
Begin
randomize;
y := RANDOM(101);
FOR n := 1 TO y DO
Begin
toma := RANDOM(366);
if toma > 0 then
x[n] := toma;
end;
dia := n;
END;

PROCEDURE GENERAR_Semana ( var z: Taula_R_Set ;var x: Taula_R_Dia ;
var y: INTEGER);
VAR
n: INTEGER;
Begin
Y := 5;
FOR n := 1 to y do
z[n] := x;
end;

PROCEDURE Mostrar_Dia( d : taula_R_Dia; n : integer );
begin
writeln(' De 365 Dias Corresponde Al ',d[n]:0:0);
end;


begin
clrscr;
GENERAR_Dia(x,y);
for y := 1 to dia do
Mostrar_Dia(x,y);
readln;
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar