--------------------------------------------------------------------------
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!!
Sign up here with your email
Déjame tus dudas y comentarios: Conversion Conversion Emoticon Emoticon