Pseudocódigo - Informes y Rupturas de Control

--------------------------------------------------------------------------

Informes y rupturas de control

--------------------------------------------------------------------------

46.-Tenemos el fichero secuencial DATOS.DAT cuyos campos son: DNI, NOMBRE,
APELLIDOS, DIRECCION y PROVINCIA. Listar por impresora todos los registros
cuya provincia sea una determinada que introduciremos por teclado.



PROGRAMA provincia
ENTORNO:
   fi <- 55
   c <- 0
   pag <- 1
   pro <- Espacios( 15 )
ALGORITMO:
   Borrar_pantalla( )
   EN 10,20 ESCRIBIR "Provincia: "
   EN 10,32 LEER pro
   ABRIR "DATOS.DAT"
   Activar_impresora( )
   MIENTRAS NO Eof( ) HACER
      SI provincia = pro ENTONCES
         SI fi = 55 ENTONCES
            HACER Cabecera
         FINSI
         EN fi,5 ESCRIBIR dni
         EN fi,15 ESCRIBIR nombre
         EN fi,35 ESCRIBIR apellidos
         EN fi,65 ESCRIBIR direccion
         fi <- fi + 1
         c <- c + 1
      FINSI
      Siguiente_registro( )
   FINMIENTRAS
   SI pag <> 1 ENTONCES
      EN fi + 2,20 ESCRIBIR "Total de personas: "
      EN fi + 2,39 ESCRIBIR c
   FINSI
   Activar_pantalla( )
   CERRAR "DATOS.DAT"
FINPROGRAMA
------------------------------
SUBPROGRAMA Cabecera
   Salto_pagina( )
   EN 2,65 ESCRIBIR "P g.: "
   EN 2,71 ESCRIBIR pag
   EN 4,10 ESCRIBIR "Relaci¢n de las personas que viven en la provincia: "
   EN 4,62 ESCRIBIR pro
   EN 6,7 ESCRIBIR "D.N.I."
   EN 6,18 ESCRIBIR "Nombre"
   EN 6,40 ESCRIBIR "Apellidos"
   EN 6,68 ESCRIBIR "Direcci¢n"
   EN 7,4 ESCRIBIR "------------------------------------------------------------------------"
   fi <- 9
   pag <- pag + 1
FINSUBPROGRAMA

--------------------------------------------------------------------------

47.-En el fichero secuencial VENTAS.DAT, est n almacenadas las ventas de los

productos durante el día, cuyos campos son: NART y VENTAS. Se desea hacer
un programa que liste por impresora todas las ventas realizadas durante el
d¡a.

PROGRAMA ventas
ENTORNO:
   total <- 0
   uno <- 0
   fi <- 55
   sw <- 0
   aux <- 0
   pag <- 1
ALGORITMO:
   Borrar_pantalla( )
   Activar_impresora( )
   ABRIR "VENTAS.DAT"
   MIENTRAS NO Eof( ) HACER
      SI fi = 55 ENTONCES
         HACER Cabecera
      FINSI
      SI sw = 0 ENTONCES
         aux <- nart
         sw <- 1
      FINSI
      SI nart = aux ENTONCES
         uno <- uno + ventas
      SINO
         HACER Imprimir
         uno <- 0
         aux <- nart
         uno <- ventas
      FINSI
      Siguiente_registro( )
   FINMIENTRAS
   HACER Imprimir
   EN fi + 2,20 ESCRIBIR "Unidades vendidas: "
   EN fi + 2,39 ESCRIBIR total
   Activar_pantalla( )
   CERRAR "VENTAS.DAT"
FINPROGRAMA
------------------------------
SUBPROGRAMA Imprimir
   EN fi,32 ESCRIBIR aux
   EN fi,42 ESCRIBIR total
   fi <- fi + 1
   total <- total + uno
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Cabecera
   Salto_pagina( )
   EN 2,65 ESCRIBIR "P g.: "
   EN 2,71 ESCRIBIR pag
   EN 4,20 ESCRIBIR "LISTADO DE LAS VENTAS DE LOS PRODUCTOS AL DIA: "
   EN 4,68 ESCRIBIR Fecha_sistema( )
   EN 6,30 ESCRIBIR "N£mero"
   EN 6,40 ESCRIBIR "Cantidad"
   EN 7,18 ESCRIBIR "-----------------------------------------------------"
   fi <- 9
   pag <- pag + 1
FINSUBPROGRAMA

--------------------------------------------------------------------------

48.-Dado el fichero secuencial ARTICULOS.DAT, cuyos campos son: NART,
ARTICULO, PVP, STOCK y MINIMO. En otro fichero VENTAS.DAT, est n
almacenadas las modificaciones de los productos durante el d¡a, cuyos
campos son: NART2, VENTAS y TIPO. El campo TIPO puede tomar los valores 0
(venta) y 1 (compra). Se desea hacer un programa que realice una
actualización del fichero de ARTICULOS y un listado por impresora de las
entradas y salidas de los art¡culos.

PROGRAMA modifica
ENTORNO:
   entra <- 0
   sale <- 0
   total <- 0
   fi <- 55
   sw <- 0
   aux <- 0
   pag <- 1
ALGORITMO:
   Borrar_pantalla( )
   Activar_impresora( )
   ABRIR "ARTICULOS.DAT"
   Primer_registro( )
   ABRIR "SALIDAS.DAT"
   Primer_registro( )
   ABRIR "VENTAS.DAT"
   Primer_registro( )
   SELECCIONAR "VENTAS.DAT"
   MIENTRAS NO Eof( ) HACER
      SI fi = 55 ENTONCES
         HACER Cabecompras
      FINSI
      SI sw = 0 ENTONCES
         aux <- nart2
         HACER Buscar
         sw <- 1
      FINSI
      SI nart2 = aux ENTONCES
         HACER Calculos
      SINO
         HACER Grabar
         HACER Compra
         entra <- 0
         sale <- 0
         aux <- nart2
         HACER Buscar
         HACER Calculos
      FINSI
      Siguiente_registro( )
   FINMIENTRAS
   HACER Grabar
   HACER Compra
   SELECCIONAR "SALIDAS.DAT"
   fi <- 55
   MIENTRAS NO Eof( ) HACER
      SI fi = 55 ENTONCES
         HACER Cabesal
      FINSI
      MIENTRAS nart3 <> nart HACER
         SELECCIONAR "ARTICULOS.DAT"
         Siguiente_registro( )
      FINMIENTRAS
      aux <- nart3
      HACER Buscar
      HACER Sale
      SELECCIONAR "SALIDAS.DAT"
      Siguiente_registro( )
   FINMIENTRAS
   EN fi + 4,55 ESCRIBIR "Total: "
   EN fi + 4,62 ESCRIBIR total
   Activar_pantalla( )
   Cerrar_ficheros( )
   BORRAR "SALIDAS.DAT"
FINPROGRAMA
------------------------------
SUBPROGRAMA Calculos
   SI tipo = 0 ENTONCES
      entra <- entra + ventas
   SINO
      sale <- sale + ventas
   FINSI
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Grabar
   stock <- stock + entra - sale
   SELECCIONAR "ARTICULOS.DAT"
   Escribir_registro( )
   nart3 <- aux
   ventas3 <- sale
   SELECCIONAR "SALIDAS.DAT"
   Final_fichero( )
   Escribir_registro( )
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Cabecompras
   Salto_pagina( )
   EN 2,65 ESCRIBIR "P g.: "
   EN 2,71 ESCRIBIR pag
   EN 4,20 ESCRIBIR "LISTADO DE LAS ENTRADAS DE ARTICULOS AL DIA: "
   EN 4,66 ESCRIBIR Fecha_sistema( )
   EN 6,18 ESCRIBIR "N£mero"
   EN 6,35 ESCRIBIR "Art¡culo"
   EN 6,65 ESCRIBIR "Cantidad"
   EN 7,15 ESCRIBIR "----------------------------------------------------------------"
   fi <- 9
   pag <- pag + 1
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Compra
   EN fi,16 ESCRIBIR aux
   EN fi,30 ESCRIBIR articulo
   EN fi,67 ESCRIBIR entra
   fi <- fi + 1
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Cabesal
   Salto_pagina( )
   EN 2,65 ESCRIBIR "P g.: "
   EN 2,71 ESCRIBIR pag
   EN 4,20 ESCRIBIR "LISTADO DE SALIDAS DE ARTICULOS AL DIA: "
   EN 4,60 ESCRIBIR Fecha_sistema( )
   EN 6,8 ESCRIBIR "Número"
   EN 6,16 ESCRIBIR "Art¡culo"
   EN 6,40 ESCRIBIR "Cantidad"
   EN 6,54 ESCRIBIR "PVP"
   EN 6,64 ESCRIBIR "Importe"
   EN 7,6 ESCRIBIR "------------------------------------------------------------------------------"
   fi <- 9
   pag <- pag + 1
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Sale
   Salto_pagina( )
   SI stock < minimo ENTONCES
      EN fi,4 ESCRIBIR "*"
   FINSI
   EN fi,6 ESCRIBIR nart3
   EN fi,14 ESCRIBIR articulo
   EN fi,40 ESCRIBIR ventas
   EN fi,54 ESCRIBIR pvp
   EN fi,65 ESCRIBIR ventas * pvp
   total <- total + ventas * pvp
   fi <- fi + 1
FINSUBPROGRAMA
------------------------------
SUBPROGRAMA Buscar
   MIENTRAS nart <> aux HACER
      SELECCIONAR "ARTICULOS.DAT"
      Siguiente_registro( )
   FINMIENTRAS

FINSUBPROGRAMA

Deja Tus Comentarios!!

Déjame tus dudas y comentarios: Conversion Conversion Emoticon Emoticon

Entradas Populares