Diagramacion Tipo Jackson

download Diagramacion Tipo Jackson

of 42

Transcript of 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