[ Foro de Pascal ]
Hola, de antemano gracias por el material disponible en la pagina, (Cupas) el cual he comenzado a leer hace unos días para aprender sobre la programación en Pascal. Mi consulta es la siguiente, estoy haciendo un trabajo para manejar una lista ordenada de datos como, cédulas, nombres, apellidos, sexo..entre otros, pero como son diferentes tipos de datos he leído que se puede hacer con un Record, sin embargo el profesor me dijo que lo podía hacer con arreglos. Soy completamente nuevo en esta área, y pues estudio a distancia y este método de estudio es para aprender solo...¿Que método me recomiendas que es mas sencillo y completo para hacerla? Cabe resaltar que una vez se incluye la información al sistema, debe tener la opción de modificarla y/o eliminarla... Saludos
Los arreglos son estructuras de datos en los que se pueden almacenar provisionalmente valores enteros, reales, char, cadena; pero también puedes almacenar valores que sean registros!!!! Así que lo más adecuado para su programa sería definir un tipo registro cuyos campos sean cédula, nombre, apellido, sexo,... entre otros, y luego definir un arreglo de ese tipo registro, el arreglo deberá tener la capacidad para almacenar los datos de todas las personas se que van a guardar provisionalmente allí. Podría ser algo como esto:
.
.
.
type
tPersona= record
cedula: string[10];
nombre: string[15];
apellido: string[15];
sexo: char;
.
.
.
end;
var
vector: array[1..100] of tPersona; (* Aquí declaramos el arreglo del tipo de registro *)
.
.
.
Para el resto del ejercicio deberás crear un menú con las opciones de:
MENU PRINCIPAL
1.- Insertar
2.- Modificar
3.- Eliminar
La opción de Insertar es muy importante porque con ella llenarás el arreglo.
Saludos.
Muchas gracias por responder, pero me perdí cuando dices " definir un arreglo de ese tipo registro", es decir, que el arreglo guarda el registro?, y de verdad disculpa si te parece muy tonta la pregunta, es que tengo muchas dudas porque desconozco el tema.
Sí, aunque parezca increíble, el arreglo va a guardar un registro tPersona para cada índice del arreglo, de la misma forma en que guardan dato enteros, reales o char.
Muchísimas gracias amigo, de verdad me has ayudado mucho. Una ultima pregunta, me imagino que has visto que mi nivel de conocimiento sobre esto es inferior a nulo, podrías recomendarme alguna bibliografía adicional al CUPAS para instruirme al respecto? gracias again... Saludos
Lo que te recomiendo es que leas la teoría y hagas muchos ejercicios. Trata de hacerlos por tu propia cuenta, cuando te trabes por mucho tiempo pregunta a alguien que sepa más que tú. Un libro que te enseña las cosas muy bien es "Programación en Turbo Pascal. Versiones 5.5, 6.0 y 7.0" de Luis Joyanes Aguilar. Hay otros del mismo autor, pero te sirven como documentación y no para aprender desde cero. De todas maneras en internet encuentras todo.
En cuanto al ejercicio anterior, te paso un código que elaboré hace poco, para que veas que sí funciona lo de los arreglos de registros. Te lo dejo a continuación:
program ArreglosDeRegistros;
uses Crt;
type
tPersona= record
cedula: string[10];
nombre: string[20];
end;
var
vector: array[1..10] of tPersona;
i: integer;
BEGIN
ClrScr;
writeln('INTRODUCCION DE LOS DATOS DE LAS PERSONAS: ');
writeln;
for i:=1 to 3 do
Begin
write('Escriba la cedula de la persona ',i,': ');
readln(vector[i].cedula);
write('Escriba el nombre de la persona ',i,': ');
readln(vector[i].nombre);
writeln
End;
(* Mostramos los resultados *)
ClrScr;
writeln('CONTENIDO DEL VECTOR: ');
writeln;
for i:=1 to 3 do
Begin
write('La cedula de la persona ',i,' es: ',vector[i].cedula);
writeln(' y su nombre es: ',vector[i].nombre);
End;
readln;
END.
Ejecútalo, está hecho para que se introduzcan la cédula y nombre de 3 personas (con un ciclo for), luego te muestra el contenido del arreglo. El registro está reducido en cuanto a campos (solo dos campos: cedula y nombre) porque lo hice para ejemplificar, para que tengas el resto de los campos solo tienes que definirlos dentro del tipo de registro tPersona. El arreglo lo hice para que tuviera una capacidad máxima de 10 personas, pero lo puedes modificar a tus necesidades.
Saludos.
Gracias, estaré investigando al respecto, si me veo muy complicado, intentare preguntar por aquí de nuevo... Saludos
En la versión actualizada de Cupas tienes también más detalles sobre "arrays de registros", así como ejercicios propuestos:
http://www.nachocabanes.com/pascal/cupas5/cupas04c.php
(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.)