Está en la página 1de 16

Lista de Listas

Breve Resumen del Lenguaje


Lisbeth C. Pacheco S.
Revisada y corregida por Manuel Fernndez

Breve resumen que contiene definicin y tratamiento de


una lista de listas

Junio de 2010
Lista de Listas
Perodo
1-2010

Contenido

Qu es una Lista de Listas? ................................................................................................................ 2


Casos de Lista Compuesta Lista de Listas ......................................................................................... 3
Se conoce el nmero de datos de cada lista y el nmero de listas que hay ............................... 4
Se conoce el nmero de datos de cada lista, pero NO cuantas listas hay .................................. 5
Se desconoce el nmero de Datos de cada lista, pero s cuantas listas hay ............................... 6
Se desconoce el nmero de Datos de cada lista y cuantas listas hay ......................................... 7
Una Forma de Realizar el Anlisis del Problema ................................................................................. 8
Qu pasa si no puedo alterar los datos del archivo? ........................................................................ 9
Usando dos ciclos ...................................................................................................................... 11
Si no se conoce el Nmero de Listas, ni el nmero de datos de cada lista ....................... 11
Si se conoce el Nmero de Listas pero NO el nmero de datos de cada lista................... 12
Usando Un solo ciclo ................................................................................................................. 13
Si no se conoce el Nmero de Listas, ni el nmero de datos de cada lista ....................... 13
Si se conoce el Nmero de Listas, pero NO el nmero de datos de cada lista.................. 14
Referencias ........................................................................................................................................ 15

1
Lista de Listas
Perodo
1-2010
Qu es una Lista de Listas?

Se entiende por una lista de datos a la organizacin o representacin de los datos segn uno o
ms criterios. Una lista simple es, entonces, aquella representacin que tiene un solo criterio de
organizacin.

Por ejemplo: la informacin de los estudiantes de una seccin, donde para cada estudiante se
tiene CI, Nombre, Tres Notas y el Promedio de las tres notas. Al representar esta informacin en
un archivo de datos generalmente, la informacin de un estudiante se coloca en un registro del
archivo, una lnea del archivo. Resultando todos los registros con la misma estructura.

1 0 8 5 6 5 9 8 , L i s s e t M a r t i n e z , 1 0 , 1 5 , 1 4 , 1 3 .0 0

14256897, Juan Robles , 14, 12, 10, 12


: : : : :
: : : : :

1 4 5 8 9 2 5 6 , M a r i a M o n t e s , 1 4 ,1 8 , 1 8 , 1 6 .6 7

Una lista compuesta [lista de listas], es un conjunto de datos organizados segn dos o ms
criterios, es decir, que se tiene una lista de listas simples. De tal manera que al representar la
informacin en un archivo una lista contina a la otra.

Por ejemplo: una lista de listas con dos criterios de organizacin, es la informacin de los
estudiantes de una asignatura organizados por seccin. Es decir, se tiene varias secciones cada una
con un conjunto de estudiantes. En este caso se mantiene la informacin que se maneja, es decir
que cada lista tiene una estructura de datos igual a la siguiente o a la anterior.

2
Lista de Listas
Perodo
1-2010

Ejemplo 1: Registros iguales Ejemplo 2: Registros Diferentes

0 1 , 1 0 8 5 6 5 9 8 , L i s s e t M a r t i n e z ,1 0 , 1 5 , 1 4 , 1 3 .0 0 01

01, 14256897, Juan Robles , 1 4 , 1 2 , 1 0 , 1 2 .0 0 1 0 8 5 6 5 9 8 , L i s s e t M a r t i n e z ,1 0 , 1 5 , 1 4 , 1 3 .0 0


: : : : : :
01, : : : : : :
1 4 5 8 9 2 5 6 , M a r i a M o n t e s ,1 4 ,1 8 ,1 8 , 1 6 .6 7
0 1 , 1 4 5 8 9 2 5 6 , M a r i a M o n t e s , 1 4 ,1 8 , 1 8 , 1 6 .6 7
02
0 2 , 1 4 8 7 8 1 8 9 , J u a n M a r t n e z ,1 4 ,1 2 ,1 0 ,1 2 .0 0 1 0 4 8 7 9 9 6 , L i s s e t M o r a l e s ,1 0 ,1 5 ,1 4 ,1 3 .0 0

02, : : : : : : : : : : : :
1 4 4 8 7 9 5 6 , M a r i a M o n t o y a ,1 4 ,1 8 ,1 8 ,1 6 .6 7
0 2 , 1 4 4 8 7 9 5 6 , M a r i a M o n t o y a ,1 4 ,1 8 ,1 8 ,1 6 .6 7
03
0 3 , 1 1 5 6 6 5 6 5 , M n i c a T o r r e s , 1 1 , 1 1 , 1 1 , 1 1 .0 0
1 1 5 6 6 5 6 5 , M n i c a T o r r e s ,1 1 , 1 1 , 1 1 , 1 1 .0 0
: : : : :

El representar la informacin de listas de listas en un archivo de datos provee al programador de


las siguientes ventajas: [1] oportunidad de emplear funciones de deteccin de fin de archivo para
detectar el fin de una lista; [2] facilitar el ingreso de los datos, pues al implementar un proceso
interactivo en lugar de un archivo, la informacin debe ser introducida cada vez que se intenta
ejecutar el programa y/o cada vez que el usuario se equivoque introduciendo algn dato.

Casos de Lista Compuesta Lista de Listas

En un problema que maneje una lista de listas con dos criterios de organizacin, bsicamente
podemos diferenciar cuatro tipos:

1) Se conoce el nmero de datos de cada lista y el nmero de listas que hay


2) Se conoce el nmero de datos de cada lista y pero NO cuantas listas hay
3) Se desconoce el nmero de datos de cada lista, pero s cuantas listas hay
4) Se desconoce el nmero de datos de cada lista y cuantas listas hay

A continuacin se presentar cada caso y su posible forma de solucin.

3
Lista de Listas
Perodo
1-2010
Se conoce el nmero de datos de cada lista y el nmero de listas que hay
Forma de los Datos Estructura General de Solucin
Archivo
M , otros datos
N , otros datos Lectura del nmero de Listas, M para el ejemplo y otros datos
Dato1 , dato2, datoL
Dato1 , dato2, datoL Inicializacin de todas las herramientas para
: : : : : : : : Clculos para todas las M listas
Dato1 , dato2, datoL
N y otros datos Ciclo para procesar todas las listas
Dato1 , dato2, datoL For I = 1 To M
Dato1 , dato2, datoL
: : : : : : : : Lectura del nmero de datos de cada Lista, N para el
Dato1 , dato2, datoL ejemplo y de otros datos
N y otros datos
Dato1 , dato2, datoL Inicializacin de todas las herramientas
Dato1 , dato2, datoL para Clculos de cada lista
: : : : : : : :
Dato1 , dato2, datoL Ciclo para procesar los datos de cada lista
::::::: For J = 1 To N

Ejemplo: Lectura de los datos de la lista


Se tiene para una asignatura los datos de
las M secciones, almacenando nmero de
Instrucciones para calculos de cada
seccin, numero de estudiantes de la
seccin y para cada estudiante cdula,
lista calculo de contadores,
nombre y tres notas. acumuladores, mayor y otros

2 Next J
01, 3 Clculos de promedios,% de cada
1085659 ,Ana Morales, 16, 08, 05 lista e impresin de resultados de
7856594, Carlos Romero, 15, 06, 02
14256225, Mara Morales,12, 12 ,10 cada lista
02, 2
14856594, Ana Prez ,12, 16 ,06
19856594, Jos Acosta ,05, 14 ,07
Next I
Clculos de promedios,% de todas las
listas e impresin de resultados de todas
las lista

4
Lista de Listas
Perodo
1-2010
Se conoce el nmero de datos de cada lista, pero NO cuantas listas hay
Forma de los Datos Estructura General de Solucin
Archivo
N , otros datos
Dato1 , dato2, datoL
Dato1 , dato2, datoL Inicializacin de todas las herramientas para
: : : : : : : : Clculos para todas las listas
Dato1 , dato2, datoL
Ciclo para procesar todas las listas siempre que haya datos en
N y otros datos el archivo donde filenumber ser el nmero con que se
Dato1 , dato2, datoL trabaje el archivo
Dato1 , dato2, datoL While Not EOF( filenumber )
: : : : : : : :
Dato1 , dato2, datoL Lectura del nmero de datos de cada Lista, N para el
N y otros datos ejemplo y de otros datos
Dato1 , dato2, datoL
Dato1 , dato2, datoL Inicializacin de todas las herramientas
: : : : : : : : para Clculos de cada lista
Dato1 , dato2, datoL
: :, : :, : :, , : : Ciclo para procesar los datos de cada lista
For J = 1 To N
Ejemplo:
Lectura de los datos de la lista
Se tiene para una asignatura los datos de
las secciones, almacenando nmero de
seccin, numero de estudiantes de la
seccin (N) y para cada estudiante cdula, Instrucciones para calculos de cada
nombre y tres notas. lista calculo de contadores,
acumuladores, mayor y otros
01, 3
1085659 ,Ana Morales, 16, 08, 05 Next J
7856594, Carlos Romero, 15, 06, 02 Clculos de promedios,% de cada
14256225, Mara Morales,12, 12 ,10
02, 2 lista e impresin de resultados de
14856594, Ana Prez ,12, 16 ,06 cada lista
19856594, Jos Acosta ,05, 14 ,07

End While
Clculos de promedios,% de todas las
listas e impresin de resultados de todas
las lista

5
Lista de Listas
Perodo
1-2010
Se desconoce el nmero de Datos de cada lista, pero s cuantas listas hay
Forma de los Datos Estructura General de Solucin
Archivo
M, otros datos
Dato1 , dato2, datoL, cent Lectura del nmero de Listas, M para el ejemplo y
Dato1 , dato2, datoL, 0 otros datos
: : : : : : : :
Dato1 , dato2, datoL, 1 Inicializacin de todas las herramientas para
Clculos para todas las M listas
Dato1 , dato2, datoL, 0
Dato1 , dato2, datoL, 0 Ciclo para procesar las M listas
: : : : : : : : For I = 1 To M
Dato1 , dato2, datoL, 0 Inicializa del centinela para que inicie el ciclo
Dato1 , dato2, datoL, 0 Cent = 0
Dato1 , dato2, datoL, 0 Inicializacin de todas las herramientas para
: : : : : : : : Clculos de cada lista
::::::: ,1
NOTA: cent, corresponde al centinela, para determinar
Ciclo para procesar los datos de cada lista
cundo termina cada lista, 0 significa hay ms datos de la While Cent = 0
lista, 1 ltimo dato de la lista. Sin embargo podra puede ser otra estructura cclica condicional
trabajarse la lista sin l, identificando el cambio, esto se
explica en la prxima seccin.
Lectura de los datos de la
Ejemplo: (REGISTROS IGUALES)
lista
Se tiene para una asignatura los datos de las M
secciones, almacenando para cada estudiante el
nmero de seccin, cedula, nombre y tres notas Instrucciones para calculos de
cada lista calculo de
2
01, 10856594, Ana Morales,16,08,05,0 contadores, acumuladores,
01, 7856594, Carlos Romero,15,06,02,0 mayor y otros
01, 14256225,Mara Morales,12,12,10,1
02, 14856594,Ana Prez,12,16,06, 0
02, 19856594,Jos Acosta, 05, 14, 07, 1 End While

Para esta forma de Organizacin SE PUEDE RESOLVER Clculos de promedios,% de cada


IDENTIFICANDO EL CAMBIO DE SECCIN PARA SABER
lista e impresin de resultados
CUANDO SE TERMINA UNA LISTA Y COMIENZA OTRA. Ver
pgina 14
de cada lista

Ejemplo: (REGISTROS DIFERENTES)


Next I
Se tiene para una asignatura los datos de las M
secciones, almacenando el nmero de la seccin y
Clculos de promedios,% de todas las
para cada estudiante cdula, nombre y tres notas listas e impresin de resultados de
todas las lista
2
01
10856594,Ana Morales, 16, 08, 05, 0
7856594,Carlos Romero, 15, 06, 02,0
1425622, Mara Morales,12,12,10,1
02
14856594,Ana Prez, 12, 16, 06, 0
19856594, Jos Acosta , 05, 14,07, 1

Para esta forma de Organizacin SLO PUEDE


RESOLVERSE USANDO CENTINELA

6
Lista de Listas
Perodo
1-2010
Se desconoce el nmero de Datos de cada lista y cuantas listas hay
Forma de los Datos Estructura General de Solucin
Archivo
Dato1 , dato2, datoL, cent
Dato1 , dato2, datoL, 0
: : : : : : : : Inicializacin de todas las herramientas para
Dato1 , dato2, datoL, 1 Clculos para todas las listas
Dato1 , dato2, datoL, cent
Dato1 , dato2, datoL, 0 Ciclo para procesar todas las listas siempre que haya
: : : : : : : : datos en el archivo donde filenumber ser el nmero
Dato1 , dato2, datoL, 1 con que se trabaje el archivo
While Not EOF( FileNumber)
Dato1 , dato2, datoL, 0 puede ser otra estructura cclica condicional
Dato1 , dato2, datoL, 0
: : : : : : : :
Dato1 , dato2, datoL, 0 Inicializa del centinela para que inicie el ciclo
Cent = 0
Dato1 , dato2, datoL, 0
Inicializacin de todas las herramientas para
Dato1 , dato2, datoL, 0
Clculos de cada lista
: : : : : : : :
::::::: ,1
Ciclo para procesar los datos de cada lista
NOTA: cent, corresponde al centinela, para determinar While Cent = 0
cundo termina cada lista, 0 significa hay ms datos de la
puede ser otra estructura cclica condicional
lista, 1 ltimo dato de la lista. Sin embargo podra
trabajarse la lista sin l, identificando el cambio, esto se
explica en la prxima seccin.
Lectura de los datos de la
Ejemplo: (REGISTROS IGUALES) lista
Se tiene para una asignatura los datos de las
secciones, almacenando para cada estudiante el
nmero de seccin, cedula, nombre y tres notas Instrucciones para calculos de
cada lista calculo de
01, 10856594, Ana Morales,16,08,05,0
01, 7856594, Carlos Romero,15,06,02,0
contadores, acumuladores,
01, 14256225,Mara Morales,12,12,10,1 mayor y otros
02, 14856594,Ana Prez,12,16,06, 0
02, 19856594,Jos Acosta, 05, 14, 07, 1 End While
Para esta forma de Organizacin SE PUEDE RESOLVER
IDENTIFICANDO EL CAMBIO DE SECCIN PARA SABER Clculos de promedios,% de cada
CUANDO SE TERMINA UNA LISTA Y COMIENZA OTRA. Ver lista e impresin de resultados
pgina 13 de cada lista
Ejemplo: (REGISTROS DIFERENTES)
Se tiene para una asignatura los datos de las End While
secciones, almacenando nmero de seccin y para Clculos de promedios,% de todas las
cada estudiante cdula, nombre y tres notas listas e impresin de resultados de
todas las lista
2
01
10856594,Ana Morales, 16, 08, 05, 0
7856594,Carlos Romero, 15, 06, 02,0
1425622, Mara Morales,12,12,10,1
02
14856594,Ana Prez, 12, 16, 06, 0
19856594, Jos Acosta , 05, 14,07, 1

Para esta forma de Organizacin SLO PUEDE


RESOLVERSE USANDO CENTINELA

7
Lista de Listas
Perodo
1-2010
Una Forma de Realizar el Anlisis del Problema

Para analizar el problema es importante determinar el tipo de lista de lista, as como la


informacin asociada a cada lista, a fin de hacer ms fcil el proceso se emplea la siguiente tabla:

LA INFORMACIN
NMERO DE DATOS ES: DESCRIPCIN DE LA ITERACION
ASOCIADA A LA LISTA ES:

LISTA Determinado Indeterminado Criterio de Agrupamiento Tipo de Ciclo/Condicin

Externa

Interna

En la informacin agrupada a la lista se coloca que es lo que se agrupa o cual es el criterio


de agrupamiento de esos datos.

EJEMPLOS DE ANLISIS:

1. Se tiene para una asignatura los datos de las secciones, almacenando nmero de
seccin y para cada estudiante cdula, nombre y tres notas, en un archivo de datos
secciones.dat. Desarrolle un programa que lea la informacin del archivo y
determine Promedio por seccin y Seccin con mejor promedio.
Ejemplo de organizacin del Archivo

01
10856594, Ana Morales, 16, 08, 05, 0
7856594, Carlos Romero, 15, 06, 02, 0
78336594, Carlos Morero, 05, 06, 02, 0
14256225, Mara Morales, 12, 12, 10, 1
02
14856594, Ana Prez,12, 16, 06, 0
24856594, Ana Parada,12, 06, 06, 0
19856594, Jos Acosta,05,14,07,1

Anlisis del Problema: El archivo se representar en el programa por la variable arche

8
Lista de Listas
Perodo
1-2010
LA INFORMACIN
NMERO DE DATOS ES: DESCRIPCIN DE LA ITERACION
ASOCIADA A LA LISTA ES:

LISTA Determinado Indeterminado Criterio de Agrupamiento Tipo de Ciclo/Condicin

Ciclo condicional Mientras controlado


Secciones de una usando la funcin EOF
Externa
 asignatura
WHILE NOT EOF(FileNumber)

Ciclo condicional Repita controlado por


Centinela
Estudiantes de una
Interna Do
 seccin
Loop Until CENT=1

2. Se tiene para una asignatura los datos de las K secciones, almacenando para cada
seccin el nmero de seccin y para cada estudiante cdula, nombre y tres notas, en
un archivo de datos secciones2.dat. Desarrolle un programa que lea la informacin
del archivo y determine Promedio por seccin y Seccin con mejor promedio.
Anlisis del Problema:

LA INFORMACIN
NMERO DE DATOS ES: DESCRIPCIN DE LA ITERACION
ASOCIADA A LA LISTA ES:

LISTA Determinado Indeterminado Criterio de Agrupamiento Tipo de Ciclo/Condicin

Ciclo For que debe ejecutarse K veces


Secciones de una
Externa FOR J= 1 TO K
 asignatura
Next J

Ciclo condicional Repita controlado por


Centinela
Estudiantes de una
Interna
 seccin Do

Loop Until CENT=1

Qu pasa si no puedo alterar los datos del archivo?

9
Lista de Listas
Perodo
1-2010
Cuando se tiene un archivo que contiene una lista de listas de registros iguales, en los cuales no se
permite alterar los datos del archivo para agregarle un centinela en la lista interna se procede de
la siguiente manera. En ese caso slo se puede saber cuando termina una lista si el dato por el que
est agrupado es diferente del siguiente.

01, 10856594, Ana Morales,16,08,05


01, 7856594, Carlos Romero,15,06,02
01, 14256225,Mara Morales,12,12,10
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Acosta, 05, 14, 07
03, 19445559,Juan Acosta, 15, 14, 17

Observe que el criterio de agrupacin es la seccin, que cambia cuando se tiene a Ana Perez que
es de una seccin diferente a la que se viene trabajando.

3
01, 10856594, Ana Morales,16,08,05
01, 7856594, Carlos Romero,15,06,02
01, 14256225,Mara Morales,12,12,10
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Acosta, 05, 14, 07
03, 19445559,Juan Acosta, 15, 14, 17

Observe que el criterio de agrupacin es la seccin, que cambia cuando se tiene a Ana Perez que
es de una seccin diferente a la que se viene trabajando y que en este caso aparece en el archivo
el nmero de listas o secciones a procesar.

La lectura debe hacerse por cada lista hasta que los datos consecutivos difieran entre si o se
terminen los datos del archivo .

A continuacin se presentan dos formas de enfrentar este tipo de ejercicios bien sea empleando
dos estructuras cclicas o una sola estructura cclica, se utilizarn banderas para detectar eventos y
se leer el primer registro fuera de los ciclos, puede hacerse dentro de los ciclos empleando otra
bandera para determinar si es el primero de todos, denominaremos REGISTRO a una lnea de
informacin contenida en el archivo de datos a procesar.

10
Lista de Listas
Perodo
1-2010

Usando dos ciclos


Si no se conoce el Nmero de Listas, ni el nmero de datos de cada lista
Forma de los Datos Estructura General de Solucin
Archivo
Dato1 , dato2, datoL
Dato1 , dato2, datoL 'Inicializacin de todas las herramientas
para calculo de todas las listas
: : : : : : : :
Dato1 , dato2, datoL 'SE LEE EL PRIMER REGISTRO DEL ARCHIVO
Dato1 , dato2, datoL Ref=Dato1
Dato1 , dato2, datoL Bandera para determinar si se proceso todo
: : : : : : : : el archivo se asigna en False porque se
definir como booelana
Dato1 , dato2, datoL
TODO = False Procesado todo = No
Dato1 , dato2, datoL While Not TODO 'MIENTRAS NO SE HAYA PROCESADO TODO
Dato1 , dato2, datoL
: : : : : : : : Inicializacin de todas las herramientas
Dato1 , dato2, datoL para los Clculos para cada lista
Dato1 , dato2, datoL
Dato1 , dato2, datoL 'Ciclo para procesar los datos de cada lista
: : : : : : : : Do
Dato1 , dato2, datoL Instrucciones para calculos de cada
lista calculo de contadores,
SUPOGAMOS EST AGRUPADO POR acumuladores, mayor y otros
DATO1
Ejemplo: If Not EOF(FileNumber) Then
'SI NO SE HA PROCESADO TODO
Se tiene para una asignatura los datos de LEA DEL ARCHIVO EL SIGUIENTE REGISTRO
las secciones, almacenando nmero de Else
seccin y para cada estudiante cdula, TODO = True
nombre y tres notas 'Se indica que ya se proces todo
End If
01, 10856594, Ana Mora,16,08,05
01, 7856594, Carlos Roa,15,06,02 'Hasta que se cambie de lista o se procese todo
01, 14256225,Mara Mor,12,12,10
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Rua,05, 14, 07
Loop Until (Dato1 <> Ref) Or TODO

'Clculos de promedios,% de cada lista e


impresin de resultados de cada lista

Ref = sec
End While
'Clculos de promedios,% de todas las listas
e impresin de resultados de todas las lista

11
Lista de Listas
Perodo
1-2010
Si se conoce el Nmero de Listas pero NO el nmero de datos de cada lista
Forma de los Datos Estructura General de Solucin
M
Dato1 , dato2, datoL
Dato1 , dato2, datoL 'Inicializacin de todas las herramientas
para calculo de todas las listas
: : : : : : : : 'SE LEE EL NMERO DE LISTAS M
Dato1 , dato2, datoL 'SE LEE EL PRIMER REGISTRO DEL ARCHIVO
Dato1 , dato2, datoL Ref=Dato1
Dato1 , dato2, datoL Bandera para determinar si se proceso todo
: : : : : : : : el archivo se asigna en False porque se
definir como booelana
Dato1 , dato2, datoL
TODO = False Procesado todo = No
Dato1 , dato2, datoL For I=1 to M 'Para cada una de las M listas
Dato1 , dato2, datoL
: : : : : : : : Inicializacin de todas las herramientas
Dato1 , dato2, datoL para los Clculos para cada lista
Dato1 , dato2, datoL
Dato1 , dato2, datoL 'Ciclo para procesar los datos de cada lista
: : : : : : : : Do
Dato1 , dato2, datoL Instrucciones para calculos de cada
lista calculo de contadores,
SUPOGAMOS EST AGRUPADO POR acumuladores, mayor y otros
DATO1
Ejemplo: If Not EOF(FileNumber) Then
'SI NO SE HA PROCESADO TODO
Se tiene para una asignatura los datos de LEA DEL ARCHIVO EL SIGUIENTE REGISTRO
las secciones, almacenando nmero de Else
seccin y para cada estudiante cdula, TODO = True
nombre y tres notas 'Se indica que ya se proces todo
End If
01, 10856594, Ana Mora,16,08,05
01, 7856594, Carlos Roa,15,06,02 'Hasta que se cambie de lista o se procese todo
01, 14256225,Mara Mor,12,12,10
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Rua,05, 14, 07
Loop Until (Dato1 <> Ref) Or TODO

'Clculos de promedios,% de cada lista e


impresin de resultados de cada lista

Ref = sec
Next I
'Clculos de promedios,% de todas las listas
e impresin de resultados de todas las lista

12
Lista de Listas
Perodo
1-2010
Usando Un solo ciclo
Si no se conoce el Nmero de Listas, ni el nmero de datos de cada lista
Forma de los Datos Estructura General de Solucin
Archivo
Dato1 , dato2, datoL 'Inicializacin de todas las herramientas
Dato1 , dato2, datoL para calculo de todas las listas
'SE LEE EL NMERO DE LISTAS M
: : : : : : : : 'SE LEE EL PRIMER REGISTRO DEL ARCHIVO
Dato1 , dato2, datoL Bandera para determinar si se proceso todo
Dato1 , dato2, datoL el archivo se asigna en False porque se
Dato1 , dato2, datoL definir como booelana
: : : : : : : : TODO = False Procesado todo = No
Dato1 , dato2, datoL
WHILE NOT TODO 'MIENTRAS NO SE HAYA PROCESADO TODO
Dato1 , dato2, datoL Inicializacin de todas las herramientas
Dato1 , dato2, datoL para los Clculos para cada lista
: : : : : : : :
Dato1 , dato2, datoL primero = True
Dato1 , dato2, datoL 'Bandera PARA GUARDAR EL VALOR DE REFERENCIA
QUE PERMITIR VERIFICAR SI ESTOY EN LA MISMA
Dato1 , dato2, datoL
LISTA
: : : : : : : :
Dato1 , dato2, datoL 'Ciclo para procesar los datos de cada lista
Instrucciones para calculos de cada
SUPOGAMOS EST AGRUPADO POR lista calculo de contadores,
DATO1 acumuladores, mayor y otros
Ejemplo:
If Primero then
Se tiene para una asignatura los datos de Ref=dato1
las secciones, almacenando nmero de Primero = false
seccin y para cada estudiante cdula, Else
nombre y tres notas If Not EOF(FileNumber) Then
'SI NO SE HA PROCESADO TODO
01, 10856594, Ana Mora,16,08,05 LEA DEL ARCHIVO EL SIGUIENTE REGISTRO
01, 7856594, Carlos Roa,15,06,02 Else
01, 14256225,Mara Mor,12,12,10
TODO = True
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Rua,05, 14, 07 'Se indica que ya se proces todo
End If
End If

If (Dato1 = Ref) And Not (TODO) Then


'si estamos en la misma lista y no
se ha procesado todo efecto los
calculos para cada dato de la lista
Else
'si se cambio de seccin o se
proceso todo lo del archivo efeco
e imprimo calculos de cada lista
Primero = true
End If
End While
'Clculos de promedios,% de todas las listas
e impresin de resultados de todas las lista

13
Lista de Listas
Perodo
1-2010
Si se conoce el Nmero de Listas, pero NO el nmero de datos de cada lista
Forma de los Datos Estructura General de Solucin
M
Dato1 , dato2, datoL 'Inicializacin de todas las herramientas
Dato1 , dato2, datoL para calculo de todas las listas
'SE LEE EL NMERO DE LISTAS M
: : : : : : : : 'SE LEE EL PRIMER REGISTRO DEL ARCHIVO
Dato1 , dato2, datoL Bandera para determinar si se proceso todo
Dato1 , dato2, datoL el archivo se asigna en False porque se
Dato1 , dato2, datoL definir como booelana
: : : : : : : : TODO = False Procesado todo = No
CLISTAS = 0 Contador de listas procesadas
Dato1 , dato2, datoL
DO 'SE PROCESA EL ARCHIVO HASTA PROCESAR LAS M LISTAS
Dato1 , dato2, datoL Inicializacin de todas las herramientas
Dato1 , dato2, datoL para los Clculos para cada lista
: : : : : : : :
Dato1 , dato2, datoL primero = True
Dato1 , dato2, datoL 'Bandera PARA GUARDAR EL VALOR DE REFERENCIA
QUE PERMITIR VERIFICAR SI ESTOY EN LA MISMA
Dato1 , dato2, datoL
LISTA
: : : : : : : :
Dato1 , dato2, datoL 'Ciclo para procesar los datos de cada lista
Instrucciones para calculos de cada
SUPOGAMOS EST AGRUPADO POR lista calculo de contadores,
DATO1 acumuladores, mayor y otros
Ejemplo:
If Primero then
Se tiene para una asignatura los datos de Ref=dato1
las secciones, almacenando nmero de Primero = false
seccin y para cada estudiante cdula, Else
nombre y tres notas If Not EOF(FileNumber) Then
'SI NO SE HA PROCESADO TODO
01, 10856594, Ana Mora,16,08,05 LEA DEL ARCHIVO EL SIGUIENTE REGISTRO
01, 7856594, Carlos Roa,15,06,02 Else
01, 14256225,Mara Mor,12,12,10 TODO = True
02, 14856594,Ana Prez,12,16,06
02, 19856594,Jos Rua,05, 14, 07 'Se indica que ya se proces todo
End If
End If

If (Dato1 = Ref) And Not (TODO) Then


'si estamos en la misma lista y no
se ha procesado todo efecto los
calculos para cada dato de la lista
Else
'si se cambio de seccin o se
proceso todo lo del archivo efeco
e imprimo calculos de cada lista
Primero = true
Clistas = clitas + 1
End If
Loop Until Clistas = M
'Clculos de promedios,% de todas las listas
e impresin de resultados de todas las lista

14
Lista de Listas
Perodo
1-2010
Referencias

Pacheco, Lisbeth (2007,2010). Departamento de Computacin. Facultad de Ingeniera.


Universidad de Carabobo.

Rodrguez, Mara C (2005). Departamento de Computacin. Facultad de Ingeniera.


Universidad de Carabobo.

Ctedra Computacin I. Departamento de Computacin. Facultad de Ingeniera.


Universidad de Carabobo.

15

También podría gustarte