Pascal/Turbo Pascal - necesito ayuda con este array

 
Vista:

necesito ayuda con este array

Publicado por jhon henry (2 intervenciones) el 31/01/2007 07:09:31
este es el programa que necesito que me ayuden a corregirlo ya que no le veo por donde mas ya que enel momento de compilar me sale un erro de calificador invalido y no se como arreglarlo agradeceria su ayuda para mi programa gracias

Program practica;
uses
crt;
type
bidimensional:array[1..100] of real;

procedure leer_mat(temp: array of integer; n,m:integer);
var
i,j:integer;
Begin
for i:=1 to n do
begin
for j:=1 to m do
readln(temp[i,j]);
end;
end;

end;

procedure leer_mat(presion: array of integer;n,m:integer);
var
i,j:integer;
Begin
for i:=1 to n do
begin
for j:=1 to m do
readln(presion[i,j]);
end;
end;

end;

procedure buscar_minimo(temp:array [1..100,1..100] of real;n,m,pf,pc:integer);

Begin
pf:=1;
pc:=1;
m:=temp[1,1];

for i:=1 to n do
begin
for j:=1 to m do
begin
if temp[i,j]<min then
begin
pf:=i;
pc:=j;
end;
end;
end;

function maximo_cambio(presion:array of real; dia,m:integer);
Begin
mc:=abs(presion[dia,1]-presion[dia,2]);
p:=1;
for i:=2 to m-1 do
begin
cambio:abs(presion[dia,i]-presion[dia,i+1]);
if cambio>mc then
begin
mc:=cambio;
p:=i;
end;
end;
maximo_cambio:=p;

end;
end;

Begin

Writeln('introduzca los dias para medir la temperatura y la presion');
readln(n);
Writeln('introduzca el nro de medidas');
readln(m);

leer_mat(temp,n,m);
leer_mat(presion,n,m);

buscar_minimo(temp,n,m,pf,pc);
writeln('introduzca el dia');
readln(dia);

p:=maximo_cambio(presion,n,m);
writeln('la temperatura es:',temp[pf,pc],'el dia es:',pf,'el nro de medidas es:',pc,'la presion es:',presion[pf,pc]);
writeln('el dia donde es el maximo cambio',p);
readln;
end.
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

RE:necesito ayuda con este array

Publicado por Carlos Guimaraenz (265 intervenciones) el 31/01/2007 16:10:55
Hola John... sería útil que además indicaras qué es lo que debe hacer el programa para poder seguirlo mejor.
Los primeros errores que veo son:

1º En la declaración del tipo BIDIMENSIONAL:
--> bidimensional:array[1..100] of real;
debe ser:
--> bidimensional = array[1..100] of real;

2º En el primer procedure, declaras algo como ARRAY OF INTEGER, pero no indicas el rango que tomará, y después lo intentas manejar como una matriz.

Por favor corrige esas cosas, y vuelve a postear el código corregido junto con la especificación del programa.

Un abrazo!
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

RE:aqui esta el enunciado

Publicado por jhon henry (2 intervenciones) el 31/01/2007 19:27:44
Diseño Algoritmico:

En un experimento se mide el valor de dos variables de cierto proceso (ejemplo: temperatura y presion). Se toman los valores m veces cada dia por un lapso de n dias.
Realice el diseño algoritmico para un programa que lea los datos del experimento y determine:

a) la temperatura global mas baja, el dia en que se produjo, en cual medicion de ese dia y el valor de la presion correspondiente.
b) para un dia dado, a que temperatura se produjo el cambio de presion en ese dia.

Sugerencia: Use dos arreglos bidiomensionales para almacenar los datos del experimento.

amigo este es el enunciado, gracias por ayudarme la verdad ando medio loco en esto puse el algoritmo asi ya que segun en el enuciado lo estoy viendo asi o sera de otra manera agradezco lo que puedas hacer por el algoritmo muchas gracias
un abrazo...
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

RE:necesito ayuda con este array

Publicado por Diego Romero (996 intervenciones) el 01/02/2007 14:16:15
Este código está lleno de errores.
Amplio lo que ha dicho ya Carlos.

Esta declaración es inválida:
bidimensional:array[1..100] of real;

Quizá quisiste declarar:
bidimensional=array[1..100] of real;

Pero aunque lo hicieras así, no veo que utilices esta declaración en ninguna parte.

Este encabezado está mal declarado:
function maximo_cambio(presion:array of real; dia,m:integer);

Al declarar un parámetro como "array of real", estás declarando un Open Array pero por más que le pases un Open Array en la llamada a esta función Pascal no los tomará como del mismo tipo. Si estás usando Turbo Pascal éste se quejará porque Turbo Pascal no implementa Open Arrays, necesitarías especificar un rango. En tu lugar yo declararía algo así:

type
TArr=array[1..100] of real;

y luego

function maximo_cambio(presion:TArr; dia,m:integer);

lo mismo para los otros encabezados.
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