diagrama cion tipo jackson

42
PROGRAMACION Aproximación a Diagramas tipo JACKSON Autor: Ing. Brizuela Rafael 1 PROGRAMACION APLICANDO DIAGRAMAS TIPO JACKSON

Upload: jorgemartinez413

Post on 26-Jun-2015

3.169 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

1

PROGRAMACION APLICANDO DIAGRAMAS

TIPO JACKSON

Page 2: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

2

Introducción

A lo largo del tiempo se ha entendido al tema de programación como el hecho de

conocer un lenguaje y a travez de él lograr la solución a determinados problemas.

Este concepto hoy se ha modificado , entendiendose como programación a la

posibilidad de la resolución del problema , independientemente del lenguaje a utilizar.

La solución de problemas por medio de la programación es una tarea que requiere

meditación , planificación , lógica y perseverancia .por lo cuál es una actividad que

tiene características de mucha creatividad y desafio personal.

Para la resolución de un problema pues , es necesario primero entenderlo , luego crear el

algorítmo necesario y por último volcarlo a un lenguaje determinado.es aquí donde se

ve que no basta conocer sólo un lenguaje sino que es necesario conocer una técnica de

programación.

Algoritmo , es un conjunto finito de pasos , procesados en un tiempo finito despues del

cuál se obtiene la solución deseada.

O sea que todo algoritmo debe tener un principio y un fin determinado.

Este curso buscará enseñar a resolver problemas mediante técnicas de programación ,

buscará enseñar a pensar esas resoluciones , lo intentará a travez de un algoritmo.

Como dijimos antes existen etapas para la solución 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 serán 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 información.

Page 3: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

3

Representación de los datos y de los resultados en un programa

Estos serán representados por medio de lo que conoceremos como variables , estas

llevaran nombres claros y representativos de lo que contienen y podrán ser de distintos

tipos

por ej

Dato o resultado Variable Tipo

Nombre empleado Nomemp Texto

Hs trabajadas Hstrab Numérica

Valor hora Valhs Numérica

Sueldo Sdo Numérica

Fecha de nacimiento Fnac Fecha y hora

Comentarios Curric Memo

Los tipos de datos estarán 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 ejecución de nuestro algoritmo.

A continuación los datos se verán afectados por procedimientos para obtener un

resultado , es conveniente dividir estos procedimientos en procesos lo más pequeños

posible a fin de tener mayor control sobre los mismos , y que una posterior

modificación en una parte de él no repercuta en todo el resto negativamente , “divide y

triunfaras “.

Lo que restaría es armar el algoritmo que no es más que colocar estos pequeños

procesos en una forma lógicamente ordenada para poder obtener los resultados

deseados.

Page 4: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

4

DIAGRAMACION JACKSON

Esta es una forma más de representar la lógica de programación.

Un proceso es una secuencia de instrucciones que ocupan una cantidad de recursos del

computador y permiten la solución de un problema , ya sea en función de un solo

proceso o de varios subprocesos que al combinarse correcta y lógicamente generan la

solución deseada .

La diagramación Jackson consiste en dibujar a todos sus elementos como rectángulos ,

que se encuentran ordenados en forma secuencial de izquierda a derecha y poseen

distintos niveles entre sí.

En todos los casos dentro del rectángulo se escribe la instrucción , el procedimiento que

se llama , etc.

Tipos de Estructuras

Dentro de la programación estructurada reconocemos tres estructuras básicas

Estructuras secuenciales

Estructuras condicionales

Estructuras iterativas o de repetición

programa

inicio proceso fin

Proceso 1 Imprimir listado sueldo

Sueldo = ch * vh Si a = b

Page 5: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

5

Forma de dibujar las distintas operaciones

Secuenciales

En seudo código seria :

Leer datos

Sdo = ch * vh

Imprimir sdo

Condicionales

La condición que se desea comprobar va adentro del rectángulo

Puede darse dos casos

1. condicionales con salida por el verdadero de la condición especificada

En seudo código 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

Page 6: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

6

2. condicionales con salida por el verdadero y por el falso de la condición especificada

En seudo código seria :

Si a = b entonces

C = a + b

Sdo = sdo + c

De lo contrario

C = a * b

Sdo = sdo * c

Fin si

Iterativas

La condición que se desea que se cumpla se escriba a la derecha del rectángulo

Pueden darse dos casos de iteración

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

Page 7: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

7

En seudo código seria :

Para I = 1 a 10

Leer dato

V ( I ) = dato

Próximo

ciclos repetitivos inexactos

En seudo código 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

Page 8: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

8

Tipos de datos estructurados

Los dos tipos de datos estructurados más 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

número correlativo llamado subíndice.

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 técnicas

que veremos más adelante.

Vectores

Los vectores son estructuras de memoria que poseen un tamaño conocido de ocurrencias

y en general almacenan datos de un mismo tipo.

Dado un vector de nombre vect de 10 ocurrencias que almacena valores numéricos

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 sería

vect (subíndice)

donde el subíndice sería normalmente un numero entero , representado por un dato , una

variable o una constante .

el valor del subíndice puede ser desde 0 , 1 o un valor arbitrario , eso dependerá del

lenguaje a utilizar.

En el ejemplo anterior tenemos que

Si la posición o valor del subíndice es 6

el valor guardado en el vector en esa posición es 23

carga directa de un vector

Sea un archivo secuencial con los siguientes campos

mes tipo numérico de 1 a 12

lluvia-caida tipo numérico

Page 9: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

9

se desea cargar un vector con dicha información.

Como vemos en este ejemplo se utilizó como subíndice de carga un dato del archivo

que era numérico , entero y conocido

Carga indirecta de un vector

Sea un archivo secuencial con los siguientes campos

Patente alfanumérico

Propietario alfanumérico

Multa numérico

Y se sabe que se confeccionaron 100 multas en el día , si deseamos cargar este archivo

en vectores , vemos que no podemos utilizar ninguno de sus campos como subíndice ,

por lo que deberemos hacer lo siguiente

Búsqueda en vectores

Para extraer un dato de un vector necesitaremos conocer esencialmente la posición 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

Page 10: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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

Page 11: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

11

Matrices

Las matrices son arrays de dos o más dimensiones según soporte el lenguaje a utilizar.

Para nuestro estudio utilizaremos matrices bidimensionales

Mantienen básicamente las mismas características en lo que concierne al tipo de

subíndices a utilizar , su representación y su contenido.

En lugar de manejar un solo subíndice manejaremos dos que nos representarán 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

características

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 búsqueda de un dato en ella es similar a la de los

arrays o vectores unidimensionales , pudiendo combinarse en sus subíndices 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 depósito

codDep alfanumérico

Nombre alfanumérico

Page 12: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

12

Archivo artículo

Codart alfanumérico

Descripción alfanumérico

Me dicen que son 1000 artículos y 10 depósitos

Luego me dan el archivo stock

Deposito alfanumérico

Articulo alfanumérico

Stock numérico

Pues bien lo primero que deberé hacer es cargar los archivos depósito y artículo 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 artículos Vart ( K ) = codart

Vdes ( K ) = descripción

Leo stock

Page 13: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

13

Ahora bien para poder cargar el archivo de stock debo hacer que exista una relación

entre las posiciones donde guarde los depósitos y los artículos en los vectores y la

matriz que voy utilizar , es por ello que deberé obtener los subíndices 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

Page 14: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

14

Archivos

Campos de un registro

Los campos de un registro son la unidad lógica donde se almacenan los datos de un

registro

Tienen como característica su nombre , tipo y tamaño

Nombre Tipo tamaño

Nrocta Numérico 5

Razonsocial alfabético 25

Fechadeposito fecha 6

Comentarios memo 200

Los tipos de datos y su tamaño se verán 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 básicamente dos tipos de archivos

Secuenciales

Indexados

Secuenciales

Tienen como característica principal que su organización 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.

Page 15: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

15

Tomaremos como notación la siguiente

S/R sin repetidos

C/R con repetidos

ordenación

c

C/R N ( 5 ) A( 25 ) F( 6 ) memo( 200 )

Colocándole debajo de cada campo el tipo y su tamaño

El ordenamiento del archivo puede ser realizado por más 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 están ordenados lógicamente por esa clave.

En todo archivo indexado la organización física de los registros es de acuerdo al orden

de grabación pero su organización lógica esta dada por la clave.

La organización de un archivo indexado es indexada y según el lenguaje las formas de

acceso pueden ser secuencial , random o al azar y dinámica

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 , debiéndose 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

Dinámica es la forma de acceso a un registro en particular y de allí permite leer el

archivo en forma secuencial hasta una condición 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

Page 16: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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

automóvil 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á lógicamente ordenado por patente y dentro de ella por nro de

infracción .

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 más rápido y fácil acceso.

patente nroinfraccion tipoinfraccion monto

Page 17: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

17

Corte de control

Una de las operaciones básicas a realizar con archivos es la realización de corte de

control .

Esta operación 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 rectángulo

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

Page 18: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

18

En seudo código 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 impresión

Estos subtotales deben ser colocados en cero cada vez que cambie la sucursal o el

banco.

Acumsuc =

Acumsuc + saldo Leo archivo Imprimir

saldo

Page 19: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 , debiéndose repetir en el corte

inferior la condición de corte superior .

Page 20: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 código 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 códigos de artículos

Que el código de artículo del archivo maestro sea mayor al del de novedades

Que el código de artículo 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 MÓDULOS IGUAL , MAYOR Y MENOR SE ENCUENTRAN GRAFICADOS MÁS

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

Page 21: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

21

En seudo código 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

Opción igual

Se realizarán todas las operaciones que me solicita el programa por la igualdad y como

me dicen que novedades viene con repetidos lo que más me conviene hacer es un corte

de control.

En este corte de control no necesitaré guardar en un aux el valor del artículo sino que

usaré como tal al artmae

Si Artmae = artnov

Proceso igualdad

Proceso 1 Proceso 2 Leo nov

Artnov <>

artmae

si

Page 22: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

22

Opción mayor

En este caso significa que existe un artículo 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

Opción menor

En este caso significa que el artículo 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 atención los procedimientos descriptos veremos que el archivo a leer

por cada situacion es siempre aquel que quedó como menor en la condición a excepción

del igual que es normalmente el de novedades .

Si Artmae > artnov

Proceso 1 Leer nov

Si Artmae < artnov

Proceso 1 Leo mae

si

si

Page 23: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 cuál 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 artículo

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

Page 24: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

24

En seudo código 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 acción que

se defina.

Page 25: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

25

Pantallas

Las pantallas son los medios más comunes para la interacción entre el usuario y el

computador.

Será de suma importancia el orden y secuencia con que se diagraman estas pantallas

para hacer más simple y rápida la tarea de los usuarios.

Básicamente se tratan de procesos repetitivos hasta una condición dada , que me hace

realizar un determinado proceso o mostrar otra pantalla.

Dibujaremos a traves de grafos la relación 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 , sólo indicaremos la secuencia de pantallas.

En este caso anterior las pantallas son secuenciales y no existe iteración o divergencia

en el regreso a la pantalla 1

1

2 3

4

proceso Hasta opción

= 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

Page 26: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 instrución condicional.

En ambos casos siempre como opción de salida es el valor “esc” , pueden haber casos

que existan más de un valor posible de salida de un proceso , lo que provocará en el

nivel que corresponda una nueva instrucción condicional .

Los procesos que se ejecutarán 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

Page 27: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

27

Page 28: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 año lectivo , en un

archivo secuencial ordenado con el siguiente formato

Código de universidad

Código de facultad

Código de carrera

Legajo del alumno

Código de materias en la que se anoto

Esta ordenado en el orden que están 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 )

Código de universidad

Descripción

Facultad (son 40 )

Código de facultad

Descripción

Carrera ( son 100 )

Código de carrera

Descripción

Realizar el mismo listado pero especificando el nombre a quien pertenece los totales

Universidad UAI

Sistemas 600

Medicina 800

Comercialización 100

Centro 1500

Idem con el resto de los datos

Page 29: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

29

Total alumnos UAI 6000

3)Hacer el mismo ejercicio anterior pero considerar que el código de universidad y el de carrera

es alfanumérico

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 operación

Numero de cuenta

Importe

Esta ordenado por fecha y tipo de operación ( 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 versión usando matriz y una segunda versión 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 operación

monto

Page 30: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 inscripción 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)

dirección A(30)

situación IVA N(1) 1= insc , 2= exento , 3= consumidor final

Page 31: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

31

archivo artículos 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 según 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 artículos ya tienen el IVA incorporado

Page 32: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

32

APAREO DE ARCHIVOS SECUENCIALES

1)dados los siguientes archivos

stock ordenado por articulo

código de articulo N(3)

descripción A(20)

punto de pedido N(4)

stock N(4)

movimientos ordenado por articulo

código 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 artículos 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)

dirección A(30)

categoría 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 categorías

categoría A(2)

Page 33: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

33

nombre A(25)

monto N(4)

se desea saber

1. liquidación 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 categoría

3. si se le descuenta un 15% de su sueldo básico para cargas sociales, cuanto se

recauda en total

3) dados los siguientes archivos secuenciales

archivo proveedores existen 20

código de proveedor N(3)

denominación A(20)

archivo edificios ordenado por código de edificio

código de edificio N(2)

dirección A(25)

administrador A(4)

cantidad de departamentos N(3)

archivos gastos ordenado por código de edificio

código de edificio N(2)

proveedor N(3)

monto N(5)

archivo de administradores existen 10

código administrador A(4)

nombre N(30)

comisión de honorarios N(2)

se desea saber

Page 34: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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

código de materia A(2)

denominación A(25)

archivo alumno ordenado por legajo

legajo N(6)

nombre N(30)

carrera N(3)

archivo notas ordenado por legajo

legajo N(6)

código de materia A(2)

nota N(2)

archivo carreras existen 10

código de carrera N(3)

nombre N(35)

se desea saber

1. listado de exámenes rendidos por cada alumno y su nota promedio

2. cantidad de exámenes aplazados por cada alumno

3. nota promedio por materia

4. alumno de mejor nota promedio en los exámenes dados

5)dados los siguientes archivos

Page 35: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 clasificación

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 operación

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

Page 36: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

36

archivo socios ordenado por socio

código de socio N(5)

apellido y nombre N(30)

categoría A(3)

archivo pedidos ordenado por socio con repetidos

código de socio N(5)

código de libro N(2)

cantidad N(2)

archivo libros existen 100

código de libro N(2)

nombre A(30)

costo N(3)

precio N(3)

stock N(3)

archivo categoría existen 5

código de categoría 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

Page 37: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

37

APAREO DE ARCHIVOS INDEXADOS

1) dados los siguientes archivos

archivo materias indexado por código de materia

código de materia A(2)

denominación A(25)

archivo alumno indexado por legajo

legajo N(6)

nombre N(30)

carrera N(3)

archivo notas ordenado por legajo

legajo N(6)

código de materia A(2)

nota N(2)

archivo carreras indexada por carrera

código de carrera N(3)

nombre N(35)

se desea saber

5. listado de exámenes rendidos por cada alumno y su nota promedio

6. cantidad de exámenes aplazados por cada alumno

7. nota promedio por materia

8. alumno de mejor nota promedio en los exámenes dados

2) dados los siguientes archivos

archivo socios indexado por socio

código de socio N(5)

apellido y nombre N(30)

Page 38: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

38

categoría A(3)

archivo pedidos ordenado por socio con repetidos

código de socio N(5)

código de libro N(2)

cantidad N(2)

archivo libros indexado por código de libro

código de libro N(2)

nombre A(30)

costo N(3)

precio N(3)

stock N(3)

archivo categoría existen 5

código de categoría 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 código de proveedor

código de proveedor N(3)

denominación A(20)

Page 39: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación a Diagramas tipo JACKSON

Autor: Ing. Brizuela Rafael

39

archivo edificios indexado por código de edificio

código de edificio N(2)

dirección A(25)

administrador A(4)

cantidad de departamentos N(3)

archivos gastos ordenado por código de edificio

código de edificio N(2)

proveedor N(3)

monto N(5)

archivo de administradores indexado por código de administrador

código administrador A(4)

nombre N(30)

comisión 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)

situación N(1) 1 = local ; 2 = visitante

referee N(4)

archivo equipos indexado por equipos

Page 40: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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)

código jugador N(2)

archivo jugador indexado por código jugador

código jugador N(2)

nombre A(30)

nro camiseta N(2)

se desea saber

1.

equipo : nombre:

situación 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

Page 41: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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 año indexado por edificio-unidad - mes

edificio N(3)

unidad N(3)

mes N(2)

pago realizado N(4)

archivo expensas liquidadas durante el año 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 círculos-cuotas indexado por circulo – numero de cuota

Page 42: Diagrama Cion Tipo Jackson

PROGRAMACION Aproximación 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