Ayuda Urgente con Pascal
Publicado por Manuel (5 intervenciones) el 21/03/2013 13:23:20
Necestio ayuda con los siguiente ejercicios muchas gracias (A gradeceria que las soluciones de cada ejercicio esten separadas para porder distinguirlas)
Ejercicio1
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.
====================================================================
Ejercicio2
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, introduzca un procedimiento de nombre limites que devolverá como parámetros por referencia el máximo y el mínimo de la colección.
RECORDATORIO:
A la hora de buscar el mínimo (o el máximo) dentro de una tabla se procede:
Se le da como valor inicial al mínimo, el primer valor de la tabla.
Se recorre el resto de la tabla y en cada iteración:
a) Se comprueba si el valor de la tabla es menor que mínimo. a.1) Si lo es al mínimo se le da el valor de dicho elemento.
a.2) Si es mayor no se hace nada y se pasa al siguiente elemento.
En el programa principal, la invocación deberá ser de la forma:
(*-- Variables -- *)
Var
precios1 : Coleccion;
min1, max1: real;
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación a limites *)
(* Presentación de resultados *)
Writeln('El maximo es ', max1:0:1, ' y el mínimo ' , min1:0:1);
End.
================================================================
Ejercicio 3
Modificar el procedimiento limites de la cuestión anterior para que además devuelva como parámetros por referencia, la posición en la tabla (el número del cuadro) donde se producen el máximo y el mínimo.
El programa principal sería similar a:
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación del nuevo procedimiento límites *)
Writeln('El maximo es ', max1:0:1, ' en la posicion ', pos_max1);
Writeln('El minimo es ', min1:0:1, ' en la posicion ', pos_min1);
End.
==================================================================
Ejercicio4
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, el alumno deberá añadir un procedimiento de nombre busca_precio para un cliente que desea gastar una cantidad exacta (ni más ni menos).
Este procedimiento recibe como parámetro (entre otros) la cantidad a buscar en la tabla. Es decir que esta cantidad deberá ser pedida al usuario fuera del procedimiento, en este caso en el módulo principal.
Presentará por pantalla un mensaje cada vez que al recorrer la tabla encuentre un cuadro con el precio buscado, indicando su precio y su número. Si no encuentra ningún libro, deberá presentar un único mensaje al final del procedimiento indicando tal circunstancia.
Además el alumno deberá incluir en el módulo principal, la petición de búsqueda en un bucle que solicite la petición del precio a buscar hasta que el usuario introduzca el valor cero.
Ejercicio1
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.
====================================================================
Ejercicio2
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, introduzca un procedimiento de nombre limites que devolverá como parámetros por referencia el máximo y el mínimo de la colección.
RECORDATORIO:
A la hora de buscar el mínimo (o el máximo) dentro de una tabla se procede:
Se le da como valor inicial al mínimo, el primer valor de la tabla.
Se recorre el resto de la tabla y en cada iteración:
a) Se comprueba si el valor de la tabla es menor que mínimo. a.1) Si lo es al mínimo se le da el valor de dicho elemento.
a.2) Si es mayor no se hace nada y se pasa al siguiente elemento.
En el programa principal, la invocación deberá ser de la forma:
(*-- Variables -- *)
Var
precios1 : Coleccion;
min1, max1: real;
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación a limites *)
(* Presentación de resultados *)
Writeln('El maximo es ', max1:0:1, ' y el mínimo ' , min1:0:1);
End.
================================================================
Ejercicio 3
Modificar el procedimiento limites de la cuestión anterior para que además devuelva como parámetros por referencia, la posición en la tabla (el número del cuadro) donde se producen el máximo y el mínimo.
El programa principal sería similar a:
(*-- Programa Principal -- *)
Begin
lee_tabla(precios1, TAMCOLECCION);
imprime_tabla(precios1, TAMCOLECCION);
(* Aquí iría la invocación del nuevo procedimiento límites *)
Writeln('El maximo es ', max1:0:1, ' en la posicion ', pos_max1);
Writeln('El minimo es ', min1:0:1, ' en la posicion ', pos_min1);
End.
==================================================================
Ejercicio4
Partiendo del programa anterior, sin modificar los procedimientos y funciones ya codificados, el alumno deberá añadir un procedimiento de nombre busca_precio para un cliente que desea gastar una cantidad exacta (ni más ni menos).
Este procedimiento recibe como parámetro (entre otros) la cantidad a buscar en la tabla. Es decir que esta cantidad deberá ser pedida al usuario fuera del procedimiento, en este caso en el módulo principal.
Presentará por pantalla un mensaje cada vez que al recorrer la tabla encuentre un cuadro con el precio buscado, indicando su precio y su número. Si no encuentra ningún libro, deberá presentar un único mensaje al final del procedimiento indicando tal circunstancia.
Además el alumno deberá incluir en el módulo principal, la petición de búsqueda en un bucle que solicite la petición del precio a buscar hasta que el usuario introduzca el valor cero.
Valora esta pregunta


0