viernes, 10 de julio de 2015

Ejemplos de algoritmos con ficheros



1.-Hacer un programa que nos permita dar altas en el fichero secuencial DATOS.DAT, cuyos campos son: DNI, NOMBRE, APELLIDOS, DIRECCION y PROVINCIA.

PROGRAMA altas
ENTORNO:
res <- "S"
ALGORITMO:
MIENTRAS res = "S" HACER
ABRIR "DATOS.DAT"
sw <- 0
num <- 0
Borrar_pantalla( )
EN 5,10 ESCRIBIR "D.N.I.: "
EN 5,18 LEER num
MIENTRAS NO Eof( ) Y sw = 0 HACER
SI dni = num ENTONCES
EN 10,10 ESCRIBIR "Alta duplicada"
EN 15,10 ESCRIBIR "Pulse INTRO para continuar"
Pausa( )
sw <- 1
SINO
Siguiente_registro( )
FINSI
FINMIENTRAS
SI sw = 0 ENTONCES
EN 7,5 ESCRIBIR "Nombre: "
EN 9,5 ESCRIBIR "Apellidos: "
EN 11,5 ESCRIBIR "Direcci&oacute;n: "
EN 13,5 ESCRIBIR "Provincia: "
EN 7,16 LEER nombre
EN 9,16 LEER apellidos
EN 11,16 LEER direccion
EN 13,16 LEER provincia
dni <- num
Final_fichero( )
Escribir_registro( )
FINSI
CERRAR "DATOS.DAT"
res <- Espacios( 1 )
HACER Mas
FINMIENTRAS
FINPROGRAMA

SUBPROGRAMA Mas
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Desea m s altas (S/N): "
LEER res
res <- Convertir_mayusculas( res )
FINMIENTRAS
FINSUBPROGRAMA


2.-Hacer un programa que nos permita dar bajas en el fichero DATOS.DAT.

PROGRAMA bajas
ENTORNO:
res <- "S"
ALGORITMO:
MIENTRAS res = "S" HACER
ABRIR "DATOS.DAT"
sw <- 0
Borrar_pantalla( )
EN 5,10 ESCRIBIR "D.N.I.: "
EN 5,18 LEER num
MIENTRAS NO Eof( ) HACER
SI dni = num ENTONCES
sw <- 1
SINO
ABRIR "AUX.DAT"
Final_fichero( )
Escribir_registro( )
FINSI
ABRIR "DATOS.DAT"
Siguiente_registro( )
FINMIENTRAS
CERRAR "DATOS.DAT"
CERRAR "AUX.DAT"
SI sw = 0 ENTONCES
EN 12,10 ESCRIBIR "Baja inexistente"
EN 16,10 ESCRIBIR "Pulse INTRO para continuar"
BORRAR "AUX.DAT"
Pausa( )
SINO
BORRAR "DATOS.DAT"
RENOMBRAR "AUX.DAT" COMO "DATOS.DAT"
FINSI
res = Espacios( 1 )
HACER Mas
FINMIENTRAS
FINPROGRAMA

SUBPROGRAMA Mas
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Desea m s bajas (S/N): "
LEER res
res <- Convertir_mayusculas( res )
FINMIENTRAS
FINSUBPROGRAMA


3.-Dado el fichero secuencial DATOS.DAT, realizar un programa que nos permita realizar modificaciones cuantas veces deseemos.

PROGRAMA modifica
ENTORNO:
res <- "S"
ALGORITMO:
MIENTRAS res = "S" HACER
ABRIR "DATOS.DAT"
sw <- 0
num <- 0
nom <- Espacios( 15 )
ape <- Espacios( 30 )
dir <- Espacios( 20 )
pro <- Espacios( 20 )
Borrar_pantalla( )
EN 5,10 ESCRIBIR "D.N.I.: "
EN 5,18 LEER num
MIENTRAS NO Eof( ) Y sw = 0 HACER
SI dni = num ENTONCES
HACER Imprimir
HACER Cambios
sw <- 1
SINO
Siguiente_registro( )
FINSI
FINMIENTRAS
SI sw = 0 ENTONCES
HACER Detener
FINSI
CERRAR "DATOS.DAT"
res <- Espacios( 1 )
HACER Mas
FINMIENTRAS
FINPROGRAMA

SUBPROGRAMA Mas
MIENTRAS res <> "S" Y res <> "N" HACER
ESCRIBIR "Desea m s cambios (S/N): "
LEER res
res <- Convertir_mayusculas( res )
FINMIENTRAS
FINSUBPROGRAMA

SUBPROGRAMA Imprimir
EN 7,5 ESCRIBIR "Nombre: "
EN 9,5 ESCRIBIR "Apellidos: "
EN 11,5 ESCRIBIR "Direcci&oacute;n: "
EN 13,5 ESCRIBIR "Provincia: "
EN 7,16 LEER nombre
EN 9,16 LEER apellidos
EN 11,16 LEER direccion
EN 13,16 LEER provincia
FINSUBPROGRAMA

SUBPROGRAMA Cambios
nom <- nombre
ape <- apellidos
dir <- direccion
pro <- provincia
EN 7,16 LEER nom
EN 9,16 LEER ape
EN 11,16 LEER dir
EN 13,16 LEER pro
nombre <- nom
apellidos <- ape
direccion <- dir
provincia <- pro
Escribir_registro( )
FINSUBPROGRAMA

SUBPROGRAMA Detener
EN 10,20 ESCRIBIR "Registro inexistente"
EN 20,18 ESCRIBIR "Pulse INTRO para continuar"
Pausa( )
FINSUBPROGRAMA



Espero haber ayudado en algo. Hasta la próxima oportunidad!








2 comentarios:

  1. Respuestas
    1. Hola santiago orjuela, gracias por la visita y el aporte de tu comentario!!
      No es código amigo! es Pseudocódigo!!!
      Ese Pseudocódigo lo puedes implementar con cualquier lenguaje de programación que conozcas.
      Los mejores deseos! Hasta cualquier momento!

      Eliminar

       
free counters

Páginas vistas en total según Google