[ Foro de Pascal ]

Ayuda

15-Mar-2010 22:49
Juan Rosario
1 Respuestas

Estoy aprendiendo este lenguaje en la universidad y tengo que hacer un programa en el cual tengo que utilizar arreglos y este tema se me ha hecho muy cuesta arriba, ya que los escritos que consigo no me ayudan y los ejemplos tampoco.
El programa es el siguiente:

Un programa que capture(no. de empleado, nombre, apellido, salario por hora, cant. de horas trabajadas, deduccion 1 y deduccion 2)de una cantidad de empleados que ingresara por teclado, que calcule el sueldo medio e imprima los datos.

Este programa debe almacenar y estar como manda la ley, pero no se utilizar los arreglos.


16-Mar-2010 16:14
Antonio P.G.

Hola.

Tras leer tu pregunta, parece que se trata de un ejercicio de arrays (arreglos) con records (registros). Supongo que en las declaraciones no hay problema, ya que es muy sencillo. De hecho, en el curso del Profesor Cabanes viene muy bien explicado.

Yo el ejercicio lo platearía de la siguiente forma: al principio leería el número de personas que se va a almacenar. Después, habría que proceder a la lectura de los datos de cada persona. Para ello, leeríamos en orden los datos hasta terminar. Entonces, se pasaría a la siguiente persona. Así, hasta haber terminado el BUCLE de peticiones de datos con todas las personas.

Con respecto a los registros. Una variable del tipo "record" se compone de campos. Es como un carné de identidad, con el nombre, dirección,... cada una de su tipo (char, integer,...). Entonces, una persona sería una ficha.

Lo óptimo (viendo el nivel de dificultad del ejercicio) sería crear un arreglo de personas, como una carpeta de carnés. Algo así finalmente:

"type
tcarné = record
 nombre, direccion : string[30];
 edad              : byte;
end;                    
tcarpeta = array [1..NUMEROMAXPERSONAS] of tcarné;    "

Por otra parte, para calcular el sueldo medio, habría que hacer la suma de todos los sueldos (con un bucle, claro), y dividirlo entre el número total de personas.

Para imprimir los datos, si es por impresora, no puedo ayudarte porque no recuerdo la orden. Si es en la pantalla, habrá que utilizar un bucle y unos cuantos "writeln (...)".

Espero haber sido de ayuda.
Ciao!






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)