Download - Diagramacion Tipo Jackson
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
1
PROGRAMACION APLICANDO DIAGRAMAS
TIPO JACKSON
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
2
Introduccin
A lo largo del tiempo se ha entendido al tema de programacin como el hecho de
conocer un lenguaje y a travez de l lograr la solucin a determinados problemas.
Este concepto hoy se ha modificado , entendiendose como programacin a la
posibilidad de la resolucin del problema , independientemente del lenguaje a utilizar.
La solucin de problemas por medio de la programacin es una tarea que requiere
meditacin , planificacin , lgica y perseverancia .por lo cul es una actividad que
tiene caractersticas de mucha creatividad y desafio personal.
Para la resolucin de un problema pues , es necesario primero entenderlo , luego crear el
algortmo necesario y por ltimo volcarlo a un lenguaje determinado.es aqu donde se
ve que no basta conocer slo un lenguaje sino que es necesario conocer una tcnica de
programacin.
Algoritmo , es un conjunto finito de pasos , procesados en un tiempo finito despues del
cul se obtiene la solucin deseada.
O sea que todo algoritmo debe tener un principio y un fin determinado.
Este curso buscar ensear a resolver problemas mediante tcnicas de programacin ,
buscar ensear a pensar esas resoluciones , lo intentar a travez de un algoritmo.
Como dijimos antes existen etapas para la solucin del problema , las cuales podriamos
definir como la estrategia a seguir
Determinar datos
Determinar resultados
Determinar los procesos que debemos aplicarle a esos datos para obtener esos resultados
Los datos sern todos aquellos elementos que provengan del exterior de nuestro
programa , y que su procesamiento en una forma determinada nos permitir obtener los
resultados requeridos que es lo que llamamos informacin.
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
3
Representacin de los datos y de los resultados en un programa
Estos sern representados por medio de lo que conoceremos como variables , estas
llevaran nombres claros y representativos de lo que contienen y podrn ser de distintos
tipos
por ej
Dato o resultado Variable Tipo
Nombre empleado Nomemp Texto
Hs trabajadas Hstrab Numrica
Valor hora Valhs Numrica
Sueldo Sdo Numrica
Fecha de nacimiento Fnac Fecha y hora
Comentarios Curric Memo
Los tipos de datos estarn ligados al lenguaje a utilizar pero en general todos tienen los
mismos tipos o muy parecidos.
Dentro de las variables nosotros podremos guardar datos , valores constantes y a otras
variables que vayan surgiendo durante la ejecucin de nuestro algoritmo.
A continuacin los datos se vern afectados por procedimientos para obtener un
resultado , es conveniente dividir estos procedimientos en procesos lo ms pequeos
posible a fin de tener mayor control sobre los mismos , y que una posterior
modificacin en una parte de l no repercuta en todo el resto negativamente , divide y triunfaras .
Lo que restara es armar el algoritmo que no es ms que colocar estos pequeos
procesos en una forma lgicamente ordenada para poder obtener los resultados
deseados.
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
4
DIAGRAMACION JACKSON
Esta es una forma ms de representar la lgica de programacin.
Un proceso es una secuencia de instrucciones que ocupan una cantidad de recursos del
computador y permiten la solucin de un problema , ya sea en funcin de un solo
proceso o de varios subprocesos que al combinarse correcta y lgicamente generan la
solucin deseada .
La diagramacin Jackson consiste en dibujar a todos sus elementos como rectngulos ,
que se encuentran ordenados en forma secuencial de izquierda a derecha y poseen
distintos niveles entre s.
En todos los casos dentro del rectngulo se escribe la instruccin , el procedimiento que
se llama , etc.
Tipos de Estructuras
Dentro de la programacin estructurada reconocemos tres estructuras bsicas
Estructuras secuenciales
Estructuras condicionales
Estructuras iterativas o de repeticin
programa
inicio proceso fin
Proceso 1 Imprimir listado sueldo
Sueldo = ch * vh Si a = b
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
5
Forma de dibujar las distintas operaciones
Secuenciales
En seudo cdigo seria :
Leer datos
Sdo = ch * vh
Imprimir sdo
Condicionales
La condicin que se desea comprobar va adentro del rectngulo
Puede darse dos casos
1. condicionales con salida por el verdadero de la condicin especificada
En seudo cdigo seria :
Si a = b entonces
C = a + b
Sdo = sdo c Fin si
Leer datos Sdo = ch * vh Imprimir sdo
Si a = b
C = a + b
Sdo = sdo - c
si
no
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
6
2. condicionales con salida por el verdadero y por el falso de la condicin especificada
En seudo cdigo seria :
Si a = b entonces
C = a + b
Sdo = sdo + c
De lo contrario
C = a * b
Sdo = sdo * c
Fin si
Iterativas
La condicin que se desea que se cumpla se escriba a la derecha del rectngulo
Pueden darse dos casos de iteracin
ciclos repetitivos exactos
Si a = b
C = a + b Sdo = sdo + c C = a * b Sdo = sdo * c
si
no
Proceso vector
Leer dato V( I ) = dato
I = 1 a 10
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
7
En seudo cdigo seria :
Para I = 1 a 10
Leer dato
V ( I ) = dato
Prximo
ciclos repetitivos inexactos
En seudo cdigo seria :
Leer cta, sueldo
Hacer hasta fin de archivo
V ( cta ) = sueldo
Leer cta,, saldo
Repetir
Leer cta , sueldo Proceso vector
V(cta) = sueldo Leer cta , sueldo
Hasta fin de
archivo
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
8
Tipos de datos estructurados
Los dos tipos de datos estructurados ms importantes son el array ( vectores y matrices )
y los registros .
En un arreglo las componentes son del mismo tipo y se accede a ellas mediante un
nmero correlativo llamado subndice.
En los registros en cambio las componentes pueden ser de diversos tipos , especificadas
por distintos nombres , y a su conjunto se lo puede acceder mediante distintas tcnicas
que veremos ms adelante.
Vectores
Los vectores son estructuras de memoria que poseen un tamao conocido de ocurrencias
y en general almacenan datos de un mismo tipo.
Dado un vector de nombre vect de 10 ocurrencias que almacena valores numricos
12 45 56 78 15 23 56 15 1000 41
1 2 3 4 5 6 7 8 9 10
La forma de escribir un vector sera
vect (subndice)
donde el subndice sera normalmente un numero entero , representado por un dato , una
variable o una constante .
el valor del subndice puede ser desde 0 , 1 o un valor arbitrario , eso depender del
lenguaje a utilizar.
En el ejemplo anterior tenemos que
Si la posicin o valor del subndice es 6
el valor guardado en el vector en esa posicin es 23
carga directa de un vector
Sea un archivo secuencial con los siguientes campos
mes tipo numrico de 1 a 12
lluvia-caida tipo numrico
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
9
se desea cargar un vector con dicha informacin.
Como vemos en este ejemplo se utiliz como subndice de carga un dato del archivo
que era numrico , entero y conocido
Carga indirecta de un vector
Sea un archivo secuencial con los siguientes campos
Patente alfanumrico
Propietario alfanumrico
Multa numrico
Y se sabe que se confeccionaron 100 multas en el da , si deseamos cargar este archivo
en vectores , vemos que no podemos utilizar ninguno de sus campos como subndice ,
por lo que deberemos hacer lo siguiente
Bsqueda en vectores
Para extraer un dato de un vector necesitaremos conocer esencialmente la posicin que
deseamos recuperar
Para ello podemos utilizar un dato que nos suministran o un ciclo exacto hasta encontrar
el valor deseado o una constante .
Leo archivo Pro 1 Hasta eof archivo
Vec (mes) = Vec (mes)
+ lluvia-caida Leo archivo
Proceso 1 Para i = 1 a 100
Leo archivo Vpat ( I ) = patente Vprop ( I ) = propietario Vmta ( I ) = multa
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
10
Var = Vec ( mesaux) Var = Vec ( 4 )
Ingreso patente Pro 2 Para I = 1 a 100
Si Vpat ( I ) = patente
K = I
Var = vprop ( K )
si
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
11
Matrices
Las matrices son arrays de dos o ms dimensiones segn soporte el lenguaje a utilizar.
Para nuestro estudio utilizaremos matrices bidimensionales
Mantienen bsicamente las mismas caractersticas en lo que concierne al tipo de
subndices a utilizar , su representacin y su contenido.
En lugar de manejar un solo subndice manejaremos dos que nos representarn las filas
y columnas de una matriz
45 65 12 58 47 69
15 48 59 23 52 42
78 84 9 120 451 784
65 85 53 42 73 95
En este ejemplo tenemos que la matriz llamada MATSDO tiene las siguientes
caractersticas
Tiene 4 filas y 6 columnas MATSDO ( 4,6 )
Si la fila vale 2 y la columna 5 el valor de MATSDO ( 2 , 5 ) es 52
Sus formas de carga y de posible bsqueda de un dato en ella es similar a la de los
arrays o vectores unidimensionales , pudiendo combinarse en sus subndices una
constante y un dato, una constante y una variable , dos datos , etc.
Vectores asociados a una matriz
Supongamos que me dan los siguientes archivos secuenciales
Archivo depsito
codDep alfanumrico
Nombre alfanumrico
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
12
Archivo artculo
Codart alfanumrico
Descripcin alfanumrico
Me dicen que son 1000 artculos y 10 depsitos
Luego me dan el archivo stock
Deposito alfanumrico
Articulo alfanumrico
Stock numrico
Pues bien lo primero que deber hacer es cargar los archivos depsito y artculo en
sendos vectores , uno de 10 posiciones y el otro de 1000 posiciones
Dentro de inicio
programa
inicio Proceso fin
inicio
Pro 1 Para I= 1 a 10 Pro 2 Para K = 1 a
1000
Leo
deposito
Vdep ( I ) = coddep
Vnom ( I ) = nombre
Leo artculos Vart ( K ) = codart
Vdes ( K ) = descripcin
Leo stock
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
13
Ahora bien para poder cargar el archivo de stock debo hacer que exista una relacin
entre las posiciones donde guarde los depsitos y los artculos en los vectores y la
matriz que voy utilizar , es por ello que deber obtener los subndices de la matriz de
estos vectores asociados . para ello en el proceso tendr que hacer lo siguiente :
Archivos
proceso
Pro 3 Para I = 1 a 10 Pro 4
Para I = 1 a
1000 Ma ( K ,M ) = stock Leo stock
Si vdep ( I ) =
deposito
Si dart ( I ) =
articulo
K = I M = I
si si
Hasta eof stock
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
14
Archivos
Campos de un registro
Los campos de un registro son la unidad lgica donde se almacenan los datos de un
registro
Tienen como caracterstica su nombre , tipo y tamao
Nombre Tipo tamao
Nrocta Numrico 5
Razonsocial alfabtico 25
Fechadeposito fecha 6
Comentarios memo 200
Los tipos de datos y su tamao se vern restringidas por el lenguaje que se utilice
Un conjunto de campos componen un registro , como por ejemplo la tabla anterior
donde los 4 datos tomados como una unidad componen el registro .
Un conjunto de registros componen un archivo
Existen bsicamente dos tipos de archivos
Secuenciales
Indexados
Secuenciales
Tienen como caracterstica principal que su organizacin es secuencial y su forma de
acceso a los distintos registros es nicamente secuencial. , o sea que para acceder al
registro 50 debo haber pasado por los 49 anteriores
Estos archivos pueden o no estar ordenados .
As mismo estos archivos pueden o no tener registros repetidos o sea varios registros
para una misma cuenta.
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
15
Tomaremos como notacin la siguiente
S/R sin repetidos
C/R con repetidos
ordenacin
c
C/R N ( 5 ) A( 25 ) F( 6 ) memo( 200 )
Colocndole debajo de cada campo el tipo y su tamao
El ordenamiento del archivo puede ser realizado por ms de un campo , por ejemplo
podemos decir que el archivo esta ordenado por nrocta y dentro de ello por fecha.
Archivos Indexados
Los archivos indexados tienen como particularidad que para su acceso necesitan de una
clave de acceso , y estn ordenados lgicamente por esa clave.
En todo archivo indexado la organizacin fsica de los registros es de acuerdo al orden
de grabacin pero su organizacin lgica esta dada por la clave.
La organizacin de un archivo indexado es indexada y segn el lenguaje las formas de
acceso pueden ser secuencial , random o al azar y dinmica
Secuencial es la lectura de un registro a posteriori del anterior con la nica seguridad de
que el archivo se encuentra ordenado por la clave de acceso definida
Acceso random es aquel en que el acceso es en forma directa y nica a un registro en
particular , debindose conocer el valor de la clave completa de acceso , si esta
compuesta por mas de un campo se debe conocer todos los valores de esos campos
Dinmica es la forma de acceso a un registro en particular y de all permite leer el
archivo en forma secuencial hasta una condicin dada .
As mismo en este caso no es necesario conocer la clave completa , si esta se encuentra
compuesta por mas de un campo y existe peso de orden entre ellos .Ser necesario que
conozcamos aquellos de mayor peso , no pudiendo conocer los de menor peso y
desconocer los de mayor peso.
Nrocta razonsocial fecha comentarios
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
16
En este caso de un archivo de infracciones , la clave esta compuesta por la patente del
automvil y como esta puede estar repetida por varias multas hay que agregarle el
campo nroinfraccion para lograr que ese valor sea nico.
Este archivo estar lgicamente ordenado por patente y dentro de ella por nro de
infraccin .
Un archivo indexado puede tener varias claves de acceso definidas a la vez , eso
depender del lenguaje a utilizar .
Podemos decir que un archivo indexado esta compuesto por la tabla base que es donde
se encuentran los registros propiamente dichos y distintas tablas ndices asociadas para
su ms rpido y fcil acceso.
patente nroinfraccion tipoinfraccion monto
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
17
Corte de control
Una de las operaciones bsicas a realizar con archivos es la realizacin de corte de
control .
Esta operacin nos permitir obtener subtotales de registros con valores repetidos en
algunos de sus campos.
Para poder realizar un corte de control es necesario y fundamental que el archivo se
encuentre ordenado por el o los campos por los que deseamos realizar estos cortes, caso
contrario no se puede realizar .
Este archivo se encuentra ordenado por nro de banco y dentro de los bancos por
sucursal y dentro de la sucursal por nro de cuenta
Si nosotros deseamos tener un listado donde se nos muestre el valor de cada cuenta , el
total por sucursal y por ltimo el total por banco deberemos hacer lo siguiente
Nota : por cuestiones de espacio se incluyeron dos operaciones en un mismo rectngulo
Eof = end of file = fin de archivo
banco sucursal cuenta saldo
Proceso 1
Proceso 2
Proceso 3
eof
Eof o
bco aux
Eof o bco aux o
Suc aux1
Leo archivo
Aux = bco
Acumbco = 0
Aux1 = suc
Acumsuc = 0 Acumbco =
Acumbco +
acumsuc
Imprimir
acumsuc
Imprimir
acumbco
finalizar
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
18
En seudo cdigo seria :
Comienzo .
Leo archivo
Hacer proceso 1 hasta eof
finalizar
Fin
Proceso 1:
Aux = bco
Acumbco = 0
Hacer proceso 2 hasta eof o bco aux
Imprimir acumbco
Fin proceso 1
Proceso 2:
Aux1 = suc
Acumsuc = 0
Hacer proceso 3 hasta eof o bco aux o suc aux1
Acumbco = acumbco + acumsuc
Imprimir acumsuc
Fin proceso 2
Proceso 3:
Acumsuc = acumsuc + saldo
Imprimir saldo
Leo archivo
Fin proceso 3
Como vemos debemos guardarnos el valor del banco y de la sucursal en sendos
auxiliares y leer el archivo hasta que cambien .
Cuando cambian podemos realizar las operaciones de suma en subtotales y su impresin
Estos subtotales deben ser colocados en cero cada vez que cambie la sucursal o el
banco.
Acumsuc =
Acumsuc + saldo Leo archivo Imprimir
saldo
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
19
La primera lectura del archivo ser hecha afuera de los ciclos y la segunda lectura en el
nivel mas bajo de corte .
El corte de control lleva el mismo orden que el archivo , debindose repetir en el corte
inferior la condicin de corte superior .
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
20
Apareo de archivos
Apareo de archivos secuenciales
El apareo de archivos secuenciales lo realizaremos con dos archivos.
Estos archivos para poder aparearse deben estar ordenados por los mismos campos .
Supongamos que tenemos un archivo maestro y uno de novedades con registros
repetidos ordenados ambos archivos por cdigo de articulo
Cuando leemos secuencialmente los registros de cada archivo y los comparamos entre si
veremos que se pueden dar tres posibilidades
Que sean iguales los cdigos de artculos
Que el cdigo de artculo del archivo maestro sea mayor al del de novedades
Que el cdigo de artculo del archivo maestro sea menor al del de novedades
El corte de control del proceso ser hasta que ambos o alguno de los archivos finalice
(eof) .
NOTA: LOS MDULOS IGUAL , MAYOR Y MENOR SE ENCUENTRAN GRAFICADOS MS
ABAJO
programa
inicio Proceso fin
Leo mae Leo nov Si Artmae =
artnov
Si Artmae >
artnov
Si Artmae <
artnov Cerrar archivos
igual mayor menor
Hasta eofmae
y/o eofnov
si si si
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
21
En seudo cdigo seria:
Comienzo
Hacer inicio
Hacer proceso hasta eofmae y/o eofnov
Hacer fin
Fin
Inicio
Leo mae
Leo nov
Fin inicio
Proceso
Si artmae = artnov hacer igual
Si artmae > artnov hacer mayor
Si artmae < artnov hacer menor
Fin proceso
Fin
Cerrar archivos
Fin fin
Opcin igual
Se realizarn todas las operaciones que me solicita el programa por la igualdad y como
me dicen que novedades viene con repetidos lo que ms me conviene hacer es un corte
de control.
En este corte de control no necesitar guardar en un aux el valor del artculo sino que
usar como tal al artmae
Si Artmae = artnov
Proceso igualdad
Proceso 1 Proceso 2 Leo nov
Artnov
artmae
si
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
22
Opcin mayor
En este caso significa que existe un artculo nuevo , que no existe en el mae , por lo
tanto habr que ver si es un error o una alta al archivo mae
Luego de realizar el proceso que corresponda deber leer otro registro del archivo nov
Opcin menor
En este caso significa que el artculo del mae o no tuvo novedad o que el registro leido
de nov indica que ya terminaron las modificaciones hacia el del mae y debemos buscar
dentro de mae el articulo nuevo para esta novedad .
Si miramos con atencin los procedimientos descriptos veremos que el archivo a leer
por cada situacion es siempre aquel que qued como menor en la condicin a excepcin
del igual que es normalmente el de novedades .
Si Artmae > artnov
Proceso 1 Leer nov
Si Artmae < artnov
Proceso 1 Leo mae
si
si
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
23
Apareo de un archivo secuencial y un indexado
Para acceder a un archivo indexado debemos conocer el valor de su clave , el cul lo
obtendremos en este caso del archivo secuencial.
Recordemos que la clave del indexado debe ser nica
Dado un archivo secuencial con los siguientes campos
Dado un archivo indexado con los siguientes campos con clave artculo
Para actualizar al archivo indexado haremos lo siguiente
El IK funciona como un IF de una estructura condicional
Cod-art cantidad Tipo de movimiento
articulo stock
Leer movi Proceso 1 Final
Articulo = cod-art Leo maestro Si Tipo de movimiento
= compra
Stock +
cantidad
Stock -
cantidad
IK si no
eof
accion
Leo
movi
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
24
En seudo cdigo seria:
Comienzo
Leer movi
Proceso 1 hasta eof movi
Final
Fin
Proceso 1:
Articulo = cod-art
Leo maestro si clave es IK hacer accion
Si tipo de movimiento = compra entonces
Stock = stock + cantidad
De lo contrario
Stock = stock - cantidad
Fin si
Leer movi
Fin proceso 1
Nota = IK significa invalid key , clave invalida , o sea si no encuentra la clave en el
archivo indexado no se produce el apareo y da error y se ejecutara el proceso accin que
se defina.
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
25
Pantallas
Las pantallas son los medios ms comunes para la interaccin entre el usuario y el
computador.
Ser de suma importancia el orden y secuencia con que se diagraman estas pantallas
para hacer ms simple y rpida la tarea de los usuarios.
Bsicamente se tratan de procesos repetitivos hasta una condicin dada , que me hace
realizar un determinado proceso o mostrar otra pantalla.
Dibujaremos a traves de grafos la relacin entre pantallas y luego ese grafo lo
representaremos en Jackson , dejando como siempre librado al ejercicio del momento
los procesos a realizar en cada caso , slo indicaremos la secuencia de pantallas.
En este caso anterior las pantallas son secuenciales y no existe iteracin o divergencia
en el regreso a la pantalla 1
1
2 3
4
proceso Hasta opcin
= esc inicio
Mostrar aceptar
pant 1
Mostrar aceptar
pant 2
Proceso 1
Mostrar aceptar
pant 3
Proceso 2
Mostrar aceptar
pant 4
Hasta opcion
= esc
Hasta opcion
= esc
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
26
Veamos este otro caso
En este csso vemos que de regreso de la pantalla 4 puede elegir entre la 3 la 1
introduciendose entonces en el diagrama una instrucin condicional.
En ambos casos siempre como opcin de salida es el valor esc , pueden haber casos que existan ms de un valor posible de salida de un proceso , lo que provocar en el
nivel que corresponda una nueva instruccin condicional .
Los procesos que se ejecutarn en cada nivel pueden estar antes o despues del mostrar /
aceptar pantalla , eso depender exclusivamente del caso que estemos tratando.
1 2
3 4
inicio proceso
M/A pant 1 M/A pant 2 Proceso 1
Hasta opcion
= esc
M/A pant 2 Proceso 2
M/A pant 3 Proceso 3
M/A pant 4 Opcion = 3
M/A pant 3
Hasta opcion
= esc
Hasta opcion
= esc
Hasta opcion =
esc
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
27
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
28
CORTE DE CONTROL EN ARCHIVOS SECUENCIALES
1) Una universidad tiene el registro de sus alumnos al iniciarse el ao lectivo , en un
archivo secuencial ordenado con el siguiente formato
Cdigo de universidad
Cdigo de facultad
Cdigo de carrera
Legajo del alumno
Cdigo de materias en la que se anoto
Esta ordenado en el orden que estn los campos , universidad , facultad , carrera , legajo
Pueden venir varios registros para un mismo alumno
Se desea saber
1. Cuantos alumnos hay por carrera 2. Cuantos alumnos hay por facultad 3. Cuantos alumnos hay por universidad
2)Si al ejercicio anterior se le agregan los siguientes archivos secuenciales
Universidad ( son 12 )
Cdigo de universidad
Descripcin
Facultad (son 40 )
Cdigo de facultad
Descripcin
Carrera ( son 100 )
Cdigo de carrera
Descripcin
Realizar el mismo listado pero especificando el nombre a quien pertenece los totales
Universidad UAI
Sistemas 600
Medicina 800
Comercializacin 100
Centro 1500
Idem con el resto de los datos
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
29
Total alumnos UAI 6000
3)Hacer el mismo ejercicio anterior pero considerar que el cdigo de universidad y el de carrera
es alfanumrico
4)Una empresa tiene 10 cuentas corrientes bancarias sobre las que libra y deposita cheques
El archivo es secuencial y tiene el siguiente formato
Numero de cuenta ( del 1 al 10 )
Banco
Saldo actual
Posee a su vez un archivo donde tiene los movimientos previstos a futuro , o sea que cheques
libro , que cheques sabe que va a depositar y que efectivo recibir
Los datos que tiene este archivo son
Fecha
Tipo de operacin
Numero de cuenta
Importe
Esta ordenado por fecha y tipo de operacin ( cheques emitidos , cheques recibidos , efectivo )
El campo numero de cuenta solo trae dato si es un cheque emitido por la empresa
Se desea saber
Cual Sera el saldo de las cuentas corrientes luego de realizadas todas las operaciones
Donde se depositara cada cheque y efectivo
Realizar una primera versin usando matriz y una segunda versin solo usando vectores , donde
esta la diferencia ?
5) dados los siguientes archivos
archivo operaciones secuencial ordenado por banco sucursal cuenta
banco
sucursal
cuenta
tipo de operacin
monto
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
30
si consideramos el saldo inicial en 0 , calcular :
1. monto por cuenta 2. monto por sucursal 3. monto por banco
6) dados los siguientes archivos
archivo inscripcin ordenado por universidad-facultad-carrera
universidad
facultad
carrera
legajo
se desea saber
1. cantidad de alumnos inscriptos por universidad 2. cantidad de alumnos inscriptos por facultad 3. cantidad de alumnos inscriptos por carrera 4. que facultad tiene mas inscriptos 5. cual universidad tiene mas facultades
7)dados los siguientes archivos
archivo pedido ordenado por pedido-cliente
pedido N(5)
cliente A(5)
articulo N(7)
cantidad N(4)
archivo cliente existen 40 registros
cliente A(5)
direccin A(30)
situacin IVA N(1) 1= insc , 2= exento , 3= consumidor final
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
31
archivo artculos existen 1000 registros
articulo N(7)
precio N(4) sin IVA
costo N(4) sin IVA
se desea
1. realizar las correspondientes facturas 2. calcular y agregar el IVA segn corresponda 3. indicar total de IVA venta recaudado 4. cuanto se pagara a la DGI en concepto de excedente IVA = IVA venta IVA
compra
8) realizar el mismo ejercicio anterior pero teniendo en cuenta que el precio de compra
y venta de los artculos ya tienen el IVA incorporado
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
32
APAREO DE ARCHIVOS SECUENCIALES
1)dados los siguientes archivos
stock ordenado por articulo
cdigo de articulo N(3)
descripcin A(20)
punto de pedido N(4)
stock N(4)
movimientos ordenado por articulo
cdigo de articulo N(3)
tipo de movimiento N(1) 1=compra 2 =vende
cantidad N(4)
se desea saber:
actualizar el archivo stock
listado de los artculos cuyo stock sea menor al punto de pedido
2) dados los siguientes archivos
archivo empleados ordenado por legajo
legajo N(6)
nombre y apellido A(20)
direccin A(30)
categora A(2)
archivo familia ordenado por legajo
legajo N(6)
cantidad hijos en primaria N(2)
cantidad hijos en secundaria N(2)
cantidad hijos en terciaria N(2)
archivo categoras
categora A(2)
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
33
nombre A(25)
monto N(4)
se desea saber
1. liquidacin de sueldo de cada empleado si se le abona un 5% por cada hijo en primaria , 8% por cada hijo en secundario y un 10% por cada hijo en terciaria
2. monto total a pagar por cada categora 3. si se le descuenta un 15% de su sueldo bsico para cargas sociales, cuanto se
recauda en total
3) dados los siguientes archivos secuenciales
archivo proveedores existen 20
cdigo de proveedor N(3)
denominacin A(20)
archivo edificios ordenado por cdigo de edificio
cdigo de edificio N(2)
direccin A(25)
administrador A(4)
cantidad de departamentos N(3)
archivos gastos ordenado por cdigo de edificio
cdigo de edificio N(2)
proveedor N(3)
monto N(5)
archivo de administradores existen 10
cdigo administrador A(4)
nombre N(30)
comisin de honorarios N(2)
se desea saber
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
34
1. total a pagar a cada proveedor 2. total a recaudar por cada proveedor 3. valor de las expensas a pagar por cada departamento si Serra igual al total gastado
por el edificio dividido la cantidad de departamentos que posee
4. que administrador y con que proveedor se origino el mayor gasto total 5. que proveedores no trabajaron este mes 6. total a cobrar por cada administrador en concepto de honorarios
4) dados los siguientes archivos
archivo materias existen 40
cdigo de materia A(2)
denominacin A(25)
archivo alumno ordenado por legajo
legajo N(6)
nombre N(30)
carrera N(3)
archivo notas ordenado por legajo
legajo N(6)
cdigo de materia A(2)
nota N(2)
archivo carreras existen 10
cdigo de carrera N(3)
nombre N(35)
se desea saber
1. listado de exmenes rendidos por cada alumno y su nota promedio 2. cantidad de exmenes aplazados por cada alumno 3. nota promedio por materia 4. alumno de mejor nota promedio en los exmenes dados
5)dados los siguientes archivos
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
35
nombre cliente nombre pedidos
orden por pedido orden por pedido
cant reg no se sabe cant reg no se sabe
campo tipo campo tipo
pedido n(5) pedido n(5)
cliente n(8) destino n(2)
tipo a(3) clase n(1)
cant tkt n(3)
nombre cliente nombre clasificacin
orden ninguno orden ninguno
cant reg 80 cant reg 4
campo tipo campo tipo
cliente n(8) tipo a(3)
nombre a(20) descuento n(2)
nombre cliente
orden ninguno
cant reg 200
campo tipo
destino n(2)
clase n(2)
precio n(3)
lug libres n(3)
se pide:
1. por pedido ok
nombre del cliente
destino solicitado
cantidad de boletos
monto de la operacin
descuento
a cobrar
2. listado de pedidos no sastifechos por falta de lugar 3. cliente que mas gasto en total
2) dados los siguientes archivos
6) dados los siguientes archivos
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
36
archivo socios ordenado por socio
cdigo de socio N(5)
apellido y nombre N(30)
categora A(3)
archivo pedidos ordenado por socio con repetidos
cdigo de socio N(5)
cdigo de libro N(2)
cantidad N(2)
archivo libros existen 100
cdigo de libro N(2)
nombre A(30)
costo N(3)
precio N(3)
stock N(3)
archivo categora existen 5
cdigo de categora A(3)
descuento porcentual N(3)
se desea saber lo siguiente
1. para cada socio ,
nombre del socio libros solicitados cantidad monto descuento total a cobrar
1. libro mas vendido 2. libro mas rentable en promedio 3. ganancia obtenida por las ventas 4. para cada libro
cantidad solicitada en total
cantidad sastifecha
cantidad que se adeuda
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
37
APAREO DE ARCHIVOS INDEXADOS
1) dados los siguientes archivos
archivo materias indexado por cdigo de materia
cdigo de materia A(2)
denominacin A(25)
archivo alumno indexado por legajo
legajo N(6)
nombre N(30)
carrera N(3)
archivo notas ordenado por legajo
legajo N(6)
cdigo de materia A(2)
nota N(2)
archivo carreras indexada por carrera
cdigo de carrera N(3)
nombre N(35)
se desea saber
5. listado de exmenes rendidos por cada alumno y su nota promedio 6. cantidad de exmenes aplazados por cada alumno 7. nota promedio por materia 8. alumno de mejor nota promedio en los exmenes dados
2) dados los siguientes archivos
archivo socios indexado por socio
cdigo de socio N(5)
apellido y nombre N(30)
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
38
categora A(3)
archivo pedidos ordenado por socio con repetidos
cdigo de socio N(5)
cdigo de libro N(2)
cantidad N(2)
archivo libros indexado por cdigo de libro
cdigo de libro N(2)
nombre A(30)
costo N(3)
precio N(3)
stock N(3)
archivo categora existen 5
cdigo de categora A(3)
descuento porcentual N(3)
se desea saber lo siguiente
para cada socio ,
nombre del socio libros solicitados cantidad monto descuento total a cobrar
1. libro mas vendido 2. libro mas rentable en promedio 3. ganancia obtenida por las ventas 4. para cada libro
cantidad solicitada en total
cantidad sastifecha
cantidad que se adeuda
3) dados los siguientes archivos
archivo proveedores indexado por cdigo de proveedor
cdigo de proveedor N(3)
denominacin A(20)
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
39
archivo edificios indexado por cdigo de edificio
cdigo de edificio N(2)
direccin A(25)
administrador A(4)
cantidad de departamentos N(3)
archivos gastos ordenado por cdigo de edificio
cdigo de edificio N(2)
proveedor N(3)
monto N(5)
archivo de administradores indexado por cdigo de administrador
cdigo administrador A(4)
nombre N(30)
comisin de honorarios N(2)
se desea saber
1. total a pagar a cada proveedor 2. total a recaudar por cada proveedor 3. valor de las expensas a pagar por cada departamento si Serra igual al total gastado
por el edificio dividido la cantidad de departamentos que posee
4. que administrador y con que proveedor se origino el mayor gasto total 5. que proveedores no trabajaron este mes 6. total a cobrar por cada administrador en concepto de honorarios
4) dados los siguientes archivos
archivo partidos
equipo N(3)
contrario N(3)
fecha N(1)
situacin N(1) 1 = local ; 2 = visitante
referee N(4)
archivo equipos indexado por equipos
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
40
equipo N(3)
nombre A(30)
archivo referee indexado por referee
referee N(4)
nombre A(30)
archivo goles indexado por fecha-equipo-tiempo
fecha N(1)
equipo N(3)
tiempo N(2)
cdigo jugador N(2)
archivo jugador indexado por cdigo jugador
cdigo jugador N(2)
nombre A(30)
nro camiseta N(2)
se desea saber
1.
equipo : nombre:
situacin local visitante en general
partidos jugados
partidos ganados
partidos empatados
partidos perdidos
puntaje
1. tiempo mayor de valla invicta por equipo 2. referee con que se perdi mas partidos cada equipo
5) dados los siguientes archivos
archivo gastos indexado por edificio proveedor
edificio N(3)
proveedor N(3)
monto N(4)
archivo proveedor indexado por proveedor
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
41
proveedor N(3)
nombre A(40)
archivo edificio indexado por edificio-unidad
edificio N(3)
unidad N(3)
nombre propietario A(30)
porcentual A(2)
archivo expensas pagadas durante el ao indexado por edificio-unidad - mes
edificio N(3)
unidad N(3)
mes N(2)
pago realizado N(4)
archivo expensas liquidadas durante el ao indexado por edificio-unidad-mes
edificio N(3)
unidad N(3)
mes N(2)
expensa N(4)
se desea liquidar las nuevas expensas de este mes
edificio:
unidad expensas del mes deuda total a pagar
2. monto adeudado a cada proveedor
6) dados los siguientes archivos
archivo socios indexado por socio
socio N(3)
nombre A(30)
archivo crculos-cuotas indexado por circulo numero de cuota
-
PROGRAMACION Aproximacin a Diagramas tipo JACKSON
Autor: Ing. Brizuela Rafael
42
circulo N(3)
numero de cuota N(3)
valor de la cuota N(3)
fecha vencimiento N(8)
archivo circulo indexado por circulo
circulo N(3)
nombre A(20)
cantidad de cuotas N(3)
archivo cuotas pagadas indexado por socio-circulo-numero de cuota
socio N(3)
circulo N(3)
numero de cuenta N(3)
fecha de pago N(8)
se desea saber
1.
socio nombre
circulo cantidad de cuotas pagadas monto pagado monto adeuda
2.
socio nombre
circulo cantidad de cuotas del circulo cantidad de cuotas pagadas fuera de termino
IntroduccinRepresentacin de los datos y de los resultados en un programa
DIAGRAMACION JACKSONTipos de EstructurasSecuencialesCondicionalesIterativas
ciclos repetitivos exactosciclos repetitivos inexactos
Tipos de datos estructuradosVectorescarga directa de un vectorCarga indirecta de un vectorBsqueda en vectores
MatricesVectores asociados a una matrizArchivos
ArchivosCampos de un registroSecuencialesArchivos Indexados
Corte de controlProceso 2Apareo de archivosApareo de archivos secuencialesOpcin igualOpcin mayorOpcin menor
Apareo de un archivo secuencial y un indexado
PantallasCORTE DE CONTROL EN ARCHIVOS SECUENCIALESAPAREO DE ARCHIVOS SECUENCIALESAPAREO DE ARCHIVOS INDEXADOS