Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
[Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control
Autor Mensaje
Adolfito Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 110
Agradecimientos dados: 14
Agradecimientos: 12 en 6 posts
Registro en: Nov 2012
Mensaje: #1
[Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control Ejercicios Algoritmos y Estructuras de Datos
Estaba haciendo el ejercicio 19 del modulo 2 y me surgio una duda, el ejercicio es el siguiente:

Ej. MII-19: Dado el archivo ‘ALUMNOS.dat’ con los datos personales de alumnos ordenado por legajo, con el siguiente diseño:
a.1 Legajo (8 dígitos) a.2 Apellido y nombre ( 30 caracteres)
a.3 Domicilio (20 caracteres) a.4 Código postal (4 dígitos)
a.5 Teléfono (10 caracteres) a.6 Año de ingreso (4 dígitos)
Y otro archivo con el mismo orden que el mencionado llamado ‘NOVEDADES.dat’, con las actualizaciones (altas, bajas, y modificaciones) a ser aplicadas, donde cada registro contiene además de todos los campos de Alumnos.dat un código de operación (‘A’= Alta, ‘B’= Baja, ‘M’= Modificación).
Se pide desarrollar todos los pasos necesarios para realizar un programa que genere un archivo actualizado ‘ALUMACTU.dat’ con el mismo diseño.

A mi lo que se me ocurrio fue utilizar corte de control pero no logro darme cuenta como hacer para que el archivo 'ALUMCTU.dat' quede ordenado. Lo unico que se me ocurrio fue como saber q datos poner:

Luego de las lecturas anticipadas para ver si es fin de archivo y dentro del ciclo while con la condicion de que no sea fin de archivo se me ocurrio lo siguiente:
si esta en el archivo Novedad y tmb en alumnos:

el campo "código de operación" solo puede ser 'M' o 'B'

entonces hago un ciclo while mientras no sea fin de archivo y los campos legajo de ambos registros sean iguales, por ultimo con un if pregunto si el campo "código de operación" es 'M'
si se cumple : a cada campo del registro actualizado le asigno los del registro novedad
si no se cumple : pregunto con otro if si código de operacion<> 'B' si es asi, a los campos del registro actualizado le asigno los del registro alumnos.

Ahora, si esta en novedad y no esta en alumnos entonces el campo código de operación figura una 'A' {fuera del ciclo while que hice antes con la condicion de que el campo legajo de ambos registros sean iguales}

Para esto hago un ciclo if operación='A'
si se cumple: al registro actualizado le pongo los datos del registro novedad
si no se cumple: al registro actualizado le pongo los datos del registro alumnos

Espero que se entienda algo de todo lo que escribi =P y si alguien me puede decir como hacer para que el archivo actualizado quede ordenado por numero de legajo se agradece =D
(Este mensaje fue modificado por última vez en: 26-07-2013 13:31 por Adolfito.)
04-07-2013 15:40
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
odin Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 2
Agradecimientos: 11 en 11 posts
Registro en: May 2011
Mensaje: #2
RE: [Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control
no creo que necesites corte de control, porque tenes todos los datos en un solo registro y cada registro contiene a un alumno distinto, deberias hacer una especie de apareo
suponiendo orden creciente
recorres ambos archivos (mientras no se vacie ninguno) y lees y preguntas por legajo, si son iguales, esa baja o modificacion (agregas o no al actualizado) si el legajo de novedades es menor que el de alumnos, es un alta (comprobar con el campo operacion) y lo agregas al actualizado, y si es mayor, agregas el registro sin modificar de alumnos, al actualizado.
tener en cuenta cual registro usas para saber de que archivo leer nuevamente
luego volcas lo que te quede en los archivos al actualizado (puede que se termine un archivo antes que el otro, tenes que seguir recorriendolos hasta el fin)
04-07-2013 16:02
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Adolfito Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 110
Agradecimientos dados: 14
Agradecimientos: 12 en 6 posts
Registro en: Nov 2012
Mensaje: #3
RE: [Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control
no entendi por que si el legajo de novedades es menor que el de alumnos, es un alta, me podrias explicar?
04-07-2013 22:46
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
odin Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 38
Agradecimientos dados: 2
Agradecimientos: 11 en 11 posts
Registro en: May 2011
Mensaje: #4
RE: [Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control
porque ambos estan ordenados por legajo, y alumnos tiene TODOS los alumnos existentes, si alumnos, supongamos que viene asi
legajo
1000
1003
1008

y novedades

legajo
1000
1001
1005
1010

los primeros son iguales, entonces es baja o modificacion, pero los segundos son distintos (1003 > 1001), y novedades es menor, como estan ordenados de menor a mayor, es un dato nuevo, que no existe en alumnos, por lo que debe ser un alta y debo agregarlo al actualizado
avanzo en novedades y tengo
1003 < 1005
o sea que 1003 no esta en novedades, por lo que no se modifica, ni se borra, agrego el 1003 al actualizado y avanza
y ocurre lo mismo con 1008 > 1005 es un alta!
04-07-2013 23:13
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Adolfito Sin conexión
Campeon del cubo Rubik
Sin estado :(
****

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 110
Agradecimientos dados: 14
Agradecimientos: 12 en 6 posts
Registro en: Nov 2012
Mensaje: #5
RE: [Algoritmos y Estructuras de datos][Pedido] Dudas sobre corte de control
Ah listo ahora entendi, gracias =D
05-07-2013 14:33
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.