Pascal/Turbo Pascal - Ayuda con un programa

 
Vista:
Imágen de perfil de Bikittas

Ayuda con un programa

Publicado por Bikittas (2 intervenciones) el 28/10/2015 18:05:13
Me eh apuntado a un curso de mentor de iniciacion a la programacion. Lo que pasa esque a mitad de curso me eh quedado muy pillada y este curso es una mierda porque da muy malos ejemplos y enseña muy mal, aparte el profesor apenas me responde a las dudas que tengo por eso me eh venido a este foro a ver si me podeis ayudar con los ejercicios que me piden.

Tengo que hace un ejercicio que dice lo siguiente:
Vamos a realizar a lo largo de varias cuestiones un programa que "gestiona" colecciones de cuadros en una galería de arte.

Cree un programa que utilice una tabla donde se almacenarán los precios de una colección de cuadros. Para ello será necesario:

• Definir una constante de nombre TAMCOLECCION que representa el número de cuadros que tendrán las colecciones. Puede comenzar definiendo esta constante con un valor de 4.
• Un tipo de datos de nombre coleccion que será una tabla de tamaño TAMCOLECCION. Cada elemento almacena el precio de un cuadro, y el número del cuadro coincide con su posición en la tabla.
El alumno deberá además codificar en esta actividad:
o Un procedimiento de nombre lee_tabla que solicite al usuario que introduzca los precios de la colección de cuadros. Este procedimiento debe recibir como parámetros la tabla donde almacenar los precios y el número de cuadros a leer.
o Un procedimiento de nombre imprime_tabla que presente por pantalla los precios de la colección de cuadros, junto al número de cuadro. Este procedimiento de forma similar al anterior, recibe como parámetros la tabla y el número de cuadros.

Para comenzar se proporciona el "esqueleto inicial de este programa":

Program Galeria;

(*-- Constantes globales al programa -- *)
Const


(*-- Tipos globales al programa -- *)
Type


(*-- Funciones y procedimientos -- *)

(*-- Variables del módulo principal -- *)
Var
precios : Coleccion;

(*-- Programa Principal -- *)
Begin
lee_tabla(precios, TAMCOLECCION);
imprime_tabla(precios, TAMCOLECCION);
End;




y luego me dice:

Partiendo del programa de la cuestión anterior, sin modificar los procedimientos y funciones ya codificados, añada una función de nombre suma_coleccion que recorra la tabla y devuelva como resultado de la función, el valor total de la colección de cuadros.

Modifique a continuación el programa principal para que después de leer e imprimir la tabla, calcule la suma de la colección utilizando esta función, y la imprima por pantalla. Nuestro módulo principal debería tener la estructura:

(*-- Variables -- *)
Var
precios : Coleccion;
suma: real;

(*-- Programa Principal -- *)
Begin
lee_tabla(precios, TAMCOLECCION);
imprime_tabla(precios, TAMCOLECCION);

(* Aquí iría la llamada a la función suma_coleccion *)

(* Presentación de resultados *)
writeln('> Valor coleccion: ', suma:0:2);
End.



bueno y yo eh copilado esto:


Program Galeria;
uses
crt;

(*-- Constantes globales al programa -- *)
Const
Tamcoleccion=4;

(*-- Tipos globales al programa -- *)
Type
coleccion=array [1..tamcoleccion] of integer;
(*-- Variables del módulo principal -- *)

Var
precios : Coleccion;
i:integer;
suma:integer;

(*-- Funciones y procedimientos -- *)
Function suma_coleccion(suma:integer):integer;
Begin
suma:=suma+precios[i];
end;
Procedure lee_tabla;
begin
i:=1;
for i:=1 to tamcoleccion do
Writeln('Introduzca el precio del cuadro numero',i,':');
readln(precios[i]);
clrscr;
end;

Procedure imprime_tabla;
begin
for i:=1 to tamcoleccion do
Writeln('El precio del cuadro numero',i,'es:');
Readln(precios[i]);
end;

(*-- Programa Principal -- *)
Begin
lee_tabla;
imprime_tabla;
Writeln('Valor coleccion:',suma_coleccion(suma));
readln;
End.


no me da ningun error al copilar pero si a la hora de ejecutar, y esque se me escriben todas las frases a la vez y no almacena los datos , aparte la function me da un resultado muy raro, vamos un desaste todo. Porfavor alguien me dice cuales son mis errores para que pueda aprender de elllos y terminar el ejercicio. Muhcas gracias.
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

Ayuda con un programa

Publicado por ramon (2158 intervenciones) el 01/11/2015 16:42:25
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{Mira las modificaciones}
 
Program Galeria;
uses
crt;
 
(*-- Constantes globales al programa -- *)
Const
Tamcoleccion=4;
 
(*-- Tipos globales al programa -- *)
Type
coleccion=array [1..tamcoleccion] of integer;
(*-- Variables del módulo principal -- *)
 
Var
precios : Coleccion;
i:integer;
suma:integer;
 
(*-- Funciones y procedimientos -- *)
Function suma_coleccion(sumaq:coleccion):integer;
Begin
suma_coleccion := 0;
suma := 0;
for i := 1 to tamcoleccion do
suma := suma + sumaq[i];
suma_coleccion := suma;
end;
 
Procedure lee_tabla;
begin
i:=1;
for i:=1 to tamcoleccion do
begin
Write('Introduzca el precio del cuadro numero',i,':');
readln(precios[i]);
end;
end;
 
Procedure imprime_tabla;
begin
for i:=1 to tamcoleccion do
Writeln('El precio del cuadro numero ',i,' es : ',precios[i]);
end;
 
(*-- Programa Principal -- *)
Begin
clrscr;
lee_tabla;
imprime_tabla;
Writeln('Valor coleccion:',suma_coleccion(
precios));
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
1
Comentar

Ayuda con un programa

Publicado por Leocadio (2 intervenciones) el 08/11/2015 10:50:11
Buenisimo, es lo que se buscaba
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