Pascal/Turbo Pascal - error empezando con tablas/arrays

 
Vista:

error empezando con tablas/arrays

Publicado por Rojasu (2 intervenciones) el 18/11/2014 01:04:30
bueno estoi empezando con el tema de tablas en un cursillo , pero no consigo enterarme bien como iria:

Escriba un procedimiento que reciba como parámetro, una tabla de enteros y devuelva una cadena con los caracteres correspondientes. Incluya el procedimiento en un pequeño programa de prueba para depurarlo y verificar que es correcto.

Hago esta funcion :
Type
lecturas = array[1..24] of integer;

Function Media(medidas: lecturas): Real;
Var
i: integer;
suma: integer;
Begin
suma := 0;
for i:= 1 to 24 do
suma:= suma + medidas[i];
Media := suma/24.0
End;




Pero no se bien como invocarla al usar la tabla.
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
sin imagen de perfil

error empezando con tablas/arrays

Publicado por David (224 intervenciones) el 18/11/2014 11:51:46
Aquí tienes un pequeño ejemplo de lo que sería la llamada a la función. Obviamente tendrías que rellenar antes la tabla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Uses CRT;
 
Type
lecturas = array[1..24] of integer;
 
var
  lectu : lecturas;
  med   : real;
 
Function Media(medidas: lecturas): Real;
Var
i: integer;
suma: integer;
Begin
suma := 0;
for i:= 1 to 24 do
suma:= suma + medidas[i];
Media := suma/24.0
End;
 
 
Begin
  med:=media(lectu);
  writeln('La media es ',med);
  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

error empezando con tablas/arrays

Publicado por Rojasu (2 intervenciones) el 19/11/2014 15:15:40
parece ser que e entendido mal el planteamiento del ejercicio y lo que quiere es que reciba como parámetro, una tabla de enteros, por ejemplo los números: 72 79 76 65
y devuelva una cadena con los caracteres: HOLA

El objetivo es aprender a utilizar la función chr. Esta función recibe un número entero y lo transforma en un caracter según el código ASCII. Por ejemplo chr (72) devuelve la letra H, chr (79) devuelve la letra O.

Y sinceramento con los apuntes que me dan no tengo ni idea , no me dan ni ejemplos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

error empezando con tablas/arrays

Publicado por Juan (10 intervenciones) el 19/11/2014 15:46:38
Por lo que veo, el ejercicio (corrígeme si me equivoco) lo que te pide es que los números los transformes en el char ASCII correspondiente, no?

pues imagínate que recibes por ejemplo un array de la siguiente forma:

num[15,5,7,8,9]

lo que tendrías que hacer es controlar hasta llegar al final del array, yo lo guardaría en una variable (por ejemplo largo) y recorrería el array hasta encontrar el valor 0 (los códigos ASCII empiezan en 1). Sería algo así (la sintaxis de las instrucciones puede que no sean exactas, hace mucho que no toco PASCAL):

largo:= 0;

do while num[largo] != 0
begin

largo:= largo +1;

end;

ahora vendría la conversión a char. Para eso declaramos una cadena cad:string; y un nuevo cont:integer;

for cont:= 1 to largo do

cad:= cad + chr(num[cont]);

y con esto ya tienes el valor para sacar por pantalla que yo lo haría así

writeln("CADENA RESULTANTE: ", cad);
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
sin imagen de perfil

error empezando con tablas/arrays

Publicado por Juan (10 intervenciones) el 25/11/2014 23:31:49
Te han valido los ejemplos?
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