maestro en sistemas de informacion s

281
SISTEMA DE INFORMACION PARA EVALUAR EL DESEMPEÑO DE UN A RED TELEFONICA CELULAR T E s 1 s QUE PARA OBTENER l:L GRADO DE: MAESTRO EN SISTEMAS DE INFORMACION p R E s E N T A : DANIEL SANCHEZ HERNANDEZ srnNDO JNTEGRADO EL JURAOO POR ING. BUMBERTO CARDENAS: SINODAL LIC. RAFAEL DOMINGUEZ: SINODAL LIC. VERONICA MENDOZA A : SINODAL DR. HECTOR SALDARA ALDANA: SINODAL M. EN C. RALF EDER LANGE: SINODAL Y ASESOR BIBLl(JTECA EDO. DE M EXICO 1992

Upload: others

Post on 11-Jul-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MAESTRO EN SISTEMAS DE INFORMACION s

SISTEMA DE INFORMACION PARA EVALUAR EL

DESEMPEÑO DE UN A RED TELEFONICA CELULAR

T E s 1 s QUE PARA OBTENER l:L GRADO DE:

MAESTRO EN SISTEMAS DE INFORMACION

p R E s E N T A :

DANIEL SANCHEZ HERNANDEZ

srnNDO JNTEGRADO EL JURAOO POR

ING. BUMBERTO CARDENAS: SINODAL LIC. RAFAEL DOMINGUEZ: SINODAL LIC. VERONICA MENDOZA A : SINODAL DR. HECTOR SALDARA ALDANA: SINODAL M. EN C. RALF EDER LANGE: SINODAL Y ASESOR

BIBLl(JTECA

EDO. DE M EXICO 1992

Page 2: MAESTRO EN SISTEMAS DE INFORMACION s

RESUMEN

CAPITULO 1.- INfRODUCCION

1.1 ANTECEDENTES

INDICE

1.2 JUSTIFICACION DEL ESTUDIO

1.3 MARCO TEORICO

CAPITULO 2.- OBJETIVOS

CAPITULO 3.- METODO

pág.

ili

1

7

9

14

15

3.1 EL CICLO DE VIDA DEL DESARROLLO DE SISTEMAS 15

3.2 FASE DE ANALISIS 16

3.3 FASE DE DISEÑO

3.4 FASE DE DESARROLLO DEL SOFIWARE

CAPITULO 4.- ANALISIS DEL SISTEMA

4.1 PANORAMA DEL SISTEMA

4.2 MODELO AMBIENTAL

4.3 MODELO DE INFORMACION

4.4 MODELO DE PROCESO

4.S DICCIONARIO DE DATOS

20

22

24

24

26

29

35

46

Page 3: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITIJLO 5.- DISEÑO DEL SISTEMA 49

5.1 DIAGRAMAS DE ESTRUCTURA 49

5.2 DIAGRAMAS DE CADA MODULO 55

5.3 BASE DE. DATOS 61

CAPITIJLO 6.- DF.SARROLLO DEL SOFfW ARE 64

6.1 FORMATO DE PANTALLAS 64

6.2 FORMATO DE REPORTF.S 69

6.3 DISEÑO DE MODULOS 76

6.4 DISEÑO DE PROGRAMAS 81

CAPITIJLO 7.- RF.SULTADOS OBTENIDOS 82

7.1 APLICACIONF.S DEL SISTEMA SADEC 82

7.2 •TRENO• SOFIWARE DE APOYO A LA TOMA DE

DECISIONF.S 107

CAPITIJLO 8.- CONCLUSIONF.S 127

BIBLIOGRAFIA 129

ii

Page 4: MAESTRO EN SISTEMAS DE INFORMACION s

RF.SUMEN

Esta tesis presenta el trabajo realiz:ado sobre el desarrollo de un proyecto tecnológico,

consistente en la elaboración de un sistema de información, mediante la aplicación

práctica de las técnicas estructuradas, que constituye una aportación al campo de la

telefonía celular y, en particular a la evaluación del desempeño de las redes que le

soportan.

El presente documento es la aplicación directa y profundiz.ación de los conocimientos

adquiridos en los estudios de maestría. Está dirigido particularmente al diseño de

sistemas para aplicaciones comerciales, dando las guías necesarias para organi7.ar,

manejar y controlar un proyecto de desarrollo de sistemas usando el análisis, el diseño

y la programación estructurados.

El sistema desarrollado provee la información necesaria del desempeño de la red celular

para integrar!a dentro de la planeación e ingeniería del crecimiento o adecuación de la

infraestructura telefónica celular, encaminada a ofrecer un servicio de alta calidad y con

la capacidad adecuada.

Al final de esta tesis se habrán visualizado las actividades importantes y productos

asociados con el proyecto de desarrollo de sistemas, y se podrán aplicar los conceptos

en nuevos proyectos.

Espero que esta tesis sea útil para ejecutivos de alto nivel, coordinadores de

entrenamiento y profesores universitarios, sin embargo está fundamentalmente dirigida

a los líderes de proyecto responsables de la administración del desarrollo informático.

iii

Page 5: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITUW 1.- INTRODUCCION

1.1 ANTECEDENTES

La amplia disponibilidad de computadoras en nuestros días ha acelerado una explosión

de información para la sociedad en general y para las empresas en particular, y en un

gran porcentaje estas computadoras han sido utiliz.adas para implantar sistemas de

información con la finalidad de procesar datos para satisfacer las necesidades de

información y soportar la toma de decisiones de dichas organiz.aciones.

El ciclo de desarrollo de proyectos de telefonía celular se muestra en la figura 1. 1

[ERICSSON 1991]. Para la ingeniería celular los principales aspectos que se consideran

son:

- Las áreas geográficas a cubrir con el servicio.

- La demanda estimada que tendrá el servicio.

- Datos topográficos del terreno.

- Información demográfica, y

- Análisis estadístico del desempeño de los equipos instalados.

En relación a este último aspecto contamos con gran cantidad de información generada

por la central celular que es uno de los elementos que constituyen la red celular como

se puede apreciar en la figura 1.2.

1

Page 6: MAESTRO EN SISTEMAS DE INFORMACION s

1\.1

INFORMACION

DE TRAFICO

_________.,

\ OPERACION

!' . !

IMPLANTACION

~

TRAFICO I I CALIDAD

I COBERTURA i REQUERIMIENTOS

¡ MAPAS ~ I ~E COBERTURA -- ----.

EQUIPO

1 INFORMACION

DE CELULAS

~ ,_~-RA-DIOBASES I

PLAN DE CELULAS '

PLANDE--w

FRECUENC~~

'· ~ ' ' \: : ·-.~-: :,,//' ~. ~, ,

:''. !;:_::::,\ /

PLAN DE CELULAS

NOMINAL

MEDICIONES

DECAMPO

/ SISTEMA DE INGENIERIA

FIG. 1.1 CICLO DE DESARROLLO DE PROYECTOS DE TELEFONIA CELULAR

Page 7: MAESTRO EN SISTEMAS DE INFORMACION s

w ~ ABONADO FIJO EN

DE LA RED NAC:

-[R[E[)

fPU~UCA

-

-

(C[E[N]lfMl

~ CElUlA~

Mtrn

-

----. ~ -. '

((i:~)) -- -

~~ SUSCRIPTOR CELULAR

RADIO BASE

FIG 1.2 ELEMENTOS DE UNA RED DE TELEFONIA CELULAR

Page 8: MAESTRO EN SISTEMAS DE INFORMACION s

MEDICIONES DE TRAFICO EN LA CENTRAL CELULAR

La central celular es el centro de control de todas las radiobases, contiene un

procesador central, realiza la conexión con la red pública (Telmex) y controla el

procesamiento de llamadas [LEE 1989]. Mediante comandos en la central celular se

activan programas de medición de tráfico en las rutas, indicándole los dispositivos a

monitorear y los intervalos de tiempo. La información es generada cada hora y contiene

los siguientes datos: nombre de la ruta (R), intensidad de tráfico en Erlangs (TRAFF),

número de intentos de llamada (NBIDS), congestión de llamadas en porcentaje

(CCONG), número de dispositivos conectados (NDV), promedio de dispositivos

bloqueados (ANBLO) y tiempo promedio de ocupación en segundos (MHTIME). En la

figura 1.3 se muestra un ejemplo de esta información.

\IO 12/MTX-MEX1-01-03-00 TW-3 TIME 910513 0115 PAGE

TRAFFIC MEASUREMENT ON ROUTES RESULTS, LSR

TRG MP NRP RPL RPN GRN DATE TIME SI NH FCOOE

7 31 19 60 20 910513 0000 60 NO

R TRAFF NBIDS CCONG NDV ANBLO MHTIME

DFSBACO o.o 1 o.o 15 2.0 o.o DFSBACI 0.2 14 o.o 15 2.0 51.4

DFSBBCO o.o 3 o.o 15 0.1 o.o DFSBBCJ 0.2 15 o.o 15 D.1 48.0

DFSBCCO o.o o o.o 15 0.2 o.o DFSBCCI o.o 2 o.o 15 0.2 o.o DFBAACO o.o 4 o.o 15 0.4 o.o DFBAACI 0.2 16 o.o 15 0.4 45.0

DFBABCO 0.1 8 o.o 15 o.o 45.0

DFBABCI 0.3 14 o.o 15 o.o 77. 1

DFBACCO o.o o o.o 19 o.o o.o DFBACCI 0.2 9 o.o 19 o.o so.o DFTPACO o.o 3 o.o 15 o.o o.o OFTPACI 0.2 26 o.o 15 o.o 27.7

DFTPBCO o.o o o.o 15 o. 1 o.o DFTPBCI 0.3 17 o.o 15 0.1 63.5

DFPDACO 0.1 6 o.o 30 0.2 60.0

OFPDACI 0.3 21 e.o 30 0.2 51.4

DFPDBCO 0.2 12 o.o 15 o.o 60.0

DFPDBCI 0.3 19 o.o 15 o.o 56.8

DFPDCCO 0.2 10 o.o 30 1.7 n.o DFPDCCI 0.6 43 o.o 30 1.7 50.2

END

FIG. 1.3. INFORMACION GENERADA POR LA CENTRAL CELULAR.

4

Page 9: MAESTRO EN SISTEMAS DE INFORMACION s

Se utilizó información sobre la operación y evaluación de sistemas celulares contenida

en descripciones técnicas de los productos Ericsson [ERICSSON 1988] y además libros

de diversos autores [LEE 1989], [GUNN 1986] y [SARKOWSKI 1966] los cuales

explican de manera científica y funcional la definición y la correcta interpretación de

los parámetros disponibles en un sistema celular para evaluar su desempeño.

Posteriormente se llevó a cabo un análisis exhaustivo de la información que aparece en

los archivos generados por la central celular. Esto permite conocer los parámetros que

debemos tomar en consideración para el análisis. Asimismo, se estudió el formato de

dichos archivos con el fin de suprimir todos aquellos campos e información adicional

que no se requiere para el análisis. También se detectaron los posibles errores en la

información fuente y la forma de corregirlos.

En juntas departamentales concluímos que debido a que los datos tomados cada hora

presentan variaciones muy grandes, es necesario realizar algunas consideraciones para

obtener resultados que nos ayuden a:

- El dimensionamiento de los dispositivos.

- El análisis de los parámetros de comportamiento de la red.

Basándonos en la teoría de tráfico telefónico [GUNN 1986] y [SARKOWSKI 1966]

tenemos lo siguiente:

- Requerimos discriminar la información poco relevante dentro del universo de datos.

- Requerimos reportes que permitan a los ingenieros realizar el análisis y toma de

decisiones respecto a la operación, mantenimiento y desarrollo de nuevos proyectos.

- El valor relevante para el dimensionamiento de una ruta es el valor promedio de los

tráficos registrados de lunes a viernes en una semana laboral durante la hora con mayor

tráfico en todo el sistema.

- Una vez obtenido el valor de tráfico se consulta en las tablas de Erlang [ERICSSON

1979) el número de dispositivos necesarios para satisfacer la demanda con una calidad

de servicio dentro de las normas de telefonía celular [LEE 1989).

5

Page 10: MAESTRO EN SISTEMAS DE INFORMACION s

- El análisis de parámetros se realiz.a obteniendo los casos que no cumplan con los

rangos establecidos de calidad, por ejemplo el porcentaje de cortes de llamada debe ser

menor al 2%.

Dentro de la compañía se han aplicado estos principios de. la teoría de tráfico y se han

reali7.ado adecuaciones para corregir errores en la recolección y procesamiento de la

información. Podemos definir el proceso actual mediante las siguientes actividades:

- Recolección de información (primer semana del mes).

- Obtención de los promedios de la semana (un día por cada 20 rutas).

- Elaboración del reporte (dos días por cada 20 rntas).

- Análisis de los resultados y toma de decisiones (una semana).

Considerando que la red celular tiene aproximadamente 200 rutas y continúa creciendo

a un ritmo del 70% anual [TELCEL 1992], el esfuerzo y el tiempo invertido en esta

actividad son muy grandes. Es común que se tenga disponible la información operativa

del mes actual sin que se haya terminado aún de procesar la información del mes

anterior.

Son muy pocos los sistemas para procesar la información proveniente de centrales de

telefonía celular. Esto se debe a que el tratamiento que se da a dicha información es

muy especiali:zado.

Uno de los sistemas de información desarrollado para este propósito pertenece a la

Compañía Consultora WCTS (Worldwide Cellular and Telecommunications Services,

lnc.) el cual no satisface los requerimientos ya que es ineficaz en el tratamientó de la

información. Se limita a un procesamiento muy básico dando como resultado listados

de 90 a 100 páginas de poca utilidad para la toma de decisiones, además, la

información es entregada por WCTS hasta dos meses después de haberse reali:zado la

recolección de datos, lo cual disminuye aún más su utilidad ya que para entonces los

problemas operativos han cambiado.

6

Page 11: MAESTRO EN SISTEMAS DE INFORMACION s

1.2 JUSTIFICACION DEL ESTIJDIO

Actualmente no existe un sistema que cumpla con los requerimientos de información en

fonna confiable y oportuna a un costo adecuado.

La compañía Cellular One de Chicago, que es una de las compañías con mayor

experiencia a nivel mundial en el campo de telefonía celular, recomienda el desarrollo

de sistemas y programas propios "hechos en casa" para el análisis del desempeño de la

red celular [RONZIA 1991]. Las principal razón es que las compañías operadoras de la

red celular son las encargadas del manejo diario de proyectos, expansiones y

modificaciones a la red que requieren tener información muy particular del desempeño,

por el contrario los productos comerciales existentes presentan lo que ellos piensan es

necesario para la operación, sin tener todos los elementos de análisis.

El desarrollo tecnológico muy acelerado en telefonía celular requiere sistemas

adaptables y diseñados estructuradarnente para poder actualizarse con los cambios y

seguir satisfaciendo las necesidades de la empresa. El crecimiento geográfico y en

capacidad de la red celular en la República Mexicana, se traduce en un incremento de

infraestructura y por lo tanto de información a ser analizada, lo cual ocasiona un gran

consumo de tiempo.

Aprovechando la experiencia adquirida en el análisis del desempeño de la red, sería

muy benéfica la automatización de los procesos existentes para seguir avanzando en el

conocimiento de la tecnología y en un futuro desarrollar un sistema experto que

optimice la operación de la red celular y apoye la ingeniería de nuevos proyectos.

El primer paso para llegar a lo anteriormente expuesto es un sistema de información

computarizado que maneje los grandes volúmenes de datos y otorgue mayor tiempo a

los ingenieros para el análisis y toma de decisiones.

Los beneficios que se obtendrán mediante un sistema para el análisis del desempeño de

la red celular son:

a) Contar con la infonnación exacta y oportuna acerca del estado que guardan los

equipos.

b) Reducción de personal para realizar esta función.

7

Page 12: MAESTRO EN SISTEMAS DE INFORMACION s

c) Conocimiento acerca de la calidad de servicio ofrecida.

d) Proveer información valiosa para el desarrollo de proyectos de telefonía celular.

Ya que diversas áreas de la empresa solicitan los mismos datos para cada una realizar

un análisis específico, con el sistema se pretende tener un control y generar los reportes

útiles a cada área involucrada.

En el sistema manual actual se presentan problemas debidos a errores en el tratamiento

de la información, difíciles de detectar. Con el sistema se automatiz.arán los procesos

reduciendo errores.

8

Page 13: MAESTRO EN SISTEMAS DE INFORMACION s

1.3 MARCO TEORICO

En esta sección se presentan aspectos teóricos concernientes al desarrollo del sistema.

El primer paso es conocer los tipos de sistemas computacionales y detenninar a cuál de

ellos pertenece el Sistema para el Análisis del DEsempeño de la red .Celular (SADEC).

Posteriormente se explica el análisis y diseño de sistemas, así como una comparación

entre las características de los proyectos convencionales de sistemas y las de los

proyectos estructurados.

TIPOS DE SISTEMAS COMPUTACIONALES

El sistema de información para evaluar el desempeño de una red telefónica celular es

un sistema que se clasifica como Sistema de Información Administrativa, ya que la

información que genera es un importantísimo apoyo para la toma de decisiones. Los

diferentes tipos de sistemas de información computarizados que pueden ser anafü.ados y

diseñados, usando los conceptos y técnicas de análisis y diseño de sistemas son los

siguientes [KENDALL 1988]:

A) SISTEMAS PARA PROCESAMIENTO DE DATOS.- Son sistemas de información

desarrollados para procesar grandes cantidades de datos y realizar transacciones

rutinarias en las empresas, por ejemplo la nómina e inventarios. Los sistemas para

procesamiento de datos realizan transacciones operacionales repetitivas y que consumen

mucho tiempo. Sin embargo, se sigue necesitando personal para la introducción de

datos a estos sistemas. Después de la implantación de estos sistemas, se soportan las

actividades diarias de las empresas.

B) SISTEMAS DE INFORMACION ADMINISTRATIVA (MIS).- No reemplazan a

los sistemas de procesamiento de datos, sin embargo todos los MIS incluyen

procesamiento de datos. Los sistemas de información administrativa son sistemas que

soportan una alta interacción entre personas y computadoras. Estos sistemas re.quieren

para trabajar: usuarios, hardware y software. Los sistemas de información

administrativa soportan un amplio espectro de actividades organizacionales, incluyendo

procesamiento de datos, análisis y toma de decisiones.

9

Page 14: MAESTRO EN SISTEMAS DE INFORMACION s

Generalmente los usuarios del sistema usan una base de datos compartida para accesar

la información. La base de datos almacena información y modelos que ayudan al

usuario a interpretar y usar ésta. Un sistema de información administrativa emite

información usada para toma de decisiones y ayuda a unificar algunas funciones de

información computariz.ada de la empresa.

C) SISTEMAS DE SOPORTE DE DECISIONES (DSS).- Están más enfocados al

soporte de toma de decisiones en todas sus fases, en comparación con los sistemas de

información administrativa tradicionales, y tienen en común que ambos dependen de

una base de datos como fuente de información. Las características de los DSS son que

la decisión final sigue siendo proporcionada exclusivamente por el usuario y que están

más apegados a la persona o grupo que los usa comparados con un MIS.

D) SISTEMAS EXPERTOS.- Son una clase muy especial de sistemas de información

que capturan efectivamente el conocimiento de un experto para resolver un problema

particular que se presenta en una organiz.ación. Hay que apreciar que los DSS dejan el

juicio final al tomador de decisiones, mientras que un sistema experto selecciona la

mejor solución al problema o a la clase de problemas específicos.

Los sistemas expertos usan las técnicas de inteligencia artificial, como son el

entendimiento del lenguaje natural y la habilidad para razonar un problema hacia su

solución lógica, para resolver los problemas de la empresa planteados por los usuarios.

Los componentes básicos de un sistema experto son la base de conocimientos, la

máquina de inferencia y la interfaz de usuario. La alimentación de información aJ

sistema se realiz.a a través de los ingenieros del conocimiento. Es totalmente posible

que la construcción e implementación de sistemas expertos sea el futuro trabajo de

muchos analistas de sistemas.

PROBLEMAS DE LOS PROYECTOS CONVENCIONALES DE SISTEMAS

En la forma convencional para la administración y desarrollo de sistemas nos

encontramos con múltiples fallas en todos los proyectos, excepto los triviales. Si un

sistema es mal diseñado e instalado sin la planeación adecuada, lleva a un gran

descontento de los usuarios y el sistema frecuentemente cae en desuso. Entre las causas

10

Page 15: MAESTRO EN SISTEMAS DE INFORMACION s

básicas que generan estas fallas están las siguientes [YOURDON 1988,1989],

[MARQUEZ 1987]:

A) INADECUADA PLANEACION DEL SISTEMA.- La base de la construcción de

un buen sistema es el tiempo que se dedique a la planeación. :;t! deben tener estándares

para estimar cúanto tiempo tomará el proyecto, nombrar a un líder de proyecto

adecuado a la magnitud del mismo, tener presente la disponibilidad de personal y los

deseos y preferencias del m,ismo.

B) ANALISIS INEFICIENTE DEL SISTEMA.- El problema más serio que se presenta

es debido a que no se plantean bien las funciones, interrelaciones y requerimientos del

sistema. Hasta los más brillantes diseños y la codificación más elegante no sirven si los

requerimientos del sistema no fueron bien planteados. Y mientras más grande es el

proyecto es más difícil plantear los requerimientos del sistema de forma que sean

entendidos claramente por el usuario y por el analista. En muchos proyectos

convencionales, el analista de sistemas produce un tomo voluminoso de descripción

narrativa que el usuario nunca lee y que, probablemente, nunca entenderla si lo hiciera.

Comprendiendo que el problema es la dificultad inherente a la tarea de modificar o

actualizar la enorme especificación, el usuario está limitado a no realizar cambios en

los requerimientos una vez que la especificación ha sido congelada.

C) POCO CONTROL SOBRE LA CALIDAD DEL DISEÑO Y CODIFICACION.­

En ocasiones se piensa que si algo funciona es lo suficientemente bueno y no se tiene

tiempo de desarrollar diferentes diseños y concluir cuál es el mejor. La consecuencia

práctica de lo anterior es que cada programador y analista tiende a desarrollar un estilo

personal, por lo que no existe manera objetiva de comparar la calidad del trabajo

desarrollado por cada persona. Y sin una manera objetiva de determinar la calidad

tampoco existe forma de medir el progreso y decir cuanto trabajo ha sido terminado, ya

que cada quien puede terminar dentro del tiempo determinado haciendo un trabajo de

pésima calidad.

D) DESARROLLO E INTEGRACION DE ABAJO A ARRIBA "BOTTOM-UP" .­

Este problema consiste en que una vez que el sistema ha sido diseñado y codificado se

comienza la integración realizando primero las pruebas de módulo, seguidas de pruebas

de programas y después por varios niveles de pruebas de subsistemas, terminando todo

con la prueba del sistema.

11

Page 16: MAESTRO EN SISTEMAS DE INFORMACION s

E) FALTA DE CONTROL EN LOS CAMBIOS Y MANTENIMIENTO DE

SISTEMAS.- Esto ocasiona que cualquier cambio que surja dentro del desarrollo tendrá

un impacto en los costos del proyecto, de acuerdo a la etapa de desarrollo en que se

encuentre el proyecto.

F) FASES SECUENCIALES DEL PROYECTO.- En muchos de los proyectos

convencionales, cuando se realiza la fase de análisis no puede realizarse ninguna otra

actividad. Este método debe ser totalmente evitado. El grupo de trabajo debe

forzosamente realizar parte del diseño aunque no sea oficial, antes de que la fase de

análisis sea terminada. El método secuencial evita la oportunidad de traslapar

actividades y así reducir el tiempo de calendario del proyecto. Otra situación intolerable

ocurre en los proyectos convencionales que sostienen que cuando la fase de análisis ha

terminado no debe realizarse mayor análisis en lo que resta del proyecto.

G) EXAGERADO ENFASIS EN PLANES Y CHEQUEOS RUTINARIOS.- Algunas

firmas de consultoría han desarrollado extensos manuales para la administración de

proyectos que otorgan al administrador una falsa sensación de seguridad. Los productos

para administración de proyectos requieren mucho tiempo y esfuerzo para que los

programadores y analistas puedan completar los formatos requeridos, se consume

tiempo que podría ser aprovechado en trabajo productivo, y por lo tanto, la eficiencia

en el desarrollo del proyecto se reduce substancialmente.

CARACTERISTICAS DE LOS PROYECTOS ESTRUCTURADOS

Una vez reconocido que existen problemas en el desarrollo convencional de sistemas, el

siguiente paso es utilizar una metodología eficiente y eficaz durante las fases del ciclo

de vida del sistema. Los proyectos estructurados se caracterizan por tener mejores

herramientas para expresar los requerimientos del usuario, enfocándose a la calidad del

diseño, buena codificación y desarrollo de arriba a abajo "top-down". Todos estos

beneficios se obtienen mediante el uso de las técnicas de análisis, diseño y

programación estructurados.

Las características de los proyectos estructurados son esencialmente opuestas a las

encontradas en proyectos convencionales, y son las siguientes [YOURDON 1988,

1989] [PAGE 1988] :

12

Page 17: MAESTRO EN SISTEMAS DE INFORMACION s

A) MODELOS SIGNIFICATIVOS.- El concepto de desarrollar modelos es un punto

fundamental de las técnicas estructuradas. Además, tiene un importante impacto

administrativo ya que la utilización de modelos ayuda a los usuarios y administradores

a entender la viabilidad del sistema. La utilización de modelos es muy práctica en el

campo del procesamiento de datos en herramientas como los diagramas de flujo de

datos, diagramas de entidad-relación, diagramas de estructura, etc ..

B) VISIBILIDAD DEL ESFUERZO DEL ANALISIS, DISEÑO Y

PROGRAMACION.- Una gran ventaja del modelo en papel es que hace más visible al

administrador el proceso de análisis, diseño y codificación. En vez de ser actividades

misteriosas que tienen lugar primariamente dentro del pensamiento del técnico, el

administrador puede observar que el trabajo esté de acuerdo a la calendarización.

C) CRITERIOS PARA DETERMINAR LA CALIDAD.- Otra ventaja del método

estructurado es que contiene criterios definidos para determinar si existe un buen

análisis, diseño y codificación. Aún más importante es que las técnicas uniformen y den

consistencia en las actividades de análisis, diseño y codificación en vez de permitir que

cada técnico defina su versión personal de un buen trabajo.

D) MEfODO ITERATIVO Y DE ARRIBA A ABAJO.- Se hace estrictamente

necesario un método iterativo y de arriba a abajo para el análisis, diseño e

implementación de sistemas grandes y complejos. Permite que algunas actividades,

como el análisis de sistemas, estén incompletas cuando otras actividades pueden iniciar.

Además algunas actividades tendrán que ser repetidas debido a errores o circunstancias

cambiantes. El método "top-down" de implementar un sistema tiene beneficios

adicionales como el impulsar al diseñador a definir primero las interfases que proveen

un esqueleto o versiones del sistema parcialmente completo para demostraciones al

usuario y permiten alguna forma de probar el sistema.

13

Page 18: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITULO 2.- OBJETIVOS

OBJETIVOS GENERALES

l. Creación del sistema de infonnación para evaluar el desempeño de una red telefónica

celular.

2. Presentar un marco teórico aplicable a diversos desarrollos en áreas técnicas y los

resultados completos de las fases de desarrollo del sistema de información.

3. Describir las técnicas de desarrollo de sistemas utilizadas en esta tesis.

4. Exponer la problemática actual, haciendo énfasis en un enfoque metodológico

durante el ciclo de vida del sistema como una solución a la misma.

5. Mostrar la aplicación de las herramientas analíticas y prácticas de la ingeniería de

software que se utilizan durante el ciclo de vida de los sistemas de información, como

son: análisis y definición de requerimientos, diseño del sistema e implantación.

OBJETIVOSESPECIFICOS

1.1. Creación y actualización de una base de datos que contenga la información técnica

de los sistemas celulares (Partes constitutivas de los sistemas celulares y número de

dispositivos en cada una de ellas).

1.2. Determinar la hora pico en base a los datos de operación. Se define como hora

pico a aquella en la que se presenta mayor número de llamadas y es la base para los

análisis y dimensionamientos de los sistemas celulares.

1.3. Análisis de la central celular, incluyendo el número y la ocupación de los

dispositivos internos de la central.

1.4. Análisis de radiobases, incluyendo el número y la ocupación de los canales de

radio, así como los parámetros de célula.

1.5. Análisis de la interconexión con la red pública telefónica, incluyendo el número y

la ocupación de circuitos, así como la distribución del tráfico (entrante/saliente).

14

Page 19: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITULO 3-. METOOO

3.1 EL CICLO DE VIDA DEL DF.SARROLLO DE SISTEMAS

El ciclo de vida define las fases por las que atraviesa un sistema, desde que surge hasta

su implantación y mantenimiento.

Dependiendo del autor se ha detenninado cuantas fases existen en el ciclo de vida del

desarrollo de sistemas. Puede ser dividido por ejemplo, en siete fases como se muestra

en la figura 3.1 [KENDALL 1988]. Aunque cada fase se presenta separada no se

realiza como pasos independientes, es decir, varias actividades pueden ocurrir

simultáneamente y pueden ser repetidas. Debido a esto es más útil pensar en el ciclo de

vida de desarrollo de sistemas re.i1izado en fases y no en pasos separados.

7. Implantación

6. Pruebas

5. Desarrollo del software

4. Diseño

1 . Identificar problemas,

oportunidades y

2. Identificación del panorama del sistema

3. Análisis

FIG. 3.1 CICLO DE VIDA DEL DESARROLLO DE SISTEMAS.

15

Page 20: MAESTRO EN SISTEMAS DE INFORMACION s

3.2 FASE DE ANALISIS

Dentro de esta fase podemos agrupar las actividades correspondientes a las primeras 3

fases de la figura anterior, que se describen a continuación:

En la fase de identificación de problemas, oportunidades y objetivos se pretende

determinar la necesidad del desarrollo del sistema. Consta de dos partes: planteamiento

del prol,1ema y determinación de objetivos. En este trabajo se presenta la justificación

del estudio en la sección 1.2 de la introducción, y en el capítulo 2 se presentan los

objetivos del sistema.

La fase de identificación del alcance del sistema consiste en determinar cuatro aspectos

importantes que definen los límites del desarrollo que son:

- Objetivos de la empresa.

- Objetivos del sistema.

- Consideraciones para la conversión de datos.

- Requerimientos de los usuarios.

En esta fase se usaron técnicas como las entrevistas y recolección de información en

base a documentos. Los resultados de esta fase se muestran en la sección 4.1.

Para la fase de análisis del sistema se utilizaron las cuatro herramientas del análisis

estructurado, que son:

- Desarrollo del modelo ambiental.

- Diagramas entidad-relación.

- Diagramas de flujo de datos.

- Diccionario de datos.

A continuación se presenta la descripción de estas cuatro herramientas.

16

Page 21: MAESTRO EN SISTEMAS DE INFORMACION s

MODELO AMBIENTAL

El modelo ambiental es, como su nombre lo indica, un modelo que muestra como actúa

el sistema con el medio ambiente. El funcionamiento del modelo está indicando que el

sistema debe operar satisfactoriamente en el medio externo [YOURDON 1979, 1988] y

[WEA VER 1988].

El desarrollo del modelo ambiental consta de dos partes: El diagrama de contexto y la

lista de eventos. El diagrama de contexto es un caso especial de diagrama de flujo de

datos consistente en una sola burbuja, mostrando el flujo de datos entre el sistema y las

terminales, los grupos de gente, departamentos, organizaciones y otros sistemas, con

los cuales se comunica.

La lista de eventos es un texto simple que enlista eventos o estimulaciones exteriores, a

las que el sistema debe responder e indica la persona o el sistema que inicia el trabajo.

Algunas ocasiones el sistema responde al estímulo por la llegada de datos, sin embargo,

en otros casos los eventos son temporales por naturaleza.

Hay que observar que el modelo an1biental no nos habla nada acerca del estado del

sistema. Su propósito es simplemente documentar el límite entre el sistema y su estado

y resaltar los datos que pueden ser procesados, lo que puede ser efectuado y la entidad

externa que provee o utiliza datos del sistema.

DIAGRAMAS DE ENTIDAD-RELACION

Antes de diseñar formalmente los archivos del nuevo sistema computacional, es

importante conocer la relación que existe entre los datos [KENDALL 1988] y

[MURDICK 1986]. Las entidades acerca de las cuales se almacena información. Una

entidad puede ser algo tangible, como una persona o lugar, o puede ser algo intangible

como un concepto, acuerdo o evento. En un diagrama de entidad-relación se definen

los objetos acerca de los cuales el sistema almacena información y cómo estos objetos

se relacionan entre sí.

El objetivo de los diagramas de entidad-relación es reducir la redundancia en los

almacenamientos de información, independientemente de cómo esté organizada la

información para su almacenamiento en algún medio físico. Un mejor diseño de

17

Page 22: MAESTRO EN SISTEMAS DE INFORMACION s

almacenamientos resulta en un sistema más estable y con menos mantenimiento. Otro

beneficio es que la información se agrupa de acuerdo a la forma en que la aplicación lo

requiere, lo que resultará en diagramas de flujo de datos más rápidos y fáciles de

desarrollar.

Debemos recordar que la ingeniería de información "Information Engineering" se basa

en diagramas entidad-atributo en los que se supone que los datos son estables, no así los

procedimientos, los cuales cambian frecuentemente en las organizaciones [MARTIN

1989).

DIAGRAMAS DE FLUJO DE DATOS

Los diagramas de flujo de datos caracterizan gráficamente los flujos de elatos a través

del sistema ya que muestran las entradas al sistema, procesos y salidas que

corresponden al modelo general [PAGE 1988] y [MARTIN 1989].

Para intentar entender los requerimientos de información de los usuarios es necesario

poder conceptualizar como se mueve la información a través de la organización, el

proceso o transformación que sufre la información y las salidas que existen. Aunque las

entrevistas y la investigación de información proveen una narrativa verbal del sistema,

una representación visual puede cristalizar todo eso de manera útil. Mediante esta

técnica se crea una descripción pictórica que eventualmente provee una sólida

documentación del sistema.

El método de diagramas de flujo otorga tres principales ventajas comparado con

explicaciones narrativas de la forma en que la información se mueve a través del

sistema y que son:

a) Libertad para asignación de trabajo a diferentes personas o grupos durante la

implementación técnica del sistema, lo que permite que sea muy rápida.

b) Gran entendimiento de las interrelaciones del sistema y subsistemas.

c) Comunicar el conocimiento del sistema a los usuarios a través de los diagramas.

18

Page 23: MAESTRO EN SISTEMAS DE INFORMACION s

DICCIONARIO DE DATOS

El diccionario de datos es un trabajo de referencia de información acerca de los datos,

recopilado por los analistas de sistemas para guiarlos a través del análisis y diseño

[PAGE 1988] y [WEA VER 1988]. Como documento, recopila, coordina y confirma el

significado de un dato específico para diferentes personas en la organización.

Es importante catalogar diferentes ténninos que se refieren al mismo dato. Esto ayuda a

evitar duplicidad, permite mejorar la comunicación entre áreas de la organiución

compartiendo una base de datos y un mantenimiento más directo. El diccionario de

datos también sirve como un estándar consistente para los elementos de datos.

19

Page 24: MAESTRO EN SISTEMAS DE INFORMACION s

3.3 FASE DE DISEÑO

Para el diseño del sistema se utilizó una herramienta del diseño estructurado que son los

diagramas de estructura. Dentro de esta fase se consideró la utilización de una base de

datos para almacenar la información.

DIAGRAMAS DE ESTRUCTURA

Los diagramas de estructura son el instrumento indica.do para elaborar un diseño

modular. Ilustran la partición del sistema en módulos, mostrando su jerarquía,

organización y comunicación [PAGE 1988] y [YOURDON 1988]. Cada cuadro del

diagrama de estructura representa un módulo. Las ventajas de estos diagramas son :

a) Gráficos.

b) Particionables. BIBLIOTECJ.

c) Rigurosos pero flexibles.

d) Extremadamente valiosos para la programación del sistema.

e) Documentan el sistema.

f) Muy útiles en el mantenimiento y modificación del sistema.

BASE DE DATOS '

La base de datos está formalmente definida y controlada centralmente por un almacén

de datos para ser usada en varias aplicaciones.

Una base de datos no es justamente una colección de archivos. En su lugar, es una

fuente central, esto significa que puede ser accesada por varios usuarios en una

variedad de aplicaciones [DATE 1981] y [MARTIN 1989].

20

1Pi-f7-7-

Page 25: MAESTRO EN SISTEMAS DE INFORMACION s

Las principales ventajas de las bases de datos incluyen:

a) Garantiza poder ser accesada por varios usuarios para una gran variedad de

aplicaciones.

b) Su buena administración pennite mantenerla exacta y consistente.

c) Garantiza que todos los datos requeridos para aplicaciones actuales y futuras estarán

listos y disponibles en la base de datos.

d) Permite que el desarrollo y las necesidades de los usuarios crezcan.

e) Pennite a los usuarios construir su propia manera de ver los datos sLri conocer el

modo en que los datos están almacenados físicamente.

21

Page 26: MAESTRO EN SISTEMAS DE INFORMACION s

3.4 FASE DE DESARROLLO DEL SOFTWARE

Para el desarrollo del software se utilizaron las técnicas de empaquetamiento en

programas y la programación incremental, siendo ambas técnicas estructuradas.

EMPAQUETAMIENTO EN PROGRAMAS

Cada uno de los pasos o transacciones del sistema se representan con un diagrama de

estructura. Podría pensarse que cada módulo del diagrama de estructura debe

convertirse en un programa separado. En muchos lenguajes de programación las

funciones o procedimientos son las unidades más pequeñas en las que los datos pueden

ser protegidos del resto del sistema. Sin embargo, para conservar todas las ventajas del

mantenimiento del diseño estructurado (p.e. aislar defectos en una pequeña región),

cada módulo del diagrama de estructura idealmente debería convertirse en un programa

separado. Pero este ideal es muy difícil de lograr en la práctica debido al esfuerzo extra

de excesivas declaraciones para cada módulo, siendo mejor que varios módulos se

conviertan en partes de funciones o procedimientos. No menos importante es que si nos

alejarnos mucho del ideal nos encontramos con los problemas de mantenimiento de

programas extensos [PAGE 1988].

ENFOQUE TRADICIONAL DE PROGRAMACION

Tradicionalmente, los sistemas han sido codificados y probados en la secuencia

siguiente:

a) Primero se escribe, se examina y se corrigen errores minuciosos de cada módulo (o

pequeños grupos de módulos) separadamente. Esta es la prueba general.

b) Después de hacer las correcciones de todas las unidades de todo el sistema, se

dividen las unidades en subsistemas, se examinan y se corrige cada una de éstas. Esto

es la prueba de subsistemas.

22

Page 27: MAESTRO EN SISTEMAS DE INFORMACION s

c) Después se intercalan los subsistemas para formar el sistema completo. Esto es la

integración del sistema.

d) Finalmente, se checa y se corrige todo el sistema. Esto es la desagregación del

sistema.

ENFOQUE DE PROGRAMACION INCREMENTAL

Este es un procedimiento más disciplinado para la programación de sistemas que los

tradicionales. Este se lleva a cabo de la siguiente manera:

a) Repetir hasta que el sistema e.sté completo los pasos b,c y d.

b) Programar y probar la unidad de módulo.

c) Adicionar el módulo a la combinación existente.

d) Probar y corregir la nueva combinación.

e) Sistema terminado.

Por lo tanto, primero se programa el primer módulo y después se anexan módulos uno

por uno, o en grupos pequeños. A través de este método se nota que el circuito del

sistema está trabajando, aunque tal vez no sea totalmente funcional. La parte de

programación del sistema es lenta, pero con la inevitabilidad ligera y paulatina de

formar el sistema completo. La programación incremental da mayor flexibilidad en el

uso de recursos para la fase de desarrollo del software porque puede realiz.arse en

diversas fonnas.

El diseñador debe derivar el plan de la estructura del paquete, tomando en

consideración cualquier prioridad que puooa ser asignada en ciertas funciones del

sistema, lo que fue muy tomado en consideración para la programación de este sistema,

ya que se requiere que ciertos módulos estén trabajando a la brevedad, siendo posible

posponer la codificación de algunos módulos.

23

Page 28: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITUW 4.- ANALISIS DEL SISTEMA

En este capítulo se presentan los resultados del análisis realizado para el sistema de

información para evaluar el desempeño de la red telefónica celular. El análisis se

realizó de acuerdo a las técnicas estructuradas que se describen en el capítulo 3.

4.1 PANORAMA DEL SISTEMA

En esta sección se presentan los elementos generales que conforman el entorno en el

que se desenvuelve el sistema, que son:

OBJETIVOS DE LA EMPRESA

a) Contar con información exacta y oportuna acerca del estado que guardan los sistemas

celulares en operación.

b) Reducir al mínimo el personal necesario para realizar los estudios de desempeño del

sistema de telefonía celular.

c) Centr-alizar la función de análisis del desempeño para tener un mejor control de los

sistemas celulares y sus futuras ampliaciones, para lograr un mejor aprovechamiento de

recursos.

d) Contar con un medio eficaz de conocer la calidad de servicio que se otorga a los

usuarios.

e) Apoyar a los departamentos de ingeniería con información operativa consistente para

eficientar las actividades de planeación.

24

Page 29: MAESTRO EN SISTEMAS DE INFORMACION s

OBJETIVOS DEL SISTEMA

a) Proveer información oportuna, veraz y consistente sobre el desempeño de los

sistemas celulares.

b) Llevar un control efectivo sobre la infraestructura en operación y la que se tiene

proyectada.

c) Minimizar el tiempo y esfuerzo requerido para realizar el análisis del desempeño.

d) Obtener los parámetros más significativos para lograr un análisis confiable de

acuerdo a la teoría de telefonía celular.

e) Analizar las variaciones en la infraestructura.

f) Generar reportes que contengan los datos necesarios para la toma de decisiones

respecto a los proyectos de telefonía celular.

REQUERIMIENTOS DE USUARIOS

a) El principal usuario del sistema será el personal del Departamento de Ingeniería de

Tráfico que es el responsable del desempeño de la red celular. Además, todos los

departamentos de ingeniería podrán realizar consultas a la base de datos de la

infraestructura. La Gerencia de Diseño de Sistemas Celulares será la fuente de

información sobre cambios en la infraestructura proyectada.

b) El análisis de dispositivos de la central celular, radiobases e interconexión se

realizará mensualmente tomando los datos de la primer semana completa de cada mes.

c) El análisis se realizará tomando el promedio de los datos obtenidos en la hora pico.

La hora pico se determina como la hora de mayor tráfico en el total de la interconexión

del sistema celular con la red pública (Telmex).

d) Los cambios en la infraestructura (rutas, dispositivos, etc. ) pueden ocurrir en

cualquier día.

e) Los listados actualizados de infraestructura deberán entregarse mensualmente al

Departamento de Administración de Proyectos.

25

Page 30: MAESTRO EN SISTEMAS DE INFORMACION s

f) Se deberá permitir la revisión del periodo de análisis y de la hora pico en pant.alla

antes de producir los reportes, ya que para estudios especiales se requerirá alterar estos

parámetros.

g) Clasificar los reportes por región de concesión, por central celular y por población

para facilitar su análisis.

CONSIDERACIONES PARA LA CONVERSIÓN DE DATOS

a) Los archivos de poblaciones, centrales celulares y elementos constitutivos de la red

celular se obtendrán de los proyectos de ingeniería y documentos generados por la

Gerencia de Diseño de Sistemas Celulares, y tendrán que ser capturados por ser de

nueva creación.

b) El número de dispositivos en operación será proporcionado por las Gerencias de

Operación y Mantenimiento Regionales.

c) Deberá mantenerse un registro de todos los movimientos en la infraestructura en

operación ( aumento de enlaces, equipo de radio, ele. ) ya que servirá para corroborar

la facturación de los proveedores de equipo y servicios de interconexión.

4.2 MODEW AMBIENTAL

En esta sección se presentan la forma en que el sistema interactúa con el ambiente

exterior, mediante el diagrama de contexto y la lista de eventos a los que el sistema

deberá responder.

DIAGRAMA DE CONTEXTO

En la figura 4.1 se muestra el diagrama de contexto del Sistema para el análisis del

desempeño celular.

26

Page 31: MAESTRO EN SISTEMAS DE INFORMACION s

N -.J

CENlRAL CELULAR I !9 L_

USUARIO DEL

SISTEMA

---~+-I_N-FO_ •. OPERATIVA

ARCHIVO FUENTE J------ ¡

I INFO. OPERATI~ SADE~ ~_... 1 REPORTE DE INFRAESTRUCTURA EN OPERACION

ELEMENTOS DE LOS ' ,~ 2 REPORTE DE INFRAESTRUCTURA PROYECTADA

r SIS~MA~ Í SISTEMA DE INFORMACION r----- 3 VARIACIONES EN LA INFRAEST. PROYECTADA.

INGENIERIA I i PARA EVALUAR EL DESEMPEiiO b ~ "M""""'m u'"'°""'·~°""""~ 1 .... ¡

# DE DISPOSITIVOS DE LA RED TELEFONICA CELULAR __..,... 5 DETERMINAR LA HORA PICO

PROYECTADOS l • ANAUSIS DE LA CENTRAL CEWLAR

L_ 7 ANAUSIS DE RADIO BASES

______... 1 ANAUSIS DE LA INTERCONEXION RED PUBLICA __ __..,... 9 VARIACIONES EN LA INFRAESTRUCTURA.

___J (PROYECTADA,OPERATIVA) VS. REAL

• 1

I OPERACION 1 __¡

y MANTENIMIENTO # DE DISPOSITIVOS

EN OPERACION

FIGURA 4.1 DIAGRAMA DE CONTEXTO

1 5 6 DEPARTAMENTO DE i

: =i DESEMPEÑO

DE LA PLANTA

L_

Page 32: MAESTRO EN SISTEMAS DE INFORMACION s

LISTA DE EVENTOS

En la tabla de la figura 4.2 se muestra la lista de eventos, las entradas al sistema y las

respuestas esperadas para el sistema SADEC.

EVENTO ENTRADA AL RESPUESTA

SISTEMA ESPERADA

1. Se instala infraestruc- Número de dispositivos Actualizar infonnación de

tura celular. operando. los elementos.

2. Se genera un nuevo Poblaciones, central Actualizar infonnación de

proyecto de telefonía celular, elementos y poblaciones, centrales y

celular. número de dispositivos elementos.

proyectados.

3. Se genera un proyecto Número de dispositivos Actualizar infonnación de

de ampliación. proyectados. los elementos.

4. Se desea anafü.ar el Archivo fuente de la Generar reportes.

desempeño del sistema. central.

5. Se desea detenninar los Archivo fuente de la Actualizar parámetros de

parámetros de análisis. central. análisis.

6. Se desea analizar la Archivo fuente de la Generar reportes.

infraestructura celular real. central.

7. Se desea conocer la Generar reportes.

infraestructura proyectada

v en ooeración.

FIG. 4.2 LISTA DE EVENTOS PARA EL SISTEMA SADEC.

28

Page 33: MAESTRO EN SISTEMAS DE INFORMACION s

4.3 MODELO DE INFORMACION

En esta sección se presentan los elementos que definen el modelo de infonnación, que

son el diagrama de entidad-relación y la definición de los objetos ,del sistema SADEC.

DIAGRAMA DE ENTIDAD-RELACION

En la figura 4.3 se muestra el diagrama de entidad-relación (1) "primer corte" que se

obtuvo al identificar los objetos, asignar los elementos de información a los mismos y

relacionarlos.

El diagrama de entidad-relación (2) de la figura 4.4 se obtuvo al eliminar los objetos:

DISPOSITIVOS e INTERCONEXION, ya que estos objetos no contenian atributos

propios, sino que quedaban enmarcados dentro del genérico ELEMENTOS.

Finalmente, en la figura 4.5 se presenta el diagrama de entidad-relación final (3) que se

obtuvo al eliminar la relación múltiple REPORTE, simplificándola como relación

sencilla. El otro refinamiento consistió en integrar el objeto RADIOBASES con el

objeto ELEMENTOS, al añadir los datos adicionales de las RADIOBASES como

atributos de ELEMENTOS. Además, en este último diagrama se indica el tipo de

relación entre los objetos (1 a 1 y l a N) con lo que se completa el diagrama. La

descripción de datos se presenta en la sección 4.5 (Diccionario de Datos).

29

Page 34: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.3 DIAGRAMA DE ENTIDAD-RELACION (1)

----··-··--· ·------~

POBLACIONES

COKTIE.NEN

30

Page 35: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.4 DIAGRAMA DE ENTIDAD-RELACION (2)

I PARAMETROS 1 &l l_!~ALISIS _¡ 131

ASOCIA

REPORTE -l,ELEMEN;OS 1 ·~ ¿ /-...~ ------\§~

31

(10) (11) (12) (13)

\r ----'---, (14) (15)

RADIO BASES

Page 36: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.5 DIAGRAMA DE ENTIDAD-RELACION FINAL (3)

11 PARAMETROS I m [-- ---1 <4> /i::-,_ 1 l

:,~ 1 (3) CENTRAL HE,;,~,ci'>-~ POBLACIONES L ANALIS!:_____i CELULAR 11 " A/ 7 N ! - r- ---y--- ' --, N --;:

/~ /' 1 \ ASOCI~ ~ IENE ) j

',, / "-.,/ ! y 1 1

[RE;~:~:~-}-{ELEM~~TO~ ~-- ~~ ~) V

32

(8) (9)

(10! (11 (12) (13) (14) (15)

Page 37: MAESTRO EN SISTEMAS DE INFORMACION s

DEFINICION DE OBJETOS

OBJETO:

ATRIBlITOS:

OBJETO:

ATRIBlITOS:

OBJEfO:

ATRIBUTOS:

PARAMETROS DE ANALISIS

Conjunto de información que define el marco del análisis de

desempeño.

(l) FECHA INICIAL DE MUE.STRA

(2) FECHA FINAL DE MUE.STRA

(3) HORA PICO

CENTRAL CELULAR

Centro de control de tocias las radiobases, contiene el procesador

central, es la interfase con la red pública y controla el

procesamiento de llamadas.

(4) NOMBRE DE LA CENTRAL CELULAR

POBLACIONES

Población a la que se otorga el servicio de telefonía celular.

(5) NOMBRE DE LA POBLACION

33

Page 38: MAESTRO EN SISTEMAS DE INFORMACION s

OWETO:

ATRIBUTOS:

ELEMENTOS

Partes constitutivas de la infraestructura en un sistema de

telefonía celular ( radiobases, interconexión y dispositivos).

(6) NOMBRE DEL ELEMENTO

(7) TIPO DE ELEMENTO

(8) NOMBRE DE LA RUTA

(9) TIPO DE RUTA

(10) NDV PROY

(11) NDV OPER

(12) NDV REAL

(13) TRAFICO REAL

(14) H.O. INTENTOS

(15) H.O. COMPLETOS

34

Page 39: MAESTRO EN SISTEMAS DE INFORMACION s

4.4 MODEW DE PROCESO

En esta sección se presentan los elementos que definen el modelo de proceso, los cuales

son los diagramas de flujo de datos y las descripciones de procesos.

DIAGRAMAS DE FLUJO DE DATOS

En la figura 4.6 se muestran los diagramas de flujo de datos para cada evento que

conforma al sistema SADEC, indicando los archivos que accesan y los datos con los

que operan.

Una vez realizados estos diagramas para cada evento, se procede a integrarlos en un

solo diagrama de nivel 1. Este diagrama de nivel 1 se muestra en seguida de los

diagramas de cada evento en la figura 4.7.

También se realizaron diagramas de flujo de nivel más bajo para cada módulo,

obteniéndose los díagrarnas de nivel 2 para los procesos 1, 2, 3, 4, 5 y 6 (figura 4.8).

Para los procesos 2.1, 2.2 y 2.3 fue necesario bajar un nivel más, obteniendo para estos

tres procesos los diagramas de nivel 3 que se muestran en la figura 4.9.

35

Page 40: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.6 DIAGRAMAS DE FLUJO DE DATOS PARA CADA EVENTO

EVENTO 1 CAMBIOS EN LA INFRAESTRUCTURA

-~ DATOSOPER. 1 1 ~ELE==ME=•r=os-- e.e. -

AEPOR--TE-2 __..,¡~~!?~:~:f--~--~_J EVENTO 2 NUEVO PROYECTO DE TELCEL

-füMEÑTos __ _

t INFO. PROYECTO

( ---'r==; 1

2 - POBLACIONES

~~6~~~~~1· ~ ~··ce NUEVOS J· f '----------__/

EVENTO 3 PROYECTO DE AMPLIACION

DATOSPROY (3 -----

lACTUALIZAR ELErTOS ___ ---r--AEPOATE2 lPROYECTO _J

AMPLIACION--

EVENTO 4 ANALISIS DE DESEMPEÑO PARAMETROS

- ARCHIVO FUENTE ·-

1

1 INFO. REAL 4 - ELEMENTOS

ANALIZAR Et 1

DESEMPEÑO POBLACIONES

REPORTES 5, e. 7

1

"

36

Page 41: MAESTRO EN SISTEMAS DE INFORMACION s

EVENTO 5 DETERMINAR PARAMETROS

ARCHIVO FUENTE

INFO. REAL ------------1-----

~ETERMINAR I· 'T--ELEMENTOS

PARAMETROS j .--===r---REPORTE 3 ---"'------_,,

6 ANALISIS DE INFRAESTRUCTURA

POBLt.CIONES

ARCH.F~ ( 6 . ···1-·------=L_ L __ ,~~:~~ ANALIZAR ---1 -· l lNFRAESTR. -- . --- __ __J

----- REAL '------~-- ------ . .../

7 REPORTE DE INFRAESTRUCTURA

e.e.

~¡------------======----1 ~ENERAR --------1l REPORTE

POBLACIONES

REPORTE 1

ELEMENTOS INFRAESTR. _____ ~

37

Page 42: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4 . 7 DIAGRAMA DE FLUJO DE DA TOS (NIVEL 1)

DATOS OPER {:--, ------ - - . ·- - -- 1 ELEMENTOS

ACTUALIZAR l----------11Tíl ,.,_, ~IS~OSIT~_r - - 1 !

( º -¡ Ji I

INFO. PROYECTO • ~CTUALIZAR 1----t-··-::::ES i . ¡

IPRovecrosl------z---- 1 T I NUEVOS

1 -··---- --~! 1 ! f

~~- ~ -_) - -·· -e~ 11 J I ~= .. :~~~~~~: _---J ' 1

AMPLIACIO

ARCHIVO FUENTE

INFO. AE>.L

REPORTES s. 6, 7

- - --1DESEMPEÑ

PAAAMETROS

INFO. REAL

.------iS r

INFO. REAL

REPORTE4

REPOATE3

DETERMINAR

PARAMETROS

6 ANALIZAR INFRAESTR. REAL

-----t-- ·-

_ _ POIIU\CIONE ___ c L_ __ J L ·--

38

7 GENERAR REPORTE 1

REPORTE INFRAESTR.

Page 43: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.8 DIAGRAMAS DE FLUJO DE DATOS DE NIVEL 2

1 ACTUALIZAR DISPOSITIVOS.

2 PROYECTOS NUEVOS

_,NF_o._PAO_Y_ECT_o ..... 2.1 ~C1(?~5¡--- El.EMENTOS

ACTUALIZAR _______ J i ___ J e.e.

-i------

__ J_ 2.2 ACTUALIZAR i.------'

POBLACION

2.3 ACTUALIZAR ELEMENTOS

39

Page 44: MAESTRO EN SISTEMAS DE INFORMACION s

3 PROYECTO AMPLIACION

DA TOS PllOY.

3.1 H·I CAMBIAR t r· _ 3.2 . l l REPORTE2 IMPRIMIR 1

______ _

[ No. DISP. gl PROV. ___ _j REPO~TE 2 j

e.e.

4 ANALISIS DE DESEMPEÑO

~l 4.2 1 4.3 ANALIZAR ~-- · IMPRIMIR ---------

RUTAS REPORTE 5 REPORTE 5

r ==---------------ANALIZAR -- MPRIMIR F--4 ~ ---i~-----

OSITIVOS REPORTE 6 REPORlE&

__ L

4.6 ANALIZAR CELULAS

-~- - _____ __)

4.7 1-------ilMPRIMIR

REPORTE 7

40

REPORTE 7

Page 45: MAESTRO EN SISTEMAS DE INFORMACION s

5 DETERMINAR PARAMETROS

~,UEN_TE_=. ,~~LCULA~-- ==~-~f--m_os-=--PARAM. · ¡ PARAMEmOS

L /¡.__ __ =.t

1

t

r ~~PRIMIR 11--- --AEPORTE- 3

l~EPORTE3J

6 ANALISIS INFRA. REAL

POBLAOONES ---- - ---T AACH. FUENTE --- --_-__:=-=1 __ _

---.---- 6.1 ElEMElffOS

INFO. REAL ANALIZAR i--------=---INFRAESTR. -P-AAAMETROS-- ~

REAL

6.2 IMPRIMIR REPORTE4

41

J.. ______ ]

Page 46: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 4.9 DIAGRAMAS DE FLUJO DE DATOS DE NIVEL 3

ELEMENTOS . .-

¡

1 1

1 1

1 ! !

__J

~FO.P~'."~TO 2,3,1 --~----

ALTA I ELEMENTO '4--~~~~~~~~

e.e. NOM. ELEMENTO. 2.3.2

BAJA ELEMENTO

42

Page 47: MAESTRO EN SISTEMAS DE INFORMACION s

D.ESCRIPCION DE PROC.ESOS

NOMBRE:

NUMERO:

DESCRIPCION:

NOMBRE:

NUMERO:

D.ESCRIPCION:

NOMBRE:

NUMERO:

D.ESCRIPCION:

ACTUALIZAR DISPosmvos

En este proceso se realizan las siguientes actividades:

a) Aceptar el NOV. OPER. válido.

b) Actualiz.ar la tabla de ELEMENTOS.

e) Imprimir el reporte del cambio realizado en la tabla.

ACTUALIZAR PROYECTOS NUEVOS

2

En este proceso se realizan las siguientes actividades:

a) Aceptar lNFO. PROYECTO válida.

b) Actua1izar la tabla de CENTRAL.ES CELULARES.

e) Actua1izar la tabla de POBLACIONES.

d) ActuaJiz.ar la tabla de ELEMENTOS.

ACTUALIZAR PROYECTOS DE AMPLIACION

3

En este proceso se realizan las siguientes actividades:

a) Aceptar el NOV. PROY. válido.

43

Page 48: MAESTRO EN SISTEMAS DE INFORMACION s

NOMBRE:

NUMERO:

DESCRIPCION:

NOMBRE:

NUMERO:

DESCRIPCION:

b) Actualizar la tabla de ELEMENTOS.

e) Imprimir el reporte del cambio realizado en la tabla.

ANALIZAR EL DESEMPEÑO

4

a) Lee el archivo de ELEMENTOS. Lee e! archivo de

PARAMETROS y el ARCHIVO FUENTE.

b) Para los tres archivos (LSRP, QSRP y CELTRAF) obtiene

promedios en la hora pico de los días procesados (excepto

CELTRAF que toma sólo el día con mayor tráfico), se obtienen

porcentajes de ocupación y saturación, se suman las rutas de

interconexión, se obtienen capacidades y tráficos totales, obtiene

porcentajes.

c) Imprime o despliega los resultados obtenidos.

DETERMINAR PARAMETROS

5

a) Lee los archivos FUENTE y ELEMENTOS.

b) Ordena las rutas de acuerdo a su posición en el archivo.

e) Busca en el ARCHIVO FUENTE de los días y horas que

aparecen, colecta todos los datos.

d) Procesa para cada hora encontrada: promedio de tráfico,

promedio de dispositivos bloqueados, promedio de tiempo de

ocupación, validación del número de dispositivos, suma los

tráficos promedio de las rutas de interconexión, la suma máxima

determina la hora pico del sistema celular, calcula la capacidad

44

Page 49: MAESTRO EN SISTEMAS DE INFORMACION s

NOMBRE:

NUMERO:

DESCRIPCION:

NOMBRE:

NUMERO:

DESCRIPCION:

real mediante las tablas de Erláng, obtiene la capacidad total del

sistema y el tráfico total, obtiene los porcentajes de ocupación y

saturación por ruta.

e) Escribe en el archivo PARAMETROS los días procesados y la

hora pico.

f) Imprime o despliega los resultados obtenidos.

ANALIZAR LA INFRAESTRUCTURA REAL

6

a) Lee los archivos FUENTE y ELEMENTOS.

b) Ordena las rutas de acuerdo a su posición en el archivo.

c) Busca en el ARCHIVO FUENTE de los días y horas que

aparecen, colecta todos los datos.

d) Procesa para cada hora encontrada: número de dispositivos

real, valida el número de dispositivos, registra en un archivo las

diferencias encontradas.

e) Imprime o despliega los resultados obtenidos.

GENERAR REPORTE DE INFRAESTRUCTURA

7

Imprime el reporte de infraestructura para una central celular o

para todas las centrales celulares, para una población o para todas

las poblaciones, para un tipo de elementos o para todos los tipos

de elementos.

45

Page 50: MAESTRO EN SISTEMAS DE INFORMACION s

4.5 DICCIONARIO DE DA TOS

En esta sección se presenta la infonnación correspondiente al diccionario de datos para

el sistema SADEC, así como las definiciones adicionales.

(1) FECHA INICIAL MUESTRA.- Fecha inicial del archivo fuente a partir de la cual

se realizará el análisis de desempeño.

(2) FECHA FINAL MUESTRA.- Fecha final del archivo fuente hasta la cual se

realiz.ará el análisis de desempeño.

(3) HORA PICO.- Es la hora con mayor tráfico en la interconexión dentro del rango de

FECHA INICIAL MUESTRA y FECHA FINAL MUESTRA.

(4) NOMBRE DE LA CENTRAL CELULAR.- Nombre usa.do para identificar a la

central telefónica celular.

(5) NOMBRE DE LA POBLACION.- Nombre usado para identificar a la población

con servicio de telefonía celular.

(6) NOMBRE DEL ELEMENTO.- Nombre del elemento constitutivo del sistema

celular.

(7) TIPO DE ELEMENTO.- Identificador usado para distinguir a los diferentes

elementos (RB-Radiobases, IX-Interconexión y DV-Dispositivo).

(8) NOMBRE DE LA RUTA.- Nombre usado en la central celular para identificar la

ruta.

(9) TIPO DE RUTA.- Tipo de la ruta (1-Entrante, O-Saliente, B-Bidireccional,

S-Software y H-Hardware).

(10) NDV PROY.- Número de dispositivos definidos en el proyecto de ingeniería.

(11) NDV OPER.- Número de dispositivos en operación reportados por las Gerencias

Técnicas de Operación y Mantenimiento.

46

Page 51: MAESTRO EN SISTEMAS DE INFORMACION s

(12) NDV REAL.- Número de dispositivos encontrados en el análisis de desempeño.

(13) TRAFICO REAL (ERL).- Valor promedio de tráfico en Erlangs encontrado en el

análisis de desempeño.

(14) H.O. INTENTOS.- Número de intentos de transferencia entre células Rhand off".

(15) H.O. COMPLETOS.- Número de transferencias entre células completados.

DEFINICIONES ADICIONAl-,ES NO INCLUIDAS EN LA BASE DE DATOS

(A) OBSERVACIONES.- Mensajes definidos para indicar alguna condición especial

entre los valores encontrados.

(B) CAPACIDAD REAL (ERL.).- Valor obtenido de la tabla de Erlang de acuerdo al

valor de NDV REAL.

(C) % DE OCUPACION.- Se define como el resultado de:

(TRAFICO REALJCAPACIDAD REAL)xlOO.

(D) % DE SATURACION.- Si el % DE OCUPACION > 100 entonces:

% DE SATURACION = %. DE OCUPACION - 100.

(E) % DE H.O. EXITOS.- Se define como el resultado de:

(H.O. COMPLETOS/ H.O. INTENTOS)xlOO.

(F) DATOS OPER.- Se define como: NOMBRE DE LA CENTRAL CELULAR + NOMBRE DEL ELEMENTO + TIPO DE ELEMENTO + NDV OPER.

(G) DATOS PROY.-Se define como: NOMBRE DE LA CENTRAL CELULAR + NOMBRE DEL ELEMENTO + TIPO DE ELEMENTO + NDV PROY.

(H) INFO PROYECTO.- Se define como: NOMBRE DE LA CENTRAL CELULAR

+ POBLACION + NOMBRE DEL ELEMENTO + TIPO DE ELEMENTO + NOMBRE DE LA RUTA + TIPO DE RUTA + NDV PROY.

47

Page 52: MAESTRO EN SISTEMAS DE INFORMACION s

(I) INFO. REAL.- Se define como: NOMBRE DE LA CENTRAL CELULAR + FECHA + HORA + NOMBRE DE LA RUTA + NDV REAL + TRAFICO REAL

+ H.O. INTENTOS + H.O. COMPLETOS.

48

Page 53: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITUW 5.- DISEÑO DEL SISTEMA

En este capítulo se presentan los resultados del diseño realizado para el sistema de

información para evaluar el desempeño de la red telefónica celular. El diseño se realizó

utilizando los diagramas de estructura para dos de sus partes que son el diagrama de

estructura del sistema y los diagramas para cada módulo, además se utilizó el enfoque

de base de datos para el almacenamiento y manejo de información que se describe en el

capítulo 3.

5.1 DIAGRAMAS DE ESTRUCTURA

En esta sección se presentan los diagramas de estructura obtenidos a partir del modelo

de proceso presentado en el capítulo· anterior. Como primer paso, se obtiene un

diagrama de estructura de ºprimer corteº al unir todos los módulos de más bajo nivel

en un sólo diagrama que se presenta en la figura 5.1, de una revisión del modelo se

decidio dividir el sistema en dos subsistemas diferentes, debido a que cada uno de ellos

presenta características particulares y que se describen más adelante.

49

Page 54: MAESTRO EN SISTEMAS DE INFORMACION s

U1 o

SADEC SISlEMA PARA B. ANAUSISI

DEL DESEMPEÑO CELULAR

1.1 CAMBIAR No.DISP.

77,, --r-·--"~-~ --·>e-~~;;;/~~\ ~ "::~\¿_._.: .. ·---

~ -----~~'.:- /,;>/ / ~ tt·--.;:~--~::-----_____ ~~ -~. ,:/' / '\. ~~-- -------- .,,-.,,- / ;, ''\ " - ···-. _ _ L.__ _\..._ __ . ~ -- ~--- ~--

:.!..- 1111 !;';~ 1111 ~ 11 !;';~ ~ ~ •• 1~ .. )[:.i.... _J [ ~:'

¡ 1 1 ~JL _____ 11D---j-~ ¡Di-1r-L;--~-i ____ 1 r~----J 3.2 IMPRI .. R REl'ORM2

~ u ~ u u u EXJRAEA ANALJSIS IMPRIMIR ANAUSIS • ¡ I IMPRIMIR tANAUSIS DATOS RUTAS___ _!IEP~~- DISPOSITIVOS_J REPORTE~ __ ¡ ca.u~

-~J L___J r--------1 [ -~ 5.2 1.1 1.2 1 IMPRIMIR ANAUSIS IMPRIMIR REPORTE REPORTE 3 INFRAESTR. L REPORTE 4 . _ INFRAESTft. ..J

FIGURA 5.1 DIAGRAMA DE ESTRUCTURA DE PRIMEA CORTE

Page 55: MAESTRO EN SISTEMAS DE INFORMACION s

SUBSISTEMA 1. MANTENIMIENTO A ARCHIVOS MAESTROS

1. En este subsistema se agruparon todos los módulos correspondientes al tratamiento

de información referida a los almacenamientos, como son: altas, bajas y cambios en los

diferentes archivos.

2. También se integraron los módulos que generan reportes a partir de alguno o varios

de los archivos.

3. Se adicionó un módulo para aceptar la entrada del menú, ya que mediante éste se

definirá con cuál de los módulos desea el usuario trabajar.

4. Todas las funciones agrupadas en este subsistema tienen la característica de

disponibilidad y acceso constantes, es decir, no tienen períodos específicos de tiempo

para su manejo, las actualiz.aciones ocurren en cualquier instante, así como la

posibilidad de obtener reportes en el momento deseado.

En la figura 5.2 se presenta el diagrama de estructura del subsistema.

51

Page 56: MAESTRO EN SISTEMAS DE INFORMACION s

1.1 CAMBIAR No.DISP.

FIGURA 5.2 SUBSISTEMA 1. MANTENIMIENTO A ARCHIVOS MAESTROS

·1 1 ::::ON _ I

~=M /, / i¡¡\~\~~"'~ ENTRADADE //; / I 1 \ ·"" ~ MENU y / / j \ ' _ '-,,

// . / / ! \ \ \ "'-' '"'·,, / 1 \ \ \ ',,, . '"

\ \ '\ I \ \~ '·, '"

2.3.1

1.2 IMPRIMIR REPORTE2

ALTA ELEMENTO

. \ \ . -, ~---\ ~ ~ • i ,.,.---------i ,..:;-

ALTA J I BAJA 1 [ ~!_~ ' I e.e. L__c.c. POBLACION

~-~----, 3.2 1 2.3.2 ~ 1

BAJA ELEMENTO

'CAMBIAR ! No. DISP. PROV.

IMPRIMIR Rl!PORTE2

52

2.2.2 IIAJA POBLACION

Page 57: MAESTRO EN SISTEMAS DE INFORMACION s

SUBSISTEMA 2. ANALISIS DE LA RED CELULAR

1. En este subsistema se agruparon todos los módulos correspondientes al análisis de la

red celular, como son: análisis de rutas, análisis de dispositivos, análisis de células,

análisis de infraestructura, etc ..

2. Lógicamente también se integraron los módulos que generan reportes relacionados

con los análisis realizados.

3. Al igual que en el primer subsistema se adicionó un módulo para aceptar la entrada

del menú, ya que mediante éste se definirá con cuál de los módulos desea el usuario

trabajar.

4. Las funciones contenidas en este subsistema tienen la característica de ser ejecutadas

periódicamente, normalmente en forma mensual, aunque pueden utilizarse cuando sea

necesario en situaciones especiales.

5. Para la operación de este subsistema es necesario contar con un archivo fuente

externo generado en la Central Celular que contendrá los datos reales a análizar en

cierto período.

En la siguiente página se presenta el diagrama de estructura del subsistema (figura 5.3).

53

Page 58: MAESTRO EN SISTEMAS DE INFORMACION s

4.1 l!XTllAER DATOS

4.7 IMPRIMIR REPORTE7

FIGURA 5.3 SUBSISTEMA 2. ANALISIS DEL DESEMPEÑO

~~] l!NRIITAR

OPERACION

DEANAUSIS

\::. ""'

4.3 IMPRIMIR REPORnS

\ \:""-\ ' "

\ \ "· " \ \\ \ """~~ \ \~~', \ \ '\, '~

: ' ,, ""' \ \ \. ' ' . ' ~

1

4A- 4.s \ ,~I ~ •. -, ._______, ANAUSIS IMPRIMIR _ 1 ANAUSIS

! DISPOSITIVOS REPORTE _!_J CEWLAS

1

r---~-~ 1

1 5.1 I CALCULAR

PARAMETROS

5.2 IMPRIMIR REPORTE3

54

1,1 ANAUSIS INFRAESTII.

8.2 IMPRIMIR REPORTE4

Page 59: MAESTRO EN SISTEMAS DE INFORMACION s

5.2 DIAGRAMAS DE CADA MODUW

En esta sección se presentan los diagramas correspondientes a cada módulo, indicando

sus procesos principales y las transferencias de información entre sus partes.

ANALISIS DE TRANSFORMACION

Mediante el análisis de transformación se logra convertir en diagramas de estructura

cada parte del diagrama de flujo de datos. Esto nos permite obtener sistemas bien

balanceados que son más fáciles de desarrollar y mantener, al centrar el análisis en las

transacciones.

En la figura 5 .4 de las siguientes páginas se muestran los diagramas obtenidos para

cada módulo de los dos subsistemas involucrados.

55

Page 60: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 5.4 DIAGRAMAS DE ESTRUCTURA DE CADA MODULO

EN RUTAR OPERACION MTO.

' r-- -'----------¡ J 1.1 : . CAMBIAR [

No. DISP I OATOSOPER

OATOSOPE~

~MSJ

MSJ f j ce

b ' ~ MSJ

ACEPTAR DATOSOPER.

LEER ~ INFO i

ACTUALIZAR INFO. DE ELEMENTOS

ACEPTAR e.e.

ce I ~----_J

ENRUTAR OPERACION MTO

EN RUTAR OPERACION MTO. -¡

1.2----i IMPRIMIR REPOltíE 2

1

lí 2.1.1

ALTA L e.e. -!-·-~,~

ce ,::;1))MSJ "1\ ce d¡~' MSJ O \4,

IACEF.PT~--~11 1 ACTU~LIZAfil I e.e. , INFO ¡ L____ _____ ) ~.c. ,

EN RUTAR OPERACION MTO

2.1.2 l BAJA I ~ e.e. -~e

e~ ,,/; \\'\ 7/ ¡ce. MSJ 'o\~·C LEER INFO. ELEMENTOS

56

LEER INFO POBLACIONES

ACTUALIZAR INFO. DE e.e.

Page 61: MAESTRO EN SISTEMAS DE INFORMACION s

ACEPTAR POBLACION, e.e.

EN RUTAR OPERACION MTO.

-------,-

1 ~-- -, 2.2.1 ALTA POBLACION

LEER INFO e.e.

¡

ENRUTAR OPERACION MTO.

r-:-:------1 2.2.2 1

BAJA POBLACION

~c?1MSJ ~= ACEPTAR! 1 ACTUALIZAR POBLACION I INFO

l , ! POBLACION

EN RUTAR OPERACION MTO. ¡-2.3.1 ALTA

I ELEMENTO

,---~----,

i ACTUALIZAR INFO. DE POBLACION

NFO. ELEMENTO

~ INFO.~

y-OMSJ

ACEPTAR INFO. ELEMENTO

LEER e.e.

57

ACTUALIZAR ELEMENTO

Page 62: MAESTRO EN SISTEMAS DE INFORMACION s

ENRllTAR OPERACION MTO. ---i--

i r-2.3.2--i I BAJA f

ELEMENTO '

\~ CC , NOMELEM

M.5.1 "B \ ACEPTAR ÍACTUAUZAR C.C., NOMELEM[ 1 ELEMENTOS

~--~ L ___ ~

ACEPTAR DATOS PROV.

ENRUTAR OPERACION MTO.

1

3.2 IMPRIMIR REPORTE2

ENRllTAR OPERACION MTO.

3.1 CAMBIAR No. DISP. PROY

4 ? MSJ ! 1 ce

bit . ¡LEER

1 ~;º· i e.e.

58

OATOSPROY

~ MSJ ~ --~

i ACTUALIZAR I 1 ~~~<?~-­~TOS I

EN RUTAR OPERACION MTO.

1.7

REPORTE INFRAESTR.

Page 63: MAESTRO EN SISTEMAS DE INFORMACION s

EN RUTAR OP. ANA.

4.1 EXTRAER DATOS

INFO.R~

~S.J

LEER ARCHIVO FUENTE

EN RUTAR OP. ANA.

1

4.2 ANALISIS RUTAS

EN RUTAR OP.ANA.

1

4.5 IMPRIMIR REPORTES

LEER PARAMETROS

LEER ELEMENTOS

EN RUTAR OP. ANA.

4.3 --i

IMPRIMIR REPORTES

EN RUTAR OP. ANA.

1

4.6 ANALIBIS CELULAS

59

LEER POBLACIONES

EN RUTAR OP. ANA.

1

4.4 ANALISIS DISPOSIT.

EN RUTAR OP. ANA.

1

4.7 IMPRIMIR REPORTE 7

Page 64: MAESTRO EN SISTEMAS DE INFORMACION s

INFO.R~

~SJ

LEER ARCHIVO FUENTE

INFO.R~

MSJ

5.1

ENRUTAR OP. ANA.

CALCULAR PARAMETROS

MSJ 11 NOMfüM.

~----'--·--,

LEER I ELEMENTOS

EN RUTAR OP. ANA.

1

5.2 IMPRIMIR REPORTE 3

EN RUTAR OP. ANA.

6.1 ANALISIS INFRAESTR. REAL

LEER LEER

~ETROS

~ MSJ

ACTUALIZAR PARAMETROS

LEER ARCHIVO FUENTE

POBLACIONES ELEMENTOS LEER PARAMETROS

EN RUTAR OP. ANA.

1

8.2 IMPRIMIR REPORTE4

60

Page 65: MAESTRO EN SISTEMAS DE INFORMACION s

S.3 BASE DE DATOS

En esta sección se presenta la Base de Datos para el sistema SADEC.

DEFINICION DE LA BASE DE DATOS

A partir del modelo de información presentado en la sección 4.3 se deriva el diagrama

de base de datos que se presenta a continuación (figura 5.5).

Pil.lMIROS .HWSIS

FlG. 5.5 DIAGRAMA DE LA BASE DE DATOS.

61

Page 66: MAESTRO EN SISTEMAS DE INFORMACION s

La base de datos se desarrollo siguiendo el modelo de una BASE DE DATOS

RELACIONAL, debido a que presenta las siguientes ventajas:

- Puede ser entendida fácilmente por los usuarios.

- Es posible ampliar la base de datos sin modificación de la estructura lógica.

- Permite la máxima flexibilidad en la formulación de interrogantes de forma no

prevista.

La base de datos relacional está constituída por tablas o relaciones que provienen de la

normalización de archivos planos bidimensionales [MARTIN 1989].

Las entidades del modelo de información se representan en forma tabular (archivos), y

se organizan de forma tal que no se pierda ninguna de las relaciones existentes entre

datos.

Los archivos, sus llaves primarias (indicadas con *), sus llaves secundarias (llaves de

otros archivos indicadas con **) y los campos que conforman la base de datos se

presentan a continuación:

ARCHIVO: CENTRAL CELULAR TIPO DE DATOS

LLAVE Y CAMPO: NOMBRE DE LA CENTRAL CELULAR CHAR(l5)

ARCHIVO: POBLACIONES

LLAVE: * NOMBRE DE LA POBLACION CHAR(l5)

CAMPO: ** NOMBRE DE LA CENTRAL CELULAR CHAR(l5)

62

Page 67: MAESTRO EN SISTEMAS DE INFORMACION s

ARCHIVO:

ILAVE:

CAMPOS:

ARCHIVO:

LLAVE:

CAMPOS:

PARAMETROS DE ANALISIS

* FECHA

FECHA INICIAL DE MUESTRA

FECHA FINAL DE MUESTRA

HORA PICO

ELEMENTOS

* NOMBRE DE LA RUTA

** NOMBRE DE LA CENTRAL CELULAR

** NOMBRE DE LA POBLACION

NOMBRE DEL ELEMENTO

TIPO DE ELEMENTO

TIPO DE RUTA

NDV PROY.

NDV OPER.

NDVREAL

TRAFICO REAL

H.O. INTENTOS

H.O. COMPLETOS

63

DATE

DATE

DATE

NUM(2.0)

CHAR(15)

CHAR(15)

CHAR(15)

CHAR(l5)

CHAR(l)

CHAR(l)

NUM(5.0)

NUM(5.0)

NUM(5.0)

NUM(5.2)

NUM(8.0)

NUM(S.O)

Page 68: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITULO 6.- DFSARROLW DEL SOFfW ARE

En este capítulo se presentan los resultados del desarrollo del software realiudo para el

sistema de información que evalúa el desempeño de la red telefónica celular. El

desarrollo del software se realizó en lenguaje de programación C, utilizando el

compilador Borland C bajo el sistema operativo MS-DOS, ya que se evaluó como el

más adecuado para la aplicación.

Se eligió el lenguaje C debido a las siguientes consideraciones :

a) Es un lenguaje estructurado y fácil de modificar.

b) Actualmente se desarrollará en sistema operativo MS-DOS, pero a mediano plazo se

piensa migrar hacia una computadora V AX, bajo el sistema operativo VMS. Mediante

el lenguaje C se puede lograr una fácil transición.

c) El 70% del personal tiene conocimientos adecuados del lenguaje, lo que representa

una inversión mínima en capacitación.

d) La Compañía cuenta actualmente con el compilador de C.

Se presentan los formatos de las pantallas, reportes, así como algunas consideraciones

para el diseño de programas y de módulos.

6.1 FORMATO DE PANTALLAS

En esta sección se presenta el formato de las pantallas correspondientes al menú

principal y demás pantallas relativas a cada subsistema y módulo. En las siguientes

hojas se puede encontrar los impresos de las pantallas (figura 6.1).

64

Page 69: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 6.1 FORMATO DE PANTALLAS

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPEijO CELULAR

1. MANTENIMIENTO A ARCHIVOS MAESTROS

2. ANALISIS DE LA RED CELULAR

SELECCIONA

ESC SALIR

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPE~O CELULAR

MANTENIMIENTO A ARCHIVOS MAESTROS

1. ACTUALIZAR DATOS DE PROYECTO

2. ACTUALIZAR NUMERO DE DISPOSITIVOS

3. REPORTE DE INFRAESTRUCTURA

SELECCIONA

ESC SALIR

65

Page 70: MAESTRO EN SISTEMAS DE INFORMACION s

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPEÑO CELULAR ·

ANALISIS DE LA RED CELULAR

1. DETERMINAR PARAMETROS DE ANALISIS

2. ANALISIS DE DESEMPE~O

3. ANALISIS DE INFRAESTRUCTURA

SELECCIONA

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPEÑO CELULAR

ACTUALIZAR DATOS DE PROYECTO

1 ALTA DE CENTRAL CELULAR

2 BAJA DE CENTRAL CELULAR

3 ALTA DE POBLACION

4 BAJA DE POBLACION

5 'ALTA DE ELEMENTO

6 BAJA DE ELEMENTO

SELECCIONA

F1 HELP

66

ESC SALIR

ESC SALIR

l f ~ 1

t

Page 71: MAESTRO EN SISTEMAS DE INFORMACION s

F 1 HELP

F1 HELP

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPE~O CELULAR

ACTUALIZAR NUMERO DE DISPOSITIVOS

CAMBIAR NUMERO DE DISPOSITIVOS PROYECTADOS

2 CAMBIAR NUMERO DE DISPOSITIVOS OPERANDO

3 IMPRIMIR REPORTE DE CAMBIOS EN LA INFRAESTRUCTURA

SELECCIONA

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPE~O CELULAR

IMPRIMIR REPORTE DE INFRAESTRUCTURA

1 REPORTE A PANTALLA

2 REPORTE A IMPRESORA

SELECC::.:ONA

67

ESC SALIR

ESC SALIR

Page 72: MAESTRO EN SISTEMAS DE INFORMACION s

SADEC

SISTEMA PARA ÉL ANALISIS DEL DESEMPEijQ CELULAR

DETERMINAR PARAMETROS DE ANALISIS

1 DETERMINAR LA HORA PICO DEL SISTEMA

SELECCIONA

F1 HELP ESC SALIR

SADEC

SISTEMA PARA EL ANALISIS DEL DESEMPE~O CELULAR

ANALISIS DE DESEMPEijO CELULAR

1 ANALISIS DE RUTAS LSR

2 ANALISIS DE DISPOSITIVOS QSR

3 ANALISIS DE PARAMETROS EN CELULAS

SELECCIONA

F1 HELP ESC SALIR

¡

68 ,J:' . . ,,:-: :. : . ·~,- .

Page 73: MAESTRO EN SISTEMAS DE INFORMACION s

6.2 FORMATO DE REPORTES

En esta sección se presentan los formatos de los reportes generados por el sistema.

SUBSISTEMA l. MANTENIMIENTO A ARCIDVOS MAESTROS

En base a los módulos obtenidos en el capítulo anterior se genera el reporte de

infraestructura, cuyo formato se presenta en la figura 6.2 de la siguiente página.

69

Page 74: MAESTRO EN SISTEMAS DE INFORMACION s

FIGURA 6.2 REPORTE DE INFRAESTRUCTURA

T ABI-4. DE INFRAESTllUC11.JRA

FECHA: 14-09-91

REGION I BAJACALIFORNIA

DISPUR

TUUANA MTX-TUI IX CALD _PIOPICO PIOBO o 120 120 TUUANA MTX-TUl IX CALD _PIOPICO PI<>BI 1 120 120 TUUANA MTX-TUl IX MDTIENDAOUT MDBO o 30 30 TUUANA MTX-TUl IX MDTIENDAIN MDBI 1 30 JO TUUANA MTX-TIJl RB ALTAMIRA_B BNALO B 45 45 ENSENADA MTX-TIJl RB BAHIA_O BNBAO B 30 JO MEXICAU MTX-TIJl RB BAJA_ CALIF._ 0 BNBCO B lS IS TUUANA MTX-TUI RB FLORESTA_& BNFI.D B o o MEXICAU . MTX-TIJI RB GZU._ORTEGA_O BNGOOB 7 7 TUUANA MTX-TUl RB LIBERTAD_B BNUO B 31 31 TUUANA MTX-TUI RB MIRADOR_B BNMJO B IS IS TUUANA MTX-TUI RB OTAY_B BNOTO B 37 37 TUUANA MTX-TIJI RB PI-4.YAS_B BNPLO B 14 14 TUUANA MTX·TUI RB PRESA2_A BNPRA B 7 7 TUUANA MTX-TUl RB PRESA2_C BNPRC B lS IS TUUANA MTX-TUI RB PRESA2_0 BNPRO B o o TUUANA MTX-TUI RB R.OSARITO_O BNllOO B 14 14 TUUANA MTX-TUl RB R.UBI_B BNRUOB 7 7 MEXICAU MTX-TIJI RB VIST A_HERMOSA BNVHOB 13 13 TUUANA MTX-TIJI H COR COR B 2SOO 2SOO TUUANA MTX-TUI H CL CL B 2SOO 2SOO TUUANA MTX-TUI H COF COF B 20 20 TUUANA MTX-TUI H CR.E CR.E B 20 20 TUUANA MTX-TUI H PD PD B 900 900 TUUANA MTX-TUl H RE RE B 200 200 TUUANA MTX-TUl H SCR SCll B 80 80 TUUANA MTX-TUl IX ASOO ASOO B 16 16

DISPQSR

TUUANA MTX-TUl DV CODE_SENDER CS4 o 16 16 TUUANA MTX-TUl DV CODE_RECEIVER CR.4 1 8 8 TUUANA MTX-TUI DV CR.4T CR.4T 1 o o TUUANA MTX-TIJl DV CS4T CS4T o o o

INTERCONEXION

PIOBO PIOBI

70

Page 75: MAESTRO EN SISTEMAS DE INFORMACION s

SUBSISTEMA 2. ANALISIS DE LA RED CELULAR

En base a los módulos obtenidos en el capítulo anterior se generan los reportes de rutas

LSR, reporte de dispositivos QSR, reporte de principales parámetros en células y el

reporte de análisis de infraestructura, cuyos formatos se presentan en la figura 6.3.

71

Page 76: MAESTRO EN SISTEMAS DE INFORMACION s

PI 1, l 1.111 t J JI.IIUHI

DIA', rROCESf1LllJ5: 910902 910905 910906

HORA PICO DEL SISTEMA: 11 : O O

HORA • 1100 SUMATORIA TRAFFPROHS DE RUTAS DE INTERCONEXION CON LA RPT . 42.63 SUMA CAPACIDAD REAL RBs ( ERU 174 .12 SUMA TRAFICO RfAL RBs ( ERL) . 44.76

POBLAC ION NOMBRE RUTA TIPO No. DISP. CAPACIDAD TRAFICO OCUP. ANBLO NBIDS MHTIHE SAT.

ELEMENTO REAL REAL(ERLl REAL ERL I¡ PROM PROM <SEG) I¡

TI JUANA CALD_PIOPICO PIOBO o 120 92.96 25.57 27.50 º·ºº 1290 71.20 O.DO

TI JUANA CALO PIOPICO PIOBI I 120 92.96 17. 07 18.36 0.00 1236 49.70 0.00 TI JUANA MDTIENDAOUT MDBO o 30 16.68 0.57 3.40 1. 43 75 28.53 0.00 TI JUANA MDT IENDAIN HDBI 1 JO 16.68 0.13 0.80 1 . 4 J 26 14. 13 º·ºº TI JUANA RE RE 200 0.00 J.83 0.00 -1 . 00 27611 S.03 0.00 TI JUANA CRE CRE 20 0.00 º·ºº 0.00 -1.00 o 0.00 0.00 TI JUANA 5CR SCR 80 0.00 0.00 0.00 -1.00 24 0.00 0.00 TI JUANA CDR CDR 2500 0.00 39. 43 0.00 -1.00 2562 55.40 0.00 TI JUANA CL CL 2500 0.00 40.07 0.00 -1. 00 1996 72.27 0.00 TI JUANA cor cor 20 0.00 0.00 0.00 -1.00 2S 0.00 0.00

-.J TI JUANA PD PD 900 0.00 0.00 0.00 -1.00 2562 0.00 0.00 I\J TI JUANA ASOO ASOO 16 6.72 1. 37 20.33 0.00 532 9.50 o.oo

TI JUANA Al TAHIRA_B BNALO 45 35.61 13. 26 J!. 24 2.60 742 64.06 0.00 [NSENADA BAHIA O BNBAO 29 21.04 0.23 1.11 20.67 14 33. 17 0.00 M[XICALI BIIJA._CAL IF. o BNBCO 23 1 5. 76 0.00 0.00 46.00 18 0.00 0.00 ME XICALI GZLl. ORTEGA_O BNGOO 7 2.94 0.27 9.08 5.87 Je 25.63 º·ºº TI JUANA LIBERTAD B BNLIO 31 22. 83 0.00 0.00 62.00 o º·ºº 0.00 TI JUANA HIRADOR_B BNHIO 15 9 .. 0.1 1. 00 11. 10 3.53 242 16.50 0.00 TI JUANA OTAY_B BNOTO 37 28.25 15. 4 7 54. 74 16.53 772 72. 37 0.00 TI JUANA PLAYAS_B BNPLO 14 8.20 1. 37 16.67 2.80 61 81. 17 0.00 TI JUANA PRESA2 A BNPRA 7 2.94 2. 17 73.81 0.00 76 101. 27 0.00 TI JUANA PRESA2-C BNPRC 15 . 9.01 5.33 59.20 2.27 312 61. &7 o.oo TI JUANA ROSARITO_O BNROO 14 8.20 2.67 32.52 O .13 103 92.47 0.00 TI JUANA RUBI_B BNRUO 7 2.94 2.83 96.52 O. 13 358 29.90 0.00 HEXICALI YISTA_HERHOSA BNYHO 13 7. 40 O. 17 2.25 1. 33 9 84.57 0.00

FIGURA 6.3 REPORTES CORRESPONDIENTES AL ANALISIS DE LA RED CELULAR

Page 77: MAESTRO EN SISTEMAS DE INFORMACION s

-.J w

REGION: TIJUANA

REPORTE DE DISPOSITIVOS POR HORA PARA CADA UNA

DE LAS RUTAS PROCESADAS LOS DIAS : 910902 910905 910906

HORA• 1100

NOMBRE RUTA TIPO No. DISP. CAPACIDAD ELEMENTO REAL REAL< E AL> CODE_SENDEA CS4 o 16 6 . 72 CODE_RECEIVER CR4 I 8 2 . 05 CRH CR4T I o 0.00 CSH CS4T o o 0.00

TRAFICO OCUP. SAT. NBIDS NBIDSQ MHTIME MQTil'IC REAL ERL ' ' PROM PROM PROM PROH

2 . 31 35.21 0.00 13115 o 6.2] 0 . 00 1 . 40 68.25 O.DO 1259 o 4 . 00 0 . 00 O. DO 0.00 º·ºº o o O. DO 0.00 O. DO o.oo º·ºº o o 0 . 00 0.00

Page 78: MAESTRO EN SISTEMAS DE INFORMACION s

PR!NCIPAL[S PARAMETROS [N CELULAS REGION: T lJUANA rECHA: 910906 HORA : 1100

RADIOBASE REGISTRO INTENTOS DE LLAMADA ASIGN. DE V.C. POBLACION NOMBRE RUTA No. DE No. DE \REGS. ORIOIN. TERMIN. ACCESOS No. DE \ ASIGN.

ELEMENTO INTENTOS CONFIRM. 01( DIR RETRY AS ION. OK TI JUANA ALTAMIRA_B BNALO 1337 1)37 100 453 147 2 590 98 ENSENADA BAHIA_O BNBAO 114 114 100 39 J o 34 80 MEXICRLI BAJA CALI F. O BNBCO o o o o o o o o M[XICALI GZLZ~_ORTEGA_O BNOOO 121 121 100 59 2 o 56 91 TIJUANR LIBERTRD_B BNLIO o o o o o o o o TI JUANA MIRADOR_B BNMIO 145 145 100 25 10 o 32 91 TI JUANA OTAY B BNOTO 1704 1704 100 482 178 o 636 96 TI JUANA PLAYAS e BNPLD 160 180 100 40 13 o 52 98 TI JUANA PRE5A2-A BNPRA 144 144 100 83 19 o 101 99 TI JUANA PRESA(::c BNPRC 758 758 100 194 89 o 268 94 TI JUANA ROSARITO_D BNROO 397 397 100 75 52 o 126 99 TJJURNA RUBI_B BNRUD 5611 566 100 113 35 o 151 84 MEXICALI VISTA_HERMOSA BNVHO 42 42 100 3 o 1 3 75

-.J DIR. RETRY HRND-OHS CLRNO

""' No.DE D.R. "DE D.R. DRI INTENTOS. E X ITOS \01( \OK LLAMADAS PERDIDAS OK OK IN OUT IN OUT IN OUT PERDIDAS \

2 100 o 171 78 156 69 91 88 39 6 o no Intentos o o o o .o o o 1 2 o no intentos o o o o o o o o o o no intentos 1 2 1 1 4 50 57 o o o no intentos o o o o o o • .o o o o no intentos o 22 15 15 11 68 73 4 12 o no intentos o 75 107 72 97 96 90 21 J o no intentos o o 1 o o o o 3 s o no intentos o 1 7 1- 7 100 100 a 7 o no intentos o o 43 o 42 o 97 18 6 o no intentos o o 2 o 1 o 50 11 8 o no Intentos 4 98 114 89 106 90 92 10 6

100 o 7 2 4 1 57 so o o

Page 79: MAESTRO EN SISTEMAS DE INFORMACION s

ANALISIS DE INfRAESTRUCTURR IIAL tDRC ION DC AUTRS l ·SA

1-tDRA • 0000 AUTA NDV JNfllA . NI)\/ ,.UESTRR

1-tORA º'ºº RUTA NDII INfRA . NDII MUESTRA

1-tORA 0200 RUTA NDII INfllA . NDII MUESTRA

1-tORA e 0300 RUTA NDII INfRA. NDII MUESTRA

1-tORA • 0400 RUTA ND\I INFRA . NDII MUESTRA

1-tORA • 0500 RUTA NDV INFRA. NDII l'IUCSTRA

HORA • 0600 RUTA NDII INFRA. NDII l'IUESTRA

HORA • 0700 RUTA NDV INFRA . NDII MUESTRA

"40RA . ºªºº ltUTA NI)\/ INFRA . NDII l'IUESTRA

HORA • 0900 RUTA NDV INFIIA . NDY "U[STRA

1-tORA e 1000 RUTA NDII lNfllA . NDY MUESTRA

HORA 1100 RUTA NDII INFRA . NDY l'IUESTRA

HORA • 1200 RUTA NDII INFRA. NDII MUESTRA

1-tORA 1)00 IIÚTR NDV INFIIR . NDII MUESTRA

1-tOIIA , 1400 RUTA NDV INFRA . NDII MUESTRA

HORA 1500 RUTA NDV lNFRA . NDII MUESTRA

HORA • 1600 RUTA NDV INFIIA . NDII MUESTRA

HORA 1700 RUTA NDV INFRA . NDII "UESTRA

1-tORA • 1800 RUTA NDV INFRA . NDII "UESTRA

HORA 1900 RUTA NDV INFRA . NDII "UES!RA

HORA 2000 RUTA NDII INFRA . NDII NUESTRA

HORA • 2100 IIUTA NDII INFRA. NDY "UESTRA

HORA• 2200 IIUTA NDY INFRA . NDII "UESTRA

HORA a 2300 RUTA NDII INFRA. NDV ltUESTRA

75

Page 80: MAESTRO EN SISTEMAS DE INFORMACION s

6.3 DISEÑO DE MODULOS

El diseño de módulos consiste en lograr un balance. Algunos de los procesos son

pequeños, pero el tener demasiados módulos pequeños dificulta el mantener un control

de los mantenimientos. Algunas veces demasiadas llamadas a una rutina causarán

tiempos de respuesta inaceptables. Por lo anteriormente expuesto, es necesario

balancear entre módulos excesivamente pequeños y módulos excesivamente grandes.

También es necesario considerar que la aplicación correrá en una PC.

El método usado para realizar el diseño de módulos es el análisis de procedimientos,

que consiste en realizar decisiones de agrupamientos basándonos en las características

de los procesos. Para este sistema se consideró a los procesos que se ejecutan en

secuencia para ser agrupados en módulos. También los procesos que se ejecutan juntos

se agruparon en un sólo módulo, se revisó que el código generado por cada módulo no

fuera demasiado largo, logrando también una alta cohesión y bajo acoplamiento entre

los módulos.

En la figura 6.4 se muestran los diagramas de agrupamientos en módulos para los dos

subsistemas generados en el programa SADEC.

76

Page 81: MAESTRO EN SISTEMAS DE INFORMACION s

'3 '3

..... ~ ¿ ...

,., ~ No.DIP

:lli: LEER INRI ce

3.1 (:-,¡

Mo.119'.PIIIJ't.

:111: LEEII IIFCI. e.e.

3.2 -IIEPOIITEZ

SUBSISTI:MA 1. MANTBINENTO A ARCHIVOS MAESIBOS

LEEII N'O. ElBIEHltlB

ENRUTAA OPERACION MTO.

,~ 1

KB'fAR e.e.

.-----------·-

FIGURA 6.4 AGRUPAMIENTO EN HODULOS

·---1

LEBI e.e.

~o.e.-

ACEPTAR 1 1 AC1UAUZAR c.c..- a.senm

~

Page 82: MAESTRO EN SISTEMAS DE INFORMACION s

1 i <

¡-... 1

7.8

:-·--------·-·¡

! Ji¡ . .

. . .

. .

----_, _______ .

. .

; ~--------------j

Page 83: MAESTRO EN SISTEMAS DE INFORMACION s

,ii

• "1 ¡ i .. i i

7.9

Page 84: MAESTRO EN SISTEMAS DE INFORMACION s

.. ~li .

... :

... 11 ~ill

,li

. .

. -----------------------------------------------. ---------------------------------·----------

ijO

,1 .,•;

.

:$}#[-.;;-,~: ·,,-.,.,;;'¡.· ,· ..

L, .. ·r)'·,;;;•

, , ._',<

··•--u

-••

• •

•··"

'••• ... ,

_ . ._

••,·••

'••••

• •

• ··-···---·------·

~--

Page 85: MAESTRO EN SISTEMAS DE INFORMACION s

6.4 DISEÑO DE PROGRAMAS

El diseño de programas consiste en decidir que módulos incluir en cada programa.

Existen algunas consideraciones importantes para realiz.ar esta actividad. Como regla

general, los programas están separados en archivos permanentes, pero existen otras

consideraciones. Si algún proceso puede ser ejecutado al mismo tiempo que otro

proceso, agruparlos en diferentes programas puede reducir la eficiencia de

procesamiento. Algunas veces los procesos se codifican en diferentes programas debido

a consideraciones de respaldo y recuperación o por seguridad.

El subsistema de mantenimiento a archivos maestros es relativamente pequeño y usa

pocos almacenamientos, por lo que se decidió codificarlo en un sólo programa.

Para el subsistema de análisis de desempeño se consideró adecuado dividirlo en tres

programas, uno con el cálculo de parámetros, otro con el análisis de rutas, dispositivos

y células, y el tercero con el análisis de infraestructura. Lo anterior debido a la

magnitud de los c6digos generados.

El dimensionamiento del programa puede ser analuado mediante dos formas

significativas. la primera son los meses/hombre que para este sistema actualmente se

han invertido 3 meses/hombre únicamente para la programación, estando en proceso

algunos módulos finales para presentación y optimiz.ación de funciones que se estima en

otros 2 meses/hombre en la programación y pruebas. la segunda forma de conocer la

dimensión del programa son las lfueas de c6digo finales en donde se tienen actualmente

7 ,500 líneas, estimando que finalmente tendrá un total de 11,000 líneas de c6digo.

81

Page 86: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITUW 7.- RFSULTADOS OBTENIDOS

En este capítulo se presentan los resultados que se tienen al usar el sistema de

información que evalúa el desempeño de la red telefónica celular. También se presenta

el desarrollo de un módulo adicional que comprende el apoyo a toma de decisiones.

7.1 APLICACIONES DEL SISTEMA SADEC

En esta sección se presentan los reportes mensuales que se generan con el Sistema

SADEC, el reporte de tráfico se presenta mensualmente a las áreas operativas y de

ingeniería, así como a la Dirección Técnica. En las siguientes figuras se muestra el

reporte y cada una de sus partes con una explicación.

REPORTE MENSUAL DE TRAFICO

PORTADA Y TABLA 1

En la figura 7 .1 se muestra la portada y en la figura 7 .2 la tabla 1. -Tráfico en la

Interconexión Telcel-RPT, que contiene el análisis de las rutas de entrada y salida hacia

la red pública telefónica. Se muestran las poblaciones donde se encuentran, la

descripción de las rutas, su clave, tipo y el número de dispositivos que las conforman.

El programa calcula la capacidad en Erlangs, obtiene el tráfico real, el porcentaje de

ocupación, los dispositivos bloqueados, el número de llamadas que manejan, el tiempo

promedio de ocupación (MHTIME) y en casotnecesario la saturación que presentan.

También se presenta la suma total de éstos parámetros.

82

Page 87: MAESTRO EN SISTEMAS DE INFORMACION s

RADIO MOVIL DIPSA

GERENCIA DE INGENIERIA CELULAR METROPOLITANA

DEPARTAMENTO DE ING. DE TRAFICO Y CALIDAD DE SEriV11,;iQ

. REPORTE DE TRAFICO DE LA REGION 9 IMEXICOJ

SEMANA DEL 05 AL 09 DE OCTUBRE DE 1992

DIT/ 263/92 FECHA: OCT. 16, 1992 .

FIG. 7.1 PORTADA DEL REPORTE DE TRAFICO. 83

Page 88: MAESTRO EN SISTEMAS DE INFORMACION s

~ :-,l N

~ 'Tl ..... \.) o ~

f s:

1 ~ o z

.~

.~ ·~

KTX: "EXICO FECHA DEL KUESTREO: Del 921005 al 921009 HORA: 1300

TABLA 1.- TRAFICO EN LA INTERCONEXION TELCEL-RPT:

VALORES PROMEDIO

POBLACION DESCRIPCION DE CLAVE TIPO NlMERO CAPACIDAD TRAFICO X DE LAS RUTAS RUTAS RUTA DISPOS ERLGS ERLGS OCUPAC.

CUERNA CALO BORDA CUCLOI 1 30 16.68 2 .40 14 .39 CU[RNA CALD-80ROA CUCLDO o 30 16. 68 10.04 60.18 HEXICO AKEOUT ESAKEO o 30 · t6.68 11.86 71.09 HEXICO CALO ESTRELLA ESCLDD o 210 174.84 134 .16 76. 73 HEXICO PADI~ ESTRELLA ESPOI 1 450 400. 49 342. 7Z 85.58 HEXICO CALO lloRALES HOCLOO o 150 119 .94 90. 26 75.25 HEXICO CALD-SANJUAN SJCLDO o 90 66.48 49.18 13 .91 MEXICO TAND[M etll.HUAC. TDCLO o 120 92 .96 · 44.BO 47 .98 HEXICO TANDEH-NEXTENGO TDNXO o 120 92 .96 66.96 72.03 HEXICO TANDEH-POPO TOPPO o 150 119. 94 93.56 78.01 HEXICO TANDEH-ROMA TOADO o 90 66.48 56.88 85.55 HEXICO TANOEM-SANJUAN TDSJO o 90 66.48 73.34 110.31 HEXICO TANDEH-VALLEJO TDVLO o 60 40. 79 36.80 90.21 HEXJCO CALO V:lLLEJO VLCLDO o 60 40. 79 31. 02 76 .04 TOLUCA CALO-NEVADO TOCLDI 1 30 16.68 2 .20 13 .19 TOLUCA CAL(NEVAOO TDCLDO o 30 16.68 9.82 58.86

TOTALES: 1 1740.00 1365.601 1055.801 77 .31

DISTRIBUCION DEL TRAFICO: 32.90 porc. ENTRANTE: 347.32 Erlang1

HHT PROM. DE LLAMADAS

67.10 porc. SALIENTE: 708.48 Erlanga

ENTRANTES: SALIENTES:

49.59 seg. 61.07 seg.

DISPOS. NIJ4ERO MHTIHE BLDQ. INTENTOS SEG.

0.06 189 46.00 0.00 612 59.46 0.00 280 153.04 0.80 8134 59.46 2.88 24879 49.60 0.00 5401 60.20 O.S4 3221 55.18 0.00 2559 83.04 o.oo 3875 62.26 0.74 5660 59.60 0.34 3159 84.74 0.24 4558 60.02 0.00 2207 59.96 D.00 1739 64 .16 0.02 153 52. 04 O.DO 571 62 .98

5.621 67197.ol 64.48

X DE SATURAC.

o.oc 0.00

º·ºº O.DO 0.00 0.00 O.DO 0.00 0.00 0.00 0.00

ID.JI 0.00 O.DO 0.00 0.00

o. 00

Page 89: MAESTRO EN SISTEMAS DE INFORMACION s

TABLA 2

En la figura 7.3 se muestra la tabla 2.-Tráfico en Dispositivos CR y CS, que se refiere

a los dispositivos receptores y transmisores de código, que realizan la señalización para

comunicación entre centrales telefónicas.

El análisis realizado en estos dispositivos es similar al de la tabla 1, con la

particularidad de que su tiempo de ocupación es de pocos segundos, ya que sólo

intervienen en el proceso de conexión y una vez enlazada la trayectoria de voz se

liberan y pueden ser usados para otra llamada.

TABLA 3

Esta tabla muestra el Tráfico en rutas adicionales (figura 7.4). Contiene rutas hacia: el

buzón de voz (Voice Mail), el conmutador de atención a clientes (MDENBO), la

máquina de mensajes (ASCMOO) que son dispositivos de salida de la central celular, las

demás rutas son bloques de software con funciones específicas, cuyo único valor a

considerar es el número de intentos de llamada que manejan. El análisis se realiza en

forma similar a las tablas 1 y 2.

85

Page 90: MAESTRO EN SISTEMAS DE INFORMACION s

:!J p ....;¡ ~

~ o 00

~ °' ~ "ti o Cll

~ o Cll

n ~

-< n Cll

IIITX: MEXICO FECHA DEL MUESTREO: Del 921005 al 921009 HORA: 1300

TABLA 2.- TRAFICO EN DISPOSITIVOS CR Y CS:

VALORES PROMEDIO

POBLACION OESCRIPCION OE CLAVE TIPO NIMERO CAPACIOAO TRAFICO I DE OISPOS. NlMRO LAS RUTAS RUTAS RUTA DISPDS ERLGS ERL6S OCUPAC . BLOQ . INTENTOS

MEXICO COOE_RECUVER CR14 1 60 40 . 00 12 . 46 31.15 o.ea 2Slll IUICO COOE_SENOER CS14 o 140 110 . 00 66 .06 ea.os 0.00 42622

MHTIME l DE SEG. SATUAAC .

1.76 0. 00 5.80 0.00

Page 91: MAESTRO EN SISTEMAS DE INFORMACION s

00 -.l

'T1 p -.l '.¡:,..

! ~

¡ . ti')

1

NTX: MEXICO FECHA DEL MUESTREO: Del 921005 al 921009 HORA: 1300

TABLA 3.- TRAFICO EN RUTAS ADICIONALES:

VALORES PROMEDIO

POBLACIOH DESCRIPCIOH DE CLAVE TIPO HUMERO CAPACIDAD TRAFICO X DE DISPOS. HUMERO

LAS RUTAS RUTAS RUTA 01 SPOS ERLGS ERLGS OCUPAC. BLOQ. INTENTOS

HEXICO VOICE HAil VMAL2110 o 60 40. 79 4 .90 12.01 5.00 368 HEXICO HDEN80 HOENBO 8 30 16.68 4.90 ~9.37 0.84 436 HEXICO ASCHOO ASCHOO o 64 44 .16 23.46 53.13 0.00 15201 HEXICO OESACTIVACIOH RECNEGO o o 0.00 O.DO 0.00 O.DO 15 HEXICO CAMBIO O SUSPEN. TELSUSO o o O.DO 0.00 0.00 0.00 536 H!XICO NUH !H[XTSTENTE HUI NEXO o o .a..oo 0.00 o.oc 0.00 940 HEXICO LIN[AS CONGEST. LI HCOHO o o o. 00 0.00 O.OQ O.DO 154 HEXICO ACTIVA!:ION RECPOSO o o o. 00 0.00 o. 00 0.00 13 HEXICO LLAMADAS TOLL T COR B 3500 O .DO 988.90 0.00 0.00 70876 HEXICO LLAHACJ'AS-SUPEl!V CL 8 4000 O.DO 992 .32 0.00 0.00 61810 HEXICO ROAHIHG - GUA02SO o 1 o. 00 1.00 ......... O.DO o MEXICO ROAHING GUAD2SI 1 1 O.DO 0.00 0.00 0.00 o MEXICO ABON. B OCUPADO ABOCUPO o o O.DO 0.00 0.00 O.DO 2280 MEXICO NO Ol!P!JNIBLE. NOOISPO o o 0.00 0.00 O.DO 0.00 11203 HEXICO RUTA_PRUEBA VEROAHO o o 0.00 O.DO O.DO O.DO o

-

MHTIHE X DE SEG. SATURAC.

47 .se 0.00 45.38 0.00

5. 56 o. 00 0.00 o. 00 0.00 o. 00 0.00 o. 00 o.oc O.DO O.DO O.DO

50.26 0.00 57 .80 0.00 0.00 ....... 0.00 0.00 0.00 0.00 O.DO 0.00 0.00 0.00

Page 92: MAESTRO EN SISTEMAS DE INFORMACION s

TABLA4

El Tráfico en Células es el análisis que se presenta en ésta tabla. En la figura 7.5 se

muestra el reporte, que se encuentra dividido en partes de acuerdo al análisis de cada

población (p.e. Cuernavaca, México), se presenta la descripción de rutas en orden

alfabético, la clave, tipo de ruta (B=Bidireccional) y el número de dispositivos.

EL programa obtiene los demás valores de la tabla. Se tienen las columnas de número

de dispositivos de expansión, que son los dispositivos necesarios para eliminar la

saturación de tráfico y la última columna es la hora en que se registró el valor máximo

de tráfico.

Al final de la tabla se tienen los subtotales y totales de cada columna de la tabla. Se

presenta un resumen del número de células, que se distribuyen en 7 rangos de acuerdo

a su ocupación, considerándose la ocupación entre 21 y 80 porciento como la más

adecuada para un buen manejo de llamadas y una inversión rentable en equipo.

88

Page 93: MAESTRO EN SISTEMAS DE INFORMACION s

~

NTX: NEXICO FECHA DEL NUESTREO: Del 921005 al 921009

TABLA 4.- TRAFICO EN CELULAS:

POBLACION DESCRIPCIÓN OE CLAVE TIPO NUMERO CAPACIDAD TRAF ICD LAS RUTAS RUTAS RUTA DISPOS ERLGS ERLGS

CUERNA MIRADOR O MOMIO 8 23 15. 76 13.00 CUERNA OAXTEPEt O HOOAO 8 11 5.84 2 .42 CUERNA ZAPATA_O- HOZAD 8 19 12 .33 7 .00

SUBTOTALES: 53 .00 33.94 22 .42

VALORES PROHEOIO

X DE OISPOS. NUMERO DCUl'AC. BLOQ. INTENTOS

82.48 D. DO 671 41.43 0.00 109 56.76 0.00 433

66.07 0.00 1213.0

NUMERO DE ABONADOS• 1038 TRAFiCO/A80NADO• D. 022

MEXICO ACATLAN A HXACA 14 8.20 9. 05 110.36 0.55 599 HUICO ACATLAN-8 HXACB 7 2 .94 2. 55 86.87 0.00 182 HEXICO ACATLAN-C HXACC 19 12.33 8.12 65.87 1.93 579 MEXICO ALGAR IN-A OFALA 11 5.84 2 .83 48.36 0.15 212 HEXICO ALGARIN-B OFAL8 15 9.01 3.65 40. 51 0.6,4 348 HEXICO ALGARIN-C OFALC 15 9. 01 4. 68 51.94 0.42 379 HEXICO AL TONGO-A OFAOA 15 9.01 3.94 43. 73 o.os 287 HEXICO ALTONGO-B OFA08 15 9.01 0.80 8.88 0.54 78 HEXICO Al TONGO-e DFAOC 15 9. DI 3.50 38.85 0.12 274 HEXICO ATZACOA[CO A OFAZA 11 5.84 Z. 08 35.61 0.06 167 HEXICO ATZACOALCO-B OFAZB 11 5.84 2. 62 44 .85 1.02 191 HEXICO ATZACOALCO-C DFAZC 11 5.84 O .94 16.09 0.18 63 HEXICO BALBUENA A- OFBAA 15 9.01 5.00 55. 50 0.42 428 HEXICO BALBUENA-B OFBAB 15 9.01 7 .00 77 .69 0.25 541 HEXICO BALBUENA-C OFBAC 19 12 .33 7 .46 60. 49 0.54 772 HEXICO BOSQUES X OFBOA 15 9.01 4 .15 48.08 0.38 420 MEXICO BOSQUES-8 DFBOB 19 12 .33 8.12 65.84 0.44 680 MEXICO BOSQUES-C DFBOC 23 15. 76 9.68 61.42 0.26 688 HEXICO CARRASC~ A DFCRA 11 5.84 2.90 49.64 0.25 339 MEXICO CARRASCO-a OFCRB 19 12 .33 6.Z5 50.69 0.18 619 MEXICO CARRASCO-e DFCRC 19 12 .33 11.23 91.04 0.18 832 HEXICO CASTAAE0:1: A OFCAA 8 23 15.76 4.18 26.52 0.44 416 HEXICO CASTAREOA-8 OFCAB 8 30 21.93 20.42 93.13 0.95 1608 MEXICO CAS TAAEOA-C OFCAC 8 11 5.84 4.46 78.35 1.20 324 MEXICO CHAPUL TEP[C A DFCHA 8 30 Zl.93 27 .85 128.98 0.00 2798 NEXICO CHAPIJI. TEPEC-B DFCHB 8 19 12.33 9.35 75.81 o.os 952 MEXICO CHAPUL TEPEC-C DFCHC B 18 11.49 7 .95 69.17 0.06 503 MEXICO CHURU8USCO ~ DFCUA 8 14 8.20 6.09 74.25 0.17 418 HEXICO CHURUBUSC0-8 DFCU8 8 19 12 .33 11.68 94. 71 0.34 758 MEXICO CHURUBUSCO-C OFCUC 8 19 12 .33 7 .00 56.76 0.26 564 HEXICO COYOACAN A- DFCYA 8 23 15. 76 10.27 65.19 0.25 735 HEXICO COYOACAN-8 DFCYB 8 19 IZ .33 8.40 88.11 0.16 507 MEXICO COYOACAN-C DFCYC 8 11 5.84 4, 10 70.19 1.20 334 MEXICO CUAJ IMALJl"A A DFCJA e 15 9.01 3 .42 37 .98 l. 58 414 MEXICO CUAJIMALPA-C OFCJC B IS 9.01 1.94 21. 53 0.88 127 MEXICO tUAUHTEMOC) OFCOA B 15 9.01 4.87 54.03 o.u 342

HHTIHE X DE Nainero Hora SEG. SATURAC. Dtsp.Exp. H xtmos

7D.ZO 0.00 o 1100 83.22 0.00 o 1100 58.14 0.00 o 1100

70. 52 0.00 o

58.60 10.36 2 0900 49.90 0.00 o 1000 5Z. 97 0.00 o 1300 48.22 O.DO o 1200 37. 78 0.00 o !ZOO 43.82 O.DO o 1700 49.18 0.00 o IZOO 37 .90 O.DO o 1200 46.54 0.00 o 1800 44.34 O.DO o 1000 50.84 0.00 o 2000 56.44 0.00 o 1100 42.10 O.DO o 1300 46. 70 o.oo. o 1400 35.12 0.00 o 1300 36.10 O.DO o 1400 42 .90 O.DO o 1000 50.82 0.00 o 1700 30.85 0.00 o 1000 37 .96 0.00 o 1300 51.10 0.00 o 1300 36.30 0.00 o 1100 47 .20 0.00 o 1300 49.82 0.00 o 1000 55.95 28.98 7 1400 36.10 o.oo o 1400 57 .38 O.DO o 1300 52.50 0.00 o 2000 58.70 O.DO o 1000 44.68 O.DO o 1700 50.17 0.00 o 1000 59.82 0.00 o 1800 45.45 O.DO o 1300 29.98 O.DO o 1200 51.78 O.DO o 1000 51.22 0.00 o 1300

Page 94: MAESTRO EN SISTEMAS DE INFORMACION s

~· .. ·;:.

t ~·

:~­t 'i'.· r¡. t "'''

8

lfTX: NEXICO FECHA DEL NUESTREO: Del 921005 al 921009

TABLA 4.- TRAFICO EN CELULAS:

POBLACION DESCRIPCION DE CLAVE TIPO NUMERO CAPACIDAD TRAFICO LAS RUTAS RUTAS RUTA OISPOS ERLGS ERLGS

HEXICD CUAUHTEMOC B DFCOB B 15 9.01 5.35 HEXICO CUAUHTEHOCC DFCOC B 15 9.01 5.08 HEXICO CUAUTITLAN-A IIXCNA 8 27 19.26 11.80 HEXICO CUAUT ITLAN-B HXCNB B 37 28.25 18. 70 HEXICO CUAUT ITLAN-C HXCNC 8 23 15. 76 8. 70 HEXICO CUESTA A - DFCEA 8 7 2 .94 1.66 HEXICO CUESTA-B DFCEB 8 11 5.84 .. 1.98 HEXICO CUESTA-e DFCEC 8 15 9.01 4.43 MEXICO C PONl[NTE A DFCTA 8 IS 9.Dl 1.38 HEXICO CPONIENTCB DFCTB 15 9. DI 0.88 HEXICO CPONIENTCC OFCTC IS 9.01 2. 42 HEXICO D[FENSORES-A DFOFA 7 2 .94 l. 20 NEXICO DEFENSORES-B DFOFB 11 5.84 4 .90 HEXICO DEFENSORES-e OFOFC 11 5.84 3.82 HEXICO DOCTORES A- DFDOA 19 12 .33 11.42 NEXICO OOCTOREn DFDOB 15 9.01 5.66 HEXICO OOCTOREf"c DFDOC 30 21.93 12 .90 MEXICO ESCOBEDO-A DFEBA 23 15. 76 14. 76 MEXICO ESCOBEDO-B OFEBB 23 IS. 76 10.65 MEXICO ESCOBEDO-C OFEBC 30 21.93 23 .40 HEXICO GUERRERO-A DFGUA IS 9.01 4.97 MEXICO GUERRERO-& DFGUB 11 5 .84 2. 74 HEXICO GUERRERO-e OFGUC 11 5.84 3 .88 MEXICO HEROES A- OFHRA 7 2. 94 l. 58 HEXICO HEROES-8 DFHRB 15 9. 01 4 .92 MEXICO HEROES-C DFHRC B 11 5.84 3 .05 HEXICO HIDALOO A OFHIA B 11 5 .84 3. 74 HEXICO HIDALGO-& OFHIB 8 11 5.84 4. 27 MEXICO HIDALGO-e DFHIC 15 9. DI 7 .32 MEJCICO HIPOORoRo A OFHOA 15 9. DI 6.70 MEXICO HIPOOROMO-B OFHOB 19 12 .33 10.70 MEXICO HIPOIMIOHO-C DFHOC 19 12 .33 6.00 MEXICO INGUARAN ;&: OFIGA 7 2.94 1.35 MEXICO INGUAIWCB DFIGB 11 S.84 l. 76 MEXICO INGUAAA(C Of!GC 15 9.01 4.52 MEXICO INN A DFINA 27 19.26 18.35 MEXICO INN-B OFINB 19 12.33 9.38 MEXICO INN-C OFINC 15 9.01 5.88 MUICO LA [ONA A MXSCA 19 12 .33 8.43 HEXICO LA-LOMA-a MXSCB 1 2 .94 1.25 HEXICD LA-LOMA-e HXSCC 7 2 .94 l. 85 HEXICO LIIERTAl! A OFLBA 23 15. 76 12. 20 MEXICO LIBERTAD-a OFLBB 15 9 .01 5. 70 HEXICO LIBERTAD-e OFLBC 15 9.01 2.U MEXICO LINDAVISTA A DFLIA 11 5.84 4.14 MEXICO LINDAVISTA=B DFLl8 15 9 .01 3.84

VALORES PROMEDIO

X DE DISPDS. Nl.ftERO MHTIHE X DE Número Hora OCUPAC. BLOQ. INTENTOS SEG. SATURAC. Dtap.Exp. " """"'

59.40 0.12 408 47 .41 0.00 D 1300 58.38 0.31 381 47 .58 0.00 o 1300 61.25 0.08 711 59.92 0.00 o 1100 66.19 0.14 939 71.34 0.00 o 1200 55.20 o.oo 439 73.18 0.00 o 1100 56.55 D.18 140 42.98 D.00 o 1100 33.90 0.14 167 42.84 O.DO o 1100 49.11 . 0.45 412 38. 70 0.00 o 1200 15.32 0.38 148 33.06 0.00 o 1900 9.77 0.28 74 48.31 0.00 o 1200

26.86 0.52 220 39.28 0.00 o 1200 40.88 o.os 81 52.05 0 .. 00 o 1000 83.88 0.32 386 45.98 0.00 o 1300 65.39 0.44 359 38.50 0.00 o 1300 92.64 O.ID 844 49.22 O.DO o 1200 62.82 0.18 435 48.90 O.DO o 1300 58.82 1.33 1113 41.95 O.DO D 1200 93.65 O.ID 1238 44.22 O.DO o 1300 67 .57 0.35 885 43.40 0.00 o 1400

106.69 o.se 2473 37 .12 6.69 2 1400 55.22 0.18 421 43.05 O.DO o 1400 46.91 D.32 294 33.50 0.00 o 1300 68.34 0.43 352 39.47 0.00 o 1400 53 .83 0.11 141 40.57 0.00 o 1300 54.56 1.28 291 60.77 0.00 o 1300 52 .21 0.10 256 44.05 0.00 o 1000 64 .02 o.so 298 45.84 0.00 o 1700 13 .18 0.12 325 47 .65 0.00 o 1300 81.25 0.40 615 43.62 0.00 o 1800 74 .37 0.25 493 49.30 0.00 o 1300 86.76 0.10 723 54.45 0.00 o 1300 48.85 0.08 509 42.38 O.DO o 1700 45.98 0.00 87 72 .80 O.DO o 0900 30.13 o.so 174 37 .33 O.DO o 1700 50.21 0.39 358 45.52 O.DO o 1200 95.25 1.25 1536 51.82 0.00 o 1400 76.08 1.28 680 so.u 0.00 o 1000 83.04 0.06 4&9 43.78 0.00 o 1800 68.37 0.08 430 71.28 0.00 o 1200 42.58 0.30 88 51.20 0.00 o 1000 56.21 O.DO 91 64.90 0.00 o 1000 77 .41 0.25 809 54.85 0.00 o 1300 63.27 O.SO 558 37 .35 O.DO o 1300 27 .08 0.48 18$ 46.90 0.00 o 1100 70.87 0.02 227 es.« O.DO o 1000 42.62 O.JO 323 42.62 0.00 o 1300

Page 95: MAESTRO EN SISTEMAS DE INFORMACION s

\O ....

KTX: ftEXICO FECHA DEL ftUESTREO: Del 921005 al 921009

TABLA 4.- TRAFICO EN CELULAS:

POBLACION OESCRIPCION OE CLAVE TIPO NUMERO CAPACIDAD TRAFICO

LAS RUTAS RUTAS RUTA O! SPOS ERLGS ERLGS

MEXICO LINDAVISTA C DFLIC 8 23 15. 76 8. 24 MEXICO MALINCHf: A- DFHLA e 11 5.84 5.00 MEXICO MALINCHCB OFHLB e 11 5.84 3. 76 HEXICO . MALINCHCC OFMLC e 19 12 .33 5.43 MEXICO HIXCOAC ;a: DFHXA B 15 9.01 5.15 MEXICO MIXCOACB Of'MXB e 15 9 .01 9.13 MEXICO MIXCOACC DFHXC e 15 9 .01-. 3 .67 MEXICO MOLINITn A MXHOA 8 15 9.01 6.74 MEXICO HOLINITO-B HXHOB 8 11 5.84 2 .04 HEXICO MOLINITO-C MXMOC 11 5.84 2 .12 MEXICO MORENA A- OFHRA 15 9.01 5.95 MEXICO MORENA-e OFMR8 15 9.01 5.71 MEXICO MORENA-e DFHRC 15 9.01 3 .32 HEXICO NACIO~L A DFNLA 15 9.01 6.58 MEXICO NACIONAL -8 DFNLB 23 15. 76 8. 55 MEXICO NACIONAL-e DFNLC 30 21.93 23.86 MEXICO NAUCALPAR A MXNAA 15 9.01 3.86 MEXICO Nf,UCALPAN-B MXNA8 27 !9.26 11.36 IIEXleO NAIJCALPA(C MXNAC 19 12 .33 4 .52 MEXICO NEZA A MXNEA 15 9.01 4 .67 MEXICO NEZA-8 MXNEB '15 9.01 7 .50 MEXICO NEZA-C HXNEC 7 2.94 1.90 MEXICO OBSERVATORIO A • OFOBA 23 15. 76 12. 73 MEXICO OBSERYATORI0-8 OFOBB 23 15. 76 4. 78 MEXICO úBSERYATORIO-e OFOBC 19 12 .33 6.16 MEXICO WOOEAGUA _ O - HXOAO 30 21.93 11.97 MEXICO OMEGA A OFOMA 15 9 .01 3.44 HEXICD OHEGA-8 OFOHB e 15 9 .01 1.40 HEXICO OHEGA-C OFOHC 15 9.01 7 .38 HEXICO PARQUl'. YIA A OFPVA 15 9. 01 4. 52 MEXICO PARQUCVIA-8 OFPVB 23 15. 76 11.25 HUICO PARQUCY IA-C DFPVC 22 14 .90 15.81 HEXICO PEOREG~l A- OFPOA 15 9.01 4.14 HEXICO PEOREGAL-B OFPOB 15 9.01 5.84 HEXICO PEDREGAL -C DFPOC 30 21.93 14 :so MEXICO PEDREGAL-E DFPOE 8 3 .63 3.18 MEXICO PEAON A - OFPNA 11 5.84 4.50 MEXICO PEAON-8 OFPNB 15 9.01 7 .41 MEXICO PE RON-e OFPNC 7 2 .94 0.62 MEXICO PICO~ OFP!A 15 9 .01 4.53 MEXICO PIC0-8 OFPIB 23 15. 76 7 .87 MEXICO PICO-e OFPIC 7 2.94 1.94 MEXICO POPcfATEPETL A OFPPA 23 IS. 76 13.06 HEXICO POPOCATEPETL -8 OFPPB 19 12 .33 5.78 MEXICO POPOCATEPETL:c DFPPC 29 21.04 20.14 MEXICO PUEBLA_A. OFPAA 26 18.38 19.88

VALORES PROHEOIO

1' OE OISPOS. NUMERO HHTIME 1' DE Nllmero Hora OCUPAC. BLOQ. INTENTOS SEG. SATUIIAC. Olsp.E•p. H •lnos

52.28 0.36 634 47 .04 0.00 o 1000 85. 59 0.04 375 48.13 0.00 o 1200 64.31 0.12 269 50.16 0.00 o 1100 44 .03 0.29 427 45.65 0.00 o 1600 57 .18 o. 78 ·403 50.54 O.DO o 1300

101.36 1.05 842 46. 77 1.36 1 1300 40. 79 1.23 280 47 .65 0.00 o 1400 74 .81 • 0.36 474 51.42 0.00 o 1300 34 .92 0.14 155 47. 50 0.00 o 1000 36.29 0.22 136 55.68 0.00 o 1000 66.06 0.27 492 43. 53 0.00 o 1300 63.40 0.19 S30 38. 74 0.00 o 1300 36.85 0.18 326 36.50 O.DO o 1000 73.06 0.17 523 45. 72 O.DO o 1300 54.28 0.74 · 769 39. 71 O.DO o 1300

108.79 o. 54 1707 54.74 8.79 3 1100 42 .84 0.90 324 42 .28 0.00 o 1700 58.97 0.98 1016 40; 18 0.00 o 1700 36.65 0.14 321 50.72 0.00 o 1100 51.80 0.10 232 72 .87 0.00 o 1400 83 .24 0.02 404 66.78 0.00 o 1100 64. 73 O.ID 202 33.93 O.DO o 1400 80. 79 0.41 1164 39.94 0.00 o 1400 30.35 0.89 450 38.20 0.00 o 1400 49.98 0.29 546 40.68 0.00 o 1300 54.59 0.60 708 61.34 0.00 o 1300 38.18 0.14 271 44.60 O.DO o 1700 15.54 0.10 101 49.57 0.00 o 1400 81.91 0.02 623 43.26 O.DO o 1700 50.IB 0.08 423 38.27 0.00 o 1300 71.37 o. 20 903 44.84 O.DO o 1300

106.15 o. 71 1355 46.41 6.15 2 1300 45.95 0.58 425 35.10 0.00 o 1300 64.82 0.24 479 44.22 0.00 o !100 66.11 0.18 775 87. 78 O.DO o 1000 87 .67 0.10 187 82.96 O.DO o 1300 77 .04 0.05 284 57 .90 O.DO o 1000 82.30 0.25 554 49.00 0.00 o 1700 21.29 0.18 45 49.60 0.00 o 1400 50.22 0.10 329 49.48 0.00 o 1200 49.97 0.33 565 50.35 0.00 o 1200 66.09 0.42 208 33.84 O.DO o 1100 82.86 0.16 1048 45.14 0.00 o 1300 46.87 0.46 443 47 .26 0.00 o 1300 H.73 0.84 1122 41.71 o.oo o uoo

108.12 0.20 IIZ9 47 .45 8.12 2 1400

Page 96: MAESTRO EN SISTEMAS DE INFORMACION s

~

NTX: NEXICO FECHA DEL MUESTREO: Del 921005 al 921009

TABLA 4.- lRAFICO EN CELULAS:

POBLACION OESCRIPCION OE CLAVE TIPO NUMERO CAPACIDAD· TRAFICO

LAS RUTAS RUTAS RUTA DISPOS ERLGS ERLGS

HEXICO PUEBLA 8 OFPA8 B 26 18. 38 10.66 HEXICO PUEBLA-e OFPAC 23 l5. 76 9.41 HEXICO REFO~ A OFRFA IS 9.01 3. 75 HEXICO REFORHA-8 OFRFB IS 9. 01 6.13 HEXICO REFORMA-e DFRFC 15 9.01 6.07 HEXICO SABINO X OFSBA 15 9.01 8. 40 HEXICO SABINO-& DFSBB 23 15. 76 • 6.54 HEXICO SABINO-e DFSBC 15 9. 01 3.58 HEXICO SAN ANTONIO A DFSM 23 15.76 8.62 HEXICO SAN-ANTONIO-e DFSAB 23 15. 76 7 .42 HEXICO SAN-ANTONIO-e OFSAC 15 9.01 4. 05 HEXICO SAN-JERONIM!I A DFSJA 15 9. 01 l.96 HEXICO SAN-JE RON u«ra OFSJB 7 2 .94 4.18 HEXICO SAN-JERONIHO-C DFSJC 7 2 .94 2 .16 HEXICO SAN-HATEO A - HXSHA 11 5.84 2 .34 HEXICO SAN-HATEO-e HXSH6 7 2 .94 2 .10 HEXICO SAN-HA TEO=C HXSHC 11 5.84 3.34 HEXICO TACOBA A DFTM 11 5.84 5.16 HEXICO TACUBA-8 DFTAB IS 9. 01 3 .12 HEXICO TACUBA-C DFTAC 11 S.84 2. 62 HEXICO TECAHA!:HALCO A HXTCA 15 9. 01 8. 24 HEXICO TECAHACHALC0-8 HXTCB 15 9 .01 5.34 HEXICO TECAHACHALC(C HXTCC 15 9. 01 6. 22 HEXICO TEXCOCO A HXUA 3 D.60 o.ea MEXICO TEXCOC0-8 HXTXB 7 2. 94 2. 51 HEXICO TEXCOCO-C HXTXC 1 2 .94 3 .35 HEXICO TIZIMIN-A OFTZA 15 9.01 4.10 MEXICO TlZIMIN-8 OFTZB 11 5.84 l. 72 HEXICO TIZIMIN-C OFTZC l1 5.84 2 .34 MEXICO TLALNEPXNTLA A HXTLA 15 9.01 5.92 HEXICO TLALNEPANTLA-8 HXTLB 18 11.49 6.85 MEXICO TLALNEPANTLA=C HXTLC 27 19.26 13.18 HEXICO TLALPAN A DFTPA 15 9.01 6.36 HEXICO TLALPAN-8 DFTPB 15 9.01 5. 24 HEXICO TLALPAN-C OFTPC e IS 9 .01 5.00 HEXICO TOP ILEJ" A OFTOA 8 7 2 .94 1.04 MEXICO URSUI.A A- O FURA 8 7 2. 94 2 .15 MEXICO UASULA-8 OFURB e 11 5.84 3. 54 MEXICO URSUlA-C DFURC B 11 5.84 1.65 MEXICO VALLE ~ DFYM B 23 15.76 11.95 MEXICO YALLCB DFYAB 8 30 21.93 15.10 HEXICO YALLCC OFYAC B 30 21.93 16.36 MEXICO VICENTE G. A OFVGA e IS 9. 01 2 .64 HEXICO VICENTCG.-8 OFYGB B 15 9.01 6. 78 MEXICO Y lCENTCG. -e OFYGC e 11 5.84 3.90 MEXlCO YIVEROS:A - HXYVA B 15 9. 01 5. 76

VALORES PROHEOIO

X DE DISPOS. NIMERO MHTIHE S DE NDra Hora OCUPAC. BLDQ. INTENTOS SEG. SATUflAC. Olap.Exp. H xl""s

58.00 o. 64 823 46. 76 0.00 o 1300 59.73 o. 38 713 47 .53 0.00 o 1300 41. 62 0.10 256 53.0S 0.00 o 1300 68.08 o. 03 508 43.50 0.00 o 1400 67 .34 0.13 499 43. 77 0.00 o 1400 93 .23 0.27 571 54.42 0.00 o 1300 41.49 o. 04 544 43.30 0.00 o 1200 39. 74 ·O.SO 292 44.42 0.00 o 1300 54.69 0.96 655 47 .58 0.00 o 1300 47.08 0.60 580 45.60 0.00 o 1700 44.95 0.20 zee 51.15 0.00 o 1400 21.75 0.34 154 45.54 0.00 o 0900

142.40 0.16 322 54.58 42.40 2 1000 73. se 0.08 165 47 .54 0.00 o 1000 40.06 0.00 128 70.90 0.00 o 1900 71.54 0.08 151 49.90 0.00 o 1300 57.18 0.06 220 55.32 O.DO o 1700 88.33 0.06 312 62.22 0.00 o 1300 34.63 o. 52 274 41.40 0.00 o 1300 44 .85 0.42 232 40.66 0.00 o 1700 91. 46 0.16 617 58.26 0.00 o 0900 59. 27 0.10 434 44.28 0.00 o 0900 69.04 o. 26 400 56.08 0.00 o 0900

132 .84 0.00 45 68.42 32.84 1 1000 85.44 o.os 199 45.41 0.00 o 1300

114 .19 0.02 260 47 .61 14.19 1 1300 45.51 0.94 464 31. 78 O.DO o 1000 29.44 0.28 118 53.46 O.DO o 1100 40.06 0.24 135 62.48 O.DO o 1000 65.18 0.03 380 80.25 0.00 o 1200 59.61 0.45 503 49.17 O.DO o 1200 68.43 0.26 796 59.60 O.DO o 1000 70. 59 0.06 458 49. 92 0.00 o 1100 58.16 D.40 283 67. 70 O.DO o 1800 55. so 0.20 374 ., .58 0.00 o 1300 35.43 0.00 50 79.42 º·ºº o 1100 73.24 0.10 236 33.10 0.00 o 1000 60.60 0.04 300 42.48 0.00 o 1100 28.25 O.IS 145 40.90 0.00 o 1000 75.82 0.52 863 50.12 O.DO o 1300 68.85 0.65 1131 48.00 0.00 o 1400 74.59 l.08 1241 47. 64 0.00 o 1700 29.30 0.18 180 52.82 0.00 o 1100 75.25 0.04 380 84.36 0.00 o 1000 88. 78 0.30 388 38.84 0.00 o 1200 63.93 0.00 329 63.08 0.00 o 1000

Page 97: MAESTRO EN SISTEMAS DE INFORMACION s

:!! Cl

;-..1 VI

~ ~ ..... (j o ~ (j

~ tl:I

KTX: KEXICO FECHA DEL MUESTREO: Del 921005 al 921oog

TABLA 4.- TRAFICO EN CELULAS:

VALORES PROMEDIO

P08LACION DESCRIPCION DE CLAVE TIPO HUHERO LAS RUTAS RUTAS RUTA 01 SPOS

MEX"ICO VIVEROS B HXVYB B 12 HEXICO YIVERDn HXYVC 8 23 MEXICO XOCHIHl[CO A OFXHA 19 HEXICO XOCHIHILCO-B DFXHB 11 HEXICO XOCHIHILCO-C OFXHC 15 HEXICO XOCO A - HXXCA 11 HEXICO xoco-a . HXXCB 15 HEXICO xoco-c HXXCC 27 HUICO ZARAi;oZA A OFZAA 30 HEXICO ZARAGOZA-a OFZAB 15 MEXICO ZARAGOZA-e OFZAC 15 MEXICO ZOCALO A- DFZOA 11 MEXICO ZOCAL0-8 DFZ08 19 HEXICO ZOCAL(C OFZOC 15

SU8TOTALES: 3045. 00

NIMEAO DE ABONADOS• 89409

TOLUCA ILERHA o IHXLEO I a IS

TOLUCA NEVADa O HXHVO a 30 TOLUCA YALLEO[BRAYO_O HXYBA B 1

SUBTOTALES: 45.00

NIMERO DE ABONADOS• 683

TOTALES: 1 3150.00

HUMERO DE ABONADOS• 91130

OCUPACION Y SATURACION EN CELULAS: CELULAS SU8UTILIZAOAS ( O • 20 ) CHULAS OCUPACION ( 21 - 70 ) CHULAS OCUPACION ( 71 • 80 ) CHULAS OCUPACION ( 81 •. 90 ) CHULAS OCUPACION ( 91 • 100 ) CELULAS SATURADAS ( 101 • IZO ) CELULAS SUPERSAT. ( > a 120 )

5 C6lulas 130 C6lulu 24 C6lulas 16 Cflulu 9 C6lul11 7 C61ulu 3 C6lul11

CAPACIDAD TRAFICO X DE ERLGS ERLGS OCUPAC.

6.61 3.78 57.15 15. 76 10.16 64.46 12 .33 7 .93 64 .26 5.84 3.05 52.21 9.01 5. 76 63.93 5.H

.. 4. 29 13.41 9.01 5.15 57.16

19 .26 15. 57 80.85 21.93 14 .18 64.65 9.01 4 .40 48.84 9. 01 8.n 74.64 5.84 2.98 51.01

12 .33 8.34 67 .62 9.01 5. 50 61.05

1907 .89 1209.60 63.40

TRAFICO/ABONADO• 0.014

9. 01 7 .37 81. 78 21.93 16. 11 76.48 2 .94 1.30 44 .29

30.94 24 .14 78.02

TRAFICO/ABONADO• 0.035

1975.711 1257.481 63.65

TRAFICO/ABONADO• 0.014

No. de SITIOS EN EL HTX MEXICO 70 No. do SITIOS PROCESADOS EN EL HTX MEXlCO 70

DI SPOS. HlMERO MHTIHE 8LOQ. INTENTOS SEG.

0.06 259 52. 42 o. 04 586 62. 52 0.12 563 50.80 o.os 157 70.15 0.22 401 51.82 0.23 309 50.13 0.95 413 44.82

·0.23 1000 58. 'º 0.08 "' H.04 0.15 315 52 .00 o. 75 642 37. 55 0.24 212 50.96 1.18 661 41 .02 0.22 439 44.86

64 .42 93125.0 48.59

0.00 401 66. 52 1.03 920 65.96 0.00 64 106.18

1.03 1321. O 44.16

65.451 95723.0I 49.40

X OE Hlintro Hora SATURAC. Ohp.Exp. H it""s

O.DO o 1700 0.00 o 1200 0.00 o 1000 0.00 o 1200 0.00 o 1100 0.00 o 1200 0.00 o 1800 O.DO o 1800 0.00 o 1100 0.00 o 1200 0.00 o 1300 O.DO o 1300 0.00 o 1200 0.00 o 1300

0.00 23

0.00 o 1200 0.00 o 1300 0.00 o 2000

O.DO o

0.00 23

Page 98: MAESTRO EN SISTEMAS DE INFORMACION s

TABLA 5

En la tabla 5 se presentan los principales parámetros en radiobases, cuyo fonnato

contiene las siguientes columnas:

Las primeras tres columnas son la identificación de la población en orden alfabético, el

nombre y clave de la radiobase.

Las siguientes tres columnas son los registros que indican cuántos teléfonos se

encuentran encendidos y si la central pudo confirmar la ubicación del teléfono. Incluye

el número de intentos, confirmaciones y el porcentaje de registros exitosos.

Las columnas 7, 8 y 9 corresponden a los intentos de llamada que son originadas por

móvil, terminados en móvil y transferencias de sitios adyacentes (Directed Retry) que

conforman el volúmen total de llamadas a manejar por el equipo.

Las columnas 10 y 11 indican la eficiencia en el manejo de llamadas; se indica el

número de asignaciones de canal exitosas y el porcentaje de éxitos en relación al total

de intentos.

Las columnas 12 a 14 nos indican la eficiencia en el manejo de llamadas que no

pudieron ser atendidas en el lugar de acceso original, indica el número de llamadas

existentes y su porcentaje de exitos y el número de salientes.

Las siguientes 6 columnas indican la eficiencia en el manejo de llamadas que son

transferidas entre sitios, debido al movimiento físico de los teléfonos al trasladarse de

un lugar a otro. Indica los intentos entrantes y salientes, los éxitos entrantes y salientes

y los porcentajes respectivos.

Por último se indican en las columnas 21 y 22 el número de llamadas perdidas (corte de

llamadas establecidas) y su porcentaje en relación a las llamadas establecidas.

Al final de la tabla se presentan los subtotales por población y los totales a nivel de toda

la red.

La tabla 5 se presenta en la figura 7 .6.

94

Page 99: MAESTRO EN SISTEMAS DE INFORMACION s

~

MTX: "EXICO FECHA DEL "UESTREO: ·921009 HORA: 1300 TABLA 5.- PRINCIPALES PARAKETROS EN RADIO BASES:

MDIOIAS[ R(GISTAOS JNT(NTOS DE LLAMADA

Intento Coflf1r111. I.A(GS Ort1tn. 1 TCAMJN. DIR RETAY

POILACION I NCMIR[ ! CI..AYE por "'6vt 1 en "'6v11 [r,tr,,,t ..

CUERNA OAITEPlC' O foD)AO 309 309 100.00 5 ll O CUEANA JMIRADOtl O 110410 129' 129' 100.00 1!l lSl O

CUU"CA ZAPit.TA_O- HlZAD 6Z4 624 I00.00 6 U J

sunoT.I 22171 12171 100.001 10481 ZH

MUICO ACULAN A HUCA I uu 1C14 100.00 3U 91

.. • H[XICO At,lTl .. •ltl IUACI 311 >18 100.00 .. ll 1 MUIICO ACATLAH-C MU.Ce 1507 1507 IDO.DO 396 12& 6 HCKICO ALCIARlltA DfALA 20ll 201 100.00 ,.

" • MUICO ALGAIJ[trl 0,ALI 271 271 100.00 UI .. • M[llCO ALU.IJJ.rc

:~ 1

196 211 100.00 179 .. 7 MUICO ALTc:.IGO-A ,u 111 100.00 '" .. ' H[KICO ALTCNG0-1 DfAOe UI 149 100.00 49 • 1 ICIICO AL TONGO-e OfAOC nu 1563 100.00 "º 40 • MUUCO ATZACOI\CCO A OFAZA 246 246 100.00 .,

" o M[lJCO AT.IA(Oill.C0-1

~m I szo "º 100.00 12' " 1

Jr4UICO ATZACOALCO-C 190 ... 100.00

"I 9 o

M(JIJCO IAUUENA ,.- OFBAA 5'1 ,11, 100.00 '" 01 • HU:JCO IALIU(HA-1 OIIAI 601 809 100.00 ... " 9 MUICO IALIU(NA-C Of'tl.ltC 'º' 101. 100.00 "' 97 1 ME.UCO 80SQU[S. C>FIOA 10, IDl 100.00 .. 9 JO H[.ltlCO eosoun-, 0,800 799 199 100.00 417, I ll 4 HUICO IOS(!UES-C OFOOC 16!7 107 100.00 ~~I 00 ,. HUICO CAAUSCO A OFCAA 'º' .. , 100.00 " ' M[.ltJCO CAAAASC0-1 OFCA! 59. • •• 100.00 ,., 70 11 HU ICO ~::;:¡~g;c,. DFCAC 2458 2458 100.00 ... 152 9 H(XJCO DFCAA '" "' 98.!J 239 .. Z7 MUICO CASTAREDA-1 Df'CAI 1790 1711 H.10 1190 2'2 ,. MU:ICO CASTAAEDA-C O,CAC 115 UI 100.00 19' 59 ll MUflCO CltA.IIVL T(P[C A DFCHA JIU 192' 17.H 1618 lll " MUICO CHAIIULTCIIEC-1 Ol'Clill 627 111 100,00 , .. .. U7 MUJCO CHA'UL TtPtc-c DIICHC 177 171 100.00 "' .. 10• MCX.ICO CHUAUIUSCO l OFCUA ,u ... 100.00 ,u 16 • Hl:llCO CHUAUIUsco-, OFCUI lOZO )020 100.00 '22 10, 11 MEXICO CNUAUIUSCO-c OFCUC 777 771 100.00 261 ., 7 Mt:Jl:ICO COYCM.CAN ,._- DPCYA 3111 3121 100.00 461 "' 2 MEJl:ICO COYOACAH-1 DFCYI 1301 1]02 100.00 "' 12• 10 MEIICO COYQACAH-C o,c,c ... ... 100,00 197 'º 1 H!XICO CUAJIK\L,-A A DFCJA 1118 1111 100.00 uo .. 6 MUICO CUAJl*L'A-C Df'CJC 600 ••• 100.00 IH 18 7 MEIICO CUAUHTOCJC-A DFCOA 260 ... 100.00 202 57 1 NDICO CUAUUOIOC-1 OFCOI ,., 362 100.00 2'9 19 u HUJCO CUAUHTD«>C-C o,coc '71 .,, 100,00 211 .. • Mfl(JCO CUAUTJT~A MICHA 10!2 1052 100.00 .. 7 UI 1 ,CIJCO CUAUTITL.Nl-1 MlCNI 111 112 100.00 ,. 10 1 14UICO CUAUT1TL.AI-CC MICNC JOlt 1011 100.00 ,., lll o ICXll:O CUUT.& A OPCCA 171 171 100.00 71 u • MCUCO cuuu-, OfCCI 187 , .. H.'3 " Z7 • H(XICO euuu.-c Df'CEC ... ... 11.11 ,u 71 1 MUICO C JIONt[NT[ A Of'CTA 17> 111 11.11 100 .. ' ICAICO c-,autHtr1 Of'CTI IDO 101 100.00 " 17 • ICIICO c-PCIHJtNTrc O,CTC u, "' 100.00 ISO " 6 !CUCO or,tNSOIIEI-A DfDfA ,e ,. 100,00 1, 10 1 N&UCO or,~OU"'I OFDfl 540 UI H,11 IZO .. 5 MEIICO Dl'EICSOIIEI-C DfOfC 1Z4l uta: H,12 ... .. , ICUCO CIOCTOAH A- "'- '" HI 100,00 491 111 ' ICKICO DOCTOIIU-1 DfCIOI ,.. 310 100,00 217 " 2 NIIICO OOCTORE'S-C Dl'DOC IOIO IOIO 100,00 517 194 11 ICXlCO tlCOIIDO-A o,1u. 177

.,, 100.00 ... 111 11

HlllCO UCOHDD-1 OfUI ,u ... J00,00 ,11 11 17 ICUCO UCOIEDO:c DfUC 1434 102 u.u 1227 225 35

ASIGN. DE V.C. OI: D1AECTEO AITll:V

Nt,1111. d• ••• [ntrarit•• 1 (ntr&flt !lalt•fltH

A1tenac. A1t9nac, o,: oc 7Jl 97.H o no tnt 1 11, 19. 76 o "º trit o "º 97 .51 ' 100.00 o

12111 ..... 1 31 100.001 •I

, .. H.11 4 10.00 u .. N,21 1 100.00 o 100 "·°" • u.u , 111 ,z, 70 • 100.00 s ne 11.N s 100.00 IO 2ll u.,, , 100.00 1

"' '4, 17 • "·" 1 •• "·" 1 100.00 2 170 96.!lil ' IJ . .U • 111 11.34 o "º trit 1 lll 17.90 o 0.00 • " U.$1 o "º hit o

'" 11.11 ' 100.00 1 ... ti.te 1 ..... 11 481 19.11 1 100.00 11

" H.11 • 90.00 6 ... e, .oa • 100.00 ,, ... • 94.42 .. ID0.00 • ., ,e.u 2 H.17 10 06 80.00 12 100.00 1 . ., 92. ll • 100.00 ,. ... 92.$0 Z6 H.lO 1

lUl to.07 ,. 94.14 .. ... 17.l5 12 12,ll 1 UH H,72 ,. 11,,ta 111 111 tl,N "º 97,01 • ... N.lt H 11.,1 o 34' 91.11 7 17,50 u ... H.Oll 11 100.00 1 ,,, H.18 , 100.00 u ... 13.54 2 100.00 10 UI ,o.u 10 100,00 1 21! 11.10 o 0.00 1 UI 12,9' 5 u.u 11 U5 ll.15 • 11.,3 • 240 U.ll 1 100.00 1

"º , •. o, u ,z.ee 1 ZOI H.e7 • 100,00 11

"" N.H 1 100.00 o " H,H 1 100.00 1 ... 97.0I o ... tflt o 17 17.U 5 100.00 ' 16 10.57 1 100.00 1

266 tl.01 1 100,00 • 111 .... , , 100.00 1 17 17,01 4 I0.00 ,

190 IS.JI • 100.00 11

'º N.H 1 100.00 o 111 ·ti.n • 80.00 7

"º ...... 3 100.00 ' ... H.H • 100,00 o ... to.•1 1 50,00 1 711 IJ,27 11 11,17 1 ... ... ... u 100.oa 11 401 N,U H ..... l

1356 01.11 ,o 19.11 ..

HANO-OFFS NlHt:IIO • INTENTOS UITOS I or • o,: U-OAS

LLNWIAS PUOIOA.$

IN I OUT IN I OUT IN OUT P[RD10AS ...

C04PL[TAS

10:¡ 17 l]l

,. U,!U 'ª·'º •• 5.ca o o ":0~1~ ";0~;;1 10 1~.79 •• 111 o 101 .. , 1.14 -19'1 1ur,,;f 1801 ... 211 90,911 071 11.11

14' "º lll 111 H,H 13.0I 11 4.SJ 17 ti H .. 17,70 IS.DI 2 3.U 31 .. H H .... 74 100.00 10 ,.oo 71 71 71 .. 11.DS u.u • J.U

lU 116 IH 110 14, 74 17 ,JO 11 !li.OS 17 uo .. 110 IJ, 10 ,1.11 17 , ... H ., H .. 91,s, H.U lZ 1.1, u .. ZI " 15.45 71,Jl 11 H.14 39 69 H u H,74 H.10 " l,"7 u .. ZI .. H.15 tl. 18 • e.,o u " u 20 12.16 eo.oo " u.u 1 • 3 1 10.00 100.00 1 4.00

IU 110 111 '" n.12 •1.10 .. 1.4! 111 ¡,o 149 146 17, U 'ª .41 .. 7 .11 111 ... l>9 UI 17 .JI 91..H 37 7.H u, " 143 711 11.17 ,, .so 10

1~: ~J ! " uo 71 111 IO.t! i,. "I " u I» " 111 H.16 14.tli " .. "I 166 105 1'7 100 ... ,, t!.i14 12 12 .90 219 26' 'º'

,., u.u U,12 u .... 117 u, IU 111 51.17 IJ .46 'º 4,S, 117 207 177 197 94.H l!o.17 " 7.17 , .. ... "' ... u.10 90.U .. l.ll .. 72 .. 71 17 .!O N.ll • 2.1:1 431 '" ,01 .. , :1::~1 ::::1 77 1.76 IH ... IU ,., " ,.u 114 114 10, IU ,o.u to.JZ 19 '·" .. lU u 111

"·"190.2' 12 , ...

11, 114 u, 107 17.H ts.H u 4.0 .. IU •• IOI to.,1 u.11 " 7 .,, 111 IU IOI 141 N.43 H.11 " 1.00

H ••• ., .. H.91 H.11 zz 5. 10 u, 100 IU .. 91.H ..... 11 5.U .. .. .. " 7Q.S, 71.0I 14 15.H 1 .. 1 20 10.00 11.11

1:¡

14.07 ., " •• .. 15.74 11.H 1.17

101 lll .. "" "·º' U.AS lZ 3.43 16 .. .. .. 11.SI

S!il .. 5.42

17 l .. .. "' 90.12 .. 4.U 111 1 ... . 14.11 1 U.77

' 1:1 l 'º' lJ.33 11.10 z, 5.H .. •• ,. " , ....... H.lJ • ... eo

" .. .. .. 1!.J5 9!.8! • t.l8

" "º 12 111 19. l] 8!>.ll " .... .. 61 SI •• 14.44 14.12 • 1,81 11 .. 11 14 100.00 92.ll 5 , ... 11 ., 10 ,. 10,00 u.n u 1.11 30 14 11 u N.17 u.u 1 J.O .. ., .. ,. tl.tz 9J.M u 1.11 •• 104 .. .. 19.71 H.94 11 10,J7

174 ... IU IH H.l4 ..... 20 J.41 111 111 111 IZO 17.CU N.00 u !i,71 ... 01 u, U2 tl .17 to.,. o I.H u, ,.1 .,, ... to.U 14.U " .... 4U 3'5 "' 317 91.U 94.U " s.u 150 733 511 111 U.64 '°·" 101 7. ,.

Page 100: MAESTRO EN SISTEMAS DE INFORMACION s

o o M

"' ... ~ "' <

o cD

:e

o -en

e o

~

o ... N

z en ... "' o

o ...

a:: a:

!=, .... "'

E

... :¡

::)

E

<

.... .....1 ... "' Q

... .....1 <

e

:e .... u - w u ......

z - a:: o ....

u -><

ui w

E

::5 ><

cD

.... e

E

....

1

~,~--~·N~"O

-~N-N

·--·Om

N•·-··--·~--·-N

---·----·-••G:ga-·-·-3ii-3z•O

•--~a -=,::::::::::::::::::::::::::~::~::::::::::::::::::~~-:::::~~~:~~:::::¡

-!~~¡ 1

--

--

--

--

-.

......... u

.

l

1

~ ~

,-·-~--~

o-~

--"-~

••--••o•-~

"--•~

--~•"

"-m

•-••••"•~

o-•-•o

~•o

"•o

••""•"

o•j

¡ 1 ~ ------------~---··-----·. ------·-·-------·----·----· --1

_ i.

1 >

-~~

-~1---.-.-a-~

-~-~

•••·~-•-•••og-a•g~

-"" ____ "8

º __

_ 0••0-----••••"o.;.-~-.-.-.-.---~~J

~ -

·~--··-·~

O~

•••--•-o "•----~

••-•"---••-•-o

•••--••-·"~

•~•••••~

••••• 81~~-~~-~~~~~~~~~~~~~~~~~~~:-~:·~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

••••••~•••••••••••••••••• •

•••••••-•••••••••••••••••••••••••••••••!

1 -•~•~

-·~·-••o

••--~-o

o-o

oo

"•~•o

oN

•••o---o

"••"o-·-~

-.-••~o

••"--•••••~~

W

····~~~e•~N~0~-·~--00--0"····•-·o~•OO-"~~"·~-~-~··o·•--~NOG.~C-~·ft·, 0

: =

~:::::::::gsi:;::zzg:is:;:¡:~::;::1;:::::i;::::;:;:::::::;:::i:::: ~

~-4

---i>-~

~~

~~

~--~

~~

~---~

~-~

~--~

~..,..,..---=

-,,-..,,.~~

~~

~~

~-,c

,""7"",-C

-,=-c

,"-=-,"--,--,•,-C

-,=-c

,-~~

l e~

••-·-~••----••~

~-••••••o

o•••--•~

~•o

-•-o-~

•~---~

•-~••~

-•-o-•o

-•••­~

¡~ •~

~~

~~

oeN•----••••• -•-•-•-o

----o•"--••~

•o~

--N·-~

•o-•--e•--~

--~-

~~

Q ~ 8j

--

-------

----

---

--------

-------~---

-i ~r

~-------~

·~-·•N

O-•-•o

••--····•0•-----•-0

•·--··~~

-----•0N

N ___ O

ON

-~··1 i

-••••••o-•N

•~

-••o•• -~

------~o

--•o• ~

-~-·--~

a---•~

•-•---o•--• ••

~~ w

!

------

--

---

---

------· --

--

--------

-i

~ .:~=~=

:~~:;;~~==

i~==

~==

=~:::1::::2g::~=

=~~=

=:~=

:~:=~=

:::~:::!::::=:~

1

2 a --

.. ----~--

----

----

---~--

------

--------

~ 3 ::;:::=;a:~:·~=

::==

·!!==

==

~~~::E=

!=-e!;:::=

~=:=

;;!=~:=

::;;:!;º:;=::

GM

Gh

-•~o

-h-"º•~

h~

-o•-•••N

•"•·-~o

• .. •N•••"-~

•N-o

"••oo

••-••-~-•"•-•N

a-

ri

N

=.. -

--

=

N

-:::"--:

-N

º ~::;:;; ~~-r_: _

_ ;...1 :;;_g_g_g_g_g_g_g~g-~-=-g_::_8_8_:._g_:_:i_8_8_:i_~_8_8_1_1_1_8_8_::_:z~s-:-;-g~.-8~8-:::-:!!~:-g-:~~-g-g_g_g_g_:;;_g_::_8_:_:i_::_·_.~:-::-g~:-g-g~g-:-8--i

_ w¡:gggggggg;:g:gg:¡¡gg¡¡::gg¡~gg;=&

:i8i88:::g:;giggg:g:g¡g¡i::g•g¡g:g o

--

-----

---

. ----

---

--

-~

-

--

--

---

--

--

--

-~

.. i

º¡~

L_

!NN

-~--~

-~~

•--••:::•-w•~

•-••·-~~

:~o

~·~

:-::;;:w:;;~

N-N

:-:-:-::::~:::o

••-:~

. 1 E

ll ¡_,~_ •

1 ·

~~

o•-••o

o~

.. ••~·~

••o••~

••• .. --:-••••o•~

-••o•-o

""•"

"•~

"••-.. ••-•••-~

••~

Jg •

~ ~··"~º·~~e~~~~h~~~~~~~~-~~~~ -~~~~~~o••~~~~~~-~ .. ·

~~~00~~~~~~~~=~~~~~

\ u

~ •h

-•~o

·~~

-•~•o

-o-h

-•••••"-•"~h

~••-••--"•~

•N•~

~~

o••-h

•-•••"•-• ~-.... -

~ ~ ..

ff :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.:

::::

• ~ ~

::·=~

~=

=:~

=-·=

~:::••:;~

;::~~

=::::·=

~=

~:;::~

:::•::;:~ .. ==:=~==·=;-:;

'O

;.

-

~ ;

1 :

-!~--o....-~

~---~

"-~•O

NN

-w•• .. --

... " .... MO

~--.. ~-·o

-~------.. -~---h-·hN

···~·fl ~

: 1

-.. _fl

----

..... ~ .

--

---... ----:

-;

~;

. 1

l .~~

~-m

~o

~-N

~•O

o--o

•••~e•-••-o

~..,..,••--••o

••o-... •~

w-•N

e-~N

-~~

--o-•o

•"••o•--1

~

li =,·-·N

·-·--·~e--~

fl·~· -··-...... ··-··-··"

··~-·~

-... N-••-c--~

·-N·~

--"N•N

...... N

~ :~ªJj___ -

--

---

-------· -¡

1X

:1::::~:~;=::~::;:2::;:=

:~2~=~=

==

c~~:~~:::::g~:::::;=:::::=

::=:::::~1

I ~.~ ~¡N--·~-----·-

-··"· ·-

--~----·-· ---"·~-... --N ___ ..,_ ·-·~--... ·--

-" !

~ •.

r ' i1~

--¡,~•000•000goooooogoggag•ogoooo"o~

•oogoo~oo-oooooo~

..,•oonoogoooo•ooooo ':-;

~~~~~~C!~~ .C

!~~C!C

!~ .!:! . -~ -~~ -

~~~~~~~~~~ .C

!~~

~~

~~

~~

C!~

~~

~C

!~C

!C!C

!C! -~~C

!C!: C

!~~~~

1 ¡~

:;ggg:gggggggggggggssz:gzgggg;g::sgggg:gg:gggggg:::gggggggggg ggggg

I I"

---

----------------

------

------

--

------

----------

----­

~ ~--•N

•~o

•-~~

~"N

..,•..,•~fl-••a"•~

•••-••--•••~••-o

..,N-~

•·•~o

... ---•-•~

o • ..,o .. •­•¡i l~

,~

m•••••~

-••~-••-•-••••-••• ... -~

s•o-o

o••"~

~-...... -••--•••-~

·--o!-~

o•o

•no

N

~i-

•~--~

·-N•-••--••..,•---:--·-~

---•-=

••-•---~-=

•ne-•..,•:••~

.. •••::·---•~

d ~

: ~

i I

I o

1---•fl•. •~~-... --~•••~ ... ~•N

--•~•~

•~••~

-•••~-•--... •--•••~

a ... ---•-••-•••o

••­•0

••0••..,-•••-••-•-••••-••-... -~

-•o•o

ow

w"•~

-~~

-••--•o•-••--0

0--o

•o••o

N

• ·-"-~

-N~

·-··--~·h

·---:·-·-:~~

~"~

N=

··~---~

~~

=·~

·-···:··2-···::•~

~--~

e

~ ~ eeB

eseesssssessesess888888888BS

BS

B88888888888888888888888888S

B

2 ;r;;;;;;;r;rr¡;;r¡;;rr;rrrrrrr;;;¡rrrrr;r;;rrr;;rr;e;rriiiiiir

96

Page 101: MAESTRO EN SISTEMAS DE INFORMACION s

o o .., -.,, .....

~ .,, e

o ca

:e o - OI Q o ~

o - N

z

... ..... .,,

o o

w

a:

a: t. .... .,, ! w

::, E

e A

. ..... w

.,, C

I ..... .....

:! e A

. u - w u 11,.

z - a: o

A.

u

-•.

>C

w ..,

E

~

>C

ca

~

e ....

... o ....................... ..,O

Clf

t ....... ..:.~

o•,..,0

0 ..... 0 ............ ..:-;;-;-.--..-.~

..;:-;.-,; ........ ;.;_-;..,~ 1 ~M

m"-... •• ... o

--... ••-........... o-•a--•o

"" ... A••• ... ••••""-~

•• .. -•••--••~•-••~

o .. -• .........

~I~=~ :~ •••••. ~ •• ~ •••••• ~ ••••••• ~·-:•=:=~~--~·2:·~~--~-=~~---····-~=-~~I 2

~ ~

... •o•oo• ...... ~ .... e ............. ~

o•:=•~

=:'""':~

i:•~:i:~

:•:•.n:~:•::;=

::•:•:~:=

~·::

! ! ,,--N--·-

_N_N ___ -

-1

~ ~

=~

~;~

==

==

=~

::;~~

:12;::=::::;g=

:::::~:1~

:gg:g~:::::g;:;:~

:=:=

:::;:1 ~

~~~~~~~~~~~~~~•o••o~~~-~~~o~o~~~••••~~~•oo~ó~••~h•~o~••~o•~~-~~~~I

m•••••••••••••••••~

••••~••~

•2•••.n

••••••e.n

••~•••••••••..,..,••••••••~

~

•--a

o.n

•e ... •

~•o

~c ... -o

H0

0~

·~--0

... 0 ...... .ngg•-... oo

~~

a•o

~~

•• ... -

• ... :•--g,n.n ... a

•""""º

w

~~~~~~~~~~~~~~~~~~~~~~,~~~~~~~~~~. -~~~~~~!~~~~~~~~~~~ -~~~ -~~~~~~~~¡

0 !

t:::;::::;~;;:;!S

i2::ª:;2

;::~:~

:§2

:::i::,:02

::::i~:;::;=

ª::;::::i

1

~1 :. ....·~:~::::;:~==;~~;::~~=~~~~~== .. ~

fs·~::z~

=:-:~

::3:::::::0~~

:::~::::=

I º

a 4

',f-... -

... -·--

... ,... ....

... -

... --

-.....

... --

... --

~ 1--~.,...,,_,--=c-c-=-=-=-==c::-:=-=-==-=-=-:::c=-====:-=:====-=::-=:====--=-=:-:-:===-===c=-:===-=:-:-:=-=-==::-=========-i ::=

:=::::~

=::::::~

·:~~

~o~

=::··=

:·:~::::::

0::~::=

~=

==

~s:~

:::::::::: ...

! ,... _

_ ,......

----

--

--

--

---

--

---

1

.... ¡ ~==

::::;:;;:::::=::o;::;~:i:;~~=

:: .. :~:::::::~

:::·~~

;;::::::s::g:::::::::::::.:

VI a 1 .. .., .. .,_ ..

_,. __ • ..,.....

,.... -

---

..... -

...... -

-.,._

---

1

~f--+-~~,-~---c----,-,,--,--,--,,-,--.::--:-,:c::-:=--:==::c::--::c::-:=--:=::--=-:-=:-=-:-:::-=-=-=-=c::-:==-=-=:-=-::=c=--::--==--c::-=-=c::-:::-1 -

::::::~:::::::g

::::•:s:;~~

=~

s·:::·:::::::0::~

:=s::=

:::::~:::;:::~

: !. I .!

............. ..................

--

--

-.. -

-....

--

---

h••~

.. ft••~-•~

ooo-... wouo ......... o

•~-o

•••o•--o

•-.. o .. o•~

••••-o-•o

--•o•-"• ... "N

-

S,N

--

.,. -

--

• ..,

-....

-

~ .

.. ~

~

~~~~~~~~~~~~~~~!~~~!~~!~~~;~~~!~~~~~~~~~!~~!~~~~~~~~=~~~~~~~~~!~~ K

;::§!!!!!§~!§§§:=~!:!ª:~!§:!§!:=

~!§;!!§ 1:!!:~::§:!§!:§!~

ª§!:!;~!:I

w

,. e

" § ~ . -¡; . e ~

g

g ú ,,; :,;

1 e w

. ~ .. . ~ ' z

" e .. : u e .. : g:~:::a~:::::::~~::::~=~===~~=~::::=====~:z:10:::2:~==~d:::::=~~= ~~~~~---~·~·-~~-~~~~~~~~~·~-~~--~~~~·~~~º~-~~·~·~·"·~~·~·~·-~~-~·, ••••••••••~

•••o~

••••~m

•••••••••••••••••••••••••••••••••••••••••••

: •

•::•"=:~

~•N

••~•o

:-•o-•o

:--o•--o

~••-••-~

=º"•º::•--•"-o

•~ .. ••••••o

--<

.. . . e

~~ : ! _ =

••~n

-~•~

•~~

••••~~

o•-n

oo

--•-•o•••-"•n

•---oo

"ft-----••o-~

-•••••~••••

-~

:lw~

•:::•-••••"2••-•-w

-~--•n

••-"•----•:•••--n-:!;••"~

":•w•n

•2:••ft••

t~~ ~

s ~ -

••-•~• .. ----o

•N~

-~~

•·-•-••••••ft-•••o-•~

o--••~

•••~-••-"•~

--o•---~

"• ~:",

-,~·••••n

~•--••~

o•~

~o

•~-o

•--•oN

-••-•o~

~• .. n

-•••-•••o•o

•~-"º•••-•fto

~•

= ; i

~-:··ft---"·-·--~-

N----N

---

.. _

__

NN

-

nn~ "-.. -------•n---~-¡ o

:

" w m

-1 ¡ e o u o e . <

~

1 1 i

~ f

g:i:g

:g;g

gg

gg

::;gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

gg

sg;

a:::g:g:ggggg:::gggggsiggggggggggggggggggggggggggggggggggggggg¡g:

88888888888888888838888888888888888888888888888388888388888888888 -----------------------------------------------------------------rrrrr¡r;rriiiririiiiiiiiiiiiiiiiiiiiiiii;iiiiiiiiiiiiiiiii;iiiiii

97

Page 102: MAESTRO EN SISTEMAS DE INFORMACION s

2 S

""

.. =

"-

. . .. " .

. 1

hN

-o

-· ..

. ~

;:::g :::

; ::s

o ;

. ..

.."~ h

.. "!

hftC

~

.. . ...

.. ;

. .

. o .... -

. .

. ....

. ..

-o ••o

h

~ .

.. .. .

:;-h

g .

.. :

h h

eO

o ....

. " .. ..

.. s:

g--

g '!

.. i

!:3 !

;:

~ h .

.. :·h

..

oe

~

; =::1

:;: ;

h ..

. ..

=·--.

.. :;:

:

§ .. o

g ~

~~

GI

N

ª .., -

.,, ~

w 1

4h

,O

..

.. .,,

Nh

N

.. e

N ..

.. o

a:a ..

::i:: o -

.. ggg

g .,. ! .

. o

: !§§

o ..

o o

.. - .,.

z ..

"•"

o

, '"' o

-·· ..

." ..

.,, .. o

o .

w

a: º"'

a: t; .

"." ..

1 ~

... -~-.

.." ..

... ! ~

:::::, IC

e

; A

. ~i~

=

..... ... .,,

:! Q

w

¡u

a

e ªª _,

! ~

o ;¡

u -~·

... u

:! ~i

... z -

oº:l

i5i5 a

: 113

o A

. 83

u w

w,c

-•.

~Z

>

~g t1 .., IC

gg

~

;;; lloC

a:a 1111

~

e e2~

H

... F

IG. 7

.6 P

RIN

CIP

AL

ES

PA

RA

ME

TR

OS

EN

RA

.DIO

BA

SES.

98

Page 103: MAESTRO EN SISTEMAS DE INFORMACION s

TABLA 6

La última tabla que conforma el reporte mensual de tráfico es el resumen de los casos

más importantes de células a ser revisadas que es proveniente de la tabla 5 utilizando

algunos criterios como son:

- células sin intentos de directed retry salientes.

- células con menos de 10 intentos de directed retry salientes.

- células sin intentos de acceso de directed retry entrantes.

- células con porcentaje de hand-offs entrantes menor al 90%.

- células con porcentaje de hand-offs salientes menor al 90%.

- células con porcentaje de llamadas perdidas mayor al 10%.

- células con porcentaje de asignación de canal menor al 85 % .

Esta información es muy útil para tener la visión rápida del desempeño del sistema sin

entrar a la tabla 5 que contiene un volúmen grande de información.

Se presenta en la figura 7. 7

99

Page 104: MAESTRO EN SISTEMAS DE INFORMACION s

...

{~: s,: ~i

-8

ª ....¡

:...i

¡

1 t:, tI1 (i

~

~ > Cl:1

~

~ Cl:1

~ ~

FECHA DEL KUESTREO: 921009 HORA: 1300

TABLA 6,- RESUKEN DE LOS CASOS MAS IKPORTANTES DE CELULAS A SER REVISADAS:

CELLUS SIN INTENTOS CELULAS CON HENOS CELULAS SIN INTENTOS CEL ULAS CON X CELULAS CON X CCL lLAS CON X CELULAS COM X DE DI RECT RETRY DE I O INTENTOS DE DE ACCESO DE DIRECT DE HOFFS-IN DE HOFFS-OUT DE LLAMADAS DE VCOES

SALIENTES DIRECT RET. SAL. RETRY ENTRANTES EXITOSOS<90X EXITOSOS<90X PERDIDAS>lOX <851

MXACB HXACC DFAZA DFCJC 20.00 DFTOA 50.00 DFTZ8 27 .63 DFPDE 0.00 DFAZC DFALA OFAZC MXCNC 33.33 DFTZB 54. 55 DFAZB 24.84 DFCHA 85. 7Z DFCHC DFALC MXCNC DFAZC 60.00 MXCNB .66.67 MXNEC 22 .99 DFPOB 73.13 MXCNA DFAOA HOHIO OFPNC 63.64 MXNEA 66. 67 OFTZA 21.30 OFNLC 76.02 MXCNC OFAOB HXHOA HXTXB 69.23 OFCJC 68.97 DFAOB 19.64 OFCRA 78.23 OFOFA OFAOC HXNVO OFCJA 70. 59 OFXHA 74 .81 OFPIC 19. 54 OFCRB 80.00 DFOOA OFAZA HOOAO DFVGC •• 73. 61 DFCJA 77 .08 OFCJA 15.89 OFINA 80.07 OFHIB DFAZB OFPOE OFPIC 76. 58 DFXHB 78. 26 HOOAO 15. 78 DFTZC 81.54 DFIGA DFBM DFSAC DFXHC 76. 61 HXHOC 79.17 . OFURA 15.29 DFTZB 81. 72 MXSCA - OF80A MXSHA HXTLB 76.11 DFAOB 79.31 OFL88 15.14 OFPIC 82.08 MXLEO OFBOC DFTM DFIGB 77 .78 DFAZB 80.00 DFCJC 14.07 DfPVC 82.12 HXHEA OFCR8 HXTC8 HXHEB 78.26 • HXSCB 80.00 DFZAC 13.56 DFCJA 82.97 HOOAO DFCM MXTXC MXNEC 78.72 OFOUA 80.87 OF80A 13. 51 DFCJC 83.85

.OFOBB DFCAC DFTOA HXNAA 79.49 HXCIIC 81. 1 O DFMLC 13.40 OFPDA 84.21 DFPDE DFCHB DFURC OFCTC 80.00 HXTX8 81.25 DfCRA 12.90 DFPIA DFCUB MXVBA OFSJA 80.33 HXTLC 81.54 MXCN8 12.77 DFS8C DFCYB MXVVC DFGUB 80.49 DFP18 81.81 DFIG8 12.12 DFSM DFCYC OFZOA OFBOB 80.65 OFPNC 81.82 HXTX8 12.06 DFSA8 DFCJC DFVGB 80. 77 DFBM 82.50 DFOB8 12.00 DFSJC OFCOA OFXHB 81.82 OFVGA 83.33 OFPHC 11. 54 HXSHA OFC08 OFMLB 82.86 MXSCC 83.33 OFTZC 11.32 OFTAC HXCN8 OFZM 83.97 OFPOE 83.33 OFIGC 11.26 HXTXA OFCU HXCNB 84.21 OFCRC 83.46 OFLBC 11.21 OFTOA OFCEB OFDFC 85.71 OFCTC 83. 72 OFVGC 11.17 DFURB OFCEC MXNEA 85. 71 OFBOC 84.21 HXHOC 10.91 MXVBA OFCTA MXVVC 86.96 OFPPC 85.07' OFOFC 10.37 HXVVA OFCTB DF008 87 .03 HXNM 85.07 OFTOA 10.28 MXXCB OFOF8 OFPPA 87 .06 OFBOB 85.38 MOZAO DFDFC DFBAB 87 .13 DFCEC 85.38

OFOOB DFCRC 87 .17 DFTAC 85.53 DFDOC MXTLA 87 .18 OFGUB 85.56 OFE88 DFBAC 87 .36 MXLEO 85. 71 OFGUA OFCAC 87. SO OFMlB 85.87 DFGU8 MXXC8 87 .65 DFRFA 85.92 OFGUC OFCU8 87. 66 MXTLA 86.15 OFHRA DFVA8 87. 82 DFTPC 86. 23 DFHRB DFTZA 87. as DFHAC 86.49 OFHRC OFMLC 87. 90 OFDFC 86. 54 OFH!A OFRFA 88.04 DFIGA 86.67 DFHIC OFCRA 88. 55 DFPIC 86.96

Page 105: MAESTRO EN SISTEMAS DE INFORMACION s

REPORTE DE LA DOCENA PROBLEMA TICA POR CONGESTION

Mensualmente se genera éste reporte que contiene una selección de los sectores más

congestionados que aparecen en el reporte mensual de tráfico.

CARTA DE PRESENTACION

La primer hoja del reporte es un memorandum dirigido a la Dirección Técnica y al área

comercial de la Compañía. Se presenta el criterio de selección y los sectores con

ocupación mayor al 80 % .

También se presenta un resumen de los sectores que han sido solucionados al bajar la

ocupación de los mismos a un valor menor al 80%, presentando el nombre del sector,

el valor de ocupación del mes anterior y la ocupación actual.

La carta de presentación se muestra en la figura 7.8.

101

Page 106: MAESTRO EN SISTEMAS DE INFORMACION s

A:

DE:

ING. TOM O'MALLEY DIRECTOR TECNICO

Radiomóv1J DIPSA. S.A. de C. V.

MEMORANDUM

LIC. ANDRES VAZQUEZ DEL MERCADO SUBDIRECTOR COMERCIAL SR. Sf AN SIGMAN SOUTHWESTERN-BELL

ING. GERARDO AGUIRRE ROJAS ENCARGADO DE LA GCIA. DE ING. CEL. METRO.

ASUNTO: La Docena Problemática poi" Congestión.

Noviembre OS, 1992

GICM/92.

Adjunto eocontranio la relaéióo de los 12 sectores más conge.stionados en la Ciudad de M6xico, además de 2 sectores que exceden el 80% de ocupación . . El mes anterior se tenían 32 sectores con ocupación mayor al 80 \lli de los cuales fueron soluciooados 12 de ellos:

VIVEROS A ZARAGOZA A INNB COYOACAN C XOCOA BOSQUES B VALLEC SAN ANTONIO B ZOCALO B CASTAÑEDAC OBSERVATORIO A

MOLINITO A

Sin más por el momento, quedo de ustedes.

ATENT\~;;R·

'1-~·f:Jf / c.c.p. C=tivo

ANTERIOR ACTUAL

II0.99 63.93 98.22 64.65 94.54 76.06 93.60 68.11 93.58 73.41 91.46 65.84 89.82 74.59 87.05 47.08 86.57 67.62 86.28 76.35 84.22 Dejo de operar por RB

J uanacatlao 82.97 74.81

FIG. 7.8 PRE.SENTACION DEL REPORTE DE LA l>O.CENA..P~Qij~~fylATICA.

102

Page 107: MAESTRO EN SISTEMAS DE INFORMACION s

CONTENIDO DEL REPORTE DE LA DOCENA PROBLEMATICA.

En la figura 7.9 se presenta el reporte que consiste en listar los sectores con alta

ocupación comenzando por el más congestionado y continuando en orden descendente

con los sectores que presentan alta ocupación.

Se indica la posición del sector en el orden mencionado, el nombre del sector, su

porcentaje de ocupación y las acciones a seguir en cada caso.

Como podrá observarse en gran parte de la lista, la solución consiste en agregar canales

para eliminar la congestión. También en algunos de ellos la solución consiste en

agregar una nueva radiobase.

Después de analizar estos reportes es lógico pensar en la elaboración de un módulo

adicional al sistema SADEC que nos permita generar sugerencias de solución a los

problemas, considerando el tráfico actual y el comportamiento previo de dichos

sectores.

En la siguiente sección se presenta el desarrollo del módulo TRENO que llena el vacío

existente en la planeación de crecimiento de una red celular.

103

Page 108: MAESTRO EN SISTEMAS DE INFORMACION s

l. - San Jerooimo B: % de ocupación 142 % .

Se ordenaron 4 canales a Ericsson. Se terminarán de instalar el 16/Nov./92.

2.- Texcoco A: % de ocupación 133%

Se instalaron 4 canales. Se pondrán a operar el 9/Nov/92.

3.- Cbapullepec A: % de ocupación 127%. Se pondnl en operación RB Lago el 9/Nov/92 La ndiobase Polanco en espeni de enlace ROi.

4.- Texcoco e: % de ocupación 114%. ldem punto 2.

S.-Acatlúi A: % de ocupación.110%. Idem punto 2.

6.- Nacional e: % de ocupación 109%.

Se pondrá en operación RB Lago el 09/Nov/92

1.- Puebla A: % de ocupaciód 108%

Se requiere la adición de una microcélula. Por definirse la ubicación de la misma.

8.- Escobedo C: % de ocupación 107 %. Se encuentra operando la radiobase Juanacatlán; en espera de datos de tráfico. La radiobase Polaoco en espera de enalce RD l.

9.- Parque Vía C: % de ocupación 106 %. Se requiere la adición de la radiobase Popotla. Terminada la Obra Civil, Ericssoo instala en Noviembre para operación en Diciembre.

10.- Mixcoac B: % de ocupación 101 %. Se ordeoanln 4 canales ediciooales.

11.- Popo C: % de ocupación 96 %. Se requiere la adición de la radiobase Minerva en búsqueda de sitio para operación de S a 7 meses.

12.- lno A: % de ocupación 95 %. Se tienen openndo 3 canales adicionales coa lo que disminuyó la ocupación del 116 % al 95 %. Adenw, se requiere la adición de la radiobase Minerva en búsqueda de sitio para operación de S a 7 meses.

104

Page 109: MAESTRO EN SISTEMAS DE INFORMACION s

13.- Chunibusco B: % de ocupación 95 %. Se tienen operando 4 canales adicionales con las que desminuyó la ocupación d"I 1 l 7 'ili. Se ordenarán 4 canales adicionales.

14.- Escobedo A: % de ocupación 94 %. (dem punto 7.

15.- Sabino A: \llí de ocupación 93 \llí. Se tienen operando 4 canales adicionales en espera de dalos de tráfico.

16.- Castañeda B: \llí de ocu.,.ción 93 \llí. Se requien: la adición de la radiobase Aguilas en proceso de Obra Civil para operación en Enero'93.

17. - Doctores A: \llí de ocupación 93 \llí. ldem punto 7.

18.- Tecamacbalco A: \l!i de ocupación 91 \llí. ldem IS.

19: Carrasco C: \llí de ocupacióo91 \llí. Se RCOmienda instalar un conmutador en la Central Carnsco para el uso ínter-oficinas. Se ordenarán 4 canales adicionales.

20.- Tacuba A: \llí de ocupación 88 \llí. Idem 2.

21.- Pedregal E: \llí de ocupación 88 \llí. ldem 15.

22. - Acatlán B: \llí de ocupación 87 \llí. ldem2.

23.- Hipódromo B: % de ocupación 87 %. (dem 15.

24.- Malinche A: \llí de ocupación 86 %. ldem2.

25.- Texcoco B: \llí de ocupación 85 \llí. ldem2.

26.- Defensores B: % de ocupación 84 \llí. ldem2.

27. - Nez.a B: \llí de ocupación 83 \li. Idem 15.

28.- Popocatepetl A: \llí de ocupación 83 \l!i.

Se requiere la adición de la radiohase Cumbres en proceso de inslalación para open,r en Enero del 93.

105

Page 110: MAESTRO EN SISTEMAS DE INFORMACION s

u adición de la radioha.se PiLagoras a operar en Noviembre disminuirá la ocupación.

29.- Mirador Omni: % de ocupación 82 %. ldem 15.

30.- Peiioo B: % de ocupación 82 %. ldem l.

31.· Omega C: % de ocupación 82 % . ldem l.

32.· Lerma O: % de ocupación 82 %. ldem 15.

33.- Hidalgo C: de ocupación 81 % ldem 15.

34.- Xoco C: % de ocupación 81 %. Se onlenarin canales adicionales.

Resumen:

Solucionadas durante el mes

En espqa de datos

12 9

En proceso mes Noviembre

13

FIG. 7.9 REPORTE DE LA DOCENA PROBLEMATICA.

106

Peadienles

12

Page 111: MAESTRO EN SISTEMAS DE INFORMACION s

7.2 TREND SOFTWARE DE APOYO A LA TOMA DE DECISIONFS

Con el continuo uso del Sistema SADEC para obtener estadísticas mensuales, se tiene

la información para decisiones operativas, de ingeniería y diseño a corto plaro. Sin

embargo, las necesidades de la empresa nos imponen un nuevo reto y es desarrollar un

módulo adicional al sistema capaz de proporcionarnos una visión confiable del

crecimiento del sistema y damos información de la tendencia de la red celular en un

mediano plazo (12 a 18 meses) para realizar las consideraciones de planeación y

presupuestos en una forma fundamentada y lógica.

En base a lo anterior se decide crear un módulo adicional a SADEC para lograr los

siguientes :

OBJETIVOS DEL MODULO TRENO

a) Proveer información del pronóstico de crecimiento de la red celular.

b) Minimizar el tiempo y esfuerzo requerido para realizar el análisis y toma de

decisiones respecto a las expansiones (incremento de dispositivos) u optimización

(decremento de dispositivos).

c) Apoyar la realización de planes de expansión a mediano plazo.

d) Generar sugerencias para la solución de problemas de excesiva ocupación en células

o de equipo subutilizado.

e) Apoyar la realización de presupuestos de capital al pronosticar la infraestructura

requerida.

Como se mencionó, el módulo TRENO es una adición al SADEC, que tiene como

entradas los reportes mensuales y los cambios en infraestructura en operación, ya que

al entrar en operación una nueva radiobase, se ve afectada la tendencia en las

radiobases vecinas.

En la figura 7 .10 se muestra el diagrama de contexto correspondiente.

107

Page 112: MAESTRO EN SISTEMAS DE INFORMACION s

'T1 ..... p ;-.J .... o e, -> o

i reporte de proyección del trllflco en c61ulas GERENCIA DE SADEC reporte de análisis MODULO TR.END

e, de radio bases reporte de sugerencias en dimensionamiento PLANEACION .... o trJ Sistema de Información de canales 00 Ci o ;

o

para evaluar variaciones en la Software de apoyo a DE SISTEMAS el desempei'lo celular infraestructura en la toma de desiciones reporte de sugerencias a realizar en el mes

operación CELULARES

reporte de células aue llegarlln a mbima capacidad an un allo

~ o e, e:: s

i DIAGRAMA DE CONTEXTO MODULO TRENO

Page 113: MAESTRO EN SISTEMAS DE INFORMACION s

En la tabla de la figura 7.11 se muestra la lista de eventos, las entradas y las respuestas

esperadas para el módulo TRENO.

EVENTO

l. Se dese.a analizar la

proyección de tráfico y

revisar las sugerencias de

solución de problemas

ENTRADA AL

SISTEMA

RESPUESTA

ESPERADA

Generar reporte de

proyección de tráfico

Generar sugerencias de

solución de problemas

FIG. 7.11 LISTA DE EVENTOS PARA EL MODULO TRENO.

Al agregar este módulo es necesario un almacenamiento de infonnación adicional que

llamaremos TRAFICOS MENSUALES.

MODELO DE INFORMACION

ORTETO:

ATRIBUTOS:

TRAFICOS MENSUALES

Conjunto de infonnación que define la base del desempeño del

mes actual y de los 11 meses anteriores.

(6) NOMBRE DEL ELEMENTO

(8) NOMBRE DE LA RtITA

(16) HARDWARE ACTUAL

(17) NDV DE 50 WATIS

109

Page 114: MAESTRO EN SISTEMAS DE INFORMACION s

(18) NDV DE 25 WATTS

(19) NDV DE 10 WATTS

(13) TRAFICO REAL 1

(13) TRAFICO REAL 2

(13) TRAFICO REAL 3

(13) TRAFICO REAL 4

(13) TRAFICO REAL 5

(13) TRAFICO REAL 6

(13) TRAFICO REAL 7

(13) TRAFICO REAL 8

(13) TRAFICO REAL 9

(13) TRAFICO REAL 10

(13) TRAFICO REAL 11

(12) NDV REAL

(13) TRAFICO REAL

(20) INICIO DE CALCULO

(5) NOMBRE DE LA POBLACION

(21) % DE OCUPACION

A continuación se presentan los elementos que definen el modelo de proceso, que son

el diagrama de flujo de datos y las descripciones de procesos.

110

Page 115: MAESTRO EN SISTEMAS DE INFORMACION s

DIAGRAMA DE FLUJO DE DATOS

En la figura 7.12 se muestra el diagrama de flujo de datos para el módulo TRENO,

indicando los archivos que accesa y los datos con los que opera.

DESCRIPCION DE PROCESOS

NOMBRE:

NUMERO:

DESCRIPCION:

GENERAR PROYECCIONES PRELIMINARES

1

a) La proyección se hace a un año, es decir, que se pronostica el

tráfico y el número de canales de cada célula en los doce meses

siguientes a la fecha actual. Para el cálculo se aplica la fórmula

de mínimos cuadrados para ajuste de rectas: y=mx+b, donde y

es el valor a calcular, x es el mes que se desea calcular.

b) Se considera un porcentaje para el cálculo del número de

canales. Esto se hace con el fin de asegurar que no llegaremos a

saturar las células, ya que al dar este porcentaje igual al 80% se

calcula un número de canales mayor al que se necesita realmente.

c) Para células afectadas por las nuevas células vecinas se

comienza el pronóstico a partir de ese mes.

NOMBRE: AJUSTAR PROYECCIONES

NUMERO: . 2

DESCRIPCION: Para los casos (células) en los que la pendiente de crecimiento

sea negativa, y en los que no hay datos (células que acaban de

entrar en operación) se aplica la fórmula de crecimiento global de

la red.

El crecimiento global se calcula al pronosticar utilizando los

valores de tráfico total de cada mes para realiz.ar la proyección.

111

Page 116: MAESTRO EN SISTEMAS DE INFORMACION s

NOMBRE:

NUMERO:

DESCRIPCION:

NOMBRE:

NUMERO:

DESCRIPCION:

GENERAR REPORTE DE PROYECCION DE TRAFICO EN

CELULAS

3

Imprime el reporte de proyección por orden alfabético de acuerdo

a la clave de la radiobase. Incluye los 12 valores de base de

cálculo y 14 valores de tráfico proyectado con su número de

canales (C) necesarios.

GENERAR REPORTES DE SUGERENCIAS

4

a) Imprime el reporte de sugerencia para el incremento y

decremento de canales, indica la fecha en que se sugiere tomar la

acción recomendada.

b) Se incrementarán canales un mes antes de llegar al número de

saturación. A las células con un porcentaje mayor al 80%

incrementarles canales inmediatamente.

c) Se decrementarán canales si en el pronóstico a un año sólo se

necesitan menos canales de los actuales menos cuatro, sólo se

decrementarán cuatro canales a la vez. Se decrementarán canales

inmediatamente a las células con ocupación menor al 20%.

d) Imprime el reporte de sugerencias del mes, que indica las

acciones recomendadas en el mes analizado.

e) Imprime el reporte de células que sobrepasarán los 30 canales

en el siguiente año, sirve para estimar la entrada de nuevos sitios.

112

Page 117: MAESTRO EN SISTEMAS DE INFORMACION s

DIAGRAMA DE FLUJO DE DATOS MODULO TRENO

TRAFICOS MENSUALES

'--------~

1 GENERAR

DATOS HISTORICOS PROYECCIONES PRELIMINARES

DATOS HISTORICOS

+ PROYECCION PRELIMINAR

2 AJUSTAR

PROYECCIONES

DATOS HISTORICOS

+ PROYECCION AJUSTADA

3 GENERAR REPORTE DE PROYECCION DE TRAFICO EN CELULAS

4

GENERAR

REPORTES

ADICIONALES

REPORTE DE

t-----+"ROYECCION DE

TRAFICO EN CELULAS

REPORTE DE SUGEREN·

CIAS EN DIMENSIONA·

MIENTO DE CANALES

REPORTE DE

,___SUGERENCIAS A

REALIZAR EN EL MES

,____ REPORTE DE CELULAS QUE U.EGARIIIN A MAXIMA

CAPACIDAD EN UN AÑO

FIG. 7.11 DIAGRAMA DE FLUJO DE DATOS MODULO TREND.

113

Page 118: MAESTRO EN SISTEMAS DE INFORMACION s

Al incorporar el módulo TREND es necesario actuali7.ar el Diccionario de Datos.

DEFINICIONES ADICIONALES AL DICCIONARIO DE DATOS

(16) HARDWARE ACfUAL.- Es la capacidad máxima con la que se encuentra

preparada la radiobase para recibir canales adicionales.

(17) NDV DE.50 WATTS.- Número de dispositivos con una potencia máxima de

transmisión de 50 Watts.

(18) NDV DE 25 WATTS.- Número de dispositivos con una potencia máxima de

transmisión de 25 Watts.

(19) NDV DE 10 WATTS.- Número de dispositivos con una potencia máxima de

transmisión de 10 Watts.

(20) INICIO DE CALCULO.- Es el número del mes a partir del cual se calcula la

tendencia de tráfico.

(21) % DE OCUPACION.- Es la relación entre el tráfico real y la capacidad de tráfico.

OTRAS DEFINICIONES

(J) DATOS HISTORICOS.- Se define como: NOMBRE DEL ELEMENTO +

NOMBRE DE LA RUTA + HARDWARE ACTUAL+ NDV DE 50 WATTS +

NDV DE 25 WATTS+ NDV DE 10 WATTS+ TRAFICO REAL 1 + TRAFICO

REAL 2 + TRAFICO REAL 3 + TRAFICO REAL 4 + TRAFICO REAL 5 +

TRAFICO REAL 6 + TRAFICO REAL 7 + TRAFICO REAL 8 + TRAFICO REAL

9 + TRAFICO REAL 10 + TRAFICO REAL 11 + NDV REAL + TRAFICO REAL

12 + INICIO DE CALCULO + NOMBRE DE LA POBLACION + % DE

OCUPACION

114

Page 119: MAESTRO EN SISTEMAS DE INFORMACION s

(K) PROYECCION PRELIMINAR.- TRAFICO PROYECTADO + CANALES

PROYECTADOS

(L) PROYECCION AJUSTADA.- TRAFICO PROYECTADO + CANALES

PROYECTADOS

El diseño se realizó utilizando los mismas bases que para el Sistema SADEC. Para el

módulo TRENO se creará el subsistema 3 TRENO debido a las siguientes

consideraciones:

SUBSISTEMA 3. TRENO SOFIW ARE DE APOYO A LA TOMA DE DECISIONES

1. En este subsistema se agruparon todos los módulos correspondientes al tratamiento

de información referida al análisis de proyección de tráfico y sugerencias a solución de

problemas.

2. Lógicamente también se integraron los módulos que generan reportes relacionados

con los análisis realizados.

3. Al igual que en los otros subsistemas, se adicionó un módulo para aceptar la entrada

del menú, ya que mediante éste se definirá con cuál de los módulos desea el usuario

trabajar.

4. Las funciones contenidas en este subsistema tienen la característica de ser ejecutadas

periódicamente, normalmente en forma mensual, aunque pueden utiliz.arse cuando sea

necesario en situaciones especiales.

5. Para la operación de este subsistema es necesario contar con un archivo fuente

interno generado previamente por el subsistema 2 Analisis de la Red Celular.

En la siguiente página se presenta el diagrama de estructura del subsistema (figura

7.13).

115

Page 120: MAESTRO EN SISTEMAS DE INFORMACION s

1

ACEPTAR ENTRADA DE MENU

GENERAR PROYECCIONES PRELIMINARES

2

SUBSISTEMA 3 TRENO

ENRUTAR

OPERACION DE APOYO

A TOMA DE DECISIONES

3 AJUSTAR PROYECCIONES

GENERAR REPORTE DE PROYECCION DE TRAFICO EN CELULAS

4 GENERAR REPORTES ADICIONALES

FIG. 7.13 DIAGRAMA DE ESTRUCTURA. MODULO TREND.

116

Page 121: MAESTRO EN SISTEMAS DE INFORMACION s

REVISION DE LA BASE DE DATOS

A partir del modelo de información presentado es necesario el archivo de tráficos

mensuales que se presenta a continuación:

ARCHIVO: TRAFICOS MENSUALES mQ l2B DATOS

LLAVE Y CAMPO: * FECHA DATE

CAMPOS: NOMBRE DEL ELEMENTO CHAR(15)

** NOMBRE DE LA RUTA CHAR(15)

HARDWARE ACTUAL NUM(5.0)

NDV DE50WAITS NUM(5.0)

NDV DE25 WATTS NUM(5.0)

NDV DE 10 WATTS NUM(5.0)

TRAFICO REAL 1 NUM(5.2)

TRAFICO REAL 2 NUM(5.2)

TRAFICO REAL 3 NUM(5.2)

TRAFICO REAL 4 NUM(5.2)

TRAFICO REAL 5 NUM(5.2)

TRAFICO REAL 6 NUM(5.2)

TRAFICO REAL 7 NUM(5.2)

TRAFICO REAL 8 NUM(5.2)

TRAFICO REAL 9 NUM(5.2)

117

Page 122: MAESTRO EN SISTEMAS DE INFORMACION s

TRAFICO REAL 10 NUM(S.2)

TRAFICO REAL 11 NUM(5.2)

NDVREAL NUM(5.0)

TRAFICO REAL NUM(5.2)

INICIO DE CALCULO NUM(2.0)

** NOMBRE DE LA POBLACION CHAR(15)

% DE OCUPACION NUM(2.2)

118

Page 123: MAESTRO EN SISTEMAS DE INFORMACION s

7.3 REPORTES GENERADOS POR EL MODUW TRENO

A continuación se presentan los 4 reportes que genera el nuevo módulo y cuya

importancia radica en su aportación a la toma de decisiones.

REPORTE DE PROYECCION DEL TRAFICO EN CELULAS

Las primeras 6 columnas de este reporte corresponden a información fuente para el

cálculo como es el nombre de la célula (CLAVE), el hardware con que cuenta la célula

(HW AC), el número de canales de 50,25 y 10 Watts (D. 50, D. 25 y D. 10), así como

el total de canales de voz para el cálculo de tráfico (C. VC).

Las siguientes 12 columnas indican los valores de tráfico registrados en los 12 meses

anteriores a la fecha actual, con los que se realizará la proyección. Se indica con una

diagonal (/) el mes de inicio de cálculo y se indica con un asterisco (*) las células en las

que se aplicó la fórmula de crecimiento global del sistema.

Las últimas 14 columnas son valores de tráfico (fRAF) y número de canales (C),

correspondiendo una al mes actual, 11 de ellas a los meses futuros, la siguiente a 12

meses posteriores al actual y la última 15 meses posteriores al actual.

El número de canales es el necesario para satisfacer la demanda y tener una ocupación

del 80 % en la célula.

Al final del listado de células por orden, se presenta el cálculo de la proyección global

del sistema, tomando los totales de tráfico de cada mes.

El reporte se muestra en la figura 7.14

119

Page 124: MAESTRO EN SISTEMAS DE INFORMACION s

~ 3 r w

~

i!,

i ~ o ~ 9 ~ ~ ~ ~

:5 ~ 3

! ~

~

o ~

~ § :!: !i'

~

<

§ m

::.

9 .. <

« i f' :!:

i!,

<

~ ~

u «

w

w

« o

u §

¡; :!:

-g

j il i

:: w

~ ·i

o w

m

~ f'

00

s z ~~8

' !

. f' : ~'ª

¡¡ «

i !?

u~

~ ~

w~

o

~-<

. u

o

. ª ""N--~---o-••~o~•""--~·"~~-~-~-N

O--m

No••O

N~-·O

~N0~-~00N

ft0~0"0ft ___ _ ~~~·~~~~Ñ~••~i:~~:•::~2~~=·=~•Ñ••~~~~:•:~~:=~·~~Ñm~~-~~i~~~~:i:~•~

u ª=~2~··:·=~:=~~~2:~~~:~=~:~:2:~2:·~:-:::~~==;~-~~~·~===::~·=::::::

o ~ ª .

--~o-•m

-••~"~

•--•~•o~

••••-•o•-o•--~o-•-~

m•~

"-•No•-•••om

m•••h~

•~-"•

~~··~~~~Ñ~--~~~"~=•:i:G·~=-~-~~"·~~~~~-~·~~=~~~~~-~~-~~~~~Ñ·:~==••

m

u o ~ .

oo••o-••N•m

oo~~-•o•••••"N•N

m••o~•oN

•--•~"-N•••-•••~•••N

-m~~-•N

N•-•

"~-"~~Ñ·~·····:~•:•;~=··~=-~·~~~~~~~~:~:•¿:::~~~~~~~~··~=~Ñ•:::~·· u

o ~ ª .

•~~•GN

~•-•N~~•N

-"~-••o---•o-•~••••-•-~••o~o•••-••~~•~•••~~~~•••mo~

~--~~~~·~·-~·D=~~~·:·=·-~=•:a~~"~~~•~!·~·~==="~Ñ~~~~---=~~~·=:2:•• .

u o ~ .

•••~•-••o~

o••N•o-•••G

-•••N~

•-m••N

•-•o-•••~•~

-~o~

~~

•mN

••-••••~••-••

~--~~~~-~~•~••:~·~~;e=•••:~:•~~~~Ñ~•~i~~•i:::~~Ñ~~~~~•e::~~~~:~:~• u

•=!~·G

·=~=

~~=~:·::!~~~~~=

=~:~:~G

:-~:m::~!=

~~~~···!·2~=~=

=··::;~=

=~

o ~ ª .

eh••~o~-•~•~•••••o~-•N••••~-•••-••-N

Om

••mo~o~~•~~~••o•-~~•m

~-•o~•~ ~••~~~~•~~~~••:~•:~=e~•••!~:•~~~~~~•~·~~•!:::~~~~~~~~•~::~~~~:2:~•

~ u

! ~

¡ o u ~ ! .

•=~•••~2•=~===:•:=~~~:~~!~!~~=·•~•m2m

===~==~=2•••~•2::~::••:==~=== ~•"••~-•~••-m

~••m~m

••~•~••~••N•-~~o•-o••"•m

~•••••-~m•••N

-m••o-•"~-

Ñ·-~~~~~~·~~--=~-~~=~~···2~~-~~~·~~~ ··=·==~~~~~~~~~·-~==~~~~i·=~·

•::•••~2

·=~

==

~:·:2

!:!s:~:2

::::••:·-~~

~~

:~~

=2

=~

···~·2

::!:t••=:~

!::~

••o•~-N~····---~N

·N~-·--·"-~~o•o-•o~··~·O

N.~N

·~~--ft~~--~~m·-·~N

-~0 ~·•~~~~~~•~•••=~•i~:~~•••2~:•~~~-~~~o••:•::!~~~~~-~~••~=:~~~~:•:~•

I~ u ~ ·=~---~~·::::::·~2::::::~:==~~~-~-~~ft~==~~:f:2•··~·!:=~==·~==~~==!

mm

~-•~-NftftN

~"-o•o-o••m••"•••-•~••m

-~•••o••Nom

m~•m

~ftm•~~"•m

"••m•m

N•

~·~"~~Ñ~~·~···=Ñ·~~=·=~~···=··~~-Ñ "º~·:~:=~~~ÑÑ~~~"··~==~~·~~-=~" -

u

. ~ :::::~::::~~~~~::~~~~;:~~::;:::::~~::::;:;;:;:::::::~::;;~::i;:;~: !

u •::•~

·~·~

:::!!;·:~:::::::!::?:••:•~

··:2::~

:~~

~-~

~:·2

::~::•~

:s~::=

~

~

•"--w~••N

••~o•--•••o~~•~o~•o•••~-••-••o---••N•~N

•-•~~•~~~·-~~oo~•~ ~ 1 ....;•..:.;..::....;.~..:;..:•~••,..::::..;~••=..;:;~...:•~•:::...:~....:~~c.to~ow•::...:::•:~....;....;~•....:~•••:2..:Ñ•:::;•:::•..;

~

u h==-~-~-~:::~~:·=~~;~;=~~~=~~=·~:~-··:~===:~:·-~-:~~====~~~2~:~==~

: ~ :::::::::::~1:;::~:;:;~::::;::::~:::::~;:;;:;::~~::::::;;::~~;:;~: N

-•~-•~--~~•~-~~••-m~•••~~o-o-m

N-w

•~•mm

-•"••~<"t~o~•~~o•o••~o~o•N•m

• Ñ••~ ....;~~ ••~~...:~....;~e•:•:•~~•·~~·~Ñ•Ño~o~~2•:~e~"....;....;....:~~~~••~•~..;.;2~...:~•.; N

~••~•••~--•~-N-N

e--o<"l••~~o•o~~•~N•••~-••~-•~-~o~~~•oo-~•~•N

N•••~•

º Ñ•~....;o....;~~o~•~~...:~....;~••~•:•~~~••~•~~~..;o....;o•~••=:e~~..;....;~•~~;...:•:~~~~~:•2c..; i -·N··~-~~N<"l~·N··,~·-··~···~-~~··o.o•-N-·N·N-N-·N~~-·-~~~·~~"·~-~~~o~ -~ ....;~~....;o....;~~o•••~~~~•••~~~~~~...:~~•~~Ñ~....;~~o•~...:•~....;••~....;~~~~~~•~•~~~~~~•o•• •

-N

--

--

-

"f~~:::::::::~::::::::::~~:::::··-:::::;;:;:::::::::::::::;::::: ; ~

º"-

:::::~~

:::::~:::~

:::::::::: ::::~;;:;:::::~:::::::::~~::::!

i!i •

-----· -----··-

--• =

--,-.,...·-,-i

ª; . .,.,."""•-,.•••-~~~~w

•~~~---O~~-~~=~:

oo~o::".=~=·ow•-_: ~

I ._. <"I

0.0..,. el!~

~~

":~":~

~-:~

~~

--:-:~~

~~

-:"".°~":~

G

IOO

"""•IO ... ~

~~N~"::"!~~~~~~

o(

•OI• -··o~-•.n .... N

o--~·N

···.,.,··--.... ·----~

~~

·-·-

-~-

·-.O~N

i 5 ! t ~~;

~~:~~~~~==:~=~=~~~~=~~~~ ~~~~~~~~~

~~=~~~~=~~~~ N

N~

~

'~ ¡¡ ~--

~~~~==~~:::~t~~~:~¿::_.; N

-N

-~

N-N

-.;.;.;.;.~

.;.;-.;.;.;

11 "'

-~~~~"::~'"':~~

~~~~~~~~~~":~

¡~

~ j; ·~-~~2.;.~~:.ó:==~~:

-••~

NN

__

_

•--

.. no

•-e-o

-0

0

i: =~=~=~:::~~=~~:=~~

~:::::;~: ::::::::::::_~ ~~ ~ •

"~···· ~=·:::2••::

~·~::::::=:: ~~ .... ·~-

gg g

~~

~-••

~~~~~"::~'"':"': ~...,on••,,.

•OON"O U~~<-!

~·,-+--------N_•,...m

_• __ •~--=--!--,.:-~-~----~_: __ : __

__

__

_ :_m_2_:_!_~ _

__

-_m_•_~_m_o ___

__

__

_ ~ 5 ~

~ ::::::

;;:;:::;; ::::::

-~-·-· JJ

ww

--i-.,-:.-'-:-:~-+=---~=-~:-:~=-fl=,.-=-:-:_:-:_~·n-,.fl=-•=-n=n-=a-----n"•---"'o=------=o-=~-=•"•c,n:-~,-n=-n-,--,-=-~----_--n,-n=-~=~-----=.--~---,.._,.._=-~c-c~-=~--n----_--_,..._---,_-cn--fl-=•:-:n:-:~-------=--=•-=n:-::_:-:~::-:~:=-1

. >

u

.......... G

,0 .....

,..,-~--N------

120

JJ

•••

c..:

uu

zz

Page 125: MAESTRO EN SISTEMAS DE INFORMACION s

i ~ ¡' ¡;

5

1

.. " .. º .... º. ""~ ........

-·~=·:::..; :::••:::••:

~:~~~f·:~?.:2~··:2~=~~~:·~!·2:2==~=:~::::~:: ~

"•º .... M

~O

O•~

N·~

····"-~

···-~··"

···N~

N--o

~o

~

~••:•2..;::~~~s~Ñ:~~~~ci•=Ñ~~·"=!~••o:•·~··~ u

::~==~·=~=:~~~-~~=2~=~=·=··2:~2=~~==~===~ ~-~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! M· .... ~·-... =~=~·--N~M· .. ==·=N=••M:• ....... =

.... M~·~~ ~

••""

-••-••m••••o

••o•••N

••••o-••-••-•o

-o•N

~ .. ·u:::::;.::::;:.~:.:;::::.: .• :::;::::::::::

! m•~~·~~:~i~•~~..;~~•~i:~:..;!~•~:o~•~•:~~~··~

N•M

--··-"·······•·o ......... N ••••• _. __ m

.... -~OOOWN ~ ~ ---ft--

NftN

·---

~--N

-N.

N~

~---N

--ft--ft . ! :~:;~:~;~~;~::::~~:~~:;:~~~:~::~~:~:~~~~~

=.· u ! ===~=~ .... 2~::~:~·=·=~==~=·:•••2=~=~~==2=~==

.... -•o•-""""• ... •~••••-,.._,...,..._•o••o••••••o--•~

"•-,...

•••¿-~..;2~==·-~~-"~~:i~:Ñ:~-~!••·~·=·"~~-~ '1 :;: N

o :;: ~ N

N

..

-•••-•

.... o-....... ••-.... ~•"

"o•~~-............. o

•~-~

.... -~~

•owo

U ---N

--ft ... N

·---

--ftN-N N

N-----N

-~~

! :~:;:::2;~;:::::~:~~~~;~;~~~~:::::;::;::; u

===~=, .... =~=;=~~~~·=2=:~2 .... :·~·~:~:::~~=:~t~=: ! ~~:~::::;;;:::~::~:;;:;:~~:~:~~:::~~~~=~~ u

::::=~~~~=:=~~~~·=·===~~:·~-=~==:!::•:2:~ ! ~:~;~~~:~;;:;:~:~~~;~::~~~~~:~:::~;~:;~~; u

::::=~

.... ~==s=~.,,~=·=·:::~~:·~·~~=2:~=:•:•:: ! ~::~~:::;;;:~:::~:~~~~~~;~~:~:::~;::;:~~

:!::=: .... ~=:=!~-~=~~·==:~ .... :·~

-~~

=!::;:~

:•:: -o

•o~

•-•-o• .... •--N

ftOw

••~--••••ft"

'•~o

o-•o

-"••

•••:•~..;•i::•~~~~Ñ•~=2••Ñ:•~~•~•"•~:m~:~·~

~:2::!~~====!·~:~2•:2:~~:·~·~=:2====·=·== •o

•o• .... -..,.····-o

·-·-NN

-•O••• ... N

•••••o ...... N

~-"·"~·~..;·=~:-~~Ñ~~~~=~··..;:w~---~~~-=.;Ñ:~•:

u ~=~2:!~:~=~~=-~:~~·~==~,.._= .... ··:::2::::•:·==

=

.. · ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"":~

~ "º.., ·~N·~==· .... --.N~

"':::···-=

N-N

~-~

... ~-~mN

:ft .. =

=

.. · ! ~

•-o•N

o••~

~~

•o•••••"

•,...o•o

-•••ft•~•fto

ft~fto

oo

"m~o•~~~:=:•~~~~~~~:•~•~:~~~~~~~~•:~..;~~·:

~~~~~~~~~~

~"":"':~

~~

~

••N

.. N

~

W,N

CI.., .

......... _

CIN

.._,,.._

NN

-~=

ft~

-

CIN

On

a .... C

C.O

~ ... ·-···

-N

W

'"º· . . . . . . . . . .

.;==~·..;= .;~!!

.., ... ~.~ .. --..,-

-•-

... o•..,,,, 0

.. -..... -

0

.. ft~

..,~N

...... ..,_

o::~~-..;: ~

-: "•ft

1 ·-

•oO

GN

~~

ºº~-~··

~NW

, ••o

; ;~===:~=;~~~~~~===~~;~;~;=h=====~~;:::::; ..; .; .; .;

1 . . . u

D

-W

NIO

~

-C

IINO

----~ ---

i ! :¡ ~ ~ ~

! u . u l'l ~

i ~

-~ ~" I~ i~

~I ~~

00

gg :,:,

~~

:5~ ~~

.... 11 ~~

~e EB D

O

ªª

" .. .. o .. o . ~ . ~ ~ .. o . ~

i: ..

2 :;: ~ . .. o

~ o

~ .. ; . ;¡

~ ft

.. N

D

o

L o

.. ~ .. .

8 ~ o . .. ..

o .. ..

:,: o

" ..

~

.. i

o ¡; ..

.. 1 ..

o .

:;¡ .

o ..

I~ li

. . .. 2 . . .. ! .

N

N

.. .

.. ~ ~

o .. ..

.. ..;

~ ~

N

.. ~ •O

~ o

->

.. o

¡· ~

.. ... .

ON

>

1 ¡;

•O

º"

'>

i ;¡

~ i

;! 1

~

:,!

FIG

. 7.14 RE

PO

RT

E D

E P

RO

YE

CC

ION

DE

TR

AF

ICO

EN

CE

LU

LA

S.

121

.. u

h

ª 1 .. u .. "

ª h =

N

.. u

~ ~

ª ~ .. h u

N

.. ª ! . .. u

~

ª ~

.. o u

ª h ft

N

u o ~

. ~ .. .. ~ u .. N

o

ª .. .. .. u . o

ª .. o h u

N

..

ª .. ~ .. u : ..

ª .. N

o u .. N

ª ~

u ~ .. ª

~

. N

u .. N

~

ª

Page 126: MAESTRO EN SISTEMAS DE INFORMACION s

REPORTE DE SUGERENCIAS EN DIMENSIONAMIENTO DE CANALES

En la figura 7.15 se presenta este reporte. Se presentan las células en las que existen

acciones a tomar en orden alfabético. Se indica el nombre de la célula, su clave, el

número de canales actuales(# CAN), el porcentaje de ocupación actual(% OCUP).

Las dos últimas columnas muestran la fecha en que se realiz.arán modificaciones y la

acción a tomar. Dentro de las acciones contempladas se sugieren incrementos,

decrementos y los casos en que sobrepasan la capacidad máxima.

REPORTE DE SUGERENCIAS EN EL MES

En este reporte se resumen las acciones sugeridas por el programa incluyendo sólo las

que corresponden al mes en curso.

El formato del reporte es similar al reporte anterior y se muestra en la figura 7.16.

122

Page 127: MAESTRO EN SISTEMAS DE INFORMACION s

DEPARTAMENTO DE INGENIERIA DE TRAFICO METROPOLITANO.

DIMENSIONAMIENTO DE CANALES EN CELULAS AL 80%. FECHA s 92-08. ~ION 9 CD. DE MEXICO.

DISTRITO FEDERAL.

NOMBRE CLAVE I % FECHA CAN OCUP

ALGARIN c DFALC 15 74 92/07 - 93/05

ALTONGO A DFAOA 15 32 92/08

ALTONGO B DFAOB 15 10 92/08 -ALTONGO C DFAOC 15 27 92/08

ATZACOALCO B DFAZB 11 33 93/02 - 93/11

BALBUENA B DFBAB 15 68 92/09

BALBUENA C DFBAC 15 65 92/11

BOSQUES_B DFBOB 15 79 92/07 93/04

BOSQUES_C DFBOC 19 83 92/07 92/11 93/06 93/11

.CARRASCO_B DFCRB 15 69 92/07 93/04

CARRASCO C DFCRC 19 71 92/09 - 93/05

CASTA,=EDA_A DFCAA 23 39 92/08

CASTA,=EDA_B DFCAB 30 96 92/07

CASTA,=EDA_C DFCAC 11 68 92/07 92/11 93/04 93/11

CHAPULTEPEC A DFCHA - 30 111 92/07

CHURUBUSCO A DFCUA 14 70 92/09

CHURUBUSCO B DFCUB 15 107 92/07 -CHURUBUSCO C DFCUC 23 38 92/08 -COYOACAN A DFCYA 1.5 110 92/07 - 92/12

93/06 93/11

COYOACAN B DFCYB 15 78 92/07 93/04

PAGINA 1

ACCION

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

DECREMENTAR 4 CANALES

DECREMENTAR 4 CANALES

DECREMENTAR 4 CANALES

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

INCREMENTAR e CANALES

INCREMENTAR 8 CANALES

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES INCREMENTAR 3 CANALES INCREMENTAR 4 CANALES !SOBREPASA 30 CANALES!

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

DECREMENTAR 4 CANALES

INCREMENTAR 4 CANALES !SOBREPASA 30 CANALES!

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

INCREMENTAR 4 CANALES !SOBREPASA 30 CANALES!

INCREMENTAR 4 CANALES

INCREMENTAR 12 CANALES

DECREMENTAR 4 CANALES

INCREMENTAR e CANALES INCREMENTAR 4 CANALES INCREMENTAR 3 CANALES INCREMENTAR 4 CANALES !SOBREPASA 30 CANALES!

INCREMENTAR 4 CANALES INCREMENTAR 4 CANALES

FIG. 7.15 REPORTE DE SUGERENCIAS EN DIMENSIONAMIENTO DE CANALES.

123

Page 128: MAESTRO EN SISTEMAS DE INFORMACION s

DEPARTAMENTO DE INGENIERIA DE TRAFICO METROPOLITANO. PAGINA

DIMENSIONAMIENTO DE CANALES EN CELULAS AL 80\, FECJIA: 92-08,

GION 9 CD. DE MEXICO.

DISTRITO FED:ERAL,

CAMBIO~ A REALIZARSE EN 92/07,

NOMBRE CLAVE # % ACCION CAN OCUP

ALGARIN c DFALC , 15 74 INCREMENTAR 4 CANALES

BOSQUES_B DFBOB 15 79 INCREMENTAR 4 CANALES

BOSQUES_C DFBOC 19 83 INCREMENTAR 4 CANALES

CASTA,=EDA_B DFCAB 30 96 INCREMENTAR 4 CANALES !SOBREPASA 30 CANALES!

CASTA,=EDA_C DFCAC 11 68 INCREMENTAR 4 CANALES

CUESTA B DFCEB 7 65 INCREMENTAR 8 CANALES

CUESTA C DFCEC 11 63 INCREMENTAR 4 CANALES

CHAPULTEPEC A DFCHA 30 111 INCREMENTAR 4 CANALES - !SOBREPASA 30 CANALES!

CARRASCO B DFCRB 15 69 INCREMENTAR 4 CANALES

CHURUBUSCO B DFCUB 15 107 INCREMENTAR 12 CANALES

,COYOACAN_A DFCYA 15 110 INCREMENTAR 8 CANALES

COYOACAN B DFCYB 15 78 INCREMENTAR 4 CANALES -COYOACAN C DFCYC 11 78 INCREMENTAR 4 CANALES

DEFENSORES B DFDFB 11 80 INCREMENTAR 8 CANALES -DOCTORES A DFDOA 19 76 INCREMENTAR 8 CANALES -DOCTORES B DFDOB 15 75 INCREMENTAR 4 CANALES -DOCTORES C DFDOC 23 80 INCREMENTAR 4 CANALES -ESCOBEDO A DFEBA 23 90 INCREMENTAR 4 CANALES -ESCOBEDO C DFEBC 27 98 INCREMENTAR 7 CANALES - ! SOBREPASA JO .CANALES!

HIPODROMO B DFHOB 19 95 INCREMENTAR 4 CANALES -HIPODROMO C ,DFHOC 15 110 INCREMENTAR 8 CANALES -HEROES B DFHRB 11 108 INCREMENTAR 4 CANALES -INN A DFINA 23 109 INCREMENTAR 11 CANALES - !SOBREPASA 30 CANALES!

INN B DFINB 19 96 INCREMENTAR 15 CANALES !SOBREPASA 30 CANALES!

INN C DFINC 15 75 INCREMENTAR 4 CANALES -NACIONAL c DFNLC 26 101 INCREMENTAR 8 CANALES - !SOBREPASA 30 CANALES! 1

FIG. 7.16 REPORTE DE SUGERENCIAS EN EL MES.

124

1

Page 129: MAESTRO EN SISTEMAS DE INFORMACION s

REPORTE DE CELULAS QUE LLEGARAN A MAXIMA CAPACIDAD

En este reporte se listan las células que la proyección de tráfico ha detenninado que en

un año llegarán a capacidad máxima.

Es de suma importancia la consideración de éstos casos, ya que sin la posibilidad de

incrementar canles en la célula, se requerirá la adición de un nuevo sitio que implica la

localización del inmueble donde se instalará, la obra civil correspondiente, instalación

de equipo y pruebas.

El proceso de construccción de nuevos sitios demora aproximadamente 6 a 9 meses. De

ahí la utilidad de tener el reporte un año antes para tomar una alternativa a tiempo.

El reporte se muestra en la figura 7. 17.

125

Page 130: MAESTRO EN SISTEMAS DE INFORMACION s

DEPARTAMENTO DE INGENIERD\ DE TRAFICO METROPOLITANO.

DIMENSIONAMIENTO DE CANALES EN CELULAS AL 80%. FECHA: 92-08. ~,EGION 9 CD. DE MEXICO.

DISTRITO_FEDERAL.

CELU'LAS QUE SOBREPASARAN LOS 30 CANALES EN 92/07.

NOMBRE CLAVE I % CAN OCUP

CASTA,=EDA_B DFCAB 30 96

CHAPULTEPEC A DFCHA 30 111

ESCOBEDO C DFEBC 27 98 -INN A DFINA 23 109 -INN_:.B DFINB 19 96

NACIONAL C DFNLC 26 101

PARQUE_VIA_ c DFPVC 22 91

SAN_ANTONIO_B DFSAB 23 69

VALLE C DFVAC 26 106

ZARAGOZA A DFZAA 23 96

CUAUTITLAN B MXCNB 30 95 -t'oTAL DE CAMBIOS 11.

PAGINA: 1

FIG. 7.17 REPORTE DE CELULAS QUE LLEGARAN A MAXIMA CAPACIDAD.

126

Page 131: MAESTRO EN SISTEMAS DE INFORMACION s

CAPITULO 8.- CONCLUSIONES

Mediante la realización de esta tesis se demostraron las ventajas que nos ofrecen las

técnicas estructuradas al aplicarlas al mundo real de desarrollos comerciales y

científicos, ya que se lograron los objetivos que se pretendían al presentar el desarrollo

completo del sistema SADEC, mostrando toda la documentación generada en las fases

del ciclo de vida del sistema.

El sistema generado mediante las técnicas estructuradas puede servir como guía para

producir sistemas mantenibles, confiables y adaptables, características que tiene el

sistema desarrollado en esta tesis.

Se logró presentar un marco teórico cubriendo los principales aspectos que como guía

básica servirán para futuros desarrollos, mediante la investigación profundizada en los

libros de referencia.

Se comprobó la efectividad de la aplicación de un enfoque metodológico para el

desarrollo de sistemas durante sus diversas fases, utilizando las técnicas de desarrollo

de sistemas que cubren los requerimientos de la empresa para solucionar la

problemática planteada.

En general, se cumplieron los objetivos planteados del sistema por lo que considero que

esta tesis puede servir como base para desarrollos futuros en el campo de telefonía

celular, pero aún quedan por resolver tres aspectos principales en desarrollos futuros:

a) Integrar mayor información para realizar correlaciones con el número de usuarios,

ya que se podría analizar comportamiento, tendencia y proyecciones del crecimiento de

usuarios y su relación con los equipos instalados.

b) Mejorar los procesos de recolección de datos para tener información actualizada

diariamente. Para lograr esto, sería necesaria la conexión vía modem de una

computadora a la central celular para realizar la transferencia de datos. Lo anterior

implicaría gastos adicionales y algunos aspectos técnicos por solucionar.

127

Page 132: MAESTRO EN SISTEMAS DE INFORMACION s

c) Recolectar información respecto a la toma de decisiones ~n ampliaciones y rediseños

para tratar de integrar un sistema de soporte de decisiones que apoye la ingeniería de

los sistemas celulares.

En ocasiones se piensa que el ciclo de vida de desarrollo de proyectos estructurados

resolverá todos los problemas, incluso administrativos, sin embargo podemos

mencionar una variedad de problemas en los proyectos que no necesariamente serán

resueltos al utilizar las técnicas estructuradas. Como por ejemplo: fechas límite

imposibles de cumplir, programadores incompetentes, información fuente errónea,

dificultad en la recolección de datos, etc.. Podemos mencionar que el ciclo de vida

estructurado no resuelve los problemas políticos, pero sf mejora dramáticamente los

procesos de administración. Muchos de los problemas de comunicación o cooperación

se deben a la documentación o procedimientos no estructurados. El proceso del ciclo de

vida estructurado ayuda a la administración ya que define las tareas que deben

realizarse en el proyecto y además provee guías y métodos para realizar las actividades.

La parte fundamental del sistema SADEC se completó en el mes de julio de 1991,

continuando hasta la fecha la programación de pocos módulos. El sistema se probó en

la Ciudad de México con muy buenos resultados durante los meses de agosto y

septiembre, por lo que se decidió su implantación a nivel nacional en el mes de

octubre, para lo cual se realizó un mantenimiento y ajustes en base a los requerimientos

que surgieron de los usuarios durante los dos primeros meses de operación.

Actualmente, el sistema opera en las ciudades de México, Guadalajara, Monterrey y

Tijuana. Se espera implantarlo en otras ciudades conforme se integren al servicio de

telefonía celular.

128

Page 133: MAESTRO EN SISTEMAS DE INFORMACION s

BIBLIOGRAFIA

[DATE 1981]

DA TE, C.J., "Introducción a los Sistemas de Bases de Datos",

Addison & Wesley Iberoamericana, 1981

[DEMARCO 1978]

DEMARCO, T., "Structured Analysis and System Specification",

Yourdon Press, New York (USA), 1978

[ELIASON 1980]

ELIASON, ALAN L., "Business Information Processing",

S.R.A. Inc., Chicago, 1980

[ERICSSON 1991)

ERICSSON, "Cell Planning and Engineering the Ericsson Way",

Ericsson Radio Systems AB, Sweden, 1991

[ERICSSON 1988]

ERICSSON, "CMS 88 Cellular Mobile Telephone System",

Ericsson Telecom AB, Sweden, 1988

[ERICSSON 1979)

ERICSSON, "Table of Erlang Loss Formula",

Ericsson Telephone Exchange Division, Sweden, 1979

[ERICSSON 1991]

ERICSSON, "Trends in Mobile Communications",

Ericsson, Sweden, 1991

[GILLENSON 1987)

GILLENSON, MARK L., "Introducción a las Bases de Datos",

Me Graw-Hill, México, 1987

129

Page 134: MAESTRO EN SISTEMAS DE INFORMACION s

[GUNN 1986]

GUNN, HOWARD J., "Principies ofTraffic and Network Design",

ABC Teletraining Inc., Illinois USA, 1986

[JAESCHKE 1989]

JAESCHKE, REX, "Portability and the e Language"'

Hayden Books, Indianapolis, 1989

[KENDALL 1988]

KENDALL & KENDALL, "Systems Analysis and Design",

Prentice-Hall Inc., New Jersey (USA), 1988

[LEE 1989]

LEE, WILLIAM C. Y., "Mobile Cellular Telecominications Systems",

Me Graw Hill, Singapore, 1989

[MARQUEZ 1987]

MARQUEZ VITE, JUAN M., "Sistemas de Información por Computadora",

Editorial Trillas S.A., México D.F., 1987

[MARTIN 1989]

MARTIN, JAMES, "Organiz.acion de las Bases de Datos",

Prentice Hall, New Jersey, 1989

[MURDICK 1986)

MURDICK, ROBERT G., "Sistemas de Información Administrativa",

Prentice-Hall Inc., New Jersey (USA), 1986

[PAGE 1988)

PAGE-JONES, MEILIR, "The Practical Guide to Structured Systems Design",

Prentice-Hall Inc., New Jersey (USA), 1988

[RONZIA 1991]

RONZIA, TIM, "Review of Mexico City Cellular System",

Cellular One, Chicago (USA), 1991

[SARKOWSKI 1966]

SARKOWSKI, HEINS, "Teletraffic Engineering Manual",

Standard Electrik Lorenz AG, Alemania, 1966

130

Page 135: MAESTRO EN SISTEMAS DE INFORMACION s

[TELCEL 1992]

TELCEL, "Resumen 1991 Gerencia de Diseño Celular",

Telcel, Mexico D.F., 1992

[WEA VER 1988]

WEA VER, AUDREY M., "Using the Structured Techniques",

Prentice-Hall Inc., New Jersey (USA), 1988

[YOURDON 1988]

YOURDON, EDW ARD, "Managing the system life cycle",

Prentice-Hall Inc., New Jersey (USA), 1988

[YOURDON 1979]

YOURDON, EDWARD, "Structured Design",

Prentice-Hall Inc., New Jersey (USA), 1979

131

Page 136: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: cel. c

#include<stdio.h> #include<ctype.h> #include<stdl ib.h> #i ne l ude<11111th. h>

#include <dos.h> #include <conio.h> #include <stdarg.h>

#include <graphics.h> #fnclude •laserdef.h"

#define MAXRUT A 240 #define MAXRESRUTA 180 #define END •ENO" #define MAXLIN 80

/*tdeflne ESC /*#define CR #define LF

27*/ 13

10*/

#define TOTLINE 50 #define FFF 12

FILE *fp1 ,*fp2, *fp3,*fp5,*fp6, *fpt,*fpsal,*fpaux,*fprutio, *fp_reg, *fpres; /*ap,.ritadores a archivos*/

char stringCMAXL!Nl; int ccu,tl ines; /*contador de lineas de i""resion*/ int contplco; /*contador de localizaciones de hora pico*/ int item; /*contador de rutas procesadas•/ int horapico; /*bandera que Indica horapico local izada*/ int nonarchf; /*bandera para validar nombre del archivo de datos de celulas*/ int fespr0111; /*bandera para insercion de blancos en rutina de escritura*/ i nt z; /*contador para eser i tura*/ char first; /*variable auxiliar para lectura de archivo de datos de celulas*/ char aux[20]; /*string auxiliar para lectura archivo de datos de celulas*/ char hour[Sl; /*la hora pico del sistema*/ char datecn; /*la fecha a nuestrear*/ char datos[20]; /*buffer de datos para leer de archivos*/ char regionC20J; /*poblacion que se esta procesando*/ char regarch [20]; /*poblacion que se esta procesando para escribir en archivo*/ char blancos[20J; /*para alinear coluinas en la escritura*/ char auxblanc[20]; char regcity[20J; char name [401 ;

char NAME AUX [40], CELL=AUX [40] ={"\ \CELL. TXT"), HORAPJCO_AUX [40] ={11 \\HORACEL. TMP"), REG AUX [401 ={"\\AEG. TMP"), CELLSTAT_AUX [40]={11 \ \CELLSTAT. TMP"}, RESCEL AUX [40] ={"\ \RESCEL. REP"), INFR_AÜX [40] ={"\ \INFR. TMP"}, RES AUX [40] ={"\ \RESCEL. TMP"), SALIDAS_AUX [40],

cadena 1401 ;

stMICt cell{ char city[20]; /*poblacion a la cual pertenece*/ char nameCZOJ; /*Nont>re Celula*/ char ruta en; /*Mnei-,i co Celula* / char fecha en; /*fecha a procesar*/

char hora[5]; /*hora a procesar*/ lnt sindr; /*banderas para i"'3resion de res~.cel*/

lnt men10dr; int sindrin; int iaen90in; i nt llel'l90out; int lllen60vcdes;

Page 137: MAESTRO EN SISTEMAS DE INFORMACION s

int porper10; int nointhoffin; int nointhoffout; int nolntdrl; float regatt; fl oat regcon; f loat orgacc; float page 1 • float page:2;

float SUllpllg; float drl; float dri acc; float vcsze; float vedes; fl oat vcdesb2; float vcdesa2; float vcadri; float vcddri; float Iocr; float lochofa; float npcell; float hnpcel I;

(reselecclon)*/ float hoffsi; tloat hoffso; float shoffi; float shoffo; float clrng; float porregs; float porasf gn; float pordr; float porhoin; float porhout; float porclr;

};

/*bandera de no intentos handoffs in*/ /*bandera de no intentos handoffs out*/ /*bandera de no intentos directed retries*/

/*intentos de registro*/ /*confll"llllciones de registro*/

/*accesos originados*/ /*respuestas al voceo de primer intento*/ /*

/*siaa de page_ 1+page_2 * / /*directed retrys ordenados*/

del segla'ldo intento*/

/*accesos debidos a di rected retrys*/ /*tmas de canal de voz para estableci111iento de llamadas*/ /*intentos de designacion de canal de voz*/

/*canales de voz designados al primer intento*/ /*canales de voz designados despues del segini) intento*/ /*intentos de designacion de canales resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de directed retrys */ /*ubicacion de abonado */ /*ubicaclon de abonado ~ deriva de un intento de hand-off*/ /*seleccionada CCIIIO celula no primaria */ /*hand-off fuera de la celula hacia una celula no pri111aria

/*inicios de hand-off entrante*/ /*inicios de hand-off saliente*/ /*hand·off entrante exitoso*/ /*hand-off sel lente exitoso*/ /*llamadas liberadas debido a la mala tra.'llllision o perdida de la 111iSR1B*/ /*porciento de registros*/ /*porciento asignaciones */

/*porciento de directed retrys*/ /*porciento de handoffs entrantes*/

/*porclento de handoffs sal lentes*/ /*porciento de ll..ias perdidas vs. completadas*/

char cityaux[20]; /*poblacion a la cual pertenece*/ char naneaux[20]; /*Nombre Celula*/

char fechaauxcn: /*fecha a procesar*/ char horaaux [5] ; /*hora a procesar*/

char rutaaux[15J; /*Mnemonico Celula*/ int sindraux; fnt 111ent0draux; int sfndrinaux; int inen90fnaux; i nt inen90outaux; i nt lllen60vcdeaaux; int porpertOaux; float regatt11ux; /*intentos de registro*/ float regconaW!; /*confirmaciones de registro*/ float orgaccaux; /*accesos originados*/ float page_taux; /*respuestas al voceo de primer intento*/ float page_2aux; /*

f l oat SU111pagaux; float driaWl; float driaccaux; float vcszeaux; float vcdesaux; float vcdesb2aux; f l oat vcdesa2aux; float vcadriaWl; float vcddri aux; float locraux; f loat lochofaaux; f loat npcel laux; float hnpcellaux;

(reseleccion)*/ float hoffsiaux; f loat hoffsoaux; float shoffiaux; float shoffoaux; float clrngaux; float porregsaux; float porasignaux;

/*s1.11a de page_1+page_2 */ /*di rected retrys ordenados*/

del segla'ldo intento*/

/*accesos debí dos a di rected retrys* / /*tOIIIBs de canal de voz para establecimiento de llamadas*/ /*intentos de designacion de canal de voz*/

/*canales de voz designados al primer intento*/ /*canelas de voz designados despues del segla'ldo intento*/ /*intentos de designacion de canales resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de diracted retrys */ /*ubicacion de abonado */ /*ubicacion de abonado ~ deriva de un intento de hand-off*/ /*seleccionada COIIIO celula no pri11111ria */ /*hand·off fuera de la celula hacia una celula no priraaria

/*inicios de hand-off entrante*/ /*inicios de hand-off saliente*/ /*hand-off entrante exitoso*/ /*hand-off saliente exitoso*/ /*llamadas liberadas debido a la mala trasmision o perdida de la miSftlB*/ /*porciento de registros*/ /*porciento asignaciones */

Page 138: MAESTRO EN SISTEMAS DE INFORMACION s

float pordrewt; float porhoinaux; float porhoutaux; float porclraux;

/*porcf ento de di rectecl retrys* / /*porcfento de handoffs entrantes*/

/*porciento de hardoffs salientes*/ /*porciento de ll..,.s perdidas vs. coq,letlldas*/

struct sdretrys < char ruta[Bl; };

struct 111en1 Odret rys < char ruta[Bl; };

struct sindratrys < char ruta[Bl; };

struct hoffin90 < char ruta[Bl; float struct hoffout90 < char ruta[Bl; float struct lostcalls < char ruta[Bl; float struct vedes < char ruta[Bl; float

struct adretrys col_aCMAXRESRUTAJ; struct nien10dretrys col b[MAXRESRUTAJ; struct sindretrys col-cOIAXRESRUTAl; struct hoffin90 col-dOIAXRESRUTA]; struct hoffout90 col:eOIAXRESRUTA]; struct lostcal ls col f [MAXRESRUTAl; struct vedes co(g [MAXRESRUTAl;

struct cel l cel ls [MAXRUTAJ;

char *strtok(); extern char cadenu [100] ;

maln() < /*ti tuloO ;* / printf("\Dll [37;44111''); ruta(); abrir(); /*abre archivos */ horadia(); /*lee hora pico y dia*/

porhoin;}; porout;>; porclr;>; porvcdes;};

inicio(); /*inicio de pr09r-*/ loop(); /*control de la lectura de datos del archivo a procesar*/ ordena(); /*hace un sort de las rutas antes de iq,rimirlas*/ escribe(); /*escritura de caqx,s de acuerdo a fonnato de reporte*/ val ida(); exit(1); }

!*********************'********************************************* NOMBRE: LOOP RIJTINA CONTROLA LOS ACCESOS DE LECTURA DEL ARCHIVO A PROCESAR

... **************************************************************** I loop() < horapi co,.D; wh i le( Cfscanf(fp1, •Xs• ,&datos)) 1 =EOF) e

} }

/*printf("En loop datos=Xs\n11 ,datos);*/ val();

/*printf("Regresa de val\n");*/ i f(horapi co==1) < /*printfC"l 18118 a lee\n11 );*/

leeO; horapi co=O;

}

, .................................. ******************************************'***** NCMBRE: INICIO RUTINA QUE INICIA EL PROGRAMA: CAPTURA NOMBRE ARCHIVO A PROCESAR

****************** ... **************'********************************•******** I Inicio() < contp i co=D ¡ /*clsO; titulo(); pos(6,2D>; printfC"\033 [l7;441R''>; printf(" PROCESAMIENTO DE CELULAS"); pos(12, 15);

Page 139: MAESTRO EN SISTEMAS DE INFORMACION s

}

printf(" pos(10, 15); printf(" PROCESANDO ARCHIVO CELL. TXT"); pos(12, 15); fscanf(fp_reg, ~Xa11 ,&regi on); fclose(fp_reg); printf(• ESTAOISTICAS EN CELULAS DE U REGION: ls•,region); pos(14, 15); -prfntf(" PROCESANDO LA HORA Xs• ,hour);*/ lnicfl11110;

11);

/**"************************************************************-********************** NOMBRE: HORAOIA RUTINA QUE LEE DE U HORA PICO ,LA FECHA EN U CUAL SE PROCESARA LA INFORMACION

Y LA POBLAC ION • *****************************************************'*'********************************** I horadia() {

char e; int confir111a; fsc11nf (fp2, 11Xs11 ,&datoa); strcpy(date,datos); /*prfntf( 11date= Xs\n11 ,date);*/ fsc11nf(fp2, 11Xs11 ,&datos); strcpy(hour ,datos); fclose(fp2); }

,. lee el dia (fecha) */

/* lee la II analizar*/

/************************************************************************* N(JIBRE: ABRIR FUNCION: ABRIR ARCHIVOS

********************* ....... *****'*********************** .. *******************/ abrir() {

/*prlntf(• ABRE LOS ARCHIVOS \n•);*/ /*printf("\n•);*/

renorilra(CELL AUJC,cadena); renonmra( HORAPI CO_AUX, cadena); renori>ra(CELLSTAT _AUJC, cadena); renmibra(RESCEL_AUX, cadena); renori>r11(REG_AUX, cadena); renori>ra(RES_AUX, cadena);

/*CELL. TXT* / /*HORAPICO. TMP /*CELLSTAT. TMP

. /*RESCEL. REP /*REG. TMP /*RESCEL. TMP

I f C ( fpres=fopen( RES_ALJX, "w'') )==NULL) {

pos(20, 15);

no*/ */

si */ */ *!

printf( 11 No se puede abrir el archivo Xs•,RES_AUX); salida(); exit(1);

}

i f ( (fp_reg=fopen(REG_AUX, "r") )==NULL) {

}

pos(20, 15); printf("No se puede abrir el archivo Xs 11 ,REG_AUX); sal ida(); exit(1);

f f ( ( fp1 =f open(CELL_AUX, "r") >==NULL) {

}

pos(20, 15); printf("No se puede abrir el archivo Xs11 ,CELL_AUX); sal ida(); exft(1);

i f ( ( fp2=fopen(HORAPI CO_AUX, "r") )==NULL) {

}

pos(20, 15); printf("No se puede abrir el archivo Xa",HORAPICO_AUX); sal ida(); exit(1);

/*strcpy(CELLSTAT _AUX, cadena); strcat(CELLSTAT_AUX,"\\CELLSTAT. TMP");

Page 140: MAESTRO EN SISTEMAS DE INFORMACION s

)

i f( ( fpaux=fopen(CELLSTAT_AUX, "N") )==NULL)

< pos(20, 15); printf("No se puede abrir el archivo Xsª,CELLSTAT_AU)(); sal Ida(); exit<1>;

) */

/************************ ..... ******************************************************** VALIDA LA FECHA Y HORA HASTA ENCONTRAR LAS INDICADAS

********************************************* ... *****************************************! val() < /*printf("entra a val idar\n•);*/ /*pri ntf <"datesXs\n•, date);*/ /*prlntf( 11datos,.Xs\n11 ,datos) ;*/ if(strcq,(date,datos)=O)

<

)

/*printf( 11entre al if por lo tanto datos=date\n•);*/ fscanf(fp1 ,•Xs11 ,&detos); /*pri ntf C"hour=Xs\n", hour >; * / /*prl ntf ("datos=Xs\n", datos);*/ i f (strcq,(hour ,datos)==O) < horepi co=1; contpi co++; /*pr i ntf (•horepi co=Xd\n", horapi co); * /

}

else < buscaend( >;

)

else < buscaend();

) }

!***********************************************************•************************ N<»IBRE: BUSCAEND RUTINA QUE AVANZA APUNTADOR A ARCHIVO HASTA ENCONTRAR STRING END

***************************************************************'*************************/ buscaend() e do <

fscanf ( fp1, ''%8", &datos); }

whi le((strcq,(datos,END)) !=O); }

/******'****************************************************************************** IIOIIBRE: LEE RUTINA QUE LEE DEL ARCHIVO LA INFORMACION DE LA HORA PICO Y FECHA INDICADA

************************************************************************************** I lee()

< itenF1; do <

fscanf(fp1 , 11Xs 11 ,&detos); /*printf(•en lee , valor de datos= Xs \n",datos);*/ inicia(); cale(); itent++·

>" • while( (strcq,(datos,END))l=O >; ite111--; item--; /*prlntf(•al salir de lee item= Xd\n",item);*/ }

/**********'************************************************************************** NOMBRE: INICIA INICIALIZA LOS CAMPOS DE LA ESTRUCTURA PARA CELL

*****************************************"'****************************************** J inicia() {

Page 141: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf(•entr11 11 inicia\n">;*/ if( (strcnip(datos,END) > 1 =O)

}

{

strcpy(cells[item]. fecha,date); strcpy(cells [itell] .hora,hour); atrcpy(cells[itetll] .ruta,datos); bus4Jeda e>; facanf( fp1, "Xs" ,&datos); cell s [ 1 teml • regatt=atoi(datos); fscanf(fp1, ''Xs" ,&datos); cel ls [ltemJ. regcon=atoi(datos); fscanf Cfp1, •"Xs• ,&datos); cel ls [itell] .orgacc=atol (datos); fscanf( fp1, "X&" ,&datos); cella [I tell] .page_1=atoi (datos); fscanf e fp1, "Xs•, &datos); cel ls [ftem] .page_2=atoi(datos); cella [itemJ .s~=cells[item] .page_1+cells [itemJ .page_2; fscanf(fp1, "%&• ,&datos); cella [itetll] .dri:atoi(datoa); if(cells[itellll .drf<=O)

cells[item] .sindr=1; if( (O<cells[iteml .dri)&&(cells[item] .dri<10)

cel la[itetl] .men10dr=1; fscanf(fp1 ,"Ss•,&datoa); cella[item] .dri11cc=atoi(datos); fscanf(fp1 , 11Xs11 ,&datos); cel ls [i tem] • vcsze=atoi (datos); fscanf (fp1, ªXs" ,&datos); cel ls [ítem] .vcdes=atof(datos); fscanf(fp1, "Xsu ,&datos); cel ls [i temJ. vcdesb2=atoi (datos); fscanf(fp1 , 11"811 ,&datos); cel ls[item] .vcdes112matol (datos); fscanf ( fp1, •Xs•, &datos); cells [itemJ .vcadri•atol (datos); fscanf(fp1 ,•Xs•,&datos); cel ls[item] .vcddri=atoi (datos>; if(cel ls[item] .vcddri<=O) cells[lteml .sindrin=1; fscanf(fp1 ,,rx,;u ,&datos); cel ls[itemJ. loerzatoi(datoa); fscanf(fp1 ,•Xs•,&datos); cel ls [i teml. loehofa=atoi (datos); fscanf(fp1 , 11Xs 11,&datoa); cel ls[itemJ .~el l=atoi (datos); fscanf(fp1 ,""8",&datoa); cel ls [item] .h~ell=atoi (datos); fscanf(fp1, "Xs" ,&datos); cel ls [i tem] .hoffsl=atoi (datos); fscanf(fp1 ,•Xs11 ,&datos); cells[item] .hoffso=atoi(datos); fscanf( fp1, "Xs" ,&datos); cel ls [i tell] .shoffi=atoi (datos); fscanf ( fp1 , ""8", &datos); cel ls[itGllll .shoffo=atol (datos); fscanf (fp1, 1"'811 ,&datos); cel ls [itellll .clrng=atoi (datos);

}

/*******'**'************************************************************************************** NOMBRE: ORDENA FUNCION: ORDENA LAS RUTAS ANTES DE SER IMPRESAS.

************************************************************************************************ I ordena() {

int p1=1; int p2=2; int cont=1;

whi le(cont<=item) {

whi le(p2<=item) {

if(strcnip(cells[p2J .neme,cells[p1J .n&111e)<O)

{

Page 142: MAESTRO EN SISTEMAS DE INFORMACION s

atrcpy(n11111eau11,cel Is [p1J .nao,e) atrcpy(rutaBWt,cellslp1l .ruta) strcpy(citr-,cells[p1J .city) afndrBWl=cel ls[p1J .alndr; _,,Odreux•cel Is Cp1] .Nn10dr; sindrineUK•cel ls[p1] .sindrin; noen90iN1UK•cel ls[p1J .Mn90in; ...-.90outaUK•cel ls[p1J .-,90out; llen60vc:desBUK=cel la [p1l .men60vcdes; porper10aux•cel ls[p1J .porper10; regattBWl=cel la [p1J. regatt; regconaux•cella [p1J. regcon; orgaccBWl=cel Is [p1J .orgecc; page_18Wl=cel ls[p1] .page_1; page_28Wl=cel la [p1J .page_2; ~=cal ls[p1J .s1111pag; driau,c=cel la[p1J .dri; driaccBWt=cella[p1J .driacc; vc8le8Wl=cellslp1J .vcsze; vcdes8Wl=cells[p1] .vedes; vcdesbZaUK=cel Is [pi). vcdesb2; vcclese2aUK"'Cel Is [pi]. vcdasa2; vcadriau,c•cells[p1] .vcadri; vcddriBWl•cells[plJ .vcddri; locrau,c=cel ls[p1]. locr; lochofaaUK=cel Is Cp1l. lochofa; npcel lBUK"cel Is Cp1J .npcell; hnpcell-=cellsCp1J .hnpcell; hoffsiaux=cel ls[p1] .hoffsi; hoffsoaux=cel ls [p1) .hoffso; shoff i aUK=cells [p1] .shoffi; shoffoaux•cel ls[p1] .&hoffo; clrngMOPcells[p1] .clrna; porregseUK=cel l s [p1J .porrees; porasigneUK•cal ls[p1J .porasign; pordrBWt=cel l s [p1 l .pordr; porhoineux•cel lsCp1J .porholn; porhoutaux=cel ls Cp1) .porhout; porclraux=cel ls [pi) .porclr;

strcpy(cel ls [p1J .Mllle,cel Is [p2] .rwne) atrcpy(cel ls [p1] .M.lta,cells[p2]. ruta) strcpy(cells[p1J .city,cells[p2] .city) cel ls[p1) .sindr=cel ls[p2J .sindr; cel ls Cp1J .men10dr=cel ls Cp2l .men10dr; cells [pi] .sindrfn=cells [p2] .sindrin; cells[pl] .noen90in=cel ls[p2J .inen90in; cel ls [pll .nien90out.,cel la Cp2l .""'"90out; cell s [p1 J • llll!fl60vcdes=ce l ls [p2) . men60vcdes; cel Is [p1J .porper10•cel Is [p2J .porper10; cells[p1J .regatt=cells[p2) .regatt; cells[p1J .regcon=cells[p2) .regcon; cells[p1J .orgacc=cells[p2J .orgacc; cel ls[p1J .page_1 .. cel ls[p2J .page_1; cel Is [p1l .page_2"cel ls [p2J .page_2; cel ls [plJ .s~g=cel ls [p2] .SU1""S; cells[p1J .dri=cells[p2] .dri; cel ls [p1J .driacc"cel la[p2J .driacc; cel Is Cp1J. vcsze=cel ls [p2l . vcsze; cells[p1J .vcdes•cells[p2J .vcdes; cel Is [p1J .vcdesb2=cells[p2J .vcdesbZ; cell s [p1J • vcdesa2=ce ll s [p2) . vcdesa2; cel ls[p1) .vcadri-cel ls[p2) .vcadri; cel ls[p1J .vcddrf=cells[p2] .vcddri; cel ls[p1J. locrzcel ls[p2]. locr; cel ls[p1J. lochofa=celts[p2]. lochofa; cal ls[p1J .npcel l=cel ls[p2J .npcel l; cells[p1J .hnpcell=cells[p2] .hnpcel l; cells[p1] .hoffsi=cells[p2] .hoffsi; cel lslp1l .hoffso=cel ls[p2] .hoffso; cells[p1J .shoffi=cel lslp2J .shoffi; cells[p1J .shoffo=cel ls[p2J .shoffo; cel ls [p1] .clrns,=cells [p2] .clrng; cel ls [p1] .porregs-cel lsCp2l .porregs; cel ls[p1] .porasign=cells[p2J .porasign; cel lslp1l .pordrscells(p2] .pordr;

Page 143: MAESTRO EN SISTEMAS DE INFORMACION s

}

cel ls [p1J .porhairPcel ls [pZJ .porholn; ce ll s [p1 J • porhout,,ce l le [p2J • porhout; cel ls [p1J .porclr=cel ls[pZJ .porcl r;

strcpy(cel ls[p2J .n1111e,n1111eaux); strcpy( ce l l s [pZJ • ruta, rutaaux); strepy(eells [pZJ .clty,cityaux); cella [p2J .sindr•sindr11ux; cel ls Cp2J .men10d...-10draux; cel ls Cp2l .sindri1Psindrinaux; ce l l s [pZJ .llll!n90 i IPlllef190i naux; cells [p2l .llll!n90aut=-n90outaux; cel ls Cp2l .men60vales=llll!n60vcdesaux; eel Is [p2l .porper10=porper10aux; cells[p2] .reg11tt•reg11ttaux; · cel Is [pZJ • re9Con=rege-ux; eel la [pZJ .orgace•argaeeaux; cells [pZJ .page_ 19)119e_1aux; cel Is [pZJ .page_2=page_2aux; eells[pZJ .s~gas~gaux; eells[pZJ .dri..:lrlaux; eells[p2] .driaec=dri11ceaux; eel la[pZJ .vcsze:vcszeaux; eells[pZJ .valeaavcdesaux; cells[p2J.vedesb2•vcdesb2aux; eel Is [p2]. vedesa2svedesa2aux; cells[pZJ .vcadrf-vcadrlaux; cells[pZJ .vcddri=vcddriaux; cells[p2l. loer=loeraux; cel Is [p2J. lochafe•loehofaaux; cells[p2] .npcell=r1)Cellaux; cells [pZJ .hnpcellshnpcellaux; cells[pZJ .hoffsi=haffsiaux; ce l ls [p2l • hoffao---hoffsaaux; cel ls[pZJ .shoffi•shaffiaux; cel ls[pZl .shaffa=shoffoaux; cells[pZl .clrng=clrngaux; cel ls Cp2J .porregs•porregsaux; cells[p2J .porasfgn=porasignaux; cel Is [pZJ .pordr=pordraux; cells[p2J .porhofn=porhainaux; cel ls Cp2J .porhout=porhoutaux; cells[p2] .porclr=porclraux;

} p2++;

}

cont++; p1++; p2ap1+1; }

!***************'******************************************'********************'******* NOMBRE : ESCRIBE ESCRIBE LOS CAMPOS PARA C/U DE LAS RUTAS DE ACUERDO AL FORMATO DEL REPORTE

************************************************************************************/ escribe() {

int contcity; int y; char auxcity[20]; pos(16, 15); strcpy(SALIDAS_AUX,cadena); strcet(SALIDAS_AUX, •\ \SALIDAS. TMP");

i f ( (strc111>(region, "NEKICO"))==O {

contcf ty--4; ys1; whi le(y<=contcity) {

if(y==1) { strcpy(auxcity,"MEKICO"); > if(y==2) { strcpy(auxcity,"EDO.MEK");} if(ya=3) { strcpy(auxcity,"CUERNA"); } lf(y=c4) { strcpy(auxcity,"TOLUCA"); } z=1; whi le(z<=item)

Page 144: MAESTRO EN SISTEMAS DE INFORMACION s

< if( (str~(cells[z] .clty,auxcity))==O < /*escribe1 O;*/

}

z++; }

.,.++; }

/*totales10;*/ y=1; whi le(y<=contcity) <

}

if(y==1) < strcpy(auxcity,"MEKICO''); if (y--..z2) < strcpy(auxcl ty, "EDO.MEK") ;} if(y=m3) { atrcpy(auxcity,•CUERNA"); } if(y==4) < strcpy(auxcity,"TOLUCA"); } z=1; while(z<=iteni) < if( (str~(cells[zl .city,auxcity))==O

{

escribe20; }

z++; }

y++;

/*total ea2(); * / }

if( (str~(region,''IIEXICO"))lmO <

z=1; wh!le(z<=item) < /*escribe1();*/ z++;

}

/*totales1 () ;* / Z"1, whi le(z<,.itet1)

{

}

escribe20; z++;

/*totales20;*/ }

escres(); )

/***'*******************************'***************'************************'*********** NOIIBRE: ESCR I BE2 ESCRIBE LOS CAMPOS PARA C/U DE LAS RUTAS (seglrlda parte)

************************************************************************************ / escribe2() {

long buffer; /*buffer de lq,resion a formato entero*/ buffer=·1; /*·1 irdica problemas de iq,reslon*/ /*fpr lntf (fp3, 11"811 ,cel ls [z]. ruta);*/ strcpy(auxblanc,cel ls Czl. ruta); fesprOffl:2; blanco; /*fprintf (fp3, •"8• ,blancos);*/

buffer=cel ls [zl • vcddr i; /*fprintf(fp3," X6ld'',buffer);*/ buffer,,cel Is [zl .pordr; i f(buffer=O)

{

if(cells[zl .driaccl=O) {

/*fprintf(fp3,• X61d •,buffer);*/ }

else {

/*fprlntf(fp3," no intentos");*/ cellslzl .nointdri,,1;

Page 145: MAESTRO EN SISTEMAS DE INFORMACION s

}

} }

else ( /*fprintf(fp3,• "6ld ",buffer);*/

} buffer=cells[z) .dri; /*fprintf(fp3,u X6ld",buffer);*/ buffer-cells[zJ .hofhi; /*fpri ntf < fp3, ""6ld", buffer);*/ buffer=cel ls[z) .hoffso; /*fpri ntf ( fp3, "X6ld'', buffer);*/ buffer=cella[z) .shoffl; /*fprl ntf (fp3, •"6Ld", buffer);*/ bufferzcel ls[zJ .shoffo; /*fpr i ntf (fp3, ""6ld" ,buffer);*/ buffer=cells[zJ .porhoin; i f(cells [zJ .hoffsi>O) ( /*fprintf(fp3," X4d •,buffer);*/ }

else (

/*fprintf(fp3," no Intentos");*/ cells [z] .nointhoffinm1; }

buffer=cells[z) .porhout; i f ( ce ll s [z) • hoffso>O)

(

/*fprintf(fp3," X4d ",buffer);*/ }

else (

}

/*fprintf(fp3, 11 no intentos•);*/ eel ls [zJ .nointhoffout=1;

buffer=eel ls [zJ .el rng; /*fprintf(fp3,• "6ld11 ,buffer);*/ buffer=eel ls[zJ .porelr; /*fprintf(fp3," X6ld\n11 ,buffer);*/

/************************************ ...... ***************************** NOMBRE: FORMFEED1 DA EL SALTO DE PAGINA SI ES NECESARIO

************'**********************************************************/ fonnfeed1 < > (

if(eountl ines>TOTLINE) (

fprintf(fpres, 11AlllllWllillUWAWWWWlUUAAfüllüAl.UWA.UllilllAWlllWUUWWWJilUl UWWlWlUllUllllWWlllu\n">;

fprintf(fpres,"k", FFF); eountl ines=1; fecha(); titulores();

} }

/**************************************'*******'**•************************************ NOMBRE: FECHA FECHA T HORA EN CADA HOJA

********************** .. ************************************************************ J fecha() {

laser eom(Orientaeion,Horizontal, fpres); /*laser _eom(Style,Desktop, fpres) ;*/ laser _eom(Left11argin, "811 , fpres); laser _ecn(Piteh, "12.00", fpres); leser _ecn(Point_si ze, •12.011 , fpres); laser _eom(Style,upright, fpres); leser eOID(Stroke weight,extre bleek,fpres); laser =CClll(Typefece,Gothie, fpres); laser _eOlll(L ine_sp, ue•, fpres);

Page 146: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf(fpres,"FECHA DEL llJESTREO: Xs HORA: Xs\n",date,hour);

laser _com(Pi tch, "14.0011 , fpres); leser _com(Stroke_weight,bold, fpres);

coi,,tl ineszcoi,,tl ines+2; /*printf(•va el prirEr while de escritura\n•);*/

}

/*************'********************************************************** Ntf!BRE: TITULORES ESCRIBE EL TITULO EN ARCHIVO DE RESUMEN DE CHULAS RESCEL.REP

*****"'*******'********************************************* ...... ******** / titulares() {

laso,r _cOlll(Symbol_set,ROllllll'l8, fpres); laso,r _com(Pi tch, 1112.00•, fpres); laser _cOlll(Stroke_wet ght, utra_black, fpres); fprtntf (fpres, "\n"); fprintf(fpres,•TABLA 6.- RESUMEN DE LOS CASOS MAS IMPORTANTES DE CHULAS A SER REVISADAS:\n"); laser _com(Pttch, 1114.00•, fpro,s); leser _com(Stroke_wei ght ,bleck, fpres); laser _com(Syri)ol_set,PC8, fpres); fprintf Cfpro,s, "\n"); laser _com(L ine_sp,•6•, fpres); fpri ntf(fpro,s, •úMWllllllllWUWAUilUAAUlllWUAlUXUAMlllllllWUWllll:U.RUllllliUU.UWW UAWlllllllllllW:U.WllXRU¿ \n" >; fprintf(fpres,'"CELULAS SIN INTENTOS'CELULAS CON IIENOS'CELULAS SIN INTENTOS' CHULAS CON x• CHULAS CON " ' CHULAS CON x• CE LULAS CON x• \n"); fprintf(fpres, 11 • DE DIRECT RETRY 'DE 10 INTENTOS DE' DE ACCESO DE DIRECT' DE HOFFS-IN ' DE HOFFS·OUT ' DE LLAMADAS ' DE VCDES '\n"); fprintf(fpres, 11

• SALIENTES ' DIRECT RET. SAL.' RETRY ENTRANTES ' EXITOSOS<90X' EXITOSOS<90X ' PERDIDAS>10X ' <85% '\n"); fpri ntf Cfpres, •UIIAWAAUll.UlllllllllllllllillliUWlllliilWWillllllllAllWlllllUlllllllllllUWU lllllllllllllllll.ullllllllllllll '\n"); /*fprlntf(fpres,"SIN INTENTOS MENOS DE 10 SIN INTENTOS PORCENTAJE PORCENTAJE PORCENTAJE PORCENTAJE\n"); fprintf(fpres,"DE D.RETRYS. INT. D.RETRYS. DE D. RETRYS DE HOFFSIN DE HOFFSOUT LLAMADAS VCDES \n"); fprintf(fpres,"SALIENTES SALIENTES ENTRANTES EXITOSOS<90 EXITOSOS<90 PERDIDAS>10 <85\n\n");*/ leser _cOlll(Stroke_weight,normal, fpres); cou,t l i nes=coi,,t l i nes+ 7; }

/*********************************************************************** NCIIBRE: ESCRES ESCRIBE ARCHIVO DE RESUMEN DE CHULAS RESCEL.REP

*********************************************************************'** I escres() {

char NADA en={" "}; int amax=1 ,trnex~1,cmax=1,dnax=1 ,emax=1, fmax=1 ,gmax=1; int a=1,t,,,1,c=1,d=1,e=1,f=1,g=1;

int z; long buffer;

z=1; wh i le( z<= i tecn)

{

if(cel ls [zl .sindr==1 l

i f(cel ls [zl .men10dr==1)

{strcpy(col_a[amaxJ. ruta,cel ls [zl. ruta); amax++;}

{strcpy(col_b[bmaxl .rute,cel ls [zl .ruta); bmax++;}

if((cel ls [zl .stndrin==1 )&&(cel ls [z] .nointdri==1)) {strcpy(col_c [cmaxJ. ruta,cel ls [z] .ruta); crnax++;}

if( (cel ls [z] .men90in==1)&&(cel ls [zJ .nointhoffinl=1) {

strcpy(col_d[anexJ. ruta,cel ls[zl. ruta); col_d[dnaxJ .porhoin=cel ls [zl .porhoin; anax++; }

if( (cel ls[z] .men90out=1 )&&Ccel ls [zJ .nointhoffoutl=1) {

strcpy(col_e [emaxJ. rute,cells[zJ .ruta); col_e[l!IIIBX] .porout= cel ls [z] .porhout;

Page 147: MAESTRO EN SISTEMAS DE INFORMACION s

eMIX.++; }

lf(cel ls[zl .por-per10==1) < strcpy(col_f [flll8X] .rut11,cel ls [zl. ruta); col_f[fnlaxJ .porclr•cells[zJ .porclr; f11111X++; }

if(cells Czl .merl,Ovcdes==1) < et rcpy( col _g [g,aaxl • ruta, ce l l s [zl . ruta); col_g [gnaxl • porvcdes=ce l l s [zJ • por11s i gn; 91Mx++; }

z++; )

amax .... ;bnax .. -;anex-- ;dnax .. · ;emax .. - ; fmaJl .. - ,g1119x--;

sortd(dlax); sorte(e!IIIIX); sortf(f1118X); sortg(~);

coi,it l i nes=1; fecha(); tltulores();

z=1;

/*printf < •cmax=Xd", anax); * /

whi le(z<=item) < ccu,tl i nes++; fol'lllfeec:11 O; fprlntf(fpres, •• "); /*fprintf( fpres,"' ");*/

lf(a<=mmxl < /*fprintf(fpres,""'>;*/ fprlntf(fpres, 11 Xs ", col_11 [al. ruta);fprfntf(fpres, •• ");a++;>

else < /*fprlntf(fpres,""');*/ fprlntf(fpres," Xs ",NADA);fprintf(fpres, .. 11 );> if(b<,.bmax) C fprintf(fpres, 11 Xs 11 ,col_b[bl .ruta);fprintf(fpres,""'>;b++;}

else C fprintf(fpres,• Xs ",NADA);fprintf(fpres,ª'"l;> if(c<=cmax) < fprlntf(fpres," Xs 11 ,col_c[cl .ruta);fprintf(fpres,""');c++;}

else < fprintf(fpres," Xs •,NADA);fprintf(fpres,'""l;> lf ( d<=<hax)

< fprintf(fpres,• Xa0 ,col_d[d] .ruta); buffer=col_d[d] .porhoin; fprintf(fpres,"X7.2f •,col_d[d] .porhoin); fpr i ntf < fpres, '" • >; d++; )

else < fprintf(fpres,• Xs •,NADA); fprintf(fpres,"'"l; >

if(e<=l!IIIIIX) < fprlntf(fpres," Xs•,col_e[el .ruta); buffer=col_e[eJ .porout; fprintf(fpres,•X7.2f 11 ,col_e[el .porout); fprintf Cfpres, "' "l; e++;

}

else < fprintf(fpres, 11 ",NADA); fprintf(fpres,"'");}

if(f<sfmax) < fprintf(fpres,• Xs•,col_f[fJ .ruta); /*buffer=col_f [fl .porclr;*/ fprlntf(fpres, 11X7.2f ",col_f [fl .porclrl; fprintf Cfpres, •• ªl;

}

else

f++;

{ fprintf(fpres," Xs ",NADA); fprintf(fpres,"'"l;>

Page 148: MAESTRO EN SISTEMAS DE INFORMACION s

if(11<=1111111xl <

}

else <

fprfntf(fpres, 11 Xs11 ,col_g[9J .rutal; buffer,,col_g[gJ .porvcdes; fprintf(fpres, •X7 .2f• ,col_g [g] .porvcdes); fprintf (fpres, •• \n"); g++;

fprintf(fpres,• Xs11 ,NADA); fprintf(fpres, "' \n"l;

)

if( (z>amax)&&(z>llllllx)&&(z>cA1Sx)&&(z>cinaxl&&(z>emax)&&(z>fmax)&&(z>gmax) l (break;> z++; }

fprintf(fpres,•llllllXA~llllllllA.\llUllAlllllllllAXAAllUllUllllAlllllllllX~lUlllllllllAlllllllUlllAXAill l.UUllllAllllUlll.\llUlillllUWü\n" l; fprintf(fpres, •Xc11 , FFF l; fclose(fpres); )

/'"*******************************************************************************'************** SUBRUTINA BLANC FORMA VECTOR DE BLANCOS PARA IMPRESION

*********'*********'****************************************"'***************************************** I blanco <

int i; int x=O; /*printf("dentro de la subrutina blancos\n");*/ /*printf("fesprOIIP Xd \n",fesprom);*/ i f(fesprORF~1 l

{

/* prlntf("xm21·auxblanc = Xd\n",x);*/ x=12·strlen(auxblanc); )

i f ( f espron,==2) e

/* prlntf("x=6·11uxblanc = Xd\n",x);*/ x=6·strlen(auxblanc); )

if(fesprC111D=3) e

/* prlntf("x=9·auxblanc = Xd\n",x);*/ xz16·strlen(auxblanc); }

/*strcpy( infz,auxblanc) ;*/ /*printf(" x = Xd\n",xl;*/ if(fesprOIIP=4)

< x=2·strlen(auxblanc);

)

i=O; while(l<xl

< blancosCiJ=' i++; /*printf("i = Xd\n", i );*/ )

/*printf(•i = Xd\n•, i );*/ blancosCiJ~ 1 \0 1 ;

/*x=strlen(blancos);* / /*prlntf(•strlen(blancos = Xd\n",x);*/ /*printf(•antes strcat infz = Xs\n", infz);*/ /*strcat( i nfz, blancos);*/ /*printf("after strcat infz ~ Xs\n", infz);*/

/*printf("sale de subrutina blancos\n">;*/ )

/*********************************************************************************************** SUBRUTINA CALC EFECTUA LOS CALCULOS DE PORCENTAJES Y SUMAS PARA CADA ITEM. DE ACUERDO A LOS PARAMETROS LEIDOS.

*********************************************'******************************************************* I cale() e

Page 149: MAESTRO EN SISTEMAS DE INFORMACION s

int S\RBj

int buffer; buffers-1• st.n11ZO; '

/*probl-s en el calculo*/

i f(cells Ci ten,J. regatt>O) e cel Is Citeial .porrep=(cells[i tem) .regcon/cells[lten,J .regatt)*100; }

else e

cel Is [i tl!lll] .porreus"'O; }

/*printf(•cells (XdJ .porregs= Xd\n", item,cells[ltemJ .porregs);*/

suna=cel ls[item] .orgacc+cel ls[i tem) .page_1+cel Is [item] .page_2+cells[item) .driacc; /*printf("sU11a=Xd\n11 ,sU11a);*/ lf(sune>O)

(

cella [item) .porasignz(cel Is [ltl!II] .vcdea/sune)*100; }

else {

cells CitemJ .porasign=O; }

buffer=cells[ltemJ .porasign; if(buffer<85)

cells [i temJ .men60vcdes=1;

• /*printf("cells(XdJ .porasign= Xd\n", item,cells CitemJ .porasign);*/ /*printf ("cel Is (XdJ .dri acc=Xd\n", i tem,cel ls Ci ten,J .dri acc);*/

if(cells[iteml .driacc>O) e cells[i tem) .pordr=(cells [itemJ .veddri/cel ls [itemJ .driacc)*100;

}

else {

cella Ci tenil .pordr=O; }

/*printf("cells[Xd] .pordr3 Xd\n", item,cal ls[i tem) .pordr);*/

/*printf(•cel ls[Xd] .hoffsi=Xd\n", iteia,cel ls[ltemJ .hoffsi );*/ i f (cel Is [i ten,J .hoffsi>O)

e cella [i ten,] .porhoinz(cel Is [i temJ .shoffi/cells [i temJ .hoffsi)*100;

}

else (

cel ls[itemJ .porhoin=O; } ~

/*printf(•cells CXdJ .porhoin= Xd\n", i tem, cel Is Citenil .porhoin) ;* / buffer=cel ls[itemJ .porhoin; i f(buffer<90>

cél Is [i tenil .inen90in=1;

/*printf(•cel ls[Xd] .hoffso=Xd\n•, fteni,cells[iten,J .hoffso);*/ if(cells[itemJ .hoffso>O)

(

cel Is [item] .porhout=(cel Is [itemJ .shoffo/cel la [itell) .hoffso)*100; }

else {

cells[itemJ .porhout=O; }

/*printf(•cel ls[Xd] .porhout= Xd\n", item,cel Is CitemJ .porhout>;*/ buffer=cells[iteinJ .porhout; if(buffer<90)

cel ls[iteinl .En90out=1;

/*printf("cel Is CXdJ .vedes=Xd\n", item,cel ls[itemJ .vedes);*/ if (cells [i ten,J. vedes>O)

Page 150: MAESTRO EN SISTEMAS DE INFORMACION s

{ cells Citellll .porclr,.(cells[itenl] .clrng/cells[item] .vcdes)*100;

}

else {

cells[ltl!llll .porclr=O; }

/*printf( 11cel ls[Xd] .porclr" Xd\n", item,cel ls[iteml .porclr);*/ buffer•cel ls[itell(J .porclr; i f ( buff er>•1 O)

}

/*change */ eells[ltl!III] .porper10=1;

/*********************************************************************************************** SUBRUTINA VALIDA VALIDA EL NIMERO DE VECES QUE SE ENCONTRO LA HORA PICO BUSCADA

**** .... ********************************************************************************************/ val ida() { if(eontplco>1)

{

pos(20, 15); printf("SE ENCUENTRAN MAS DE UNA VEZ LA HORA Y DIA SEMLADOS ">; sal ida(); eKit(1);

}

if(contplco=O) {

} }

pos(20, 15); printf("NO SE ENCUENTRAN LA HORA y DIA se,ALADOS"); sal idaO; eKit(1);

/********* ........... ************'* .... ***************************************************** NCMBRE : INICFLAG FUNCION:INICIALIZA LAS BANDERAS DE IMPRESION RESlllEN

******************************************************************************************** I inicflag() {

int z; z=1; f or(z=1; z<-MAXRUTA; z++ >

{

}

cells[zl .sinclr=O; eel ls [zl • .,,10dr=O; cells [zl .sinclrln=O; cel ls [zJ .lllen90in=O; ce l l s Czl • men90out=O; cel ls Czl .porper10=0; }

!****************************** .... ************'*********************** ... ************** NOMBRE : BUSQUEDA FUNCION:BUSCA EN LA TABLA DE INFRAESTRUCTURA EL NOMBRE DE LA CELULA.

********************************************************************************************/ busqueda() {

int j,fincl; char nod:,re [20] ; fincl=O; j~1;

strcpy( 1 NFR_AUX, cadena); strcat(INFR_AUX,•\ \INFR. TMP"); i f( (fp5=fopen( 1 NFR.JtUX, "r") )==NULL)

{

}

pos(20, 15); printf("No se puede abrir el archivo Xs",INFR_AUX>; salida(); exit(1);

whi le( Cfscanf(fp5,•Xs11 ,&datos))l=EOF {

strcpy(regci ty ,datos);

Page 151: MAESTRO EN SISTEMAS DE INFORMACION s

/*prlntf(•regcity= Xs\n",regci ty);*/ for(j=1; j<=7; j++) {

}

fscanf (fp5, •Xs11 ,&datos); if(j==3) {

strcpy(nanbre,datos); } if(j==4)

{

}

/*printfC"datos= Xs\n",datos);*/ /*getch();*/ lf( (strcq>Cdatos,cells[iteml .ruta))==O

{

}

strcpy(cel ls [i teml .ci ty, regci ty); strcpy(cel ls [itl!III] .name,nanbre); /*printf("cel ls[Xdl .name= Xs\n", item,cel ls [item] .name);*/ /*prlntf("cel ls[Xd] .city= Xs\n", item,cells [itea(J .city);*/ /*getch();*/ fird=1;

}

if(find==Ol {

}

pos(20, 15); printf("EL N<J!BRE DE UNA DE LAS RUTAS NO ESTA EN LA INFR."); salida(); exit(1>;

fcl ose( fp5); }

/**********'*'************************************************************************** N<J!BRE: TITULO FUNCIDN: ESCRIBIR FORMATO DE PANTALLA

********************************'************************************* ..... *******'*********** I titulo()

{

}

printf C"\033 [37;44m">; clsO; prlntf C"\033 [1m"); cuadroC1, 1,5,79); cuadro(1, 1,23,79); printfC"\033 [33m'0);

pos(2,36); printf("\033 [37;46m''l; puts("SADEC"); puts("\033 [1111''); pos(4, 17); puts(•SISTEMA PARA EL ANALISIS DEL DESEMPE'° CELULAR"); pos(24 ,67); puts("ESC SALIR");

/************************************************************************************* NIJIIIRE: POS FUNCION:POSICIONAR EL CURSOR DE ACUERDO A COORDENADAS X, Y

******************************************************************************************** / pos(x,y)

int x,v: {

prlntf e 11 \033 CXd;XdH" ,x, v>; }

/************************************************************************************* N<J!BRE: CUADRO FUNCION:TRAZAR UN CUADRO EN PANTALLA DE ACUERDO A COORDENADAS EN X, Y

**************•**'********"*"*'****************************************'*************'************ / cuadro(x1 ,y1 ,x2,y2) int x1,y1,x2,y2; {

int i; char bar [901 ;

for(isO; i<79; i++)bar[i]=•X• ;bar[79]= 1 \0'; pos(x1, y1+1) ;puts(bar+BO-y2+y1); pos(x2, y1+1) ;puts(bar+BO-y2+y1);

Page 152: MAESTRO EN SISTEMAS DE INFORMACION s

}

for( f~x1+1; i<x2; i++) {

}

pos( i, y1) ;puta("'•); poB(i ,y2);put8(U .. )¡

pos(x1, y1 );puts("Ú"); pos(x1 ,y2l;puts( 11¿•); pos(x2, y1 );puts(nA"); pos(XZ, y2);puts("U''l;

/********************************************************'***************************** NCflllllE : CL S FUNCION: LIMPIAR PANTALLA.

**********************************'********************'******'******************************** I cls()

(

puts("\033 C2J" >; }

/************************************************************'************************* NOIBRE: SALIDA FUNCION: RUTINA DE SALIDA EN PANTALLA.

*********'****'********************************************************************* ..... ******/ sal ida() (

}

pos(22, 15); printf( 110PRIMA CUALQUIER TECLA PARA CONTINUAR ••• "); pos(22,55); getchO; printf("\033 [Om''); cls();

/************************************************************************************* NOIBRE: RUTA FUNCION: CONOCER EL PATH DEL DIRECTORIO DE TRABAJO PARA ARCHIVOS DE 1/0 Y TEMPORALES

********************************'*"***** ...... ********************'*******"'********************* I ruta() (

}

if( ( fprutio=fopen( 11RUTA_IO. TXT", "rª) )==NULL) (

}

pos(20, 15); printf("No se puede abrir el archivo RUTA_IO. TXT"); sal ida(); exlt(1);

i f ( fscanf ( fprut i o, 11%811 , &cadena)==EOF) (

pos(20, 15); printf(•El archivo RUTA_IO. TXT esta vacio!"); salida(); exit(1);

}

fclose(fprutio);

/************************************************************************************ FUNCION: RENOIBRA RENCIIBRA LOS ARCHIVOS DE ACUERDO AL PATH

*************************************************************************************'*** I renontira(cher *cadena1 ,char *cadena2) {

}

char aux [40] ;

strcpy(aux,cadena2); strcat(aux, cadena1); strcpy(cadena1 ,eux);

/********************************************************************* NOIBRE: SOIIT pohoin FUNCION: SORTEA LAS RUTAS A SER IMPRESAS EN EL RESIMEN

*********************************************~********************** I sortd(11exd) int lllaXd; (

char BUJmnelllCn; float auxpor; int cont;

Page 153: MAESTRO EN SISTEMAS DE INFORMACION s

int p1,p2; p1=1; p2=2; cont=1;

whi le(cont<=inaxd) {

>

whi le(p2<=t!IBXd) {

i f(col_d[p2J .porhoin<eol_d[p1J .porhoin) {

aW1por=col_dCp1J .porhoin; strcpy(aW!ftl8111,col_d[p11. ruta);

strcpy(col_d[p1J • rute, col_d [p21. ruta); col_d[p1J .porhoinzcol_d[p2J .porhoin;

strcpy(col_d [p2J • ruta,auxmem); col_d[p2J .porhoinseuxpor;

> p2++;

> cont++; p1++; p2=p1+1; )

/********************************************************************* NOMBRE: SORT porhout FUNCION: SORTEA LAS RUTAS A SER IMPRESAS EN EL RESIMEN

*********************************************************************** / sorte(maxe) int ,aaxe; {

char auxmemcn; float auxpor; int cont; int p1,p2; p1=1; p2=2; cont=1;

whi le(cont<=maxe) {

>

whi le(p2<=11Bxe) {

if(col_e[p2J .porout<col_eCp1) .porout) {

auxpor=col_e[p1] .porout; &trcpy(auxnnan,col_e[p11 • rute);

strcpy(col_e[p1l. ruta,col_e[p2J .rute); col_e[p1) .porout=col_e[p2J .porout;

strcpy(col_e Cp2J. ruta, auxnr,-,); col_ e Cp21 • porout.,auxpor;

> p2++;

> cont++; p1++; p2=p1+1; >

/*****************************'**************************************** NCIIIIRE: SORT por el r FUNCION: SORTEA LAS RUTAS A SER IMPRESAS EN EL RESIMEN

****'*******************************************************'************ I sortf(maxf) int 11111xf; {

char IIUXl!Wleln[n; float aW!por; int cont;

Page 154: MAESTRO EN SISTEMAS DE INFORMACION s

int p1 ,p2; p1:1; p2:2; contc1;

whi le(cont<"IIIBXf) { whi le(p2<=1118Xf) <

if(col_f [p2] .porclr>col_f [p1J .porclr) {

auxpor•col_f [p1J .porclr; strcpy(awumern,col_f[p1J .ruta);

strcpy(col_f[p1J .ruta,col_f[p2J .ruta); col_f [p1J .porclr:col_f Cp2l .porclr;

strcpy(col_f Cp2J • ruta, ai.oomem); col_f [p2J .porclr=auxpor;

} p2++;

}

cont++; p1++; p2=p1+1; }

}

/********************************************************************* NOMBRE: SORT porvcdes FUNCION: SORTEA LAS RUTAS A SER IMPRESAS EN El RESUMEN

*******************"*************************************** ...... *****'***** / sortg(11&xg) int maxg; {

char BUXIITlelll Cn ; f loat auxpor; int cont; int p1,p2; p1=1; p2•2; cont:ir1;

whi le(cont<=maxg) <

}

whl le(p2<=maxg) <

if(col_g[p2J .porvcdes<col_g[p1J .porvcdes) {

auxpor=col_g [p1J .porvcdes; strcpy(awumem,col_g Cp1J. ruta);

strcpy(col_g [p1l. rute,col_g Cp2J. ruta); col_g[p1] .porvcdes=col_g[p2J .porvcdes;

strcpy(col_g[p2] .rute,a~); col_g[p2J .porvcdes=auxpor;

}

p2++; }

cont++; p1++; p2=p1+1; }

1

Page 155: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: cel traf1 .c

llldef i ne IIAXRUTA 240 llldef i ne MAXUIIDER 20 llldefine MAXRESRUTA 100 #define ENO 11END 11

#define IIAXLIN 80 /*llldeflne ESC 27 llldeflne CR 13 llldefine LF 10*/

atruc:t cellC char city[20J; /*poblacion a la cual pertenece*/ char '*""[20); /*NOl!a"e Celula*/ chor ruta en; /*.._,ico Celula*/ char fecha en; /*fecha a procesar*/ char hora [5) ; /*hora • procesar*/ int sindr; /*banderas pera iq,resion de resLJ11e11.cel*/ int -,10dr; int sindrin; int mn90in; lnt -90out; int porper10; int nolnthoffin; int nointhoffout; int nolntdri; int under; int over; float regatt; float regcon; float orgacc; fl oat page 1 ; float page:z,

float s~g; float dri; float driacc; float vcsze; fl oat vedes; float vcdesb2; fl oat vcclesa2; float vcedri; float vcddri; float locr; float lochofa; float npcell; float hnpcell;

/*bandera de no intentos handoffs in*/ /*bandera de no intentos handoffs out*/ /*bandera de no intentos directed retries*/ /*bandera underlaid*/ /*bandera overlaid*/

/*intentos de registro*/ /*confi.-ciones de registro*/

/*accesos originadoa*/ /*respuestas al voceo de primer intento*/ /*

/*s1.6118 de page_ 1+page_2 * / /*directed retrys ordenados*/

del segundo intento*/

/*accesos debidos a directed retrys*/ /*t01111s de canal de voz para establecimiento de llamadas*/ /*intentos de designaclon de canal de voz*/

/*canales de voz designados al primer intento*/ /*canales de voz deaignadoa despues del segundo intento*/ /*intentos de cleslgnacion de canales resultantes de dlrected retrys*/ /*designaciones de canales de voz resultantes de directed retrya */ /*ubicacion de abonado */ /*ubicacion de abonado que deriva de un intento de hand·off*/ /*seleccionada COIIIO celula no prinaria */ /*hand·off fuera de la celula hacia una celula no primaria

Creseleccion)*/ float hoffsi; float hoffso; float shoffi; float shoffo; float clmg; f loat porrees; float porasign; float pordr; float porholn; float porhout; float porclr; int index;

};

/*inicios de hand-off entrante*/ /*inicios de hand·off sal lente*/ /*hand·off entrante exitoso*/ /*hand·off saliente exitoso*/ /*llanadas liberadas debido a la mala trasmision o perdida de la misma*/ /*por-ciento de registros*/ /*porciento asignaciones*/

/*porciento de directed retrya*/ /*porciento de handoffs entrantes*/

/*porciento de handoffs salientes*/ /*porciento de llamadas perdidas vs. completadas*/

struct under{

1

narcatexto

char ruta[n; /*RUTA UNDERLAJD*/ };

Page 156: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: celtraf2.c

linclude<stdio.h> linclude<ctype.h> linclude<stdl ib.h> #include<reth.h>

lfnclude <dos.h> #include <conio.h> #include <stdarg.h>

#include <graphics.h> #include •cel traf1 .c• #!ne lude •laserdef .h•

/*#define TOTLINE 57*/ #define TOTLINE 72 #define FFF 12

FILE *fp1, *fp2, *fp3, *fp5, *fp6, *fpt, *fpsal, *fpaux, *fprutio, *fp_reg, *fphora, *fpres, *fptablsr; /*ap1.11tadores a archivos*/

char string!MAXLINJ; int cCKrit l ines; int tots; int Lnd; int contitle; int contplco; int iten; i nt horapi co; int nlllllllrchf; i nt fespr011; int z; int cuentasltios;

/*contador titulos escritura*/ /*contador de localizaciones de hora pico*/ /*contador de rutas procesadas*/

/*bandera que indica horapico local izada*/ /*bandera para validar nodire del archivo de datos de celulas*/ /*bandera para insercion de blancos en rutina de escritura*/ /*contador para escritura*/

char first; /*variable auxiliar para lectura de archivo de datos de ce lulas*/ char aux[20J; /*str'ing auxiliar para lectura archivo de datos de celulas*/ char hour[SJ; /*la hora pico del sistema*/ char date[7]; /*la fecha a nuestrear*/ char datos[20J; /*buffer de datos para leer de archivos*/ char region[ZOJ; /*poblacion que se esta procesando*/ char regarch[20J; /*poblacion que se esta procesando para escribir en archivo*/ char blancos[ZOJ; /*pera alinear coll.ll'llas en la escritura*/ char auxblanc [20]; char regclty[ZOJ; char neme [40J ;

char NAME AUK [40J ; char CELL:AUK [40]; char CELL_AUX C40J ; char HORAPICO_AUX [40]; char REG_AUX C40J; char CELLSTAT AUX [40]; char RESCEL AÜK [40]; char INFR AÜX [40]; char RES AUX [401 ; char HORA AUX C40J; char SALIDAS_AUX [40]; char T ABLSR AUK [40] ; char cadena [40];

char city8WlC20J; /*poblacion a la cual pertenece*/ char nameaux [20J; /*NOlllbre Celula*/ char fechaaux [7] ; /*fecha a procesar*/

char horaeux [5]; /*hora a procesar*/ char rutaaux [15]; /*Mne!IIOl'lico Ce lula*/ int sindraux; int men10draux; lnt sindrinaux; int men90inaux; i nt nien90outaux; int porper10aux; float regattaux; float regconaux;

/*intentos de registro*/ /*confim,aciones de registro*/

Page 157: MAESTRO EN SISTEMAS DE INFORMACION s

float orgaccaux; float pege_1aux; float page_2aux;

float s...,agaux; float driaux; float driaccaux; float vcszeaux; float vcdesaux; fl oat vcdesb2aux; f I oat vcdesa2aux; float vcadriaux; float vcddrlaux; float locraux; float lochofaaux; float npcel lllWI; float hnpcellaux;

(reseleccion)*/ float hoffsiaux; float hoffsoaux; float shoffiaux; f loat shoffoaux; float clrngaux; f loat porregsaux; f loat poras i gnaux; f loat pordraux; float porhoinaux; float porhoutaux; float porclraux; int over; int i.ider; lnt indexaux;

/*accesos originados*/ /*respuestas al voceo de primer intento*/ /*

/*sUIIIIJ de page_1+pege_2 */ /*di rected retrys ordenados*/

del segirdo l ntento* /

/*accesos debidos a directed retrys*/ /*t-s de c11N1l de voz para establecimiento de ll8111adas*/ /*intentos de designacion de CIINll de voz*/

/*canales de voz designados al primer intento*/ /*c11N1les de voz designados despues del segirdo Intento*/ /*intentos de designacion de canales resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de directed r .. trys */ /*lbicacion de abonado */ /*lbicaclon de abonado que deriva de 1.1i Intento de hand·off*/ /*sel..cclonada c- celula no pri11aria */ /*hand-off fuera de la celula hacia una celula no pri11111ria

/*inicios de hand-off entrante*/ /*inicios de hand-off saliente*/ /*hand·off entrante exitoso*/ /*hand- off sal i ente exitoso*/ /*ll.-das liberadas debido a La mala traS11islon o perdida de La miSIIIII*/ /*porciento de registros*/ /*porciento asignaciones */

/*porciento de directed retrys*/ /*porc i ento de handoffs entrantes*/

/*porciento de handoffs salientes*/ /*porciento de LL-.das perdidas vs. c°""letadas*/

float sumregatt; /*s...,. de intentos de registro*/ float sumregcon; /*suma de confirmaciones de registro*/ float sunorgecc; /*sUIAII de accesos originados*/ float s,..._ge_1; /*s...,. de respuestas al voceo de primer Intento*/ float s111p11ge_2; /*sUIIB de

del segirdo intento*/ float sums~g; /*suma de float SLIM de page_1+page_2 */ float sum:lri; /*sLIIIB de directed retrys ordenados*/ float surdrlacc; /*suma de accesos debidos a directed retrys*/ float siavcsze; /*s._ de tC111111s de c11N1L de voz para establecimiento de llamadas*/ float suwvcdes; /*s1.11111 de intentos de designacion de canal de voz*/ float aunvcclesb2; /*suma de canales de voz desillf\lldos al primer Intento*/ float sunvcclesa2; /*suma de canales de voz designados despues del segirdo intento*/ float simv~ri; /*slllllil de intentos de clesignaclon de canales resultantes de directed retrys*/ float sumvcddri; /*sUIIB de designaciones de canales de voz resultantes de directed retrys */ float sunlocr; /*suma de lbicacion de abonado */ float si.lochofa; /*slff/J de lbicaclon de abonado que deriva de 1.1i intento de hand-off*/ float sla11Cell; /*suma de seleccionada CCIIIO celula no primaria */ float sumhnpcell; /*sine de hand·off fuera de la celula hacia una celula no pri11111ri11 (reseleccion)*/ float sumhoffsi; /*sUIIIIJ de inicios de hand-off entrante*/ float sumhoffso; /*s.- de inicios de hand-off saliente*/ float sumshoffi; /*suma de hand-off entrante exitoso*/ float sumshoffo; /*suma de hand·off saliente exitoso*/ float sunclrng; /*suma de llamadas Liberadas debido a La 11111La traS11ision o perdida de la misma*/ float s1Dp1rregs; /*sllM de porciento de registros*/ float s~rasign; /*slJIIB de porciento asignaciones*/ float s~rdr; /*suma de porciento de directed retrys*/ float s....,arhoin; /*s111111 de porciento de handoffs entrantes*/ float s~rhout; /*sina de porciento de handoffs sal lentes*/ float s~rclr; /*slffll de porciento de L laMdas perdidas vs. coq,Letadas*/

float resregatt; float resregcon; f loat resorgacc; float respage_1; float respage_2;

float ressumpag; float resdri; float resdriacc; float resvcsze; float resvcdes;

/* intentos de registro*/ /* confinnaciones de registro*/ /* accesos originados*/ /* de respuestas al voceo de pri111er

/* de intento*/

" del se¡µ,do intento*/ /* de float 511118 de page_1+page_2 */ /* de di rected retrys ordenados*/ /* accesos debidos a directed retrys*/ /* de tOIIIIIS de canal de voz para estableci1Riento de l Lllllladas*/ /* de intentos de designacion de canal de voz*/

Page 158: MAESTRO EN SISTEMAS DE INFORMACION s

f loat resvcdesb2; float resvcdesa2; fl oat resvcadr i ; fl oat resvcdctr i; float reslocr; float reslochofa; float r~el l; float reshnpcell; float reshoffsi; float reshoffso; float resshoffi; fl oat resshoffo; float resclma; float resporregs; float resporasign; float respordr; float resporhoin; float resporhout; f loat resporcl r;

char cityant[15J; char pruantC15l;

char *strtokO;

/* de c81l8les de voz designados al primer Intento*/ /* de c81l8les de voz designados despues del segundo Intento*/ /* de Intentos de designaci.on de canales resultantes de directed retrys*/ /* de designaciones de e-les de voz resultantes de directed retrys */ /* de lblcacion de abonado */ /* de lbicaclon de abonado que deriva de III intento de hand-off*/ /* de seleccionada coiw:, celula no pri11&ria */ /* de hand-off fuera de la celula hacia 111& celula no prl11arla (reselecclon)*/ /* de inicios de hand-off entrante*/ /* de inicios de hand-off saliente*/ /* de hand-off entrante exitoso*/ /* de hand-off sal lente exitoso*/ /* de limadas liberadas debido a la Nla trasmision o perdida de la misma*/ /* de porciento de registros*/ /* de porclento asignaciones */ /* de porciento de directed retrys*/

!* de porciento de handoffs entrantes*/ /* de porciento de handoffs salientes*/ /* de porciento de lllllllldas perdidas vs. coq,letadas*/

extern char cadenax[100];

struct lllder llldersCMAXUNDERJ; atruct cell cel lsCMAXRUTA];

,nain() {

strcpy(CELL_AUX, 11\ \CELL. TXT"); strcpy(HORAPICO_AUX, "\ \HORAPICO. TMP•); strcpy(REG_AUX,"\\REG. TMP">; strcpy(CELLSTAT_AUX,•\\CELLSTAT. TMP"); strcpy(RESCEL_AUX, 11 \ \RESCEL.REP•); strcpy(INFR_AUX,•\\INFR. TMP"); strcpy(RES_AUX, 11\\RESCEL. TNP"); strcpy(HORA_AUX, n\\HOIIACEL. TMP");

titulo<>; prlntf ("\033 [37;44111">; ruta(); abrir(); /*abre archivos */ horadlaO; /*lee hora pico y día*/ inicio(); /*inicio de progr-*/ loop(); /*control de la lectura de datos del archivo a procesar*/ ordena(); /*hace III sort de las rutas antes de lll'Pf"i111irlas*/ &Ull'QrO; escribe(); /*escritura de e~ de acuerdo a for11ato de reporte*/ valida(); systl!lll(•cel res"); atlast(); pos(20, 15); printf(" FIN DEL PROCESO\n"); salida(); clsO; exit(1); )

/***********'************"***************************************** NCIIIRE: LOOP RUTINA CONTROLA LOS ACCESOS DE LECTURA DEL ARCHIVO A PROCESAR

********************'**'****''''*'**********************************/ loop() e horapico=O; whi le((fscanf(fp1 ,"Xs",&datos))l:EOF) e /*printf("En loop datoszXs\nn,datos);*/

val(); /*printf(•Regresa de val\n•);*/ lf(horapico:"1) e /*printf("ll- a lee\n");*/

Page 159: MAESTRO EN SISTEMAS DE INFORMACION s

} }

lee<>; horapico=O;

}

/***************'*********************************************'*************'* NOMBRE: INICIO RUTINA QUE INICIA EL PROGRAMA: CAPTURA NCIIIRE ARCHIVO A PROCESAR

*******************************************'* ....... *************************** I Inicio() {

}

contpi co=O; cls(l; titulo(); pos(6,20); prlntf("\033 [37;44111"); pr i ntf ( • PROCESAMIENTO DE CELULAS"); pos(12, 15); printf(" pos(10, 15); printf(• PROCESANDO ARCHIVO CELL. TXT"); /*printf("\n">:*/ pos(12, 15); fscenf e fp_reg, 1'%9", &regi on); fclose(fp_reg); printf(" ESTADISTICAS EN CELULAS DE EL MTX: Xs•, region); pos(14, 15); printf(" PROCESANDO LA HORA Xs•,hour); lnlcflag();

");

/************************************************************************************ NOMBRE: HORADIA RUTINA QUE LEE DE LA HORA PICO ,LA FECHA EN LA CUAL SE PROCESARA LA INFORMACIOII

Y LA POBLACIOII.

***************************************************"**'*******************************'** / horadla() {

char e; int confil'IIIII; fscanf (fp2, "Xs" ,&datos); strcpy(date,datos); /* lee el dia (fecha) */ fprlntf(fphora,•Xs\n•,date); /*printf("date= Xs\n•,date);*/ fscenf ( fp2, •Xs• ,&datos); strcpy(hour,datos); /* lee la horapico */ pos(6,20); prlntf ( "\033 [37¡441n"); prlntf(" PROCESAMIENTO DE CELULAS"); pos(10, 15); printf(" HORA PICO DEL SISTEMA: Xs11 ,hour); pos(12, 15); printf(" DESEA SELECCIONAR UNA HORA DIFERENTE 1 S/N"); conf i l'ftl=O; do

{ pos(12,63); c=getchO; if< (czz 1 S'>l l<c== 1 s 1 >l l<c= 1 N'>l l<c==•n 1

)

conf i rma= 1 ; )whi le(confirma•=O); pos(10, 15); printf(" "); pos(12, 15); printf(" if( (c=='S'>l l<c='s')

{

selec_eistema( );

> fscanf(fp2, "XII" ,&datos); strcpy(region,datos); /* etrcpy( regarch, datos); /*printf(•regi- Xs\n•,region);*/ fprl ntf ( fphora, ªXs", hour); fclose(fphora); fe lose( fp2); }

");

lee la poblacion */

Page 160: MAESTRO EN SISTEMAS DE INFORMACION s

, ..................................................................................... . F\JIICIOII: SELEC SISTEMA SELECCIONA LA REGIDN A PROCESAR ............................................................................................... ,

selec aist-() { -

FILE •fp; int n,opcion; char buffer (801 ;

pos(B,26); prlntfC"lrdlca la hora a procesar: ">; pos(10,28); printfc•1.- 01:00•>; pos(11,28); prlntf("2.· 02:00•>; posC12,28l; printf("3.· 03:00•); pos(13,28); prlntf(•4.· 04:00•); pos(14,28); printf(•S.· 05:00"); poe(15,211>; printf(•6.· 06:00"); pos(16,28>; prlntf(•7.· 07:00"); pos(17,211); printf(•&.· 08:00•); pos(18,211); printf(•9.· 09:00•); pos(19,28l; printfc•10.- 10:00•); pos(20,211>; printf("11.· 11:00•); pos(21,28); printf( 1112.· 12:00•); pos(10,40); printf("13.· 13:00"); pos(11,40); printf(•14.· 14:00•); pos(12,40); printf(•15.· 15:00"); pos(13,40); printf("16.· 16:0011 ); pos(14,40); printf("17.· 17:00"); pos(15,40>; prlntf( 1118.· 18:0011 ); pos(16,40l; printf("19.· 19:00"); pos(17,40); printf("20.· 20:00"); pos(111,40); prlntf("21.· 21:00">; pos(19,40>; printfC"22.· 22:00">; posC20,40l; printf( 1123.· 23:00"); pos(21,40); prlntf("24.· 00:00");

opcion=elegir _opcion(1,24);

switch(opcion) {

caae 1:strcpy(hour, 110100"); break;

case 2: s t rcpy( hour, 110200" >; break;

case 3:strcpy(hour,•0300•); break;

case 4: s t rcpy( hour, •0400• >; break;

case 5:strcpy(hour, •0500">; breek·

case 6:strcpy(hour, •0600•); break·

case 7:strcpy(hour,"0700">; break·

case 8:strcpy(hour, 11080011 );

break; case 9:strcpy(hour,•090011 );

break; case 10:strcpy(hour ,•1000•);

break; case 11:strcpy(hour,•1100•);

break; case 12:strcpy(hour ,"1200");

break; case 13:strcpy(hour ,•1300");

break; case 14:strcpy(hour,"1400">;

break; case 15:strcpy(hour ,•1500">;

break· case 16:strcpy(hour, 111600•);

break; case 17:strcpy(hour,"170011 );

break;

¡• lee la hora a procesar */

,. lee la hora a procesar */

¡• lee la hora a procesar * /

¡• lee la hora • procesar * /

¡• lee la hora • procesar • ¡

/* lee la hora a procesar */

/* lee la hora a procesar •¡

/* lee la hora a procesar •¡

/* lee la hora a procesar • ¡

/* lee la hora • procesar */

/* lee la hora a procesar * /

/* lee la hora a procesar * /

/* lee la hora a procesar * /

/* lee la hora a procesar * /

/* lee la hora a procesar • ¡

/* lee la hora a procesar • ¡

/* lee la hora a procesar • ¡

Page 161: MAESTRO EN SISTEMAS DE INFORMACION s

case 18:strcpy(hour, 11180011 ); ,. lee la hora a procesar */ break;

case 19:strcpy(hour, "1900"); /* lee la hora a procesar */ break;

case 20:strcpy(hour,•200011 ); /* lee la hora II procesar */ break;

cHe 21 :strcpy(hour, "210011 ); /* lee la hora a procesar */ break;

case 22:strcpy(hour, 11220011 ); /* lee la hora a procesar */ break;

case 2l: st rcpy( hour, 112300") ; /* lee la hora a procesar */ break;

case 24:strcpy(hour, 11000011 ); /* lee le hora 11 procesar */ break;

)

/*****************************************************'******************************* FUNCION: ELEGIR OPCION VALIDA LA OPCloÑ SELECCIONADA (DENTRO DEL RANGO)

************************* ...... *********************** .. ********************************** I int elegir_opcion(int inf, int sup)

<

)

lnt ~ro; char blancos [151 •C" pos(21, 54 >; prlntf("Op:ion: ");

11ets(aux); nuiiero=atoi (aux);

•>, letra[5J ,auxt5J;

Nhi le( (nunero<inf) 11 (nunero>sup) < pos(21,54); printf("Op:ion: ">; puts(blancos); pos(21,62); gets(aux); l'Ulleroaatoi(aux);

) /*puts(aux);*/ return(nunero);

/************'************************************************************* NOMBRE: ABRIR FUNCION: ABRIR ARCHIVOS

****'****************** ...... ************************************************/ abrir()

< /*printf(" ABRE LOS ARCHIVOS \n'');*/ /*printfC"\nª);*/

renollbra(CELL_ AUX, cadena); renallbra(HORAPICO AUX,cadena); renonibra(CELLSTAT-AUX,cadena); renalllbra(RESCEL_AÜx, cadena); renDlllbra(REG AUX,cadena); renoatira(RE(AUX, cadena); renambra( HORA_AUX, cadena);

/*CELL. TXT* / /*HORAPICO. TMP* / /*CELLSTAT. TMP* / /*RESCEL. REP* / /*REG. TMP*/ /*RESCEL. TMP* / /*HORACEL. TMP* /

i f ( ( fphora=fopen(HORA_AUX, "w'') )==NULL) < .

)

pos(Z0, 15); printf("No se puede abrir el archivo Xs 11 ,HORA_AUX); salida(); exit(1);

i f( (fp_reg~fopen(REG_AUX, "r") )==NULL)

< pos(20, 15); printf("No se puede abrir el archivo Xs",REG_AUX); sal ida();

Page 162: MAESTRO EN SISTEMAS DE INFORMACION s

exit(1); }

i f ( (fp1,.fopen(CELL_AUX, •r•) )=NULL) e pos(20, 15); prfntf("No se puede abrir el archivo Xs•,CELL_AUX); sal ldaO; exft(1);

}

i f ( (fp2=fopen( HORAPI CO _AUX, •r•) )=NULL) e

}

pos(20, 15); printf("No se puede abrir el archivo Xs",HORAPICO_AUX); sal idaO; exlt(1);

strcpy(CELLSTAT _AUX, cadena); strcat(CELLSTAT _AUX, "\ \CELLSTAT. TMP");

if((fpaux=fopen(CELLSTAT_AUX,"w"»==NULL) /*contiene infonnacion de CELULAS PROCESADAS*/ e

}

}

pos(20, 15); printf("No se puede abrir el archivo Xsª,CELLSTAT_AUX); sel ida(); exit(1);

/************************************************************************* VALIDA LA FECHA Y HORA HASTA ENCONTRAR LAS INDICADAS

************************************************************************** I val() e /*prlntf(•entra • val idar\n");*/ /*pri ntf e •date=Xs\n" ,date);*/ /*pri ntf ( ªdatos=Xs\n", datos);*/ if(straop(date,datos)==O>

e

}

/*printf("entra al lf por lo tanto datos=date\n");*/ fscanf(fp1, "XII" ,&datos); /*pri ntf ("hour=Xs\n", hour) ;* / /*prfntf(ªdatos"Xs\n" ,datos);*/ i f(str~hour ,datos)=O) e

horapico=1; contpico++; /*pr i ntf e "horapi co=Xd\n", horapi ca);*/

}

else e buscaendO;

}

else {

}

buscaend( ) ; }

/******************************************* ............ ********************************* IKIIIIRE : BUSCAEND RUTINA QUE AVANZA APUNTADOR A ARCHIVO HASTA ENCONTRAR STRING END

********'************* ....... **************************"*'************************************/ busceerd() {

do e fscanf(fp1, "Xs" ,&datos);

}

whi le( (strCl1')(datos,END)) 1 =O); }

/*************************************************** ........ **************************** NCIIBRE: LEE RUTINA QUE LEE DEL ARCHIVO LA INFORMACION DE LA HORA PICO Y FECHA INDICADA

'

Page 163: MAESTRO EN SISTEMAS DE INFORMACION s

*********************************** ..... ******************************************* ...... , lee() {

int euxite111; in:1=1 • ite1FÍ; do

{

}

fscenf(fp1, •Xs11 ,&detos); /*printf(•en lee , ·valor de datos= Xs \n",datos);*/ inicie(); /*cele();*/ ltent-+;

whfle( (strC9')(datos,END» I E() >; itNt-·; ítem··; /*printf("al sellr de lee it- Xd\n•,itm);*/ xl.ider(); auxi te1Fi te111; tots=itl!III; /*printf("entes calculo\n'');*/ /*pr i ntf ( • i t9PXd\n", i tem); * / iteai::1; /*printf("item-Xd\n•, ítem);*/ /*pr i ntf ( "auxi te1FXd\n", aux i te11) ;* / while( item<=auxitem)

{

cale(); /*printf( 11cells[Xd] .porclr= %f \n", ltl!lll,cellstiteml .porclr); getchO;*/ lt-;

}

it-euxiteai; /*printf(uregresa de calculo\n");*/ /*aetchO;*/ /*exi t(1 );*/ }

/*************************************************************'*********** NOMBRE: INICIA INICIALIZA LOS CAMPOS DE LA ESTRUCTURA PARA CELL

****************************** ..... *********** ....... **********************/ inicia() e char ruteaux en; char at2l;

/*printf(•entre e inicle\n•);*/ if((str~(datos,END))l=O)

{ strcpy(cel la [i tem]. fecha,date); strcpy(cells[itetll] .hore,hour); strcpy(cella [ltend. ruta,datos); busqJeda( ) ;

strcpy(rut88Wl,cel ls[itetl] .ruta); e [O] =ruteaux [41; e[1]= 1 \0 1 ;

if((e[O]•a'D') l l<•COJ=='E') l l(a[O]='f')) {

cells[itenil .over=1; /*printf(•cel ls[Xd] .ruta=%s\n", ite111,cel ls[itellll .ruta);*/ /*printf("cel ls C%dJ .over=Xd\n", lte11,cel ls[ltem] .over);*/ /*pri ntf ( • rutaaux= %s \n• , rutaaux); * I if(a[O]=='D') { rutaauxt4l='A';> if(e[OJ..: 1 E1

) { rutaauxt4l='B';> lf(a[Ol•='f') C rutaaux[4l='C';) /*printf("rutaux= %s\n", rutaaux);*/ strcpy(l.iders [in:Q. ruta, rutaaux); /*printf(•l.iclers txdl .ruta" %s\n•,und,l.iders[irod] .ruta);*/ Lrd++· /*pri~tf C "ird=%d\n", und) ;* / /*11etchO;*/

)

else {

Page 164: MAESTRO EN SISTEMAS DE INFORMACION s

} }

cells[ltMJ .over•O; }

fscanf ( fp1, •Xs• ,&datos); cel ls Citlll!. regatt=atoi(datos); fscanf ( fp1, •Xs• ,&datos); cel ls[ltlll! .regcanzetoi(datos); fscanf( fp1, •Xs• ,&datos); calls[itlll] .orgacc,,atoi(datos); facanf( fp1, -xs• ,&datos); cel ls[I teml .page_ 1=etoi (datos): fscanf ( fp1, •Xs• ,&datos); cal lsCitMJ .page_z .. atoi (datos); cal ls[ftelll] ·SUIIPIIFCel la[it.,.J .pege_1+cel ls[ltell] .page_2; fecanf(fp1, "Xs• ,&datos); calla[it..:i .drf•etof(datos); if(cal la[lt..:i .dri<•O)

cella[itl!II) .aindr~1; if( (D<cel ls[i tl!IIIJ .dri )&&(cellaCi tell] .dri <10)

cella Ci tell] .11en10dr=1; facanf(fp1, •1s• ,&datos); cel ls [itelll] .driacc•atoi (datos); fscanf (fp1, •Xs• ,&datos); cellsCitOIIIJ .vcsz~•tof(datos); fscanf(fp1, •Xs• ,&datos); cel ls[itell] .vcdes=atoi(datos); facanf(fp1, •Xs•,&datos); cella Ci tm.:I. vcdeabZ=atol (datos); fecanf (fp1, •Xs• ,&datos); cellsCitelll] .vcdesa2"•tol(datos); facanf(fp1, •Xs• ,W.tos); cel ls Citelll] .vcadrl=atoi(datos); fscMf(fp1, "Xs" ,&datos); cells[it-1 .vcddri=atoi(datos); i f (cells[ltl!IIIJ. vcddri <sO)

cells[itellll .sindrln=1; fscanf(fp1, "Xs• ,&datos); cells Clt-1. locr=atoi(datos); facanf(fp1, •Xs• ,&datos); cel ls[i tenil . lochofa=atoi (datos); fscanf(fp1, •x.11 ,&datos); cella[itelll] .l'f)Cel l•atoi(datos); fscanf(fp1, "Xs• ,&datos); cella Ci tell] .h~el l•atoi (datos); facanf(fp1, "Xs11 ,&datos); cella Citan] .hoffsi=atol(datos); fscanf(fp1, "Xa• ,W.tos); cel ls[i telil .hoffso=atoi(datos); fscanf (fp1, "Xs• ,&datos); cel la[iteal .ahoff l=atoi (datos); fscanf(fp1, "Xa" ,&datos); cells[i teal .ahoffo:atol (datos); fscanf(fp1, "Xs" ,&datos); cells[itell) .clrng•atol(datos);

, .............................................................................. . IIOMIIRE: UNDER FUNCIOII:

..................................................... *******************'***********/ xinler() {

i nt 1MX, busque, hall a, cont; MJ(2\l'ld; 111x··; busque•1; halle;()· cont=1;' /*printf("Nx= Xd\n",llllX);*/ /*printfC"lts= Xd\n", lten);*/ /*getchO;*/

whi le(cont<=itein) {

hel la•O; busqie=1;

Page 165: MAESTRO EN SISTEMAS DE INFORMACION s

}

while(~"IIIBX) e

i fC (str~Ccel ls [contl. ruta,irdera [busque). ruta»=O) e halla .. 1; break; } ~.

}

if(halla==1 > e f"printf(Ucel ls[XdJ .ruta=Xs\n11,cant,cel ls[cant) .ruta);*/ cel ls[contJ .irder=1; /*printf( 11cells[Xd] .uider=%d\n11 ,cant,cel ls[cont) .irder);*/ /*getchO;*/ /*exit(1);*/ }

cont++; }

/***************************************'***'****************'************** NOMBRE: ORDENA FUIICION: ORDENA LAS RUTAS ANTES DE SER IMPRESAS.

********************************************************************'*******/ ordena() {

int p1•1; int p2=2; int cant=1;

ordertabC >;

whi le(cant<=item) { while(p2<sitem) e /*if(str~(cells[p2J .name,cells Cp1J .name)<O)*/ if(cel ls [p21. index<cel ls [p1J. index)

e indexaux=cells Cp1J. index; strcpy(....aux,cel ls[p1J .name); strcpy(rutaaux,cel ls[p1J .ruta); strcpy(cityaux,cel ls [p1J .city); sindraux=cells[p1J .sindr; aien10draux=cells[p1J .men10dr; sindrinaux=cells[p1J .sindrin; men90inaux=cells[p1] .men90in; men90outaux=cellstp1J.ioen90out; porper10aux=cel ls tp1J .porper10; regattaux=cells[p1J .regatt; regcanaux=cel ls [p1J. regcan; orgaccaux=cel ls [p1] .orgacc; page_1aux"cells[p1J .page_1; page_2auxac:ells[p1J .page_2; s~gaux=cells[p1J .suq,ag; driauxzcells[p1J .dri; driaccaux=cel ls[p1J .driacc; vcszeaux=cel ls [p1J. vcsze; vcdesaux=cel ls[p1J .vedes; vcdesb2aux=cells [p1 J • vcdesb2; vcdesa2auxscel la [p1J. vcdesa2; vcadriaux=cells[p11 .vcadrf; vcddriaux=cells[p1J .vcddri; locraux=cells [p1J. Iocr; lochofaaux=cel ls[p1J. lochofa; npcel laux=eells[p1J .npcel l; hnpcellaux"cells [p1 J . hnpcell; hoffsiaux,.cells[p1J .hoffsi; hoffsoaux=cel ls [p1J .hoffso; shoffiaux=eells tp1J .shoff i; shoffoaux=cel ls [p1J .shoffo; elrngaux=cel ls [p1J .elrng; porregsaux=cel ls[p1J .porregs; porasignaux=cel ls[p1J .porasign; pordraux=cellstp1J .pordr; porhoinaux=cel ls'lp1J .porhoin;

Page 166: MAESTRO EN SISTEMAS DE INFORMACION s

porhoutaux=cella(p1J .porhout;

porclraux=cel la[p1] .porclr; over-cells[p1] .over; laider=cells[p1] .laider;

cells[pt]. indeJtacella[pZ]. index; strcpy(cells[p1J • ..-,cel ls(p2J .nMe) strcpy(cells [p1] .ruta,cel lstp2J .ruta) strcpy(cells[p1J .city,cel ls[pZJ .city) cella [p1J .slndr•cells[pZ] .sindr; cel l s Cp1 l .Men10dl""cella [p2) .lll!n10dr; cel lstp1J .sindrln-cel ls(p2l .sindrin; cel ls [p1J .nien901n=cel ls(p2J .-,901n; cells[p1J .men90out=cells[p2J .nien90out; cella (p1] .porpar10-cel ls [pZJ .porper10; cellslp1J .regatt-cel ls[p2l .regatt; cel ls (p1J. revccn=cel la [pZJ. regcon; cel la(p1J .orgecc=cellslp2l .orgacc; cel ll•[p1J .page_1•cells[p2l .page_1; cella [p1J .page_2•cel ls [pZ] .page_2; cells(p1] .s~ells[pZJ .sinpag; cella [p1J .dri-cel lslp2] .drl; cel ls [p1J .dri eccacells [pZ] .dri acc; cells(p1J .vcaze,,cellslp21.vcsze; cella Cp1J. vcdes=cel ls [pZJ • vedes; cel ls Cp1J .vcdesb2=cellslp2J .vcdesb2; cells[p1J .vcdese2-cel ls[pZJ .vcdese2; cella (p1]. vcadri-cel ls [p2J. vcadri; cells (p1J. vcddrl=cel ls lp2J. vcddri; cel lslp1J. locr•cells[p2]. locr; cellslp1J. lochofa=cel ls lp2]. lochofe; cells(p1J .npcel lace! ls (p2J .npcel l; cel ls[p1J .hnpcel l-cel ls[pZJ .hnpcel l; cells[p1J .hoffsi=cells(p2J .hoffsi; cel ls(p1J .hoffso-cel ls [p2J .hoffso; cells(p1J .ehofflacells[pZJ .shoffi; cel ls Cp1J .shoffo=cel lslp2J .shoffo; cel la[p1J .clrng=cel lslp2J .clrng; cells(p1J .porrep=cells[p2l .porregs; cells[p1J .porasign=cel lstp2J .porasign; cel ls (p1J .pordraocel ls (p2J .pordr; cel ls[p1J .porhol1Fcel ls[p2l .porholn; cel ls [p1J .porhout=cel ls Cp2l .porhout; cel ls [p1J .porcll""cells[pZJ .porclr; cells[p1J .over•cells[p2J .over; cells[p1J .under•cells[p2J .under;

cells[pZJ. index=indellaux; strcpy!cells[p2J .,-,.-.ux); strcpy(cel ls[p2J .ruta, rutuux); strcpy(cel ls [p2J .city,cityeux); cells [pZJ .sindr•sindraux; cella [p2J .lllef'l10dr-men10dreux; cel la[p2J .sindrln=sindrinMDI; cel ls [pZJ .llef'l90i~lnaux; cel ls[p2J .lllerl90out=-n90outaux; cel ls [p2l .porper10=porper10aux; cel ls [pZJ .regett•regatteux; cells [pZJ • regconsregcOI\IIUlt; cel ls [p2J .orgecc"OrgacCMa; cells[p2J.page_1=paae_1MOt; cel ls [p2J .page_2spage_2eux; cells[pZJ .s111p11rsu,pgaux; cellslp2J .drisdriaux; cel ls[pZJ .driecc=drlacc-; cel ls(p2J .vcsze-vcsze-; cells[p2J .vcdes"VCdesaux; cella tp2J. vcdesb2=vcdesb2aux; cel ls [p2J. vcdesa2svcdesa2aux; ce l l s [p2J • vcadr i =vcadr i aux; cel la[pZJ .vcddrl•vcddri-; cells(p2J .locl""locraux; cel ls [pZJ. lochofa•lochofeeux; cel ls[p2J .npcel l•npcel laux;

Page 167: MAESTRO EN SISTEMAS DE INFORMACION s

)

cel Is [p2J .hnpcel l=hnpcel l11ux; cel Is [p2J .hoffsichoffsi11UX; cells[p2] .hoffiioahoffa011UX; cells[p2] .shofff=shoffi11UX; cel Is [p2l .shoffo=shoffOIIUX; cel ls[p2] .clrna"clrngaux; cel Is [p2] .porrevs=porregsaux; cal Is [p2] .porasfgn=porasignaux; cel Is [p2J .pordr,.pordrawt; ce l l s [p2J • porho i nsporho f naux; cella Cp2J .porhout,.porhoutllUX; cel ls[p2J .porclrcporclraux; ce l l s Cp2J • over=over; cel ls[p2] .lrder=lrder;

)

p2++; )

cont++; p1++; p2=p1+1; )

/*******'****************************************************************** NOMBRE: ESCRIBE ESCRIBE LOS CAMPOS PARA C/U DE LAS RUTAS DE ACUERDO AL FORMATO DEL REPORTE

*********** ... ********** ..... ********************************************** I escribe() {

int contcity; int y; char IIUXCi ty[20]; pos(16, 15); cuentasitioa=O;

strcpy(SALIDAS_AUX,cadena); strcat(SALIDAS_AUX, "\ \SALIDAS. TMP");

ceroso; contftle=O; c0111t l i nes=1;

i f ( (fpsal ~topen( SAL IDAS_Alll(, "r•) )==NULL) {

)

poa(20, 15); printf("No ae puede abrir el archivo Xs•,SALIDAS_AUX); sal idaO; exlt(1 >;

fscanf(fpsal, "Xs" ,&neme); fscanf (fpsal, "Xs• ,&neme); fscanf(fpsal ,•Xs11 ,&neme); fscanf (fpsal, "Xs• ,&nalle); fcloae(fpsal);

if((fp3=fopen(name,"w"))=NULL) /*contiene rutas y rdvs*/ {

)

pos(20, 15); printfC"No se puede abrir el archivo Xs•,n11111e); salida(); exit(1);

printfC" ESCRIBE ARCHIVO FINAL Xs11 ,rwne); fecha(); /*fprintf(fp3,"PRINCIPALES PARAHETROS EN CELULAS \n"); fprintf(fp3,•REGION: Xs\n" ,region); fprlntf(fp3,"FECHA: Xs\n11 ,date); fprintf(fp3,"HDRA : Xs\n\n",hour);*/ COI.Fltl ines=5;

titulo1(); /*titulo20;*/

/*if( (str~(region,''IIEXICO"))==O {

Page 168: MAESTRO EN SISTEMAS DE INFORMACION s

contcityz4; y=1; llhi le(y<=contci ty) (

if(y==1) ( strc¡,y(-city,"ME)(ICO"); > if(y-2) ( 11trc:py(BW1City,•EDO.MEX");) lfCy-3) e strc:py(euxcity,•eu:;RNA">; > lf(y-"4) { strcpy(BWIClty,•TOLUCA"); >

z=1· whtÍe(Z<"Ít .. )

(

lf( (str~cella(zJ .city,8Wlcity))=..0 ( coia,t l i nes++; fonlfeed1 ( >; escrlbe1(); escrlbe20;

> z++; }

y++;

> fonlfeed1 (); totales!(); toteles20; fprintf(fp3, •Xc•, FFF); CCKa>tl ines=1;*/

/*feche(); titulo2(); y=1; whl le(y<=contcity) ( lf(y ... 1) ( strcpy(8UXClty,''IIEXICO"); > ff(y-2) ( strcpy(8UIICÍty,neoo.MEX");) if(y=3) { strcpy(awtcity,"CUERNA"); } if(y,,"4) ( strcpy(8U11City,"TOI.UCA"); >

z2 1; "1i le(zoitein) e

ifC Cstrcnp(cells(zl .eity,11U11city))==O e c«s1tlines++; eser ibe2(); fonnfeed20;

> z++; >

y++; )*/ /*toteles2(); fprlntf(fp3, "Xc•, FFF); c!Ultl fnes=1;*/

r > if( (str~Cregion,"MEXICO"))l"O

{*/ zz1• whi Íe(z<=ite111)

( CCKa>t l Í nes++ ¡ escrlbe10; escrfbe20; fortllfeed1(); z++;

}

fonnfeed1(); totales1(); totales2C); fprintf( fp3, "k", FFF);

/*cCKa>tl ines=1;

Page 169: MAESTRO EN SISTEMAS DE INFORMACION s

fecha(); titulo20; z=1; whi le(z<=ft11111) < COlrltl i nea++; escribe20; forlllfeed20; z++;

) toteles20; fprlntf( fpl, 11Xc• ,Fff); COlrltl inesc1;*/

/* )*/ fclose(fpl); escaux(); fprintf(fpl, •rxc•, FFFl; countl inesz1; )

/*************** ...... ********************'************************* ...... * ...... ********** NOMBRE : TI TUL01 ESCRIBE LOS TITULOS EN EL ARCHIVO FINAL IOIIIRE.CEL (PRIMERA PARTE)

************************************************************************************/ titulo10 <

laser _cOlll(Pitch, 1118. 75•, fpl); laser _cOlll(Point_si ze, "6.011 , fpl); laser _cOlll(Style,upright, fpl); laser _cCllll(Stroke_wei ght ,bold, fpl); laser _cOlll(Typeface,Gothi e, fpl); laser _cOlll(L ine_sp, "4", fpl); laaer _co.(Leftmargin, "0", fpl);

fprintf(fpl, 11\n"l;

fprintf(fpl,"úllllllillllllllllllllllllllllllllllWAAllXllAlllllWl.lAAAAAAl~AAllll~ lllllllllUUIUIIWlllUUUUUIUIUIIWIHIUUUIIUlllWunnwlliWWUWlllllllUIUIIUUII l¿\n"); fprintf(fpl,•• RADIOBASE REGISTROS INTENTOS DE LLAMADA

' ASIGN. DE 11.C. OIC ' DIRECTED RETRY HAND·OFFS 'NlMERO' X '\n•); fprintf(fpl,"'

IIUlUIIIUIUllllllllUWllllUUllUUWWllnnlllUUUWWllllllllllllllllll.UWIIIIIAlnnwll lllllllllUUlllllllllllil.UIWUlll.U 'LLAMA·• LLAMADAS' \n"); fprintf(fpl,•• 'lntento'Confina •• XREGS • Origin •• TERMIN.'DIR

RETRY' Nia. de ' X de 'Entrantes'X Entrant'Salientes' INTENTOS ' EXITOS ' X OK ' X OK 'DAS 'PERDIDAS'\n•); fpr intf e fpl, •illllllllU.lUIAIUllllUllllllllUWllW •

' ' ' ' ' UIUUUUWllllWI.UAllllAllUlllll'PERDI·' vs. '\n"); fprintf(fpl, 11 ' P08LACION NOMBRE

mcvil'Entrantes• Asignac.'Asignac.• OIC 'DAS 'CCIIPLET .'\nª);

' CLAVE ' OI(

'por mtvi l' en ' IN ' OUT ' IN ' OUT ' IN ' OUT

fpr i ntf < fpl, •illllWlllllllAIUllllllllllllllllUIIUIWllllllWlllllllllAIUlliUllllilllllll.U.UlllllWW HWlllllAWA.UIIRUlllWllillUIIIIIIWllllllllllllilllllAIUllllllllllllllUWWAWIIIWWillWlli l'\n"l; /*fprintf(.fpl, 11\n"); fprintf(fpl, 11

ASIGN. DE V.C. CLRNG\n"l;

RADIOIIASE DIR. RETRY

fprintf(fpl,"POBLACION NOMBRE No. DE X ASIGN. No D.R. XDE D.R. PERDIDAS\n"); fprintf(fpl,•

ASIGN. 01C ");*/

OI( ELEMENTO

OI(

laser _can(Pi tch,"18. 75•, fpl); laser _cOlll(Point_si ze, •6.011 , fpl); laser _COll(Style,upri ght, fpl); laser _cQlll(Stroke_weight,nonnal, fpl); !eser _cam(Typeface,Gothic, fpl);

count I i nes•count l l nes+S;

RUTA DRI

REGISTRO HAND·OFFS

No. DE No. DE XREGS. INTENTOS. EXITOS XOK

INTENTOS CONFIRM. OIC IN OUT IN OUT IN

INTENTOS DE LLAMADA

ORIGIN. TERMIN. ACCESOS XOK LLAIWlAS

DIR RETRY OUT PERDIDAS X \n

Page 170: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf(•va al prilner while de escriture\n");*/ } , ........................................................ ************************************

IKJIBRE: FECHA FECHA Y HORA EN CADA HOJA

*******"*******'********************************************************************** I fecha() {

laser _cOll(Ori entaclon,Horf zontal, fp3); /*laser _cOlll(Style,Desktop, fp3) ;*/ laser _cmi<Point_s ize, "12.0", fp3); laser _c,.(Style,upri¡ht, fp3); laser _cOll(Stroke_...,¡ ght ,bold, fp3); laser _c,.(Typeface,Gothi e, fp3); laser _cOlll(l ine_sp,"6", fp3>; laser _c<111(left111argf n, "º", fp3);

laser _ccn(Pitch, "12.00ª, fp3); laser _ce111(Stroke_...,¡ ght,extra_bleclc, fp3);

fprintf(fp3,''MTX: Xs FECHA DEL IIJESTREO: Xs HORA: Xs\n•,region,dete,hour); fprintf( fp3, "\n"); fprintf(fp3, 11 TABLA 5.· PRINCIPALES PARAMETROS EN RADIO BASES:\n11 );

laser _cOlll(l ine_sp,"4", fp3); laser _com(Pitch, 1118. 7511 , fp3); leser _com(Point_s i ze, "6.0", fp3); laser _cOlll(Style,upright, fp3>; laser _cOlll(Strolce_wei ght,nonnal, fp3); leser_c011(Typeface,Gothlc, fp3);

/*printf(•va al pri111er while de escritura\n11 );*/ }

/**************'********************************************************************** NOMBRE: FORMFEED1 DA El SALTO DE PAGINA SI ES NECESARIO

******'****************************************************************************•* I fol'lllfeed1 < > { if(countl ines>TOTLINE)

{

fprintf(fp3,"AWlAWIIIUUllllllllllllllllllUllllliUIIUUAIJi1WllilllU.li.iUlllUlilUlllllllAIIAAW WllllWUUWlllililllllllWUUWllilllilllll.illill.illlllWlliiillllll.UIWlilllillillllll.iliilllll IIO\n");

} }

fprintf(fp3, "Xc", FFF ); count l i nes=1; facha(); titulo10; /*titulo2();*/

/**************************•********************'* ....... *****************************•*• NOMBRE: FORMFEEDZ DA El SALTO DE PAGINA SI ES NECESARIO

******************** .. ************************************************************** / forlllfeed2() {

if(countl ines>TOTLINE) {

fprintf (fp3, "Xc11 , FFF); countl lnes=1; fecha(); /*titulo2();*/

} }

/************************************************************************************ NOMBRE: ESCRIBE1 ESCRIBE LOS CAMPOS PARA C/U DE LAS RUTAS (priiwera parte)

********************************************************************************'**'**/ escribe!() {

char citydesp[15J; cher ci tyeux [15]; cher stars [41 ={"***"};

Page 171: MAESTRO EN SISTEMAS DE INFORMACION s

char pruebaruta [15]; char prudesp[15];

long buffer; /*buffer de i!llpresion II for11111t11 entero*/ buffer=-1; /*·1 indica proble,nas de i!llpresion*/ /*fprf ntf(fp3, •• ">;* /

strcpy(cityaux,cel le[z] .city); city-[5]= 1\0'; /*printfC"despues trin: pruebaruta=Xs\n11 ,pruebaruta);*/

lf(z=1> {

etrcpy(ci tyant, ci tyaux); /*printf(•ci tyaux=Xs\n" ,cityaux) ;*/ }

ifCz>1) {

strcpy(ci tydesp,cl tyaux); /*prlntf(•antes de coq,aracion\n"); pr i ntf < "ci tyaux= Xs\n•, c I tyaux >; prlntf( 11citydesp: Xs\n" ,citydesp);*/

lf( (stre111p(cityant,citydesp)) l=O > {

smtotO; ceroso;

fprintf(fp3, •úllllllllUUUAIUUllllllWJ.lllllilllllllWAWllllAlllllllllAAllliUIUIUIXllWWillllllllWA illllWll~WWWJWUAAWWlllAllUllllillllAWllllWWAWAWWAWAXlllllillll ll¿\n");

}

/*prfntf("se incrementa cuentasitios= Xd\n11 ,cuentasiti11S);*/ strcpy(ci tyant, ci tydesp);

fprintf(fp3,"'"); fprintf(fp3,•Xs•,cel ls[z] .city); strcpy(auxblanc,cel ls [z] .city); f esprlllF 1 ; blanco; fprlntf( fp3, •Xs11 ,blanc11s); fprintf(fp3,"'ª>; fprintfCfp3, 11Xs11 ,cel ls[zl • .-); strcpy(auxblanc,cells[zl .name); fespr111F3; blanco; fprintf < fp3, •Xs11 ,blancDS); fprintf(fp3, ""');

fprlntf(fp3,uXsu,cel ls[zJ. ruta); strcpy(pruebaruta,cel ls [z]. ruta); strcpy(auxblanc,cells [zJ .ruta);

/*prlntfC"antes trin:, pruebaruta=Xs\n11 ,pruebaruta);*/ pruebarutaC41= 1 \0 1 ; ,

/*printf("despues trin: pruebaruta=Xs\n",pruebaruta);*/

if(za.1) {

strcpy(pruant,pruebaruta); /*prl ntf C "pruant=Xs\n", pruant) ;* / cuentas i t t 118=1; }

if(z>1) {

}

strcpy(prudesp,pruebaruta); /*printfc 1111ntes de c11111p11racion\n">; printf(•pruant= Xs\n",pruant);

}

printf("prudesp: Xs\nu,prudesp);*/ if e es t rC!llp( pruant, prudesp)) 1 =O>

{

cuentas i ti 11s=cuentas i ti os+ 1 ; /*printf(•se incrementa cuentasitios= Xd\n•,cuentasitios);*/ strcpy(pruant ,prudesp);

Page 172: MAESTRO EN SISTEMAS DE INFORMACION s

}

fesprm=Z; blanco; fpr intf ( fp3, •Xs•, blancos); fprintf(fpl,• 111 );

bufferscel ls[zJ .regatt;

i f( ce l l s [z] • over"zO) { fprintf(fp3,• "6ld",buffer); fprintf(fpl, 11111 );

resregatt=resregatt+cel l s [Z] • regatt; }

else < fprintf(fp3," Xs•,sters); fprintf(fpl," 111 ); >

buffer-ce! la [zJ. regcon; if(cells[zJ .over==O)

C fprintf(fp3,• "61d",buffer); fprintf(fp3,""'); resregcon=resregcon+cel Is CzJ . regcon;

}

else e fprlntf(fp3,• Xs11 ,stars); fprintf(fp3,""'); >

/*buffer .. cel Is [zJ .porregs;*/

if(cells[zJ .over=..O) < fprintf(fp3, 1'%7.2f11 ,cel ls[zl .porregs); fprintf(fp3,"'");

/*resporregss*/ }

else < fprlntf(fp3,• Xs•,stars); fprintf(fpl,• 111 ); }

buffer•cel ls[zJ .orgacc; i f(cel Is [zl .over=O)

e fprintf(fp3," "61d",buffer); fprintf(fp3,'"">; resorgacc=resorgacc+cel ls [zJ. orgacc;

}

else e fprlntf(fp3,•

buffer=cel Is [zJ .s~g; if(cel Is [z) .over=O)

Xs",stars); fprintf(fp3,""'); }

C fprintf(fp3," "6ld11 ,buffer>;fprintf(fp3,""'>; rea~g=ress....,ag+cel la [zJ .s~11;

}

else e fprintf(fp3,"

buffer=cel ls CzJ .driacc; if(cel Is Czl .over•"O)

Xs•,stars); fprintf(fp3,"'ª>;>

e fprintf(fp3,• "61d",buffer);fprlntf(fp3,u••>; resdri acccresdrf acc+ce II s Cz] • dr i acc;

}

else e fprintf(fp3,"

buffer=cells[zJ .vedes; if(cells[zl .over==O>

Xs11 ,stars);fprintf(fp3,""'); }

C fprintfCfp3," "6ld",buffer);fprintf(fp3,"'"); resvcdes=resvcdes+ce ll s [ZJ . vedes;

}

else < fprintf(fp3," * X31d'',buffer);fprintf(fp3,u"'); }

/*buffer=cells[zJ .poresign;*/ if(cel ls [zJ .over==O)

< fprintf(fp3, •XS.Zf•,cel ls[zJ .porasign);fprlntf(fp3,"'"); /*resporas i gn=* /

}

else { fprintf(fp3," Xs•,stars>;fprintf(fp3,'""); >

!********************************************'**************************** NOMBRE: CEROS RESET A REGISTROS DE SUBTOTALES

*************"'**********************************************************/

Page 173: MAESTRO EN SISTEMAS DE INFORMACION s

ceros() {

resregatt=O; resregcorFO; resorgacc=O; ress~g=O; resdrlzO; resdr i acc=O; /*resvcsze=O;*/ resvcdes=O; resvcdesb2=0; resvcdesa2=0; resvcadri=O; resvcddr i •O; reslocr=O; reslochofa•O; resnpcel l=O; reshnpcel l=O; reshoffsi=O; reshoffso=O; resshoffi=O; resshoffo=O; resclrng=O; resporregs=O; resporaslgn=O; respordr=O; resporhoin=O; resporhout•O; resporc l rzO; } , ..................................................................................... ****

NONBRE: SUBTOT ESCRIBE LOS SUBTOTALES PARA C/U DE LAS RUTAS (primera parte)

********* •• A •••• ª*********************'********************************* I subtot() {

long buffer; long resa; laser _con1CL ine_sp,"8", fp3);

fpri ntf e fp3. •WUIUlllllllUIAWWlllllllW.UUlUllilUü.ulWWWWU.Ul.UIIII.UII.UIII.UWIII lWAXXIIIIIIAAIIWilllillWllillllllill,UIIIIXIIIAAIIIIAAlillillllilllllUIIIAlAAWlllAilllilllllll lil\n•);

/*fprintf(fp3, "\n•) ;*/ cou,tl ines++; fonllfeed2 (); laser _com(L ine_ep,•4", fp3);

fprintf(fp3,•0IXllllAlllllXAllllllll~AAAllllllAXllllllllAlllllllllll11llllllllllllllAXIIII IIAIIIIIWWIIIIIIWlllllllllllllllllillllllllllll.UillllllllllllUAlllllllllllllllllWlllllUAIWll 1¿\n");

fprintf(fp3, '" ">; fprintf(fp3," SUBTOT .• ">;

/*calcula porcentajes*/

if(resregatt>O) { resporregs=Cresregcon/resregatt)*100; > else < resporregs=O;> resazresorgacc+ress~g+resdri acc; if(resa>O) { resporasign=(resvcdes/resa)*1DD; > else { resporasi-0; > if(resdrlacc>O) { respordr=(resvcddri/resdriacc)*100; } else { respordr=· 1; }

if(reshoffsi>O) { resporhoin=(resshoffi/reshoffsi )*100; }

else < resporhoin=·1; >

i f C reshoffso>O) { resporhout•(resshoffo/reshoffso)*100; }

else { resporhout=-1; }

if(resvcdes>O) < resporclr:(resclrng/resvcdes)*100; >

Page 174: MAESTRO EN SISTEMAS DE INFORMACION s

else { resporc l r=O; >

buffer•resreg11tt; fprintf(fp3, • "6ld" ,buffer); fprintf(fp3,"' ">; buffer=resregcon; fprintf(fp3, • "6ld" ,buffer); fprintf(fp3, •• ">; fprintf(fp3, •x7 .2f", resporregs) ;fprintf( fp3, "' "); buffer=resorgacc; fprintf(fp3, • "6ld" ,buffer); fprintf(fp3, "' "); buffer=ress~g; fprf ntf Cfp3, u "6ld9 ,buffer); fprintf ( fp3, nsu); bufteraresdrlacc; fprintf(fp3, 11 "6ld" ,buffer);fprintf Cfp3, ""'); buffer=resvcdes; fprlntf(fp3," "6ld" ,buffer) ;fprintf(fp3, 11' ">;

i f(resporasign>()) fpr i ntf (fp3, "X8.2f•, resporas I gn); fpri ntf ( fp3, "' n);

buffer=resvcddri; fprintf(fp3," X6ld'1,buffer); fprintf(fp3,""'); if(respordr>O)

{ fprintf(fp3,• X7.2f",respordr); fprfntf(fp3,"'");} i f ( respordr<O) { fprintf(fp3,• no int"); fprintf(fp3,""'>;>

buffer=resdri; fprintf ( fp3," X6ld" ,buffer) ;fprintf( fp3, "' "); buffer=reshoffs i; fprintf(fp3, •X5 ld" ,buffer); fprintf (fp3, "' ">; buffer•reshoffso; fpri ntf e fp3, •xs Id• ,buffer>; fpri ntf e tp3, '" 11 >; buffer=resshoff i; fpri ntf e fp3, "X5 ld" ,buffer>; fpri ntf e tp3, "' 11 l; buffer=resshoffo; fpri ntf e fp3, "X5 ld", buffer>; fpr i ntf e fp3, •• 11 >; i f(resporhoin>Ol { fprintf(fp3, •"6.2f", resporhoin); fprlntf (fp3, "'"); >

if(resporhoin<O) < fprlntf(fp3,"no int"); fprfntf(fp3,"'">;>

i fe resporhout>O) { fprintf(fp3,•"6.2f",resporhout); fprintf(fp3,"'"); }

i f( resporhout<O) { fprintf(fp3,"no int•); fprintf(fp3,""');}

buffer=resclrng; fprintf(fp3, ""6ld", buffer); fprintf(fp3,""'); fprintf (fp3, • X7 .2f", resporcl r); fprintf (fp3, '"\n");

fprintfCfp3,•AIIIUlllllUllllllllilllllllllllllllllllllllUIIIIUlllllllWUWWUlliUUUUlllllllUIUllW UlllllllllllAlllllWAXllllllllAllllllllXIUIIIIIIIIIIIIIIAIIXllAllllJAllWllAlWlllAXIWIAllllllllllJW lü\n");

fprlntf(fp3, "\n"); count l l nes=countl i nes+ 3; fomf eec:12();

/*fprintf(fp3,"úWIAlllllAlllillillllllllW~lllllllllll,IIAlllllAllllllllllllll lllllllllllllllllllllllUAXWUHUUUillllUUlllllllllllllllli.lllllU.lllllllWII~ Ul¿\n">;

*/ > /*******•****************************************************************************

NCl!BRE: TOTALES1 ESCRIBE LOS TOTALES PARA C/U DE LAS RUTAS (prh.,ra parte)

******************************************'******************************************/ totales!()

{

long buffer; buffer•-1; 111mtot(); laser _com(Llne_sp,ª8", fp3);

/*fpr i ntf e fp3. •AUUlWlUIHIIUUlillllllilllWlillUlllilllUIIIAlllllllillUAlW.UllllllliU.UUll llillllWIIAlWIIIWUIUllUllllllllllAWlliWAUWAlllllAllWAIIUlllllllillilllllllWUUXUWlli Wü\n">;*/

fprintf(fp3, 11\n"); laser _com(L f ne_sp, 11411 , fp3);

Page 175: MAESTRO EN SISTEMAS DE INFORMACION s

fprintfCfp3, •úll.UWUWllUIUllllllllllllllUUUIUIUWlllllUIUAWillAAilllillllAllUlWUWlU liWliAlllllllll.UWliliilllUilllllillllllillllllllllllllllUlliilllliWUlllllUWWlllllllllllWWlllil l¿\n");

}

fprintf(fp3, "' ">; fprintf(fp3,• TOTALES:"); fprintf(fp3,"'ª>; buffer=auregatt; fprintf(fp3," X6ld'1 ,buffer); fprlntf(fp3, •• "); buffersa111regcon; fprlntf(fp3,• "6ld",buffer); fprintf (fp3, ""'); buffer•sU1pOrregs; fpr i ntf (fp3, •X7 .2f •, s..,..x,rregs); fprintf(fp3,"'"); buffer=su.irgacc; fprintf(fp3," X6ld'',buffer); fprintf(fp3, ""'); buffer=SUASUllplg; fprintf(fp3,• X6ld",buffer); fprintf(fp3,'""); buffer=sundr i acc; fprintf(fp3," X6ld•,buffer); fprintf(fp3,'" •); buffer=sLJWcdes; fprlntf(fp3," X6ld",buffer}-; fprintf(fp3,""'>; buffer=a~ras i gn; fpri ntf ( fp3, •XII. 2f", s~ras i gn); fprintf(fp3,"'">; CCUlt l i nes++;

/*************************************'****************'******************************* NOMBRE: T ITUL02 ESCRIBE LOS TOTALES PARA C/U DE LAS RUTAS (segunda parte)

*************************************'***********************'******************'******/ titulo2() e laser _cam(Pitch, 1122.0011 , fp3); laser _ca11(Stroke_weight ,black, fp3); fprintf(fp3,"\n">; fprintf(fp3,• DIR. RETRY HAND·OFFS CLRNG\n•); fprintf(fp3,"No.DE D.R. lCDE D.R. DRI INTENTOS. EXITOS lCOIC XOIC PERO I DAS\n"); fprintf(fp3,• OIC OIC IN OUT IN OUT IN OUT X \n">; laser _c<1111(Pitch, 1122.0011 , fp3); laser _ccn(Strolte_wei ght,nonul, fp3); ccu,t l i nes=ccu,t l i nes+4; }

/**************'********************'************************************************** NOMBRE: ESCRIBE2 ESCRIBE LOS CAMPOS PARA C/U DE LAS RUTAS (sep,da parte)

***********************************************************•************************ I escrfbe2() e char stars [4J =<"***">; long buffer; /*buffer de i-.iresion a for11111to entero*/ buffer=·1; /*·1 indica problemas de i""resion*/ /*fprfntf(fp3,"Xs",cel ls [zl .ruta); strcpy(auxblanc,cel ls[zl. ruta); fesprom=2; blanco; fpr I ntf ( fp3, 11Xs11 , blancas);* I

buffer=cel ls [zJ. vcddri; fprintf(fp3," X6ld",buffer); resvcddri=resvcddri+cel ls[zl .vcddri; fprintf(fp3,"'");

buffer=cells [zl .pordr; if(cells[zl .over==O) e i f ( buf fer==O)

LLAIW>AS

PERDIDAS

Page 176: MAESTRO EN SISTEMAS DE INFORMACION s

{ if(cells[zl .drlacclsO)

{

fprintf(fp3,• X7.2f• ,cal ls[zl .pordr); fprfntf(fp3,"'H); /*respordr'"*/ }

elae {

fprintf(fp3,• no int•>; fprintf(fp3,"'"); celle[zJ .nointdri=1;

} }

else {

}

fprintf(fp3,• X7 .2fª,cella[zJ .pordr); /*respordr~* / fprintf (fp3, ""'>;

}

elae {

}

fprlntf(fp3, ª Xs 11 ,stars); fprintf(fp3, "' ">;

buffer=cel la CzJ .dri; if(cel la CzJ .over==O) < fprlntf(fpl,• X6ld'1,buffer);fprintf(fp3,"' ">;

resdri=resdri+cells[z) .dri; }

else { fprintf(fp3,•

buffer=cells [zl .hoffsi;

:ir.s•, stars ); fprlntf(fpl, "' •);}

reshoffs i =reshoffs i+cells [zJ • hoffs i; fprintf(fp3,"%5 ld" ,buffer); fprlntf(fp3, •• •); bufferscel ls [zl .hoffso; reshoffso=reshoffso+cel ls [z) .hoffso; fprlntf(fp3, "X5 ldª ,buffer); fprintf(fp3,"'">; buffer~cel ls[zJ .ahoffi; resshoffi=resshoffi+cel ls[zl .shoffi; fpri ntf ( fp3, •XS ld", buffer); fprintf(fp3,"'">; buffer=cells[z) .shoffo; resshoffo=resshoffo+cel ls[zJ .shoffo; fprintf( fp3, "%5ld" ,buffer); fprintf(fp3, ""'>; buffer=cells[z) .porhoin; if(cel ls [zJ .hoffsi>D)

{ fprintf(fp3,"X6.2f 11 ,cel Is [Z) .porhoin); /*resporhoin */ fprintf(fp3,""'>; }

else {

fprintf(fp3,"no int•); fprfntf(fp3,HJN); cel ls [z) .nointhoffin=1; }

buffer=cel la[z) .porhout; lf(cel ls [z) .hoffso>O)

{

fprintf(fp3, "X6.2f" ,cel ls[z) .porhout); fprintf Cfp3, •• •); /*resporhout=* / }

elae { fprlntf(fp3,•no int"); cells [z) .noi nthoffout•1;

Page 177: MAESTRO EN SISTEMAS DE INFORMACION s

}

fprlntfCfpl, ""'>; }

buffer=cells[zl .clrng; resclrng=reaclrng+cel ls[z] .clrng; fpr I ntf Cfpl, "X6ld", buffer); fprlntfCfpl, ª'"> ;' /*buffer=cells[z] .porclr;*/ fprlntf(fpl,• X7.2f•,cells[zl .porclr); fprlntf Cfpl, "' \n");

!********************************'**'********* ............... *******************************'** NCNIRE: TOTALES2 ESCRIBE LOS TOTALES PARA C/U DE LAS RUTAS (seglrda parte)

******************************************************* ....... ******'****""*** ..... ******/ totales2() {

int noint; int celulas; long buffer; buffer=-1; noint..O;

buffer=sUl!YCddri; fprintf(fpl,• X6ld",buffer); fprintf(fpl, •"');

buffer=SU11pordr;

i f(buffer-0) {

}

i f (sum:triacc! =O) {

}

fprlntf(fpl,• X7.2f",s~rdr); fpr,intf(fpl,'" ");

else {

fprintfCfpl," no int•); fprintf(fpl, ""');

}

else {

}

fprlntf(fpl," X7.2f•,s~rdr); fprintf(fpl,•• ");

buffercsun:lri; fprintf(fp3,• X6ld",buffer); fprintf(fp3,"rn); buffer=sumoffs i; fprlntf(fp3, •XS ld" ,buffer); fprintfCfp3,"'"l; buffer=SU1noffso; fpri ntf Cfpl, "XS ld" ,buffer); fprintf( fpl, "'"); buffer=a.-hoffi; fprintf(fpl, 11:G ld11 ,buffer); fprlntf(fpl, '" "l; buffer=s~offo; f pri ntf C fpl, "XS ld'', buffer); fprintf(fp3, 1" 11 );

buffer=s~rhoin; if(sllllloffsi>O)

{

fpri ntf (fp3, ~. 2f11 , SlffPDrhol n); fprintf (fp3, ""'); }

else {

fprintf(fp3, "noint"); fprintf(fp3, '" ");

}

buffer=s~rhout; i f(suohoffso>O) {

Page 178: MAESTRO EN SISTEMAS DE INFORMACION s

fpri ntf(fp3, 11"6.2f", sinporhout); fprintf(fp3,"'"); }

else e

}

fprlntfCfp3, 11noint11 ); fprintf( fp3,•• "); noint•1;

buf fe,..su.: l rng; if(nolnt=O)

e fprintf(fp3,• X!ild",buffer); fprintf( fp3, •• "); }

if(noint==1) < fprintf(fp3, "%4ld" ,buffer); fprf ntf(fp3, ""'>; }

fprintf(fp3,• :U.2f•,sinporclr); fprfntf(fp3,•• \n");

fprintf(fp3,•AlllliilllllllllllAlXXlAlA~AlAIAllllAAllllAlAAAllA~llllAlAAlllllAl WWU.UWA111UUl411111UIIAlllllAlUAlllliUIIIAUlllAJllllAIIDIAllllliWIWIUH.i1UlllllllillAII lu\n•);

}

laser _cam(L ine_sp, •a•, fp2); count l i nes=cOWlt l i nes+ 3; fornrfeed2 (); fprintf(fp3,"\n''); fprintf(fp3,"NlllERO DE SITIOS EN MTX Xs = :l:d\n11 ,region,cuentasitios); celul11s=z·1; fprintf(fp3,"NlllERD DE CELULAS EN MTX Xs = lld\n",region,celulas); fprlntf(fp3, "\n"); countl ines...:ountl ines+3;

/************************************************************************** ....... ***** NOMBRE: ESCAUX ESCRIBE ARCHIVO AUXILIAR PARA DESPLEGAR EN EDICION

..... *************************************************************************'********/ eacaux() < i f ( (fp3=fopen(nan,e, "r") )"=NULL)

<

>

pos(20, 15); prfntf("No se puede abrir el archivo Xs",nanie); salida(); exit(1);

fcloae(fpaux); strcpy(CELLSTAT _AUX, cadena); strc11t(CELLSTAT AUX,"\\CELLSTAT. TMP"); if((fpaux=fopen(CELLSTAT_AUX,"w"))==NULL) /*contiene rutas y rdvs*/

<

)

pos(20, 15); printf("No se puede abrir el archivo Xs•,CELLSTAT_AUX); Slll ida(); exitC1);

while( fgets(strlng, MAXLIN, fp3) != NULL) < fputs(strlng, fpaux);

) fclose(fp3); fclose(fpaux); }

/********* ........... ********************************************'*******it****************'************ SUBRUTINA BLAHC FORMA VECTOR DE BLANCOS PARA IMPRESION

***********************************************'***************************************************** / blanco <

fnt i; int x=O;

Page 179: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf("dentro de la s~rutina blancos\n");*/ /*printf("feeprDIII" Xd \n11 ,fespr0tn);*/ ifCfesprom=1)

{

/* printf( 11xs21·11uxbl11nc = Xd\n",x);*/ x=14-strlen(auxblanc); }

i f(fespr-=2> {

/* printf("x=6-11Wtblanc • Xd\n" ,x>;*/ xs7-strlen(11Wtbl11nc); }

i f C fesprOIIF=3 > {

/* printf(•x=9-auxbl11nc • Xd\n",x>;*/ xz16·strlen(auxblanc); }

/*strcpy( infz,11uxbl11nc) ¡* / /*printfC" x " Xd\n",x);*/ ifCfespr<D'=4)

{ x~2-strlen(auxblanc);

}

i=O; whi le( l<x)

{

blancos tiJ •' i++; /*prlntf("i = Xd\n", i>;*/ }

/*prlntf("i = Xd\n",i);*/ bl11ncostil='\0'; /*x=strlen(blancos);*/ /*printfC"strlen(blancos = Xd\n",x);*/ /*printf("entes strcat infz = Xs\n", infz);*/ /*strcat( infz,blancos);*/ /*printf("after strc11t infz = Xs\n", infz);*/

/*printf(•sale de s~rutina blancos\n");*/ }

1

Page 180: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: cel traf3

#include<stdio.h> #include<ctype.h> #include<stdl ib.h> #i ne lude<1111th. h>

#include <dos.h> #inclLJde <conio.h> #include <stdarg.h>

#fnclude <graphics.h> #include •cel traf1 .c• #include •taserdef .h"

char *strtok(); extem char cadenax [1001;

extern FILE *fp1, *fp2, *fp3, *fp5, *fp6, *fpt, *fpsal, *fpaux, *fprut i o, *fp_reg, *fphora, *fpres, a archivos*/ *fptablsr;

extern char stringCMAXLINl; extern int tots; extern fnt ird; extern int contitle; extern int contpico; extern int ften; extern int horapico; extern f nt nontrchf; extern i nt fesproin; extern int z;

/*contador títulos escritura*/ /*contador de localizaciones de hora pico*/ /*contador de rutas procesadas*/ /*bandera que irv:Hca horapico local izada*/ /*bandera para val !dar nont>re del archivo de datos de celulas*/ /*bandera para insercion de blancos en rutina de escritura*/ /*contador para escritura*/

/*apuntadores

extern char ff rst; extern char aux [201 ; extern char hour !51; extern char date m ; extern char datos (20]; extern char regí on (20]; extern char regarch (201 ; extern char blancos (20]; extern char auxblanc (20]; extern char regcity[201; extern char - (40] ;

/*variable auxiliar para lectura de archivo de datos de ce lulas*/ /*string auxi llar para lectura archivo de datos de celulas*/

/*la hora pico del sistema*/ /*la fecha a lllJestrear*/ /*buffer de datos para leer de archivos*/

/*poblacion que se esta procesando*/ /*poblacion que se esta procesando para escribir en archivo*/ /*para alinear coll.lll\Bs en la escritura*/

/*extern char NAME AUX (401; extern char CELL_AÜl< (40]; extern char SALIDAS AUX (401; extern ·char cadena (40] ; extern char CELL AUX[40]={"\\CELL. TXT"); extern char HORAPICO AUX[40]={11 \\HORAPICO. TMP"); extern char AEG AUX [401 ={"\ \AEG. TMP"); extern char CELLSTAT AUX[40]={"\\CELLSTAT. TMP"); extern char AESCEL AÜX (40] ={11\ \RESCEL. REP"); extern char INFR AÜX[40]=C"\\INFA. TMP"); extern char AES AUXC40J=C"\\RESCEL. TMP11};

extern char HOAA_AUXC40l=C"\\HCIAACEL. TIIP");*/

extern char NAME AUX (401; extern char CELL=AUX (40]; extern char CELL AUX (401 ; extem char HOAAPICO_AUX (40]; extern char REG AUX (401; extern char CELLSTAT AUX (401; extern char RESCEL_AUX (401; extern char INFR AUX [401; extern char RES AUX (40] ; extern char HOAA_AUX (40]; extern char SALIDAS_AUX [401; extern char cadena [401; extern char TABLSR_AUX (401;

Page 181: MAESTRO EN SISTEMAS DE INFORMACION s

lla!Bdas*/

retrys*/

extern char el tyaw([20l extern char nmEawt C20l extern cher fechaawitn extern char horaaux 15] ; extem char ruteauxC15l; extem int aindraux; extern i nt lllffl1 Odraux; extem int sindrinaux; axtern int men90inaux; extern i nt men90outawt; extern int porper10aux; extarn floet regattaux; extern floet regconaux; extern f loet orgaccaux; extem float page_1aux; extern f loat page_2aux;

extern float 9UIIP8g&ux; extem float driaux; extern float drlaccawt; extern floet vcszeaux;

extern float vcdesaux; extem float vcdesb2aux; extern float vcdesa2aux; extern float vcadriaux;

/*poblacion a le cual pertenece*/ /*Nombre Celule*/ /*fecha a procesar*/ /*hora a procesar*/ /.,.,_,ico Celula*/

/*extern intentos de registro*/ /*confil'Nci-,i de registro*/

/*accesos originados*/ /*respuestas al voceo de pri111er /*

intento*/

del segu-,do intento*/ /*- de page_1+page_2 */ /*di rected retrya ordenados*/

/*accesos debidos e di rected retrys*/ /*t01111s de c-l de voz para estableci11iento de

/*intentos de designecion de canal de voz*/ /*canales de voz designados al pri111er intento*/ /*canales de voz designados despues del s~ intento*/ /*intentos de designecion de canales resultantes de directed

extern float vcddrlawi; /*designaciones de canales de voz resultantes de directed retrys */

extern float locraux; extern float lochofaaux; extem float npcel laux; extern float hnpcellaux;

/*ubicacion de abonado */ /*ubicacion de abonado que deriva de un intento de hand-off*/ /*seleccionada coa> celula no pri11&ria */ /*hand-off fuera de la celula hacia una celula no pri11111ria

(reselecclan)*/ extern float hoffsiaux; extern float hoffsoaux; extern float shoffiaux; extern float shoffoaux; axtem float clrngaux;

/*inicios de hanó-off entrante*/ /*inicios de hand-off saliente*/ /*hand-off entrante exitoso*/ /*hand-off sal lenta exitoso*/ /*limadas liberadas debido a la mala trasmision o perdida de 111

11isma*/ extern float porregsaux; extem float porasignaux; extem fl oat pordraux; extern f l oat porhoi naux; extem float porhoutaux; extem float porclraux; extem int over;

/*porciento de registros*/ /*porciento asignaciones */

/*porciento de dlrected retrys*/ /*porciento de handoffs entrantes*/

/*porcl ento de handoffs salientes*/ /*porciento de ll811111das perdidas vs. cODpletadas*/

extern i nt irder;

extern float sinregatt; extern float sunregcon; extam float sunorgacc; extern float a....,age_1; extem float ~ge_2;

extem float a~g; extern float sundri; extern float S\ml"iacc; extern float sunvcsze; extern float sunvcdes; extem f l oat sunvcdesb2; extern float sunvcdesa2; extem f loat sunvcadri; extem float sunvcddri; extern float sunlocr; extern float s1.111lochofa; extern float sU11npcell; extem float sl.ld!npcell; (reseleccion)*/ extern float sumoffsi; extern float sl.lllhoffso; extern floet si.&hoffi;

/*s161'ia de Intentos de registro*/ /*SIIIB de confi..-ciones de registro*/

/*s111111 de accesos originados*/ /*sl.llllJ de respuestas al voceo de pri11er intento*/ /*s111111 de

del segundo intento*/ /*s..,,. de extern float sl.llllJ de page_1+page_2 */ /*slAB de directed retrys ordenados*/

/*sLJM de accesos debidos a directed retrys*/ /*staa de t<11as de canal de voz para establecimiento de ll811111das*/ /*s11r& de intentos de designacion de canal de voz*/

/*s111111 de canales de voz designados al primer intento*/ /*slnll de canales de voz designados despues del segu,do intento*/ /*slill!l de intentos de designacion de canales resultantes de directed retrys*/ /*suna de designaciones de canales de voz resultantes de directed retrys */ /*s11111 de ubicacion de abonado */ /*s..,. de ubicacion de abonado que deriva de un intento de hand-off*/ /*suma de seleccionada CIIIIID celula no primaria */ /*suna de hand-off fuera de la celula hacia una celula no primaria

/*suma de inicios de hand-off entrante*/ /*suna de inicios de hand-off saliente*/ /*sUM de hend-off entrante exitoso*/

Page 182: MAESTRO EN SISTEMAS DE INFORMACION s

extern float a11119hoffo; extern float SU1Clrng; .. ,_., extern float s111p>rregs; extern float a111p>raaign; extern float a111p>rdr; extern float s111pOrhoin; extern float s111p>rhout; extern float s111pOrclr;

/*alAS de hand·off saliente exitoso*/ (*911119 de l lmmdas liberadas debido a la 111Bla trasmislon o perdida de la

¡• .... de poreiento de registros*/ ¡•.,... de porelento aaignaciones */

/*BAMm de porciento de direeted retrys*/ /*8Ul8 de porcfento de hendoffs entrantes*/ /*swm de porcl ento de hendoffs salientes*/ /*su. de porciento de llMllldas perdidas vs. canpletadas*/

/*CELL AlJl( [40] z{"\ \CELL. TXT"); HORAPICO AUX [401={•\\IIORAPICO. TMP"); REG AUX [401 ={"\\REG. TIIP"); CELLSTAT AlJl( [40]={"\ \CELLSTAT. TMP"); RESCEL AUX [401 ={"\ \RESCEL .REP"); INFR AÜX[40]={"\\INFR.TMP11};

RES iux [40] c(•\ \RESCEL. TMP"}; tKJRi_AUX[40Jc(•\\HOIIACEL. TIIP");*/

elltern struct Lrder Wlders CMAXUNDERJ; extern struct cell cella [MA)(RUTAJ;

/********************•**********************************************'~*********************** SUBRUTINA CALC EFECTUA LOS CALCULOS DE PORCENTAJES Y SIMAS PARA CADA ITEM. DE AaJERDO A LOS PAJWl:TROS LEIDOS.

********************************************************--********'****1t**************************** / cale() (

lnt busque,halla; int SUIIB¡

lnt buffer; cher e[Zl; char rutaaux en ; i nt auxbusc; buffer=-1; f*proble111116 en el calculo*/ s..-=O;

/*strcpy(CELL_AUX, "\ \CELL. TXT"); strcpy(HORAPICO_AUX, 11\ \HORAPICO. TMP"); strcpy(REG_AUX,"\\REG. lNP"); strcpy(CELLSTAT_AUX, 1'\\CELLSTAT. TMP"); strcpy(RESCEL_AUX, "\ \RESCEL .REP"); strcpy(INFR_AUX,"\\INFR. TMP"); strcpy(RES_AUX,"\\RESCEL. TIIP"); strcpy(HORA_AUX, "\ \IIORACEL. TMP"l ;*/

if(cel ls Citentl. regett>O) (

cells[ftentl .porregs=(cel ls[iten(I .regcon/cells[iten(I .regett)*100; }

else (

cel lsCitetnl .porregs=O; }

/*printf(•cells CXdl .porregs= Xd\n", item,cells[lteml .porregs);*/

sUIIIB=cel ls [i tetnl .orgacc+cel ls Ci tell] .page_ 1+cells Citent] .page_Z+cel ls Citen(! .driacc;

/*printf("iteiw=Xd\n", ítem);*/

if(cells[itell(] .Lrder==1) ( /*printf(•cells ['.ld] .ruta= Xs\n", item,eells[f tem]. rute);*/ strcpy(rutaawc,cells Citen(! • ruta); /*printf("rutaaux= X.S\n", rutaaux) ;*/ a COl =rutaaux [41 ; aC1l='\0'; if(a[OJ•='A') {rutaaux[4l='D';} if(a[Ol,... 18 1 ) {rutaeux[4l ='E';> I f(a COJ =='C') (rutaeux C4l=' F • ;> ~1; halla=O;

/*prlntf("rutaaux~ Xs\n", rutaaux);*/

Page 183: MAESTRO EN SISTEMAS DE INFORMACION s

}

/*prlntf("tots=Xd\n", tots);*/ /*getchO;*/ whi le(busq.le<•tots)

(

I f( (stra1p(cel ls [busque). ruta, rutaaux) )==O) < halla=1; break;

}

busq.ie++; } if(hallaac1) <

>

/*printf ("hal la=Xd\n• ,halla);*/ cells[i tem] .vcdes.,cells[itl!llll .vcdes+cells[busqueJ .vedes; /*prlntf(Uft• cal ls[Xd] .vedes= Xf\n", itein,cells[itl!II] .vedes);*/ /*printfC"busque cel ls[Xd] .vedes= %f\n• ,busque,cel ls[busqueJ .vedes);*/ /*getchO;*/

lf(9Ull8>0) <

cel ls [ltl!!llll .poresign=(cel ls[i teml .vcdes/sune)*100; >

else {

cel ls CI teml .porasign=O; }

/*prfntf(•cells[Xd] .porasign= Xf\n", ite111,cellslitenl .porasign);*/ /*printf(•cel la [Xd] .dri acc=%f\n•, itein,cel ls [i tell] .dri acc);*/

i f(cel ls Ci tern] .dri acc>O) {

cel ls [i tl!llll .pordr•Ccel ls CI tan]. vcddri/cel ls Citeinl .dri acc)*100; >

elae {

cells[iten] .pordr=O; }

/*prlntf(•cel ls[Xd] .pordr= Xf\n", itein,cells[itemJ .pordr);*/

/*printf("cel ls[Xd] ,hoffsi=Xd\n", item,cella[iteaiJ .hoffsi );*/ if(cells[itenil .hoffsi>O)

{

cel ls[item] .porhoin=(cells[itein] .shoffi/cells [item] .hoffsi )*100; }

else {

cel ls [itenl .porhoin=O; }

/*printf("cel ls[Xd] .porhoin,, Xf\n", itein,cells[item] .porholn);*/ buffer•cel ls[item] .porhoin; i fCbuffer<90)

cel ls[iten,J .nien90in=1;

/*printf(•cel ls[Xd] .hoffso=Xf\n", ite111,cel ls[item] .hoffso);*/ ff(cel ls[item] .hoffso>O)

{

cel ls[item] .porhout=(cel ls[item] .shoffo/cells[item] .hoffso)*100; }

else {

cel ls[itenil .porhout=O; >

/*printf(•cells[Xd] .porhout= Xd\n•, item,cells[itenil .porhout);*/ bufferzcel ls[itl!llll .porhout;

i f(buffer<90)

Page 184: MAESTRO EN SISTEMAS DE INFORMACION s

cel ls Ci temJ .inen90aut=1;

/*printf(•cells CXdJ. ruta•Xs n, i tein, cells Ci tell]. ruta); printf(•cells[Xd] .clrntl"Xf "• ite111,cells[itl!III] .clrng); printf(•cel ls [Xd] .vcdes=Xf ", f te11,cell11[itell!] .vedes);*/

if(cel ls[itemJ .vcdes>O) { cella Ci tell] .porclr=(cells [i te!Rl. el rng/cells [itell]. vcdes)*100;

}

else {

cells Citl!llll .porcl r=O; }

/*printf("cells[Xd] .porclr• Xf \n'', item,cel ls [i tl!III] .porclr>;*/ buffer=cellsCitellll .porclr;

i f(b.iffer>=10) cellsCitemJ .porper10=1;

) /**********************'*'* ....... ***'***************************************************************

SUBRUTINA VALIDA VALIDA EL IUIERO DE VECES QUE SE ENCONTRO LA HORA PICO BUSCADA

* ... *****************************************************************************************'******* I val Ida() { lf(cantpfco>1)

{

)

pos(20, 15); printf("SE ENCUENTRAN MAS DE UNA VEZ LA HORA Y DIA SEIMLADOS •); sal ida(); exit(1);

i f(cantpi co-•0) {

} )

pos(20, 15); printf("NO SE ENCUENTRAN LA HORA Y DIA SEIMLADOS"); sal ida(); exit(1 );

/************************** ... ***************************** ........ *********************** NINIRE : INICFLAG FUNCION:INICIALIZA LAS BAll>ERAS DE IMPRESION RESUMEN

*****"*'*********-************************' * '*'' •' • *'' *************************************** I inicflag() {

int- z; z=1; fcr(z=1; z<"*XRUTA;z++)

{

}

cells[zl .sindr=O; cellsCzl .men10dr=O; cel ls[zl .sindrill"O; cel ls CzJ .men90in=O; cel ls [zl .inen90aut=O; cel ls [zl .porper10=0; }

/************************************************************************************* IICIIBRE : BUSQUEDA FIJIICION:BUSCA EN LA TABLA DE INFRAESTRUCTURA EL NCIIIIRE DE LA CELULA.

******************************************************************************************** I bus~() {

int i.ffnd; char llOlllbre CZOJ ; fird=O; i=1;

strcpy( 1 NFR_AUX, cadena); strcat(INFR_AUX,"\\INFR. TMP"); i f ( ( fp5=fopen( INFR_AUX, ºr"))=NULL)

{

Page 185: MAESTRO EN SISTEMAS DE INFORMACION s

pos(Z0, 15); printf("No se puede abrir el archivo Xs•, INFR_AUX); salida(); exit(1);

} while( (fscanf(fp5,•%sn ,&datos))l=EOF

{ strcpy(regcfty,datos); /*prlntf(•regc:i t~ lls\n", regci ty);* / for(j•1; J<•7; j++) {

fscanf(fp5, •"'9•, &datos); if(j=3) { strcpy(noR1re, datos>;

} if(j==4)

{

/*prfntf("datos= Xs\n",datos);*/ /*getchO;*/ if( (str~datos,cells[iteml .ruta))=O

{

strepy(cel ls Ci tell] .ci ty,regc:i ty); strepy(cella[ftem) .nanie,non:ire); /*printf( 11cells[Xd] .1"18111e" Xs\n•, item,cells[itemJ .name);*/ /*printf("cel ls[Xd] .elty= Xs\n•, ite111,cel ls[it~ .cfty);*/ /*getchO;*/ fincl=1;

} }

} }

if(fird==O> {

pos(ZO, 15); printf(NEL NOMBRE DE UNA DE LAS RUTAS NO ESTA EN LA INFR."); salida<>; exit(1);

} fclose(fp5); }

/********************************************************************* .. ************** N048RE :SUMPOR FUNCIOll:OBTIENE LAS SIMAS Y PORCENTAJES DE LOS PARAMETROS IVOLUCRADOS

****************************************************** ... ********* ........... ******************/ s~ro {

float s.-; int i; 1=1;

/*INICIALIZANDO SI.IIAS Y PORCENTAJES*/

s~egatt,.O; s~egeon=O; s~rgace=O; surpage _ 1 =O; surpage_Z=O;

SUIIS&...,ag=O; sl.llldri..0; sl.llldrfacc=O; s....vcsze,,0; s....vedes=O· sunvedesb2:.0; suavedesaZ=O; suavcadr i =O; sl.llllfcddri=O; sU111loer=O; suinloehofa..O; si.,npee 11 =O; Sl8H''f1Cel 1=0; sumoffsi=O; sumoffso---0; sUIIShoffi=O; sunshoffo=O;

/*Intentos de registro*/ /*confinnaeiones de registro*/

/*accesos originados*/ /*respuestas al voceo de primer intento*/ r "

" del seg<r,do intento*/ /*s1611a de page_1+page_Z */

/*dfreeted retrys ordenados*/ /*accesos debí dos a di reeted retrys* /

/*t1111111s de canal de voz para establecimiento de l lllllllldas*/ /*intentos de designacion de canal de voz*/

/*canales de voz designados al prh1er intento*/ /*canales de voz designados despues del segl.l'ldo intento*/ /*intentos de designaeion de c•nales resultantes de direetad retrye*/ /*designaciones da canales de voz resultantes da direeted retrys */ /*ubieacion de abonado */ /*ubicacfon de abonado q.¡e deriva de un intento de hand·off*/ /*seleccionada COIIIG celula no primaria */ /*hand·off fuera de la celula hacia una celula no pri•ria Creseleeeion)*/ /*inicios de hand·off entrante*/ /*inicios de hand·off saliente*/ /*hand·off entrante exitoso*/ /*hand·off saliente exitoso*/

Page 186: MAESTRO EN SISTEMAS DE INFORMACION s

si.: l rng=O; slJIIX)rregs=O; SllllpOrasign=O; ~rdr=O; SllllpOrhoin=O; SllllpOrhout"°; BUlpOrclr,.0;

/*llmmdas liberadas debido a la 1111la tresmision o perdida de /*porciento de registros*/ /*porciento asignaciones*/

/*porciento de directed retrys*/ /*porciento de hendoffs entrantes*/

/*porciento de handoffs sal lentes*/ /*porciento de llBIWldas perdidas vs. caq,letadas*/

while< i <•iteai) {

}

}

if(cells[il .over-0) {

}

st.n"egett=s111regatt+cells[il .regatt; au1regcon,,s .. regcon+cel la Cil. regcon; -r11acccs11mr11ecc+cel la[!] .orgacc; a~g=slllSUl'plll+cel ls [il .s~g; slllldrf acc=suldrf acc+cel ls [i] .drf acc; s&RVcdes=suwcdes+cel ls[il .vedes; sumri=slllldrf +cel ls Cil .dri;

simvcddr i =s..vcddr i +ce l l s [ i l • vcddr i ; 111m1offsi"SUliloffsi+cei ls[i] .hoffsi; Sl.llftoffsosslldtoffso+cel ls Cil .hoffso; -'ioffl=s1.111&hoffi+cel ls [il .shoffi; ~hoffD"sllllShoffo+cel ls [il .shoffo; ..-lrng=s1111Clrng+cells[fl .clrng; i++;

if(a111regatt>O) { SU11pOrregs=(sunregcon/ainregett)*100; } else { SllllpOrregs~O;} sU11a=SU1Drgacc+SU1B~lt"slllllriacc; if(s...a>O) < s1111pOraslgn=(suavcdes/s1D11)*100; } elae < s1111pOrasign=O; > if(slllldrfacc>O) { SU11pOrdr=Cs1.1Wcddri/slllldriacc)*100; > el se < BllllpOrdr=O; > if(s...t,offsi>O) { s1111pOrhoin=(s1111Shoffi/sllÑ1offsf)*100; } else { BllllpOrhoi.....O; } if(s111noffso>O) < s1111pOrhout=(sunshoffo/sUÑloffso)*100; } else { s1111pOrhout=O; } if(sinvcdes>O) { Bllllp0rclr=(sum:lrng/sinvcdes)*100; > else < s1111pOrclr=O; }

la misma*/

J**************************************************************** ........................ ...... NOMBRE: TITULO FUNCIOII: ESCRIBIR FORMATO DE PANTALLA

''ª'ª'ª'''ª'''''ª'ª*************************************************************************/ titulo()

{

}

prf ntf ("\033 Cl7;44m">; clsO; prfntf("\033 [111"); cuadro(1, 1,5, 79); cuadro(1, 1 ,23, 79); printf("\033Cllnl"); pos(Z,36); printf(•\033 [37;46111"); puts("SADEC"); puts("\033 [1m"); pos(4, 17); puts("SISTENA PARA EL ANALISIS DEL DESEMPElfO CELULAR•); pos(24,67); puts("ESC SALIR");

/********************************************************•**************************** NIMIRE:POS FUNCIOll:POSJCJONAR EL CURSOR DE ACUERDO A COORDENADAS X, Y

********************************************************************•*** .. **********'* ...... ***/ pos(x,y)

int x,y; {

printf("\033 !:Xd;Xdll• ,x, y); }

!************************************************************************************* NOMBRE: CUADRO FUNCIOll:TRAZAR UN CUADRO EN PANTALLA DE ACUERDO A COORDENADAS EN X, Y

Page 187: MAESTRO EN SISTEMAS DE INFORMACION s

.... ***'*'******.....,**************************************************************************** I cuadro(x1 ,y1 ,x2,y2)

int x1,y1,x2,y2; <

}

lnt i; ch11r bar [90);

for( i=O; i<79; i++)bar CIJ" 1 ¡¡, ;bar [79)" 1\0'; poa(x1, y1+1 );puts(bar+80-y2+y1 >; poa(x2, Y1+1 );puts(bar+80-y2+y1 >;

for(i=x1+1; i<X2; i++) <

}

poa(i ,y1);puts("' ">; poa(i ,y2>;putsC"' ">;

pos(x1 ,y1 );puts<"0N); pos(x1, y2);puts("¿ ~>; poa(x2, y1 );puts(".l">; pos(x2, y2);puts("ÍI");

/*****************************************~····*************************************** NCJIIIRE:CLS FI.IICION: LIMPIAR PANTALLA.

*************************************************************'************** ... ************'**/ cls() e

puts(•\Q3J [2JN)¡ }

/************************************************************************************* NOMBRE :SALIDA FUNCION: RUTINA DE SALIDA EN PANTALLA.

**************************************'**************'*************************'*************** I salida() e

}

pos(22, 15); printf("OPRIMA CUALQUIER TECLA PARA CONTINUAR ••• "); pos(22,55); getchO; printf(N\033 [O.,,,);

clsO;

/************************ .... ***********************************************'*********** NOMBRE: RUTA FlllCION: CONOCER EL PATH DEL DIRECTORIO DE TRABAJO PARA ARCHIVOS DE 1/0 Y TEMPORALES

******************************************************************************************** J ruta() e

}

i f( (fpruti o=fopen("RUTA_IO. TXT•, "r") )=NULL) e

}

pos(20, 15); printf("No se puede abrir el archivo RUTA_IO. TXT"); salida(); exit(1);

i f( fscanf(fprutio, ""5" ,&cadena)==EOF) e

pos(20, 15); printf("El archivo RUTA_IO.TXT esta vaciol"); sal ida(); exitC1);

}

fclose(fprutio);

/****"'******************************************************************************* FUNCI ON: RENOMBRA RENOMBRA LOS ARCHIVOS DE ACUERDO AL PATH

**********************'****************-****-******************************************** I renombra(char *cadena1 ,char *cadena2) {

}

char aux [40] :

strcpy(aWl,cadena2); strcat(aWl, cadena1 >; strcpy(cadena1 ,aux>;

Page 188: MAESTRO EN SISTEMAS DE INFORMACION s

/**'*'********************************************************************************* IKIIIIRE: ATLAST CONCATENA EL ARCHIVO RESCEL AL ARCHIVO NOMBRE

************************************************************************************ I atlast() (

char clatoa [15); long l;

i f ( < fpJ•fopen(nmne, •r•> )==NULL) (

}

pos(20, 15); printf("No se puede abrir el archivo lsN,name); sal iclaO; exit(1);

i f ( ( fpres=fopen(RES_AUX, 11r•) )=NULL) ( pos(20, 15); printf( 11No se puede abrir el archivo ls•,RES_AUX); sal idaO; exft(1);

}

if((fpaux=fopen(CELLSTAT_AUX,Nw11 ))==NULL) /*contiene rutas y rdvs*/ (

}

pos(20, 15); printf(•No se puede abrir el archivo X.. 11 ,CELLSTAT_AUX); sal ida(); exit(1);

while( fgets(string, MAXLIN, fpJ) != NULL) (

fputs(string, fpaux); }

felose(fp3);

while( fgets(string, MAXLIN, fpres) I• NULL) (

fputs(strfng, fpaux); }

fe lose( fpres); feloae(fpaux);

if((fpeux=fopen(CELLSTAT_AUX,"rN))=NULL) /*contiene rutes y rdvs*/ {

}

pos(20, 15); printf("No se puede abrir el archivo Xs",CELLSTAT_AUX>; sal ida(); exit<1 >;

i f ( ( fpJ=fopen(nanie, 11 1111 ) )=NULL) {

}

pos(20, 15); printf("No se puede abrir el archivo Xs11 ,neme); sal Ida<>; exitC1 >;

while( fgets(string, MAXLIN, fpaux) 1= NULL) (

fputs(string, fpJ); }

fclose(fp3); fe lose( fpaux); }

/*****************************'*********************************'********'************** NOMIIRE: ORDERTAS ORDENA EN BASE A TABLA TAB LSR

*******............,.**'********* • • • • • • • 'i' ************************************************** I ordertab() (

int j, i .encuentra;

Page 189: MAESTRO EN SISTEMAS DE INFORMACION s

c:har datos [81;

strcpy(INFR_AUX,cadene); strcat( INFR_AUX, •\ \TAB_CELL. TIIP");

fclose(fptablsr); for(J=1; j<=ftem; j++)

} }

1

{

f f ( ( fptablsr=fopen( INFR_AUX, "r") )==NULL) {

pos(Z0, 15); prfntf(UNo se pJede abrir el archivo "9",INFR_AUX); sal ida(); exft(1);

}

!=O; encuentre=O; llhi le( (fscanf(fptablsr ,"Xs• ,&datos)) l=EOF

{

if( (stra,.,Cdatos,cells[j] .ruta))-0) (

}

i++; }

/*printf(u¡., Xd, datos= Xs\n", i ,datos); getch();*/ encuentra=1 • break; '

ff(encuentra=-0){ cells[j]. index=-1; > if ( encuentr a==1) { cells [j]. irdex• i; /*printf(ªcells[Xd] .ruta= Xs\n", j,cel ls[jl .ruta); printf(•cel ls[%d]. index= Xd\n",j ,cells[jl. irdex); getchO;*/ }

fclose(fptablsr);

Page 190: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: findday2.c

linclude<stdio.h> #i ne l ude<ctype. h> #include<stdl ib.h> #include<mth.h> #include <doa.h> #lnclude <conio.h> #include <stdarg.h> linclude <graphics.h> #include "laserdef .h•

#define FFF 12 #define VECTOACITY 50 #define NAXIIORA 40 #define NAXFECH 15 #define NAXRUTA 250 /*ru1ero maxilllO de rutas en tabla infraestructura (total rutas)*/ #define END "ENDM

FILE *fp1, *fpZ, *fpaw,:, *fp3, *fprutio, *fp4, *fp5, *fpci ty, *fp9, *fprbs, *fpexch, *fpexchsal;

char ci typrueba [25]; char blancos [20]; char auxblanc [20]; char l'IOllllrch [40] ; ctiar datos [20); char date[8l; char hour [6] ; char laresii on [20]; char LSR AUX [40] ={"\ \LSR. TXTª},

PERl(])O_AUX [40] ={"\ \PERIODO. TMP11},

SALIDAS_AUX [40] =(11 \ \SALIDAS. TMP11},

REGION_AUX [40] =(11 \ \REG. TMP11},

ABOIIADOS_AUX [40] ={"\ \ABONADOS. TMP"), INFR_AUXC40]={11\\INFR. TMP 11},

RBS_AUX [40] ={11\ \RBS. TMP"}, EXCH_AUX [40] e("\ \EXCH. TXT"}, EXCHSAL_AUX [40]; cadena C40l;

int offset; i nt auxcontord; lnt p1 ,p2; int cont; char caqios [20] ; char antfechacn; /*usadas para escritura de encabezado*/ char despfecha en; int totaldies; /*total de días II procesar*/ int findday; /*bardara para indicar si encontro día a procesar el exch*/ lnt countl lnes; /*contador de lineas para escritura*/ i nt contfecha; /*bandera para contar fechas procesadas*/ int nonoarchf; i nt contdays; i nt contproces; lnt posix; i nt enproceso; int IIIBXÍIIIIICfty¡ int MAXCITY; int erlz; i nt contord; char *strtok(); extern char clldenax [100];

char fechaaux en ; /*fecha a procesar*/ char horaaux [5]; /*hora II procesar*/ float resiatt; /*intentos de registro*/ float regcon; /*confirmaciones de registro*/ float orgacc; /*accesos originados*/ float page_1; /*respuestas al voceo de primer intento*/ float page_2; /*

float SUll)ll9; /*sume de page_1+page_2 */ float reppage; float conpage;

del seg!Aldo intento*/

Page 191: MAESTRO EN SISTEMAS DE INFORMACION s

/*di rected retrys ordenados*/ /*accesos debidos a di rected ret rys* /

/*tOIIBs de canal de voz para estableci•iento de lllllllldas*/ /*intentos de designacion de c-1 de voz*/

/*e-les de voz designados al primer intento*/ /*e-les de voz designados despues del seg¡r,do intento*/ /*intentos de designacion de e-les resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de directed retrys */

/*IJ:olcacton de abonado */ /*IJ:oicacion de abonado que deriva de un intento de hand-off*/ /*inicios de hend-offs*/ /*hand-offs exitosos*/

float pageatt; float drivcco; float driecvc; float vcsze; float vedes; float rvcdes; float vcdesb2; float vcdesa2; float vclldri; float vcddri; float Iocr; float lochofa; float hoffe; float shoffs; float clrng; /*llBIIIBdas l lberedes debido a la n,ela tra9111ision o perdida de la 111isma*/

/*caso AS-26 se agregan 5 parametros extras*/

float driupro; float driacup; float driuprn; float oafav; float oafawc;

/*porcentajes a obtener*/

fl oat porrea; float porvcdes; float pordriacc; float porreppage; f I oat porcongpage; float prop:lrl; float loccelcal; float porhoffexit; float porclrng; float pordrlupro; float pordriupri; float pordriuprn; float porro..tion; float porroan5abon;

float Sllllf"egatt; fl oat s1111regcon; float 1111110rgacc; float s.....,a11e_1; float s~ge_2;

float SLD11.111)89, float s1.111reppage; f loat si.conpege; float e~geatt;

/*porcentaje de coq,letacion de registros*/ /*porcentaje de ! Imadas completadas*/ /*porclento de directed retrys*/ /*porc I ento de repeated pages* / /*porciento de congestlon en paging*/ /*proporcitn de accesos resultantes en directed retry*/ /*porciento locatings para celulas cal ificades*/ /*porciento de hand-offs exitosos*/ /*porclento de ll.adas perdidas*/ /*porclento de de dir·retry en upr out*/ /*porciento del de dir-retry en upr in*/ /*porciento del de dir·retry no enviados*/

/*porciento de r-rs con servicios de abonado*/ /*porclento de r0111ers sin servicios de abonado*/

/*intentos,de registro*/ /*confi nuciones de registro*/

/*accesos originados*/ /*respuestas al voceo de primer intento*/ /*

del segundo intento*/ /*suna de paga_1+page_2 */

float sl.llldrlvcco; /*directed retrys ordenados*/ float slftlriacvc; /*accesos debidos a directed retrys*/ float s11111csze; /*tOllls de canal de voz para estableci•iento de llllllllldas*/ float s~; /*intentos de designacion de c-1 de voz*/ float s1nrvcdes; /*canales de voz designados al prinier intento*/ float sinvcdesb2; /*canales de voz designados despues del segundo intento*/ float sinvcdesa2; /*intentos de designacion de e-les resultantes de directed retrys*/ float sunvcadri; /*designaciones de e-les de voz resultantes de directed retrys */ float sunvcddri; float SlMllocr; f loat sinlochofa; float sln'toffs; float SUIIShoffs; f l oat BUIIIC l rng; float sl.llldriupro; fl oat sl.lldr i acup; float sl.llldriuprn; f l oat sunoafav; float sunoafawc;

struct disp (

/*IJ:oicacion de abonado */ /*IJ:oicacion de abonado que deriva de un Intento de hand·off*/ /*inicios de hand·offs*/ /*hand·offs exitosos*/ /*llamadas liberadas debido a la 11111la trasmislon o perdida de

estructura debera ser global*/ char tipot3J; char nomelem[20];

la misma*/

/*la

Page 192: MAESTRO EN SISTEMAS DE INFORMACION s

char ruta [61 ; char e i udad [201 ; };

struct horas{

};

char tilM![6J; int nun;

struct fechas{

struct dia

);

char cµ,cliam; int bardia;

char daym; };

struct ncities{ char ncity[15J; int region;

);

struct citiesproces{

int region; char city[15J;

char nunabon 1201 ; char e i udad [201 ;

);

struct disp rutdispCMAXRUTAJ; struct horas hora CMAXIIORAJ; struct fechas fecha CMAXFECHJ; struct ncities citles [VECTORCITYJ; struct citiesproces cityproces[VECTORCITYJ; struct di a days CMAXFECHJ;

mainO {

/*titulo(); pos(6,20);*/ printf("\033 [37;44m''); /*printf(• PARAMETROS DE ANALISIS"); pos(10, 15); printf(" FORMANOO TABLAS •••• "); posC12, 15); printf(" ORDENANDO RUTAS •••• "); posC14, 15); printf(" ASIGNANDO INDICES A RUTAS •••• ");*/ pos(16, 15); printf(" BUSCANDO DIAS A PROCESAR EN ARCHIVO LSR. TXT •••• •);

ruta(); abrir(); infra(); ordenac i ty( ) ; decide(); eser i be2(); createc i ty(); find(); diasO; exchprocess(); }

/*************************************'*********************************************'*'* NOMBRE: FINO RUTINA QUE ENCUENTRA LAS FECHAS QUE APARECEN EN El ARCHIVO LSR. TXT

****'*'***********************'************************************************************ I find() e char aux [BJ ; s t rcpy( aux, •00000011 ) ;

contdays•1; /*printf("entra a find\n");*/ whl le((fscanf(fp1 ,•Xs11 ,&datos))!=EOF)

Page 193: MAESTRO EN SISTEMAS DE INFORMACION s

(

)

if( (strc:q,(datos,eux)l=O) ) (

)

/*printf(•eux y datos no son i-les\nº); printf(ªeux" Xs\n11 ,awt); printf(•datos• Xs\n•,datos);*/ strcpy(eux,datos); /*printf("eux• Xs\n•,eux);*/ strcpy(fecha[contdayaJ .~ia,aux); /*printf(•fecha[Xd] .~ia= Xs\n•,contdaya, feche[contdaysJ .~ie); getch();*/ contdays++;

/*prfntf("eux y datos son Iguales, ve e buscaend\nM); prlntf(•eux= Xs\n•,eux); prlntf(•datos= Xs\n•,datos); getchO;*/ buscaerd( l;

contdays··; )

/****** ..... ************************************************************* NOIBRE: ABRIR FUNCION: ABRIR EL ARCHIVOS DE LECTURA Y ESCRITURA

........................................ **************************************/ abrir() (

renomre(LSR AUX,cedena); renomra(PER J mo _ AIJI(, cadena l; renolllbre( SAL IDAS _AUX, cadena); renont>re(REGION_AUX,cadena); renont>re (ABONADOS_ AUX, cadena); renomre(INFR_AIJX,cadena); ,. INFR. T!IP*/ renarbre(RBS AUX,cadena); renarbre(EXCH_AUX,cadena);

i f ( ( tpexch=fopen(EXCH_AUX, "r") )=NULL) {

pos(20, 15); printf("No se puede abrir el archivo Xs•,EXCH_AUX); sal ida(); exit(1);

)

if( (fp9=fopen( INFR_AUX, •r") )==NULL) {

pos(20, 15); printf("No se puede abrir el archivo Xs",INFR_AIJI(); sa.l ida(); exit(1);

)

i f ( (fp1 =fopen( LSR_AUX, "r") )==NULL) (

)

pos(20, 15); printf("No se puede abrir el archivo Xsª,LSR_AUX); sal idaO; exit(1);

i f ( ( fp2=fopen(PERllllO_AUX, •w•) )==NULL) {

)

pos(20, 15); printf("No se puede abrir el archivo Xs11 ,PERl(l)Q_AUX); sal ida(); exit(1);

i f ( ( fp3=fopen(SAL IDAS_AUX, "w") )==NULL) (

)

pos(20, 15); prlntf("No se puede abrir el archivo (en finddate) Xs",SALIDAS_AUX); sal ida(); exit(1);

Page 194: MAESTRO EN SISTEMAS DE INFORMACION s

>

i f( (fp4mfopen(REGION_AUX, "r") )="NULL) {

pos(20, 15); printf("No se puede abrir el archivo (en finddate) Xs 11 ,REGION_AUX); sal fdaO; exit(1);

> i f ( ( fp5=fopen(ABONADOS_AUX, •1111 ) )==NULL)

{

}

pos(20, 15); printf("No se puede abrir el archivo (en finddate) Xsº,ABONADOS_AUX); sal ida(); exitC1);

if ( (fpci ty=fopen(ºCIT IES. TXT", "r") )==NULL) { pos(20, 15); printf("No se puede abrir el archivo CITIES. TXT"); sal idaO; exit(1);

>

/******************************************'*'**'**'****************** NOMBRE: BUSCAEND RUTINA QUE AVAN'ZA APUNTADOR A ARCHIVO FILER HASTA ENCONTRAR STRING END

************************* .... ****************************************/ buscaend() {

do {

fscanf(fp1, "Xs" ,&datos); }

whf le( (str~(datos,END>) f ,c()); /*prlntf("ultimo dato capturado en buscaend datos= Xs\n",datos); getch();*/ }

, .. *************************************************************************** ............. ** NOMBRE: DIAS FUNCION: DESPLIEGA LOS DIAS PROCESADOS QUE APARECEN EN LSR. TXT EN PANTALLA

ALMACENA CAMBIOS A ESTOS DIAS EN ARCHIVO DIAS. TMP ........................... ********'**********************************'*************'**************** / dias() {

int z=1; int posx; int confi rM; cher e; pos(10, 15); printf(" "); pos(12, 15); prlntf(" ">; pos(14, 15); printf(• ">; pos(16, 15); printf(• "); pos(10,25); printf("DIAS A PROCESAR:"); posx=10; whi le(z<zcontdays)

{

>

pos(posx,42); printf( 11Xs•,fecha[z] .quedia); z++; posx++;

pos(21, 18);

printf("DESEA SELECCIONAR LOS DIAS A PROCESAR ? S/Nº); confi rma=O; do

{ pos(21,62); c=getch();

Page 195: MAESTRO EN SISTEMAS DE INFORMACION s

if( (c==•s•) 11 (c==•s•) 11 (cs='N') 11 (C""'"') conf i r111•1;

}while(conf f rnm==O); /*printf(•c=Xs\n•, c); getchO;*/

ff( (c=='S'>ll<c•=•s•)

}

e /*prlntf(•c=s\n"); getch();*/ val ida(); te1'111ina0; }

if( (c='N'>l l<c=•n•) {

}

/*pr i ntf ( •ccn\n") ; getchO;*/ arcsalO; escribe(); ten11inaO;

!*******************'****************************************************************** NOMBRE : VAL! DA FUNCIOII: VALIDA LOS DIAS ESCOGIDOS PARA SER PROCESADOS

********************************'********************************************'*********'*******/ valida() e char ch; ehar e; int seleccion; i nt conf f nn; int confinn1; fnt z; int si· int ~x1; fnt posx2; int posxl; int posy1=8; i nt posy2=34; int posy3=61; seleccfon=O; fclose(fp2); do

{

sf=O; z=1; posx1=9; posx2=9; posxl=9; /*if( (fp2=fopen("PERIOOO. TMP", •w11 ) )==NULL)

{

pos(20, 15); printf("No se puede abrir el archivo PERIOOO. TIIP"); salida(); exit(1);

} ., titulo(); pos(6,20); printf("\033 [37;44111"); printf( 11 PARAMETROS DE ANALISIS"); pos(B, 10); printf(''DIA"); pos(B,27); printf("DIA SELECCIONADO ?"); pos(B,56); prfntf("DIAS A PROCESAR"); pos(9,36); i f (( fp2=fopen(PERIOOO_AUX, •w•) )==NULL) {

}

pos(20, 15); printf("No se puede abrir el archivo Xs•,PERIOOO_AUX); sal ida(); exit(1);

/*printf("abre periodo.tnp\n");*/ while(z~=contdays)

Page 196: MAESTRO EN SISTEMAS DE INFORMACION s

e pos( posx1 , posy1 >; printfC"ls", fecha[zl .quedia); posx1++; pos(posx2,posy2); printf("S/N"); posy2•posy2+5; confinFO; do e pos(posx2,posy2); c=getchO; ff( (c-<"'S' > l l<c""'S' > 11 (c='N' > 11 (c=='n' > confirF1;

}whfle(conf i MF=O);

posy2=posy2·5; posx2++; ifC (c=='S'>ll<c""''s') e

>

pos(posxl,posy3); fprlntf(fp2,•Xs\n11 , fech11[zl .quedia); /*fcloae(fp2);*/ printf("Xs•, fecha[zl .quedia); posxl++; si•1;

z++; >

fcloae(fp2); if(si=O>

e titulo(); pos(6,20); pr I ntf C"\033 [37;44111"); printf(• PARAMETROS OE ANALISIS"); pos( 16, 19); printf(•SELECCION DE DIAS A PROCESAR INCORRECTA"); pos(17, 19); printf(• DEBERA SELECCIONARSE AL MENOS UN DIA "); pos(22, 15); printf(" OPRIMA CUALQUIER TECLA PARA CONTINUAR ••• "); pos(22,55); getchO; aelecci on=O;

> ifCsi••1>

e pos(21, 18); printf("SELECCIOII DE DIAS A PROCESAR CORRECTA 7 S/N"); confinn1 .. 0; do e pos(21,63>; ch=getch (); if( (ch== 1S'>l l<ch,.., 1s'>l l<ch="'N'>l l<ch= 1n 1 )

conf i nn1 =1; }whl le(confinn1=0>;

if((ch=='S') 11 (ch==•s•) e

>

selecci on=1; >

}whi le(selecclon==O); arcsalO; }

/**************************-********************************************************* NOMBRE : ESCRIBE FIIICIOII: ESCRIBIR LOS DIAS SEIIIALADOS EN EL ARCHIVO PERIODO. TMP

*****************************************••••••••••**••••••••••••********************** ..... **/ escribe() e int z=1; whi le(z<=contdays) e fprintf(fp2, 1'Xs\n", fecha[zJ .quedia);

Page 197: MAESTRO EN SISTEMAS DE INFORMACION s

}

z++; }

/******************************************************************'****************** NIIIBRE : ARCSAL RUTINA QUE A PREGUNTA EL NOMBRE DEL ARCHIVO DE SALIDA DEL PERIOOO.

**************************************************************************************** / arcsal() {

char e; char auxnmi[40J; lnt confirm; lnt seleccion; int ssize; nonerchf=O; pos(21, 18); printf("

do {

pos(Z0, 10); printf(" pos(Z0, 18); printf(" NOMBRE DEL ARCHIVO DE SALIDA 7 "); pos(21,28); gets(1101Mrch); nomarchf=1; pos(ZO, 10>; printf(" pos(21, 10); printf(" pos(Z0, 18); printf("ARCHIVO DE SALIDA: Xs",llOllllrch); pos(21, 16); printf("ES CORRECTO EL NOMBRE DEL ARCHIVO 7 S/N"); confiMllll=O; seleccion=O; do

{ pos(21,56); c=getchO; if( (c"•'S') 11 (c=='s') 11 (c=='N') 11 (c=•n• > confiM1111=1;

}whi le(confi rme==O); if((c=='S'>ll<c=='s'))

{

seleccion=1; }

else {

}

posCZ0, 10>; prlntf(" pos(21, 10); printfC"

i f(seleccion==1) {

ssize=O; strcpy(awmom,nomarch); ssize=strlen(auxnom); /*printf(•noniarch= Xs\n" ,nomerch) ;*/ /*getch O;*/ /*pos(17, 18); */ /*printf(" /*pos(17, 18); */ /*printf("sslze= Xd",sslze);*/ /*getch()¡*/ lf(ssize>8)

{

-noml8J='\0'; strcpy(nomerch, auxnom); /*pos(18, 18); */ /*printf(" /*pos(18, 18);*/ /*printf("nanarch= Xs 11 ,nomarch);*/ /*getchO;*/

•);

11);

");

H);

11)¡

");

");*/

º);*/

Page 198: MAESTRO EN SISTEMAS DE INFORMACION s

}

/* if((fp1=fopen(IIOlll8rch,nwn»==NULL) e ..-rchf=O; pos(20, 10); printf(" pos(21, 10); prlntf(" pos(Z0, 18); printf(HNO SE PUEDE ABRIR EL ARCHIVO : Xs•,l'IOlll8rch); pos(21, 18); printf(•OPRIMA CUALQUIER TECLA PARA CONTINUAR"); pos(21, 57); getchO; pos(20, 10); prfntf(M pos(21, 10); printf(II

}*/ }

}"'i le((IIOlll8rchf=O) 11 (seleccion==O»; salwriteO; }

11);

•);

");

/*'****'*'*************************'*******ª ................................. ******************* NOMBRE: ESCRIBE ARCHIVOS DE SALIDA FIJNCION: AGREGA TERMINACION A IIOMARCH,GUARDA EN ARCHSAL. TMP ................................................................................................ ,

selwrlte() {

char 11UX [50); strcpy(aux,cadena); strcet(aux, •\ \"); strcat(IIWl,ncnerch); strcat(aux,•. TOT''); fprintf (fpl, 11Xs\n11 ,IIWI); strcpy(aux,cadena); strcet(IIUX, 11\ \ª); strc11t(aux, 11011Brch); strcat(aux,•.LSR"); fprintf(fpl, "Xs\n" ,aux); st rcpy( IIUX, cadena); strcat(aux, 11\\11 ); strcet(aux, nomarch >; strcat(IIWl, 11.QSR"); fprintf (fp3, •Xs\n'', aux); strcpy(aux,cadena); strcat(aux,•\\"); strcat(aux,,...rch); strcat(aux, 11 .CEL">; fprintf( fp3, 11Xs\n11 ,11ux); strcpy(aux,cadena); strcat(aux,"\\"); strcat(aux,,-rch); strcat(aux,•.CAN•); fprlntf (fp3, 11Xs\n", aux); strcpy(aux,cadena); strcat(aux, 11\ \ 11 );

strcat(aux,llOIIBrch); strcat(aux, • .NAX"); fprintf(fp3, 11Xs\n11 ,aux); strcpy(aux,cadena); strcat(eux, "\ \"); strcat(11ux,IIOlll8rch); strcat(aux,•.EXC"); fpri ntf(fp3, 11Xs\n11 , aux); fclose(fp3); }

/************************************************************************************* IIOIIIIRE:TERMINA FUNCION: FIN DE LA OPCION 2 DE SAOEC DETERMINAR LOS PARAMETROS DE ANALISIS

***************'**************************************** ... ****************'****************** I terntlna() {

int confi rmt; claoA)l e zz; char ch;

Page 199: MAESTRO EN SISTEMAS DE INFORMACION s

abanados(); titulo(); pos(6,20); printf("\033!37;44r'); prfntf(• PARNETROS DE ANALISIS"); printf("\033137;44111">; zz=1; pos(13, 15); printf(• DETERMINAll>D LA HORA PICO DEL SISTEMA•); while(zz<=20000) e zz++; }

/*confinlt..O; do e pos(13,55); ch~11etch (); lf(ch= 1 11 )

confi1'111:=1; }whi le(confi 1'111:"'"'0);*/

pos(13, 15); printf(" )

/***************************************************** IICIIIIRE:TITULD FUNCIDII: ESCRIBIR FORMATO DE PANTALLA

***************'****************************************/ titulo()

<

}

printf("\033 [37;44ai"); clsO; printf("\033(1111"); cuadro(1, 1,5,79); cuadro(1, 1,23,79); printf("\033 !33r'); pos(2,36); printf ("\033 !37;46111''); puts("SADEC"); puts("\033 [1111"); pos(4, 17); puts("SISTEIIA PARA EL ANALISIS DEL DESEMPEWI CELULAR•); pos(24,67); puts(•Esc SALIR");

/*********************************'**************************************************** Nl'.W4BRE: CUADRO FUNCIDll:TRAZAR UN CUADRO EN PANTALLA DE ACUERDO A COORDENADAS EN X, Y

*****************"'**************'**************************************************** ... *****/ cuadro(x1 ,y1 ,x2,y2)

int x1,y1,x2,y2; <

}

lnt i; char bar [901 ;

for( i=O; 1<79; i++)bar[IJ=•l• ;bar [791='\0'; pos(x1 ,y1+1 );puts(bar+BO-y2+y1 >; pos(x2, y1+1 > ;puts(bar+BO-y2+y1 l;

for( i=x1+1; l<x2; i++) e

)

pos( i, y1 );puts("'"); pos( i ,y2);puts("' •);

pos(x1, y1 );puts("Ú"); pos(x1, y2);puts("¿"); pos(x2,y1 );puts(•A11 );

pos(x2, y2) ;puts("U'');

/*********************************************************************'**************** NOMBRE:CLS FUNCIDII: LIMPIAR PANTALLA.

*******************************************************'*****************'******************** I cls()

< }

Page 200: MAESTRO EN SISTEMAS DE INFORMACION s

, ..................................... **'************************'****************************** Nt»IIRE:aJR FUNCIIIII: .......................................................................................... *****'**/

cur(strlng) char *string; {

int i; putch( '\033 1 );putch(' [' ); for(i=O;string[i] != 1 \0 1 ;putch(string[i++J »;

}

/*""'******************************************'********************llr** NOIIBRE:POS FUNCION:POSICIIIIIAR EL CURSOR DE ACUERDO A (XIORl)ENADAS X,Y

**********************************************************************/ pos(x,y)

int x,y; < printf("\033txd;Xdtt•,x,y);

/*************************'*'*''"''"'"' .................................... ***************** NIIIBRE: SALIDA FUNCIIIII: RUTINA DE SALIDA EN PANTALLA.

************************************************************************ I salida() {

}

pos(22, 15); printf(U OPRIMA QJALQUIER TECLA PARA CONTINUAR ••• u); pos(22,55); getchO; printf ("\033 [Cllll''); cls();

!*"***************************************************************** FUNCION: REIIIIIBRA RENCJIBRA LOS ARCHIVOS DE ACUERDO AL PATH

*****'****************************************************************/ renori>ra(char *cedena1 ,cher *cadena2) {

}

char -c40J; strcpy(aux,cedenaZ); strcat(aUJt,cadens1); etrcpy(cadena1 ,aux);

J*************** ..... ****************************************************************** NCJIBRE: RUTA FUNCION: CONOCER EL PATH DEL DIRECTORIO DE TRABAJO PARA ARCHIVOS DE 1/0 Y TEMPORALES

*********'*'***************************"*********************'********************************** I ruta() {

}

i f( (fprut lo=fopen("RUTA_IO. TXT". "r") )=NULL) {

}

pos(20, 15); printf(ªNo se puede abrir el archivo RUTA_IO. TXT•); sal ida(); exitC1);

i f ( f scsnf C fprut i o, •Xs", &cedena)==EOF) {

}

pos(ZO, 15); printf("El archivo RUTA_IO. TXT esta vaciol"); salida(); exit(1);

fclose(fprutl o);

/***************** .. *********'******************************************** NOMIIRE: CREATECITY INICIALIZA EL VECTOR DE CREACION DE Clll>ADES COII COVERTURA TELCEL

************************************************************************* I createci ty() {

MAXCITY=1; whi le((fscanf(fpclty,uXs" ,&datos)) 1 =EOF)

{

strcpy(ci ties [MA)(CITY] .nci ty ,datos); fscanf(fpcl ty, •Xs• ,&datos);

Page 201: MAESTRO EN SISTEMAS DE INFORMACION s

)

citles !MAXCITYJ. regf on=atoi (datos); MAXCITY++;

strcpy(ci ties !MAXCITYJ .ncity, "IIWIIIMI''); cities!MAXCITYJ .region=9; fclose(fpcity);

) , ....................................................................................................... ..... NCIIIIRE: ABOIIADOS PIDE POR PANTALLA EL IILIIERO DE ABONADOS DE LA REGION A PROCESAR ............................................................................................................. ,

abonados() {

int buf; char e; fnt conflr.; int seleccion; char buffer [15); int i•1; i nt e11>roceso= 1 ; selecclty(); borre(); sel ecci on-0; whf le(selecci on=..O) {

pos(8, 17); prlntf("NIMERO DE ABONADOS: 7 "); posix=1D; for e enproceso=1 ; ef1)roceso<•contproces; enproceso++) {

)

pos(posix,32); printf("Xs•, ci typroces [enproceso) .city); pos(posix,52); gets(buffer); pos(posix,52); printf("Xs•,buffer); st rcpy( e i typroces [enproceso) • ..,,_1,on, buffer); posix++;

pos(21, 16); printf("ES CORRECTO EL IIIIIERO DE ABONADOS 7 S/N•); confinm-0; seleccion=O; do

{

pos(21 ,56); c=getch(); if( <c==•s• > 11 (c-•s• > 11 (c== 1 N1 > l l<c='n' > confir.=1;

>wh i le( conf i 1'11111==0); 1f(Cc== 1 S'>ll<c=~•a 1

) )

C selecclon=1; > else

{

}

seleccion=O; borra();

for( i•1; i <=contproces; i++) {

fprintf(fp5, "Xs\n" ,ci typroces [i) .clty); fpr i nt f < fp5, "Xs \n", e i typroces el l • IUllllbon >;

)

fclose(fp5); )

/*********************************************************************************************** NCIIBRE: SELECCITY SELECCIONA LAS CllllADES DE ACUERDO A REGION LEIDA

**************************************a a a a A a a a*************************************...,....*****'*'*****/ seleccity() e int i; int ruareg=O;

fscanf e fp4, "%& 11 ,&laregi on); fclose(fp4);

Page 202: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf("l11region= Xs\nu, laregion);*/ IIBllfmacity=IW(CITY-1; . /*ntf("Nxi•ci tyc Xd\n" ,IIIBXhlllcity);*/

for(i,.1; i <=11axf11111city; i++) <

}

if< (strcap(cltlesCil-ncity, laregion»==O <

}

l'IUll'eg=cltles[il .region; break;

if(rureg==O) <

printf("ERAOR: LA Clll>AD/REGION AUN NO HA SIDO DADA DE ALTA EN FINDOATE\n"); exit(1);

}

/*printf( 111U111'eg= Xd\n",nunreg);*/ contpraces=1; IIIBX f lllllC i tyzMA)(C ITY • 1 ; for( is1 ;i<=mxi•city; i++) <

}

if(cities[iJ .reglon==ranreg) <

}

strcpy(cityproces[contprocesJ .city,citieslfl .ncity); contproces++;

contproces· ·; }

, ............... ' ••• ' .. * * * & '********** ....... ************************************************'******'****** N<JISRE : BORRA BORRA LINEAS SELECCIONADAS DE LA PANTALLA

*****************************************************.....,... ......... ************************************ I borre() < int ;¡ posix=6;

for(i,.1; 1<=17; i++) < pos(posfx,6); printf(" posix++;

} }

/***************************************'****************** ..... *********** NIIIBRE: INFRA RUTINA QUE OBTIENE INFORMACION DE LA INFRAESTRUCTURA, LLAMA A ERLANG PARA OBTENER VALORES EN LAS TABLAS, LLANA A PORCENT PARA OBTENER PORCENTAJES.

************************************************************************/ infr110 < char c~ [20); char city[ZOJ; int kk; erlz=1;

if((fp9=fopen(INFA_AUX,"r"))==NULL) /*contiene rutas y rwÑS*/ < pos(20, 15);

}

printf("No se puede abrir el archivo Xs11 , INFR_AUX); salida(); exit(1);

whi le((fscenf(fp9, •Xs11 ,&cl!lllp08) > 1 =EOF) /*ciudad o EOF*/

{

strcpy(cl ty ,c&IIP)s); if( (strcmp(CMpos,•DISPQSR")) ==O )

{break;} fscenf(fp9, •Xsn ,&cl!lllpOS);

/*mtx*/

11)¡

Page 203: MAESTRO EN SISTEMAS DE INFORMACION s

}

fscanf Cfp9, ""8", &c""'°5);

strcpy(rutdisp[erlzJ. tlpo,c~); fscenf C fp9, •Xs11 ,&c11111po9);

ifC (strc:q>(rutdisp[erlzJ. tipo,•Re•»••O {

strcpy(rutdl sp[erlzJ .cluded,city); strcpy( rutdi sp[erl zJ • noiwel eni, ClllllpoS); fscanf(fp9,•"Xs•,&c8111pOS); /*rute*/ strcpy(rutdisp[erlzJ .rute,~s); /*prlntf(•rutdisp[Xd] .no11elem= Xs• ,erlz, rutdisp[erlzl .non,lem); printfC" rutdisp[Xd] .ruta "Xs\n",erlz,rutdlsp[erlzl .rute); getchO;*/ erlz++; for(kk=1 ;kk<=l;kk++)

{ fscanf(fp9,•Xs 11 ,&cmpos);} }

else <

for(kk•1 ;kk<"4;kk++) { fscanf(fp9, •"Xs• ,&caq,os) ;)

}

erlz· .. ; fclose(fp9); }

/**************************************************** .. **** NIIIBRE: ORDENAC ITY FUNCION: ORDENA LAS RUTAS POR CllllAD

"" • •• • **** **************************** ........... ************** I ordenac i ty( ) (

/*tipo de elemento*/

/*noflt>re del eletaento*/

char aux,- [30] ; char auxnnen,[101; char auxcity[25J; int i;

/*auxiliar pare al•cenMiento de ruta a Intercambiar*/

i nt contescr-1; p1=1; p2=2; cont=1;

whi le(cont<=erlz) {

whi le(p2<=erlz) (

if(str~rutdisp[p2J .ciudad, rutdisp[p1J .ciuded)<O) < strcpy(aUllllMle, rutdi sp[p1J .l!Olllelem); strcpy(auxnnem, rutdisp[p1J .ruta); strcpy(auxcity, rutdisp[p1J .ciudad);

strcpy(rutdisp[p1J .nomelem, rutdisp[p2J .nomelem); strcpy(rutdisp[p1J .ruta,rutdisp[p2J .ruta); strcpy(rutdisp[p1J .ciuded,rutdisp[p2J .ciudad);

strcpy(rutdisp[p2J .,-lem,auxname); strcpy(rutdlsp[p2J .ruta,aUlllll8ft); strcpy(rutdi sp[p2J .ciudad, auxci ty);

}

p2++; }

/* if( (strcq:,(region,"MEXICO")!=O) < strcpy(scribe[contescrJ .unemo,order[cont) .l"Wll!IMI); conteser++; } */

cont++; p1++; p2=p1+1; }

/*printf(•ordenando por ciudad\n");*/ /*for(i=1; l<=erlz; i++) (

Page 204: MAESTRO EN SISTEMAS DE INFORMACION s

printf(•rutdispl%dl .ciudad= Xs•, i ,rutdisptil .ciudad); printf(•rutdlsp[Xd] • ..-1- Xs•, i, rutdisptil .nomelein); printf(•rutdisp[Xd] .ruta = Xs\n•, i ,rutdisptil .ruta); 11etchO;

} */ }

!*****************************************************************************'******* NCJIBRE: DECIDE DECIDE ORDENA O NOADENA EN BASE A FLAGNORDENA SORTEA SEGUNDA LLAVE (POR RUTAS.)

******************************** ...... **************************************************** I decide() e i nt yaordeno; int cuent-x; i nt offsetaux; int i; int piece; int •u; char e i tyant [251; yaordenoz,O; piecez1; offset=!; offsetauxs1; auxcontord--0; /*if(flagnordena=1 >

e cuentamax=contno;

}

else e

cuent811111X"'Contord; }*/

for(j=1; j <=erlz; j++) e

!* ff(flagnordena-1) { atrcpy(cltyprueba,nordertj] .ciudad);}*/

!* lfCflagnordena==O)*/ strcpy(ci typrueba, rutdi sp[jl .ciudad); if(j,c=Q) e strcpy(cityant,cityprueba);>

if(piece==1> {

lf( (strcnp(cftyant,cftyprueba))==O ) {

}

strcpy(c i tyant, el typrueba); piece++;

else

}

else {

e yaordeno=1; of fsetaux= j; pfece=1; offset=i; st rcpy(ci tyant, el typrueba);

}

if( (strcaip(cityant,cftyprueba))=O <

}

strcpy(ci tyant ,el typrueba); piece++;

else /*if( (str~(cityant,cltyprueba))l=O )*/

(

/*yaordeno=1; * / offsetaux= j; auxcontord=pi ece; auxcontord· • • if(yao~1)

auxcontord=auxcontord+of f set; piece,.1; yaordeno=1;

Page 205: MAESTRO EN SISTEMAS DE INFORMACION s

)

}

/* i f ( f l agnordena== 1 ) {

printf ( 11piece--%d\n" ,piece); pr i ntf ( •auxcontord=Xd\n", auxcontord); pr i ntf ( •of fset=Xd\n", offset); nordenaruta(); strc:py( e i tyant, ci typrueba);

)*/ /*if(flagnordena>=O)

}

{*/ /*printf("i= Xd\n",i>; prl ntf ( "pi ece=Xd\n", pi ece); printf( 11auxcontord=Xd\n11 ,auxcontord); pri ntf ("of fset=Xd\n", offset); getch();*/ ordena(); strcpy( e I tyant , e i typrueba);

/*)*/ offaet•J;

/*printf(•tennina el for i• lld\n\n",J); printf("J=. lld\n",j); pri ntf (•pi ece-xd\n'' ,pi ece); pri ntf c•auxcontord=Xd\n" ,auxcontord); printf("offset=Xd\n•,offset);*/ offsetcoffsetaux; /*printf("offset= Xd\nª,offset);*/ /*lf(f lagnordena=1)

{

auxcontord=contno; I f(yaordeno==O>

offset=1; nordenaruta(); } */

!* i f ( f l agnordena==O) {*/ auxcontord=er l z; i f(yaordeno==O)

offset=1;· /*printf(•en ultilllO ordenamiento auxcontord= Xd offset= Xd\n•,auxcontord,offset);*/ ordena();

/*)*/ /* prfntf(•ter111inando decide\n");*/ /* for(Me.P1 ;11111u<=erlz;mau++)

}*/ )

e pri ntf( •rutdi sp [lid] • ci udad=Xs" ,11111u, rutdi sp [llau] • ciudad); printf(•rutdisp[Xd] .nonielem=Xs•,mau,rutdisp!llaul .l'ICllll!lem); printf("rutdisp[Xd]. ruta=Xs\n• ,11111u, rutdi sp[llau]. ruta); getch();

/*********************************************************************************************** Na!BRE : ORDENA FUNCION: ORDENA LAS RUTAS POR NOMBRE

......................... ***************'**************************************************************/ ordena() ( char auxname[30]; /*aW<i liar para alnacena11fento de ruta a intercant.iar*/ char aUXll'lelll [1 O] ; char auxcity[25l; int i; int contescr=1; /*p1=1; p2=2; */ /*cont=1;*/ p1=offset; p2=offset+1; cont=offset;

whi le(cont<=auxcontord) (

whi le(p2<=auxcontord) (

if(str~(rutdisp[p2] .nomelem,rutdisp[p1J .nomeleai)<O)

Page 206: MAESTRO EN SISTEMAS DE INFORMACION s

{ strcpy(euxnarwe,rutdisp[p1J .nonielem); strcpy(awomt!III, rutdisp[p1J. ruta); strcpy(euxcl ty, rutdlsp[p1J .cluiacl);

strcpy(rutdisp[p1J .nomele111, rutdisp[p2J .nomeleni); strcpy(rutdisp[p1J .ruta,rutdisp[p2J .ruta); strcpy(rutdi sp[p1J .ciuiacl, rutdi sp[p2J .cluiacl);

strcpy(rutdisp[p2J .l'lalllell!lll,IIUIIMIIII!)¡ strcpy(rutdlsp[p2J .ruta,-); strcpy(rutdi sp[p2J .ciuiacl,auxcity);

} p2++;

}

/* if( (str~region,•MElUCO")l:O) {

strcpy(scribe [contescrJ .snr1e1110,order [contJ • IW!elllO); contescr++; }*/

cont++; p1++; p2zp1+1; }

/*printf("ordenando por ruta\n"); for(i:1;1 <:contord; i++) {

ifCi=S> getch();

printf(•order[Xd] .rutorden: Xs order [Xd] .clty: Xs\n", i ,order[il .rutorden, i ,order[il .city); }

getchO;*/ }

/*******************'*****************************'*************** IKIIIIRE: ESCR I BE2 FUNCION: ESCRIBIR EN EL ARCHIVO RBS. TMP LAS RADIOBASES DEL SISTEMA ORDENADAS POR Clll>AD Y POR RUTA (2 indices)

********************************************************'******* / escribe20 {

lnt i; if((fprbs:fopen(RBS_Aux,•w•)):zNULL)

{

}

pos(Z0, 15); printf("No se puede abrir el archivo "9",RBS_AUX); sal ida(); exit(1);

for( 1:1; i<:erlz; i++) {

fprintf (fprbs, ""9\n", rutdisp [il • ruta); }

fclose(fprbs); }

!*************************•****************'** ...... ************** Na!IIRE: EXCHPROCESS FUNCION: PROCESAR LEER, PROCESAR E IMPRIMIR EL ARCHIVO EXCHANGE. ORDENADAS POR CIU>AD Y POR RUTA (2 indices)

***************************** .... *****"'************************* / exchprocess() {

contfecha=1; leeperiodoO; /*lee periodo de dias*/ inicias1111110; /*inicial iza las variables su.*/ abreexch(); wh i le( ( fscanf C fpexch, "Xs", &datos) ) 1 :EOF)

{

searchdayO; if(findday:a1) { leeexch(); calculaexch(); actsu.s(); escribeexchO; } if(findday:=O) { searchendO; } }

etrcpy(horaaux, "TOTS"); pors1n1eO;

Page 207: MAESTRO EN SISTEMAS DE INFORMACION s

. escrlbeexchO;

fprlntf(fpexchsal, 11AWWWW4lll11UlílUXUIIUIUUUWllWXAlllllllillWllWllllUWWlllQl(J\n") . escsunasO; lnlclasu.(); }

,· ...... ·-**************"'****'**-************** NOMBRE: LEEPER 1000 FINCION: LEE PERICl>O DE DIAS A PROCESAR ALMACENA DIAS EN ESTRUCTURA DE DIAS

***********************************'********** I leeperiodoO < lnt i; i f ( ( fp2•fopen(PERIOOO _AUX, •r•) )==NULL)

{

}

pos(20, 15); printf("No se puede abrir el archivo "811 ,PERla>O_.Wl(); sal iclaO; exlt(1);

total di as=1; whi le((fscanf(fp2,"Xs" ,&datos))l•EOF) <

}

strcpy(days[totaldiasl .day,datos); tota ldi as++;

totaldias··· fclose(fp2);' }

/***************************************************** NOMBRE: SEARCHDA Y FUNCION: BUSCA EL DIA A PROCESAR

***************************************************** / searchday()

<

}

int j; finddaysO; for(j•1; j<•totaldlas; j++) < if( (strcq,(datos,days[jl .day)) =O) < findday.:1;> }

, ........................................................................ *** IKIIBRE: SEARCHEND RUTINA QUE AVANZA APUNTADOR A ARCHIVO FILER HASTA ENCONTRAR STRING END

************************************************"******'*'*************/ searchend()

< do< fscanf(fpexch,•Xs11 ,&plltos); } while((strc:q>(datos,END))l.,O); }

!*** ..... **********************************************************'******* NOMBRE: LEEEXCH LEE Y PROCESA LOS PARAMETROS DEL DIA Y HORA INDICADOS EN ARCHIVO EXCH. TXT .................... **************** ..... ***********************************/ leeexch()

< int zz; float datoseux; etrcpy(fecha8UX,detos); fechador(); for(zzs1 ;zz<=24;zz++)

{

fscanf ( fpexch, •Xs•, &datos); i f (( zz> 1 )&&( zz<29)) ·

< detosaux=atof(detos); } if(zz=1 )Cstrcpy(horaaux,clatos) ;} I f(zz .. •2)(regat t"Clatosaux;} i f(zz==3)(regcon=datosaux;} i f ( zz=z4)(orgacc=datosaux;} lf(zz.,=5)(page_1=detosaux;} i f( zz=6)(page_2"Cletoseux; > I f( zz==7)(reppage=datosaux; > i f ( zz=--8 )(cOl"f'9geaclatosaux; >

Page 208: MAESTRO EN SISTEMAS DE INFORMACION s

} }

i f ( uz=9){pageat t"Clatosaux;} i f ( zz==1 O){drlvcco=datosaux; > i f (ZZ""11 ){dr i acvc=datosaux; > if(zzms12){vcszPdatosaux;} i f (zz==13){vcdes=datosaux; > if(zz==14){rvccles=datosaux;} f f < zz==15 )Cvcdesbi!=datoseux;} lf(zz.,=16)Cvcdesa2=datosaux;> i f ( zz==17){vcedr i =datosaux;} if(zz==18)(vcddri=datosaux;} f f (zz=a19){l ocr"Clatosaux;} f f ( zz•s20){ l ochof 111-cllltosaux;} i f( zzz=21 ){hoffs"Clatosaux;} ff(zz--22)Cahoffs=datosaux;} I f ( zz=2l)Ccl rng=datosaux; >

/*******************************************************'***************** NOMBRE: CALaJLAEXCH CALCULA PORCENTAJES USADOS EN TABLAS EXCHANGE

******'****************************************************************** I calculaexch( l { float s._, s,,_=orpcc+page_ 1 +page _2+dr f acvc; if(regatt>O) ( porreg=(regcon/regatt)*100;} /*porcentaje de c~letacion de registros*/ else ( porreg•-1;} if(aum>O) ( porvccles=(vcdas*100)1(orgacc+page_ 1+page_2+driacvc) ;> /*porcentaje de llamadas coq,letadas*/ else { porvcdes= -1 ; } if(drlacvc>O) < pordriacc=(vcddri/driacvc)*100;} /*porciento de directed retrys*/ else < pordriacc=-1;} I f ( reppage>O) { porreppage=(page_2/reppage)*100;} /*porciento de repeated pages*/ else < porreppage=-1;} I f( (conpage+pegeatt)>O) ( porcongpage=(conpage*100)1(conpage+pageatt);}/*porciento de congestion en paging*/ else { porcongpagez-1;} if(s ... >O) { propdri=(drivcco*100)/(orgacc+page_1+page_2+drlacvc);} /*proporcicn de accesos resultantes en di rected retr(*/ else e propdri .. -1,> if( locr>O) ( loccelcala(lochof111/locr)*100;) /*porciento locatings para celulas calificadas*/ else { loccelcal=-1;} if(hoffs>O) ( porhoffexftz(shoffs/hoffs)*100;) /*porciento de hand-offs exitosos*/ else < porhoffexft .. -1,> if(vcdes>O) ( porclrng=(clrng/vcdes)*100;) /*porciento de llllllladas perdidas*/ else ( porclrng=-1;} }

!******'***********'************************************** IKl'IBRE: INICIASUMA INICIALIZA LAS VARIABLES SUMA.

********************* • * * '• *' '• * ************************ I i ni c i asuna() ( Slll!l"egatt=O; suaregcon=O; SlnOrgacc=O; s..,.:,age_1=0; s~ge_2=0;

/*Intentos de registro*/ /*confinneciones de registro*/

/*accesos originados*/ /*respuestas al voceo de primer intento*/ r H

del seglnfo intento*/ SIM5Ulllp8g=O; /*suna de page_1+pege_2 */

Page 209: MAESTRO EN SISTEMAS DE INFORMACION s

/*di rected retrys ordenados*/ /*accesos debidos a di rected retrys*/

s1111reppa11e=O; sim:onpage-0; s~geatt=O; sialrivcco=O; slalr i acvc=O; SIIIIVCBZe-0; BIBYcdes=O; s1.111rvcdes=O; SI.RVcdesb2..0; BIIIIVCdesll2-0; suwcaclr; sO; si.wcddr i -O; s1.111locr=O; s111lochof...O; susioffs,.O; su.hoffs=O; SIIIIC l rng=O;

/*ton,as de canal de voz para astableci11iento de lllllllldas*/ /*intentos de designacion de canal de voz*/

/*canales de voz designados al primer Intento*/ /*canales de voz designados desp,es del seginlo intento*/ /*intentos de designacion de canales resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de di rected retrys */

/*imlcacion de abonado */ /*imicacion de abonado CfAe deriva de un intento de hand·off*/ /*inicios de hand·offs*/ /*hand·offs exitosos*/ /*ll&llladas liberadas debido a la •la traS11lslon o perdida de la 11iS11111*/

}

!"***'******************************************************************* NOMBRE: ACTSUIAS ACTUALIZA LAS SIMAS LUEGO OE PROCESAR LA HORA.

***** .. *********************************************'******************** I acts1J11Bs() {

sll!lregatt=sinregatt+regatt; sunregcon=s1.111regcon+regcon; sLmOrgacc=&LaOrgacc+orgacc; s~ge_ 1 zslfff)Bge_ 1+page_ 1; S""'8&e_2•e~ge_2+page_2;

/*intentos de registro*/ /*confi111111ciones de registro*/

/*accesos originados*/ /*respuestas al voceo de primer intento*/ /* "

del segundo intento*/ s~11•&1.111S"""9g+Slfff)BS; /*suna de page_1+page_2 */ s111reppagecSU11reppage+reppage; s1111Conpage=sunconpaga+conpage; sinpageatt=s"""8geatt+pageatt; sl.llldrivcco=sl.llldrivcco+drivcco; sl.llldr I acvc•sl.llldr i acvc+dr i acvc; BLIIVCSZtt=SUIIVCSZe+vcaze; SUIIVcdes=SUIIVCdes+vcdes; sinrvcdes=sunrvcdes+rvcdes; SlDVcdesb2=slAVCdesb2+vcdesb2; s111Vcdesa2=sl.RVCdesa2+vcdesa2; s1.111Vcadr i •SU11Vcadr i +vcadr i ; s1111Vcddri=sU11Vcddri+vcddri; sU1locr=s1111locr+locr; sumlochofa=sunlochofa+lochofa; aimoffs=sumoffs+hoffs; sunshoffs=sunshoffs+shoffs; SIIIIC l rng=s111e l mg+c l rng; lliBIIB*/ }

/*directed retrys ordenados*/ /*accesos debidos a directed retrys*/

/*tomas de canal de voz para establecl11lento de llamadas*/ /*intentos de designacion de canal de voz*/

/*canales de voz designados al pri111er intento*/ /*canales de voz designados despues del segundo Intento*/ /*intentos de designaclon de canales resultantes de directed retrys*/ /*designaciones de canales de voz resultantes de directed retrys */

/*imicacion de abonado*/ /*imlcaclon de abonado CfAe deriva de un intento de hand·off*/ /*inicios de hand·offs*/ /*hand·offs exitosos*/ /*llmmdas liberadas debido a la mala trasmision o perdida de la

!********************"**********'************************-******* ....... ** NOMIIRE: ABREEXCH ABRE ARCHIVO EXCHANGE NIIIBRE.EXCH PARA ESCRIBIR DATOS DE SALIDA

•***•*******************************************************************/ abreexch() {

lnt ll; lf((fpl=fopen(SALIDAS AUX,"r"))==NULL) /*contiene PATH Y NCII. ARCH. SAL.*/

{ -

}

pos(ZO, 15); printf("No se puede abrí r el archivo Xs11 ,SALIDAS_AUX); sal idaO; exit(1);

for(ll=1;ll<=7;ll++) e fscanf(fpl,"Xs",&EXCHSAL_AUX); > fclose(fpl);

if((fpexchsal=fopen(EXCHSAL_AUX,"w"))==NULL) /*contiene PATH y NON. ARCH. SAL.*/ {

}

}

pos(20, 15); printf("No se puede abrir el archivo Xs",EKCHSAL_AUX); sal idaO; exit(1);

/******** .. **************************************************************

Page 210: MAESTRO EN SISTEMAS DE INFORMACION s

N1148RE: ESCRIBEEXCH ESCRIBE RESULTADOS EN ARCHIVO NIIIIIRE.EXC

..................................................... **********************/ escrfbeexch() e

}

long buffer; fprfntf(fpexchsal, "' ">; fprl ntf (fpexchsal, •"Xs• ,horaaux); fprlntf(fpexchsal, •• ">; fprf ntf(fpexchsel, "X7. 2f•, porr1111); fprfntf(fpexchsal, •• "); fprintf (fpexchsel, •,a. 2f•, porvcdes); fprintf(fpexchsal, •• "); fprintf(fpexchaal ,• X7.2f" ,pordrfacc); fprf ntf (fpexchsal ,•• ">; fpr I ntf ( fpexchsa l , •%7. 2f •, porreppage) ; fprintf(fpexchsal, •• "); fprf ntf(fpexchsal,...,;, .2f" ,porcongpage); fprintf(fpexchsal ,"'">; fpr f ntf ( fpexchsa l , • X7. 2f•, propdr i >; fprfntf(fpexchsal ,"'"); fprintf(fpexchsal,• X7.2f•, Loccelcal); fprintf(fpexchsal, •• •); fprintf(fpexchsal, 1"'7 .2f" ,porhoffexi t); fprf ntf(fpexchsal, •• "); fpr i nt f ( fpexchsa l , •X7. 2f •, por el rna); fprintf(fpexchsal, •• \n•);

/********************************'************************** NOMBRE: FECHADOR ESCRIBE ENCABEZADO CUANDO INICIO DE HOJA O CAMBIO DE DIA

*******************'***************************************/ fechador() e i f(contfecha,.=1)

e

}

strcpy(antfecha, fechaawt); encabeza();

lf(contfecha>1) e strcpy(despfecha, fachaaux); ffC (str"""Cdespfecha,antfecha)) 1..0 ) e

porsU1111s(); strcpy(hor'aaux, 11TOTS");

escribeexchO;

fprfntf(fpexchsal,•UllWlllllUlllllllállllWllWXlUWUIIIIIUllllllli~Annlliü\n\n ");

}

escsums (); inicias~(); encabeza();

}

atrcpy(antfecha,despfecha); }

contfecha++;

/********************************************************** NCIIIIRE: ENCABEZA ESCRIBE ENCABEZADO CUANDO INICIO DE HOJA O CAMBIO DE DIA

*********************************'************************* I encabeza() e

iniclaserO; fprintf(fpexchsal,"MTX: Xs FECHA DEL IIJESTREO: Xs \n\n",laregion,fechaaux); fpri ntf ( fpexchsa l , "EXCHANGE RESUL TS\n"); laser _cOlll(Strolce_wei ght ,bold, fpexchsal); laser _cOll(Pi tch, •14.00•, fpexchsal >;

fprintf e fpexchsal, •úlllillWllllllllAlWUWIIWllllllilJIIIIIIUlllllllWWlillilllllWWWliWlllWAWlill¿ \n" >

la ser_ ccrn( L i ne_ sp, 116", fpexchsa l ) ;

Page 211: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf(fpexchsal,ª'HORA' XREGS '%ASJGN.'X DIRECT 'XREPEAT 1X COHG.'PROPORC.' " DE 'Xlt·OFFS' me '\n");

laser _c1111(L ine_sp, •611 , fpexchsal); fprintf(fpexchsat,•• J •v.c. OIC'RET.IN OIC'PAGE OIC' PAGING'DJR RET.'LOCATING' OIC J CLRNG

'\n'');

fpr i ntf Cfpexchsa l, •llllllUllllll&llllllllllllllllllllillWUlllUUllllllllUIIIIIIIUUl.Ullllillill '\n• >

} , ..................................... ********'** ......... ******'***************

NCIIIRE: PORSlllAS CALCULA PORCENTAJES USADOS EN TABLAS EXCHANGE PARA TOTALES (SIMAS)

*************************'************************'ª''*'*'''******•******/ por&UIIIS() {

float s~; sU111=sumreacc+sim.-11e _ 1 +s~ _2+slllldr i acvc; i f C si.regatt>O > < porreg=(sUll'egcon/sLmregatt)*100;) /*porcentaje de cG111pletaclon de registros*/ else < porrefF·1;} ff ( SUlll>O) < porvcdes•(s1111Vcdes*100)/(sllll0rgacc+s111"8118_1+s~ge_2+sundriacvc);} /*porcentaje de 11-«las caq, l etedas* / elae C porvcdes=-1 ;} i f (alJlldri acvc>O) C pordriacc=(sunvcddri/sundrlacvc)*100;) /*porciento de directed retrys*/ else { pordriacc=-1;) i f ( sll!lreppage>O) { porreppage=(s~ge_2/sinreppage)*100;) /*porciento de repeated pages*/ else e porreppa11e=-1; > f f ( ( SU11Conpage+s111p1geatt )>O) < porcongpagea(BU11C011)11ge*100)/(s~onpage+s.-.,ageatt);)/*porciento de congestion en peging*/ else { porcongpage=-1;) if(suna>O) { propdr i =( slJlldr i vcco*100 )/ ( sllllOrgacc+s~e _ 1 +s~ge _2+slllldr i acvc);) /*proporc i en de accesos resultantes en di rected retr'(* / else < propdrl=-1;> i f(sinlocr>O) { loccelcal=(sunlochofa/s1111locr)*100;) /*porcfento locatings para celulas calificadas*/ else e loccelcal"·1;> ifCsLllfloffs>O) C porhoffexit=(s~offs/alld,offs)*100;) /*porciento de hand·offs exitosos*/ else { porhoffexit=-1;} i f(suwvcdes>O) C porclrng=Csuiw:lrng/sLDVcdes)*100;) /*porciento de llMadas perdidas*/ else { porclrng=-1;} }

/********* ...... ******************'**************************************** NCJISRE : ESCSLIIAS ESCRIBE RESULTADOS EN ARCHIVO NOMBRE.EXC

************************************************************************/ eSCSIIIIBS () {

long buffer; iniclaser(); fpri ntf (fpexchsa l, "\n"); fprfntf(fpexchsal,"SI.IIA TOTAL DE PARAMETROS DURANTE EL DIA\n\n"); laser _cClll(Stroke_weight,bold, fpexchsal ); laser _ccn(Pitch,•14.0011 , fpexchsal ); fprintf(fpexchsal,"REGISTROS, HANDOFFS Y LLAMADAS CAIDAS:\n"); fprintf(fpexchsal,•ú~lllUIIUllllllllAA.UXAlillWUl¿\n"); /*laser _com(L ine_sp, 11811 , fpexchsal );*/ fprintf(fpexchHl,"'REGATT 'REGCON J LOCA 'LDCHDFA' HOFFS 'SHOFFS.' CLRNG '\n"); fprintfCfpexchsal,•lWllll.lU.UWUlllllllllllllllWWID.Ull.UlllWWl'\n"); fprintf (fpexchsel, "' ">; buffer,.sinregatt;

Page 212: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf(fpexchsal, "X7ld", buffer); fprintf (fpexchsal, "' •>; buffer=s..-1111can; fprintf (fpexchsal, "X7ld" ,buffer); fprlntf (fpexchsal, •• 0 );

bufferzs1111locr; fprlntf(fpexchsal, •"7ld" ,buffer); fprintf(fpexchsal, "' "); buffer=sU11lochofa; fprf ntf ( fpexchs11l, •X7ld", buffer); fprlntf(fpexchsal, •••); buffer=sUllhoffs; fprintf( fpexchsal, •X7ldN ,buffer); fprintf(fpexchsal, •••); buffer•su.hoffs; fprintf(fpexchsel ,•"7tcl" ,buffer); fprintf(fpexchsal, •• •); buffer•simclrng; fprintf(fpexchsal, -XTldN ,buffer); fprintf(fpexchsal, •• \n•); fprfntf(fpexchsal,•l.lUUWlWill4llUllUUIUIIA.UWA.U.UIUUW.UWü\n");

fprintf(fpexchsal, "ACCUOS:\n");

fprintf(fpexchsal,•úlllllAlAJlllllllAllAAllllllllllllllilAllAlllllUllllllllAWllllllllAlllllllllllllllll M¿\n">; /*laser _cOlll(L ine_sp, •8•, fpexchsel);*/ fprintf(fpexchsal, 11 '0RGACC 'PAGE_1 'PAGE_2 'REPPAGE'COIIPAGE'PAGEATT' VCSZE ' VCDES 'RVCDES

'VCDESB2' VCDESA2' \n");

fprintf(fpexchsal,•lAllUUUlllllllllUllllllllUUllllUUllUIIW.UWWlUUUlAlllllllAlUlllUlllU ll '\n");

fprintf( fpexch9Bl, '""); buffer=siaorgacc; fprintf(fpexchsal, "X7ld" ,buffer); fprfntf(fpexchsat ,•• "); buffer:s~ge 1; fpri ntf ( fpexchsal, ""7ld''. buffer): fprintf(fpexchsal ,"'"); buffer=s~ge 2; fpri ntf ( fpexchsal, "X7ld". buffer); fprf ntf(fpexchsal, "'"); buffer=su,oreppage; fprintf(fpexchsal, "X7ld" ,buffer); fprf ntf(fpexchsal, "' "); buffer=suncanpage; fprintf( fpexchsal, •"7ld'1,buffer); fprintf(fpellchsal, •• "); buffer=suipgeatt; fprintf(fpellchsal, ""7ld" ,buffer); fprintf ( fpexchsal, •• ">; buffer•suwcsze; fprintf (fpexchsal, •X7ld" ,buffer); fprintf(fpexchsal, •• ">; buffersSU1111cdes; fprl ntf ( fpexchsal, •X7ld'', buffer); fprlntf (fpexchsal, "' "); bufferzs1111rvcdes; fpri ntf ( fpexchs11l, •X7ld•, buffer); fprintf(fpexchsal, ""'); buf fer=suwvcdesbi!; fprintf(fpexchsal, ""7ld" ,buffer); fprintf (fpexchsal, •• "); buf f er=suwvcdesa2; fprintf(fpexchsal, 11X7ld" ,buffer); fprintf(fpexchsal, '" \n">;

f pri ntf ( fpexchsal , •AUlllUlUIWlillllllAlilllllllü.U.UWWl.Ul.UIDUAAll.UlU4llllllAAAWWAlllU llil\n");

fprintf(fpexchsal,"PAIIAIIETROS CON RELACIONA DIRECTED RETRIES:\n"); fpri ntf ( fpexchsa l, 11úlllllllUUlUlAUUUlAWl.Ul¿ \n"); /*laser _cOlll(L ine_sp, "8", fpexchsal) ;* /

Page 213: MAESTRO EN SISTEMAS DE INFORMACION s

}

fprfntf(fpexchsal ,"'DRIVCCO'DRIACVC'VCADRI 'VCDDRI '\n"); fpr i ntf < fpexchsa l, •llllllllilillWAllUlllllllllllll '\n"); fprintf(fpexchsal, u,•); buf ferstlUll:lr I vcco; fprintf<fpexchsal, "X7ld'' ,buffer); fprintf(fpexchsal, "' •); buf fer=suadr I acvc; fprintf(fpexchsal , 1'X7ld11 ,buffer); fprintf(fpexchsal, "' •); buffer .. s...w:adri; fprintf(fpexchsal, "X7ld'1 ,buffer); fprintf(fpexchsal, "' "); buffer=SWHcddrl; fprintf(fpexchsal, "%7ld11 ,buffer); fprintf(fpexchsal, •• \n11 );

fprintf(fpexchs11l,ullillllllllllillll41llllll411Uillü NOTA: (·1)= NO INTENTOS\n•); fprintf (fpexchsal, "Xc", FFF);

/***************************************************** .......... ************************* NOIIIRE: INICLASER FIIICIOII: INICIALIZA LA IMPRESIOII EN LASSER

************************************************************************************/ iniclaser() e

}

l eser_ cOIII( Or i en tac i on, Horizontal , fpexchsa l ) ; laaer _c1111(Left:n1Brgln, "5", fpexchsel); /*laser _cOll(Style,Desktop, fpexchsal) ;*/ laser _com(Pitch,"12.0011 , fpexchsal); laser _cOll(Point_si ze, •12.011 , fpexchsel); l11ser _ccn(Style,upri11ht, fpexchsel ); laser _coni(Stroke_weight, extre_black, fpexchsal ); laser _ c01A(Typef ace, Gothl e, fpexchsa l); laser _cam(L ine_sp, 11611 , fpexchsal);

Page 214: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: laaerccm.c

#incliae <stdlo.h> #fncliae •laserdef .h•

laaer _cOll(fwicion1 ,par-tro,ap_sal ida) char fwicion1[10J; char par-tro[10J; FILE *ap_sal ida; {

,. */

}

1

char c..ando[25J,fwiclon[10J; char token [ZOJ ;

/*rev long(fwicion1, 10);*/ /*rev)ong(parametro, 10) ;* / /*printf("Entra a fwicion lasercoa1\n11

);

printf("fwicion1= Xs\n", fwicion1 );*/ strcpy(fwici on, fwicion1 >; /*printf("copia fwicion1 a fwicion= Xs\n",fwicion);*/ strcpy(c0111Bndo,Esc); /*printf("Copia en c-.do Ese comando= Xs\n•,cOIIIBndo);*/ obten_token(token, fwici on, "#"); strcat(c,-,do, token); /*printf("Hace el strtok de fwicion y lo concatena con comando\n"); pri ntf (•camancb=Xs\n", COlllllndo); printf("fwicion=Xs\nª, fwici on) ;* / if Cparametro[OJ >

{

strcat ( coniando,par-tro); obten token( token, fw,c Ion, 11 \x011 );

/*prlñtf("\n token Xs•,token);*/ strcat(comando, token); /*printf("\n c011111ndo Xs•,comando);*/

};

rev _long ( COIIIBndo, 25);

fprintf(ap_sal ida,"Xs",comando); /*printf("Escribe el comando= Xs\n11 ,conindo); getchO;*/

Page 215: MAESTRO EN SISTEMAS DE INFORMACION s

fUl!f'lte: lsrp

#include<stdio.h> #include<ctype.h> #include<stdl ib.h> #lnclude-th.h> illlnclude <dos.h> #inchlde <conio.h> #inchlde <stdarg.h> #include <graphfce.h> #lnclude •lsrpO.c11

#lnclude II laserdef .h"

FILE *fp1, *fp2,*fp3, *fpt, *fp4, *fp6, *fp8, *fpin, *fprb, *fp9, *fp10, *fpdia, *fpsal, *fpaux, *fpll8Jl; FILE *fprutio, *fp_reg, *fpabon, *fpci ty ,*fprbs;

char NAME_AUX [35], LSR AUX 1351 ={11\\LSR. TlCT 11),

REG -AUX 1351 =Cº\\REG. TMP"), PRoÑ AUX [35] =C"\ \PROM. TMP"), HORA-AUX[35]={"\ \HORA. TMP"}, RUT AUX[35J=C"\\RUTORDEN. TMP"), HORAPICO AUX[35J=C"\ \HORAPICO. TMPu), PERIODO AUX[35J=C"\\PEAIODO. TMP"), /*MAXIMOS AUX[35J=C"\\MAICIMOS. TMP•),*/ SALIDAS AÜx (35) =C"\ \SALIDAS. TMP"), LSAPAOM -AUX [35) ={11 \ \LSRPROM. TMP"), VALLSR_AUX [35) ={"\ \VALLSR. TXT"), RBS_AUX (35) ={"\ \ABS. TMP"), cadena[35J;

char INFR_AUX [35); char MA>CIMOS AUX [35]; char AIIOIIADOS AUX (35] ; char auxesccityt20J; char blancos [221; char auxblanc [221 ; char stringtMAlCLINJ; char datos t20J ; char tipoxt3J; char di spopera [3J ; char fechafstdate en; char date. en ; char hour [51 ; char regi on [20) ; char fstdate en; char lstdatetn; char first; char aux [201 ; char nameele111[20]; int cuentatotsftfos; int totalstati-; int countl ines; int escape; int theinost; i nt contdays; lnt totalhora; int ffstdate; fnt l'IOIIBrchf; i nt fespr011; int aux4; int chris; int findadic; int extracanales; int &~canales; int s1111Cel; int s1.11111canalestot; fnt 8W!il iar; int cityauxindex; fnt coq,letado; int citysimtotact; int citysimtotailt; int contsect;

/*usado para validar archivo de entrada datos*/ /*usado para validar archivo de entrada datos*/

/*contador usado para escritura de rbs* /

/*para conversion de un scape*/ /*para guardar la hora pico*/

/*total de horas a procesar de acuerdo a horas leidas en la tabla*/

/*usada para indices de escritura*/ /*bandera valndv* /

/*bandera de hallazgo ruta adicional*/ /*para canales extra*/ /*para sun11 de canales extra*/

Page 216: MAESTRO EN SISTEMAS DE INFORMACION s

int jj; int cuent11sitios; int •ucity; int NAXCITY; int finclstation;

/*para conteo de rb& "'9 no aparecen en rruestra*/

float datof; float hightraf; float lllhtin; float riltout; float sualn;

/*para guardar el trafico registrado en la hora pico*/ /*uaada en simrutina de calculo del antime*/ /*usada en simrutina de calculo del mtime*/ /*usada en simrutina de calculo del nl,tilll!*/

f loat SUIOUt; /*usada en aimrutina de calculo del mtilll!*/

float a111111rptdisp; float s111111rptcap; float sumrptñlo; float s111111rptnbids; float slftllrptlllht; float pr<1111rptnllt; float s~roc...,, f loat s1mrptporsat; f loat entrante; float saliente; f loat porentrante; float porsal iente;

char int int

thehour [5] ; lsrhrdi 11trg; lsrhrdi si nclex;

char lsrhrdi ahora [5]; char larhrdf afecha en; char larhrdi ar [15]; float lsrhrdi atraff; long lsrhrdianbfds; float lsrhrdf ac:cong; float lsrhrdiaanblo; float lsrhrdi...tltime;

float s111111rbdl sp; float ,nnacaprb; float sunrealrb; float sunarbanblo; float s~rbnbids; float sunart.ht; float prmN"bmt; float sllllrbporsat;

/* indice respecto a la tabla de infraestructura*/

int contitem; int dayselect; int cont3;

/*contador de items dados de al ta*/

int busque; int halla; long dato!; int cent; int itein; int iter; int m; int z; int flaginic; int fprimera; int busca; int fincl;

/*usada en aimrutina diaselect para busca día "'9 se val ida*/ /*contador de rutas en tabla definitiva*/ /*bandera ~ en tabla definitiva*/ /*bandera de encontre lugar en 111 tabla*/

/*ninero de item dentro del traffic aroup siendo procesado*/

/*contador iteraciones para escritura al archivo lsrprom*/

int val tr11f ,v11lnl,t,valnbids,v11lñlo; int flagesc; int search; int flllrd; int nurber; int fl~t; int flgfirst; int cont2; int openfst; int auxtot11ldia;

int slb:el; /*contadores usados para ~cion en clLulas*/

Page 217: MAESTRO EN SISTEMAS DE INFORMACION s

int nor-=el; lnt cel 7180; int cel8190; int cel 91100; int satcel; int supersatoel; int contador-cella;

float datof2=0.0; int erlz;

/*variables pare obtener erlangs y porcentajes*/

char caq,os [ZO] ;

char *strtok(); e11tern char cadenax(100J;

struct disp nrtdispCMAXRUTAJ; struct lsr lsrhrdia[IW(RUTA]; struct lsrinfo lnflsrCMINRUTAJ; struct horas hora CNAXHORAJ; struct dies diaCIIAXDAYJ; struct lllhts llht DIAXIIHTJ; struct fechas fecha CMAXFECHJ ; struct s- s!Nlora OIAXHORAJ; struct adics adic CMAXADICJ; struct nclties citiesCVECTORCITYJ;

· struct 1S811 11811ill0 CMAXRUTAJ; struct citiesproces cityprocesCVECTORCITYJ; struct radiobllse radiobases[220J;

11111in() {

cls(); titulo<>; strcpy(INFR_MIX,"\\INFR. TMP"); createc i ty(); pos(6,20); pri ntf c•\033[37;4411" >; printf(• PROMEDIOS DE TRAFICO"); pos(12, 15); printf(" pos(10, 15);

s t rcpy(ABOIIAIIOS _ AUX, "\\ASONADOS. TMP");

readr(); printf(• PROCESAIIDO ARCHIVO LSR. TXT"); /*printtc•,,,.);*/ ruta();

abri rO; /*abre archivos tabla.dat, lsr.dat,genero lrsmu.dat)*/ /*printf(• ABRE LOS 7 ARCHIVOS\n");*/

cont=1; /*inicializo contador de horas*/ cont2=1; /*inicial izo contador de rutas*/

/*printf(•conthora = Xd\n",cont);*/ /*printf(" LEYENDO ARCHIVO DE HORAS A PROCESAR\n");*/ leehora(); /*lee HORAS'*/ l eeinaxsa l (); fclose(fp4); leedla(); fclose(fpdia); /*printf("regrasando de leedla auxtotaldia=Jd\n•,auxtotaldia);*/ /*getch();*/

M)¡

/*printf(• LEYENDO ARCHIVO DE TOTAL DE RUTAS A PROCESAR (RESULTANTE)\n");*/ /*fscanf < fp6, •Xs11 , &datos);*/ fscenf e fp_reg, •Xs• ,&regl on); fclose(fp_reg); /*strcpy(region, REGN);* / readr(); inici811'11111(); fclose(fp6);

/*printf(" LEYENDO ARCHIVO DE RUTAS DE ENLACES CON LA RPT\n");*/ leeriltO; /*lee rutas para calculo de Bits*/ fclose(fp9);

Page 218: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf("\n") ;*/ pos(12, 15); printf(• PRCIIEDIOS DE TRAFICO MTX: Xs•,region);

laser _ca111(0rlentacion,Horizontal, fp2); /*laser _cOll(Syllbol_set,PC8, fp2); laser _cOlll(Pitch,"12.DO•, fp2);*/

laser _ca111(Drientacf on, Horizontal, fp2); laaer _ca111(Left11111rgf n, •811 , fp2); /*laser _ca111(Style,Desktop, flJlllll() ;*/ laser _cClll(Pitch,•12.00•, fp2); laser _cOll(Point_size,•12.0•, fp2); laser _cOlll(Style,upri ght, fp2); laser _COll(Stroke_wei ght,bold, fp2); leser cClll(Typeface,Gothic, fp2); laser:com(L ine_sp, 116°, fp2);·

fprintf(fp2,"\n"); ffstdate=O; contdays=O; openfst=D; /*printf(•antes de frdiaa auxtotaldia,.Xd\n•,auxtotaldia);*/ irdiasO; /*prfntf(•regresardo de irdias auxtotaldia=Xd\n•,auxtotaldia);*/ /*getchO;*/

h i ghtraf=D; adi ci onl ();

renait>ra(LSR_AUX, cadena);

for( SUIICel =1; Sll!ICel <=MI NRUTA; suncel ++)

/*inicializa rutas adicionales*/

{ inflsr[sincel] .sintraff=O;) /*inicial iza sinas en ce lulas*/

wh i le(cont<-totalhora) {

/*printf(ªcont = Xd totalhora= Xd\n",cont,totalhora);*/ /*printf(•antes de insunahora auxtotaldia=Xd\n•,auxtotaldia);*/ /*auxtotaldl a=tota ldf a;*/ insunahrO; /*printf("despues de inau.hora totaldia"Xd\n", totaldia);*/ /*printf("desFM,les de inst.nahora auxtotaldia=Xd\n",auxtotaldia);*/ /*getch (); * /

if(cont>1) {

openfst=1; /*ya ebrio el archdivo al nienos i.ia vez*/ /*printf(•valor de openfst para cont >1 ,openfst = Xd\n",openfst);*/ )

pos(14, 15); printf( 11 PROCESANDO LA HORA = Xs ",hora[contl .time); /*printf("PROCESANDO LA HORA = Xd •,cont);*/ /*f f (cont<=totalhora)

putchar(13); */

f lgf i rat=1; flagfnicsO; flagesc=D;

/*printf("valor de flaginic = Xd\n'', flaginic);*/ i f ( ( fp1•fopen(LSR_AUX, 11r•) )=IIULL) /*i f( (fp1=fopen("LSR. TXT 11 , "r") )==NULL)* I

{

)

pos(20, 15); printf("No se puede abrir el archivo LSR. TXT"); sal ida(); exft(1);

whf le((fscanf(fp1 ,•ixs•,&datos)) 1 =EDF) e /*printf( 11ENTRA A LEER ENCABEZADD\n");*/ /*printf("valor datos dentro del while Xs\n",datos);*/ /*printf("antes de diaselect auxtotaldla=Xd\n11 ,auxtotaldia);*/ diaselect();

Page 219: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf("al regreso de dieselect, dayselect=Xd\n11 ,dayselect>;*/ /*getch();*/

/*exltC1);*/ if(dayselect-1) {

/*prlntf("entra II if dayselect=1\n•);*/ strcpy(date,datos); /*prlntf("valor de date • Xs\n",date); getch();*/ I f(openfst=O) { /*prlntf("prhnera apertura de archivo, openfst = Xd\n",openfst);*/ if(ffstdate-=O) {

/*printf("entra la priniera vez II fecha Xs: \n",date);*/ strcpy( fstdate,date); /*printf("fstdate= Xs\n", fstdate);*/ /*getchO;*/ strcpy(fecha [contdays] .quedi a, fstdate); /*printf("fecha[Xd) .quedia = Xs \n",contdays, fecha[contdaysl .quedia);*/ fecha [contdaysl • bandf a=1; ffstdate=1; contdays++; fecha [contdaysl .bandi a=1;

}

else <

}

}

i f(str~(date, fstdate) 1 =O) <

}

/*printf("ya no es la primera vez en la fecha Xs\n",date);*/ /*printfC"fstdate = Xs \n",fstdate); printf("date = Xs \n",date);*/ strcpy( fstdate,date); /*printf(•fstdate actual izada = Xs\n",fstdate);*/ s t rcpy( fecha [contdaysl • quedi a, f s tdate); /*printf( 11 fecha[Xd) .quedia = Xs \nª,contdays,fecha[contdaysl .quedia);*/ contdays++; fecha[contdays] .bandia=1;

fscanf(fp1, 11Xs11 ,&datos); strcpy(hour ,datos>; /*printf(•hour "' Xs \n",hour);*/ /*printf(•hora[Xd) .ti111e: Xs \n",cont,hora[cont] .ti111e);*/ if( (str~(hour,hora[contJ .time))==O )

< flagesc=1;

/*printf(11entr11 al if ,por los tanto horas iguales\n">;*/ if(flaginfc::Q) /* pri111era vez que entro a 1n1 hora*/

< /*printf("antes del do para inicial izar itenis\n"); printf(•fstdate = Xs \n",fstdate); ' printfC"date : Xs \n•,date); printf("contdays " Xd \n",contdays);*/

ftem=1; do /*while( (strcnip(datos,END)) 1=0 )*/

< /*printf("INICIALIZA IT.EM Xd\n", itetn);*/ fscanf(fp1,"Xs",&datos); /* noamre del item leido*/ inicia(); itentt+;

}

whi le((strcq,(datos,ENO))l:O); ftem··; flaginic=1; /*inicial izo la primera hora de itenis*/

}/*fin ff(flaginic==O)*/

else/*f laginicl =O*/ < /*printf("ENTRO AL ELSE\n");*/ lf(flaginic .. =1>

Page 220: MAESTRO EN SISTEMAS DE INFORMACION s

)

e /*printfC"entro al if flaginic •• valor de flaginic= Xd\n",fleginic);*/ itl!IIF'1;

e do

/*printf("LECTURA ITEM Xd\n11 ,ite111);*/ fscanf(fp1, 11"811 ,&datos); /*printfC"ruta "8\n",datos); getchO;*/ leer(); /*printf( 11valor lsrhrdia[1].fecha es Xs\n",lsrhrdia[1].fecha);*/ /*printf("valor inflsr[1J .fecha es Xs\n",inflsr[1] .fecha);*/ prDIIO; /*obtiene 11111Xi1DOS y 111inimos*/ /*printf( 11regresando de prOllll!dios iteoFXd\n•,itetn);*/ /*getchO; */ itemn++;

> while(Cstr~Cdatos,END))!=D); i tetn~ .. ;

)/*fin if(flaginic==1)*/ )/*fin del else*/

)/*fin del if de c°""8racion de horas*/ else {

)

/*printf("llega a buscaend\n");*/ buscaend();

}/*fin de diaselect*/

else {

)

/*printf( 11 llega a buscaend\n");*/ buscaend();

)/*fin whi le eof*/ /*printf("SALE DEL WHILE EOF\n");*/ if(flageac~•1)

{

lnfraO; divprOIII()¡

porcent(); calamtO;

i f(totalhora>1) {

valndv(); )

esprOIIIO; flagesc=O;

/* if(totalhora<=1) <

e5CIIIBX() ¡ ) ~

)

/*prlntf("REGRESA DE ESCRIBIR LOS PROMEDIOS\n");*/ fclose(fp1); cont++;

strcpy( lstdate,date);

ifCtotalhora>1) esanaxO;

datfecha(); /*if(chris=~1)

{

fprintf(fp3, "\n11 ); fprintf(fp3,"REVISE su TABLA DE INFRAESTRUCTURA\n"); fprintf(fp3, "\n"); )*/

/*prlntfC" \n");*/ /*printf( 11CERRANDO ARCHIVOS \n");*/

Page 221: MAESTRO EN SISTEMAS DE INFORMACION s

pos(18, 15); printf(• FIN DEL PROCESOª); posCZZ, 15); prlntf(" OPRIMA CUALQUIER TECLA PARA CONTINUAR ••• •); getchO; pos(ZZ,55); clsO; exitC1l; }/*fin del 1111in*/ /********'****** ............ ********' '' .. '' .... '*******' ••• ,, ........................ .

N<IIBRE: ABRIR FUNCION: ABRIR EL ARCHIVO QUE CONTIENE LA INFORMACION,

EL ARCHIVO DONDE SE ESCRIBE ,EL ARCHIVO DE VALIDACION DE LA INFORMACION PROCESADA Y ARCHIVO PARA MAXIMOS Y NINIMOS.

************************ ..... *************************************************/ abrir() {

/* REG. TMP*/ /* PRCII. TNP* I

!* HORA. TMP* I !* RUTORDEN • TNP !* INFR. TNP*/

/*HORAPICO. TNP*/ /*PERIODO. TNP*/

*!

renoaibra(REG_AUX,cadena); renmbra e PRCII AUX, cadena>; renmbra( HORA=AUX ,cadena>; renoaibra(RUT _AUK, cadena); renoaibra( INFR_AUX, cadena); renombn(IIORAPICO_AUX,cadena); renmbra(PER IODO_AUX, cadena); renombra(ABONADOS_AUX,cadena); renmbra( SALIDAS_AUX, cadena); renonibra(VALLSR_AUX, cadena); renombra(RBS_AUIC,cadena);

/*NlllERO DE ABONADOS POR CllJlAD ABONADOS. TNP*/ /*SAL! DAS. TNP* I

/*VALLSR. TXT* / /*RBS. TNP* I

i fe (fp_reg .. fopen(REG_AUX, "r") )==NULL) {

}

pos(Z0, 15); printfC"No se puede abrir el archivo Xs11 ,REG_AUX); salldaO; exit(1);

i f«fpZ•fopen(PRIII_AUX, "W") )==NULL) (

}

pos(Z0, 15); printf("No se puede abrir el archivo Xs",PRCII_AIJX); salida(); exitC1>;

if((fp4=fopen(HORA_AIJX,ªr"))==NULL) /*contiene rutas y rdvs*/ (

)

pos(Z0, 15); printf("No se puede abrir el archivo Xs•,HORA_AIJX); salida(); exitC1);

i f ( ( fp6=fopen(RUT _AUX, "r") )==NULL) {

}

pos(Z0, 15); printf("No se puede abrir el archivo Xs",RUT_AUX); salida(); exit(1 );

i f ( (fp9=fopen( INFR_AUX, "r") )==NULL) {

}

pos(Z0, 15); printf("No se puede abrir el archivo Xs", INFR_AUX); salida(); exit(1);

i f( Cfp10=fopen( HORAPI CO_AUX, "11") )==NULL) {

)

pos(ZO, 15); prfntf("No se puede abrir el archivo Xs11 ,HORAPICO_AUX); sal ida(); exitC1>;

if CCfJXli B"fopen(PERIODO_AUX, "r") )==NULL) {

pos(Z0, 15); printf("No se puede abrir el archivo Xs" ,PERIODO_AIJX);

Page 222: MAESTRO EN SISTEMAS DE INFORMACION s

>

>

sal ida(); exlt(1);

/'*'**************************************'. & .. ' •• ' •• ' •• ******************************** NOIBRE: INICIA INICIALIZA LOS CAMPOS DE LA ESTRUCTURA PARA LSR

*********************************************** .. ***********************************/ inicia() (

I f((strcq,(datos,END)) 1=0) ( buscafnf(); /*strcpy(fnflsr[lteinl. fecha,date); strcpy(lnflsr[itenJ .hora,hour);*/

strcpy(thehour ,hour); atrcpy(inflar[ltl!IIIJ .r,detos); strcpy(larhrdia[ltenJ .r ,datos);

/*valrutaO;*/ fscanf(fp1, 11Xf11 ,&datof); i f(datof>=O)

/*Inicial iza prOllll!dios*/ /* validando el -1*/

e inflsr[iteml. traff=datof;

> else e

inflar [item]. traffE· 1; >

inflsr[iteml .ntraf=1;

fscanf(fp1, 11Xld11 ,&datoi);

/*inicial izo sunandos de promedios*/

if(datof>~O> /* val !dando el -1•/ e

inflsr[iteml .nbids=datoi; /*inicial izo nbids prOllledios*/ > else (

inflar Cf teniJ .nbicls=-1; >

inflsr[lteml .nrbids=1; /*prlntf(•fnf lsr[Xd] .nbids = Xd\n", itl!III, inflsr[ite,n] .nbids);*/

fscanf(fp1, 11Xf11 ,&datof ); inflsr[iten(J .ccong=datof;

fscenf(fp1 , 1'%dª,&inflsr[fteml .ndv); /*inflsr[iteinl .ndv--detof;*/ /*lsrhrdiandv=fnflsr[itelll .ndv;*/ lsrhrdla[iteinl .ndv=inflsr[itl!III] .ndv; /*val ndvO; * /

fscanf e fp1, "Xf", &datof); if(datof>•O) /* validando el -1*/

(

inflsr[itl!III] .anblo=datof; /*inicial izo anblo promedios*/ > else (

inflsr[itemJ .anblo=-1; >

inflsr[itl!III] .nanblo=1; /*prfntf("inflsr[Xd] .anblo = Xd\n", item, inflsr[iteml .anblo);*/

fscanf( fp1, "lf" ,&datof); if(datof>=O) /* validando el -1*/ (

inflsr[fteml .imtime=datof; /*inicial izo sunandos de promedios*/ > else (

inflsr[itellll .mtin,=·1; >

Page 223: MAESTRO EN SISTEMAS DE INFORMACION s

> }

inflsrtltemJ .mfltfnie=1;

/*printf("inf lar CXdJ .imtime • Xf \n", 1 te111, inf lsrtitemJ .imtime);*/ /*lllhtvalO; */ /*if(foo.nl==1) efectuando la s,,_ de rutas con la RPT por hora <

i f( f nf lsr CitemJ. traff>=O> <

>

suuhora tcont] .addzsUIIBhora [contJ .• add+inflsr Ci te91l. traff; prlntf(•en inicia s.-hora = Xf a la hora Xd\n•,sinahora[contl .add,cont); su.hora [contJ • f l sina=1;

> */

ff((inflsrtftemJ .lllhtime>=O)&&(inflsrCitemJ .nbfds>,,0)) /* validando el ·1*/ < f f (fOlrda•1&&f lgf i rst""º)

>

< /*prfntf("ya no es la primera flgfirst = Xd\n",flgfirst>;*/ /*printf( 11fcu-d" Xd\n",fOU'ld);*/ flaglllht,,1; inflsrt1J .s.....,tsinflsrt1J .slllllilt+(inf lsrtiteuil .nbids*inflsr Citell] .nntime); inflsr t1J .sl.llrblds=inflsr [11 .sln"lbids+inf lsr Ci tell] .nbids; /*printf(•inflsrt1J .sinmt = Xf\n", inf lsr t1J .slllllilt);*/ /*prlntf("lnflsrt1J .suiri,ids = Xd\n", inflsrt1] .sl.llrbids);*/

i f(f<>lnl==1&&flgf i rst==1) (

> >

/*printf(•f lgf i rst=Xd\n", flgf i rst);*/ /*printf("fcu-d = Xd\n",foinl);*/ /*printf(•encontro en tabla lsrhrdia[Xd] .r " Xs \n", item, lsrhrdia[itemJ .r);*/ flllflfflt=1; /*inicializo bandera de iq,resion imtprom*/ lnflsr[1J .sllllllht=inflsrtltemJ .nbids*inflsrtlteaJ .lllhtime; inflsr[1J .sl.llrbids=inflsr [itemJ .nbids; /*printf("inflsr[1] .simmt = Xf\n", inflsr[1J .sl.llld!t);*/ /*printf(•inflsrt1] .surnbids " Xd\n", inflsr[1] .s~ids);*/ ft;ffrst=O;

, ................................................................ *************************** NOMBRE: LEER RUTINA PARA LEER LOS CAMPOS DE LAS ESTRUCTURAS DE L SR

****************************************************************************************/ leer() < val traf,,O; /* banderas de val idacfon en O */ valdlt,:O; valnbids=O; valanblo=O; if ( (strc:nip(datos,END)) 1 =O>

< buscainfO; /*strcpy( lsrhrdia titem] .r ,datos);*/ strcpy(lsrhrdia[itemJ .r ,datos); strcpy(inflsr[itemJ .r,datos); fscanf(fp1 ,•Xf",&lsrhrdiatraff); /*lectura y val idacion*/ lf (lsrhrdi atraff<O)

valtraf=1; fscanf(fp1 , 11"811 ,&datos); lsrhrdianbids=atol(datos); i f( lsrhrdianbids<O)

valnbids=1; fscanf(fp1, •Xf" ,&lsrhrdiaccong); /* prlntfC"valor leido de lsrhrdiaccong = Xf\n", item, lsrhrdiaccong);*/

fscanf(fp1, "Is" ,&datos); lsrhrdi a [ltemJ .ndv:atoi(datos); /*val ndv(); * / fscanf(fp1, •Xf 11 ,&lsrhrdi aanblo); i f( lsrhrdiaanblo<O)

valanblo=1 • fscanf(fp1, •Xf" ,&lsrhrdialllhtime); /*imtva l (); * / i f< lsrhrdialllhtime<O)

valdlts1;

Page 224: MAESTRO EN SISTEMAS DE INFORMACION s

/* printf(•fln del leer( );\n");*/ }

}

/******* ........... *************************"******************************** NOMBRE: FORMFEED 1 DA El SALTO DE PAGINA SI ES NECESARIO

******'*********'****************'*******************************************/ fonnfeed1 C > {

if(cow,tl ines>TOTLINE) {

fpr i ntf ( fp2, •Al.UllllllAlllWUAAWJWUHIIIUIUUiil.UA.UXXA.U.UAWAl.U.U.UUHálllllUIIUIIIIIIU lWliiW.UliillW.U.U.UAlWilllAlAllAlWUWU\n''l;

fprintf(fp2, •Xc11 ,FFF); COll'lt l ines=1; fechador(); titulorbsO;

} } ,., ............ .,..,. ... , ........ .,..,. •• ,***********************'* ........ ****************************

N<IIIRE: FORMFEED2 DA EL SALTO DE PAGINA SI ES NECESARIO

********** ....... ************************************************"'********** I fol'fflfeed2() {

if(cow,tl ines>TOTLINE) {

fprintfCfp2,•Allllllllllllll&lllllllAliiliill.UllllAllllAllAAAAIIIAAAliill~llU.iill!NllAAllUWlAiiiiiilllAAA AllllllllUllHlAUAAlllXAWAlWllllü\n">;

fprlntf(fp2,"Xc", FFF); cow,tl i nes=1; fechador(); titulootras();

} }

/************"'**************************** ... ****************"***************** NOMBRE: FORMFEED3 BUSCA UNA RUTA ADICIONAL EN EL VECTOR DE RUTAS ADICIONALES

****************************************************************************/ fonnf eed5 () { if(COll'ltl ines>TOTLINE)

}

{ fprlntf(fp2, •Xcn, FFF); COW'ltl i nes=1; fechador();

laser _cClll(Pitch, 1112.00", fp2); laser _cOlll(Stroke_wei ght,extr11_black, fp2); fprintf(fp2, 11 OCUPACION Y SATURACION EN CELULAS:\n\n"); l11Ser _cOll(Synbol_set,PC8, fp2); laser _cOll(Pi tch, 1114.0011 , fp2); laser _cClll(Stroke_wei ght,nonnal, fp2);

}

/********************** .. ************'**************************************** NOMBRE: TI TULORBS TITULOS EN RBS

****************************************************************************/ titulorbs() {

laser _ccn(Stroke_wei ght ,extr11_black, fp2); laser _cOlll(Pi tch, u12.0011 , fp2); fprintf(fp2,•\n"); fprintf(fp2,"TABLA 4.· TRAFICO EN CELULAS:\n"); fprintf(fp2, 11\n">; laser _ccm(Stroke_weight,black, fp2); laser _com(Pi tch, 1114.0011 , fp2);

fprintf(fp2," úUlUllAUAUilllUllilllliUUAUAWJUllllilAllU¿ \n" >; fprintf(fp2,"

VALORES PROMEDIO '\n");

Page 225: MAESTRO EN SISTEMAS DE INFORMACION s

fprfntf(fp2,"ÚllllllllllllllAlllilKIIIIIIIIIIIIIIIIIIIWAlllllllAAllll~l.llAAAlllllAAAlllAA llllllllllllllllllUlllHlllllUlllllilillHUUW¿ \n• >; laser cDlll(l ine ap •811 fp2) • fprfntf(fp2,••-POIÍLACÍON • DESCRIPCION DE ' CLAVE ' TIPO ' NI.IIERO ' CAPACIDAD ' TRAFICO ' X DE

' DISPOS. ' NUMERO ' MHTIME ' laser _cDlll(l ine_sp,•6•, fp2); 'fprintf(fp2, ••

OCUPAC.' BLOII. ' INTENTOS '

X DE ' NEMero '\n");

LAS RUTAS ' RUTAS ' RUTA ' DISPOS ' SEG. 'SATURAC.'Disp.Exp.'\n");

ERLGS ERLGS '

fprintf(fp2,•11111All.llllllal.llllllllllllllllllllillllllAllllllllllllllllll~lllllllllllAIAIIIIII IHIIIIUllllUUl~lAllW·\n">;

laser _cOll(L ine_sp, "6", fp2);

/*fprintf(fp2, 1'POBLACION NCIIBRE RUTA TIPO DISP CAPAC TRAF OCUP. AIIBLO NBIDS MHTIME SAT. DISP. \n"); fprintf(fp2,• ELEMENTO REAL REAL REAL X PRCII

PRCII (SEG) " EXP \n\n");

}

*/ laser _can,(Stroke_wel ght,nonul, fp2>; laser _CCll(Pitch, "14.00•, fp2); coc.rit l i nes~c<Ult l i nes+6;

/************************************************************ ......... *********** NCll&RE: TI TULOOTRAS TI TULOS EN RBS

******* .. * ....... *******'**************************************** ............. ****** I tltulc,c,tras() {

laser _ccn(Stroke_wei ght,extra_black, fp2); laser _cm(Pitch, 1112.0011 , fp2); fprintf(fp2, "\nº); fprintf(fp2,"TRAFICO EN OTRAS RUTAS\n"); laser _cClll(Stroke_weight,black, fp2); laser _cDll(Pitch, •14.00", fp2); fprintf(fp2, "\n");

fprlntf(fp2," OllllHUIIIIIUUlllillWllllilllllllliUIIIUU¿ \n"); fprintf(fp2,•

VALORES PRCIIEDIO '\n•);

fprintf(fp2,•0IIWXAllWIIIIIUIIUIIUIIIIIIIIUlllllllllllll.UUIIIDADIWWWllllWIAllliWW II.QlllllllllllllllllllUlllllllWWl¿ \n");

laser _cDlll(L ine_sp,•811 , fp2); fprintf(fp2,•• POBLACION DESCRIPCIOII DE ' CLAVE ' TIPO ' N!MERO ' CAPACIDAD ' TRAFICO ' X DE

' DISPOS. ' N\IIERO ' MHTIME ' X DE '\n"); laser _can,(L ine_sp, "6", fp2); fprintfCfp2,"'

OCUPAC.' BLOII. ' INTENTOS ' LAS RUTAS ' RUTAS ' RUTA ' DISPOS '

SEG. 'SATURAC.'\n"); ERLGS ERLGS '

fprintf(fp2,•llillllllll.UUAllilLUUlilllWIIIIUIIIIUIAUWllllUUlllllWUlUUllllllllllllWWI.Ulll llllllllllUUUUlUlllllllllllUUIU '\n">;

laser _cD111(L lne_sp,•6•, fp2);

/*fprintf(fp2,"POBLACION NCIISRE NBIDS MHTIME SAT. \n"); fprintf(fp2,• ELEMENTO

PRCII (SEG) X \n\n");

}

*/ laser _ccn(Stroke_wei ght ,nonml, fp2); leser _cClll(Pitch, •14.00•, fp2); coc.rit l i nes=cllWlt l i nes+S;

RUTA TIPO DISP CAPAC TRAF OCUP. AIIBLO

REAL REAL REAL X PRCII

/***'********************************* ...... ******************************************* NCIIIRE: FECHADOR FECHA Y HORA EN CADA HOJA

*********************************'**************************** .. ******'**************/ fechador() {

laser _cClll(Stroke_wei ght ,extra_black, fp2); laser _com(PI tch, •12.oou, fp2); fprintf (fp2, "\n"); /*prfntf("entra a fechador\n"); printf("dia[1] .day= Xs\n",dia[1J .day);

Page 226: MAESTRO EN SISTEMAS DE INFORMACION s

getchO;*/ fprintf(fp2,''MTX: Xs FECHA DEL MUESTREO: Del Xs al Xs HORA: Xs\n", region,dia[1) .day, lstdate, thehour);

ccx.nt l I nes=cow,t l i nes+2; laser _cOll(Stroke_weight,nonnal, fp2); laser _cOll(Pitch, "14.00•, fp2); /*prlntf(Nva al prl111er whi le de escritura\n");*/

}

/**************************************************************************** NOMBRE: ESPROM RUTINA QUE ESCRIBE LOS PROMEDIOS OBTENIDOS DE UNA HORA DADA

*****************************************************************************/ esproinC) {

i nt aux; te11; lnt j;

char inft!20J; /*char rutas[8J ;*/ auxl tem=i tein; itein=1;

laser _cOll(Orientaci on, Hori iontal, fp2); laser _cOll(Leftall!lrgin, •8•, fp2); /*laser _cOlll(Style,Desktop, fp2);*/ laser _can(Pi tch, 1114.0011 , fp2); laser _com(Point_s i ie, 1112.011 , fp2); laser _cOll(Style,...,rl ght, fpnax); laser cCR(Stroke welght,bold,fp2); l aser: ccn( Typeface, Goth i e, fp2); laser _cOlll(Line_sp, 116•, fp2); laser _can(Pitch, •14.0011 , fp2);

fprintf(fp2, 11\n");

if(lnflsr[itemJ .esc==1) {

fprfntf(fp2, "\n"); }

ccx.ntl i nes=1; laser _cOlll(Pitch, 1112.0011 , fp2); laser _cOlll(Stroke_wei ght,extra_black, fp2>; fechador();

fpri ntf ( fp2, "\n\n•); laser _coin(Pitch, •12.00•, fp2); laser _com(Stroke_wei ght,extra_black, fp2); fprlntf(fp2,"TABLA 1.· TRAFICO EN LA INTERCONEXION TELCEL·RPT:\n");

fprintf(fp2,•\n•);

laser _cOlll(Pi tch, •14.00", fp2); laser _com(Stroke_weight,black, fp2>;

fprintf(fp2," úUIUlllliUlilllliWllllllllllWlllllWlllliillllllAAl¿ \n"); fprintf(fp2,•

VALORES PROMEDIO '\nª);

fprintfCfp2,•úllillilllilillllililAAilllllllllllllAIAIIIIAllllllllAWlllAAlllllllllllWllllllllllWAIAAIAlllllllAA IWWlllWllllllilillllllWUIIWIIA¿ \n");

laser _com(L ine_sp, •a•, fp2); fprintf(fp2,'" POBLACION DESCRIPCION DE ' CLAVE ' TIPO ' NUMERO ' CAPACIDAD ' TRAFICO ' X DE

' DISPOS. ' NIIIERO ' IIHTIME ' X DE '\n"); laser _cOlll(L ine_sp,"6", fp2); fprlntf(fp2,"' LAS RUTAS ' RUTAS ' RUTA ' DISPOS ' ERLGS ERLGS '

OCUPAC. 1 BLCJQ. ' 1 NTENTOS ' SEG. 'SATURAC.'\n");

fpr I ntf Cfp2, •llWlWllllllllllllllWlllllllllllllWAllllWlllllllllilAlllllUlilllllUWllllllll\llllUll lilllWlllllHUHlllllllllWllllllllW '\n">;

leser _cOlll(L ine_sp, •6•, fp2);

/*fprintf(fp2,"POBLACION NOMBRE RUTA TIPO DISP CAPAC TRAF OCUP. ANBLO NBIDS MHTIME SAT. \n"); fprintf(fp2,• ELEMENTO REAL REAL REAL X PROM

PROM (SEG) X \n\n");

Page 227: MAESTRO EN SISTEMAS DE INFORMACION s

*/ laser _cOll(Pltch, 11 14 .0011 , fp2); laser _cOll(Stroke_weiaht,normal, fp2); ccx.,t l i nes=ccx.,t l i nes+6; findstation=1; while( i tem<=contl) e aux4=inflsr (itSI]. index; lllhtval();

if(foint=1 l e escribe();

}

lt ..... +; }

laser _cOlll(Pitch, "14.00", fp2); laser _colÍl(Stroke_weight,black, fp2);

fpri ntf C fp2, •WWWllllllHllllllllllllUlllllllllAIIIIIIIIIUIIUllllllAllllillliXlAWllMlilllUWWllll.UU WAUUlUIIUUllllllllllAllillll.ull(J\n• l;

fprintf Cfp2, "\n"); laser _cOlll(Pitch,•14.00", fp2); laser _COlll(Stroke_weight,normal, fp2); fprintf(fp2, 11 \n");

fpri ntf C fp2, 11úWllWWUllUAlllWlWllllllllllllllllllllllllUllllllllAlllilllllillWWllllWlllW WllllllUlllllllWlllllllWliiliillll¿ \n" l; fprintf(fp2,'" TOTALES:"); fprfntf(fp2, 11 ' ">;

fpr I ntf ( fp2, "XII.Zf", sunarptdi sp); fprintf Cfp2, ""'); fprintf(fp2," X7.2f11 ,sunarptcap); fprintf(fp2, ""'); I f(sunahora(contJ .add<9999) Cfprintf(fp2," X7.2f",sunahora(contJ .add);}

if(sunahora[contl .add>9999) Cfprintf(fp2, 11 ****·**">;>

fprintf(fp2,""'l; if(s~roc'-""200) C fprintf(fp2,• "5.Zf",s....,.,roc...,);}

f f (s~roc...,,.200) Cfprintf(fp2,• **.**">;>

fprintf( fp2, •• "); fprintf( fp2, • "6.Zf", sunarptanblo); fprintf(fp2,""'>; if(s~rptnbids<99999> C fprintf(fp2," X7.1f",sunarptnbids);}

if(si.narptnbids>99999) Cfprintf(fp2," *****.*">;>

fprintf(fp2, "' "); if(pr0111rptrmt<9999) e fprfntf(fp2," X7.2f",pramrptimt);}

i f(promrptmt>9999l Cfprintf(fp2," ****.**");}

fprintf(fp2, '" "l;

if(s~roc...,,.100) C s1111rptporsat=s~roc...,·100; >

if(s....,.,roc'°"<"100) e sunrptporsat=O;>

if (s1111rptporsat<ZOO) Cfprlntf(fp2," "6.Zf•, sunrptporsat) ;>

i f(sunrptporsat>200) Cfprintf(fp2," ***.**">;>

fprintf(fp2, "' \n"l;

laser _cam(Pitch, 1114.0011 , fp2);

Page 228: MAESTRO EN SISTEMAS DE INFORMACION s

laser _cm,(Stroke_weight, black, fp2);

fprlntf(fp2,nAUIIIIIIIIIUIIIUllllllllilUllilUllllllllllll.UIUWWIUl1UlllllllllAllWWWlWUW WUUWAU.lllXlllíUXX.lW.UWUUú\n");

fprf ntf(fp2, 11 \n\n">; COU'ltl inea=cOU'ltl ines+3;

fprintf(fp2," DISTRIBUCION DEL TRAFICO: llll.2f porc. Erlangs\n" ,porentrante,entrente); fprintf(fp2," llll.2f porc.

Erlangs\n",porsal iente,sal iente); fprlntf(fp2, "\n''); fprintf(fp2," MHT PROM. DE LLAMADAS fprintf(fp2,•

\n•,.t,tout); fprlntf(fp2, "\n\n"); COU'ltl 11188-COU'ltl inea+7; fprintf(fp2,•Xc•, FFF); fechldor(); COU'ltl ines=1;

laser _ca111(Pitch, 1112.00", fp2); laser _cOlll(Stroke_weight,extra_black, fp2); laser _cOlll(Pltch, 1112.00•, fp2); laser _cm(Stroke_weight,extra_black, fp2);

fprintf(fp2, "\n\n"); fprlntf(fp2,•TABLA 3.· TRAFICO EN RUTAS ADICIOIIALES:\n"); fprintf(fp2, 11\n");

laser _cOll(Pi tch, "14.00", fp2); laser _cOll(Stroke_weight,black, fp2);

fprlntf(fp2," úllllllUIIIIUIIUIIIIIUUlllWIUIIIAlllAllll¿ \n•); fprlntf(fp2,•

VALORES PRCIIEDIO '\n");

laser _coni(L ine_sp, "8", fp2);

ENTRANTE: llll.2f

SALIENTE: llll.Zf

ENTRANTES: X8.2f seg. \n",niltin); SALIENTES: X8.2f seg.

fprintf(fp2,•• POBLACION DESCRIPCION DE ' CLAVE ' TIPO ' NUMERO ' CAPACIDAD ' TRAFICO ' % DE ' DISPOS. ' NIJIERO ' MHTIME ' X DE '\n"); laser _com(L ine_sp,"6", fp2); fprfntf(fp2,"' LAS RUTAS ' RUTAS ' RUTA ' DISPOS'' ERLGS ' ERLGS '

OCUPAC.' BLOQ. ' INTENTOS ' SEG. 'SATURAC.'\n");

fprintf(fp2, 11lllllllllillll,lAllllllllllllll.l.lm~llllllllllllll111AllllllllllAA.lll1Alll.l lUIIIIIUUUUIIIUIUUIWWlllll '\n">;

lasar _cOll(L lne_sp, •6•, fp2);

/*fprlntf( fpZ, "POBLACION NOMBRE NBIDS MHTIME SAT. \n"); fprintf(fp2, 0 ELEMENTO

PROM (SEG) X \n\n•); */ laser _cOll(Pi tch, 1114.00•, fp2); laser _com(Stroke_weight,nor1111l, fpZ);

ltein=1; -4=1; findstation=1; whi le( i tan<=cont3) {

-4=1nflsr [itenil. index; buscadi e();

if ( f i rv:ladi c==1 ) {

escribe(); }

item++; }

RUTA TIPO DISP CAPAC TRAF OQJP. ANBLO

REAL REAL REAL X PROM

Page 229: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf(fp2,•lllWJ1íllU1lllllllllllllllllllllWIIDAWWXWlUIIIUU.llUllllllllllllllllllll,llllllllll UlllllUUllllllllUlllllllJllllllllllü\n•>; fprlntf(fp2,•\n\n•); fprintf (fp2, "k•, FFF);

fechador( l; COl..lltl i nes=1; t I tul orbsO;

iteiF1; /*aux4=1; slftllC-l es=O;

whi le(ite111<=cont3) {

aux4=inflsr[iteml. index; nMvalO; f fe (atrcq,(rutdlsp[aux4J. tipo, 11RB•)..cO)&&(flllrd=•O>

{ canales(); lnf lsr [itera] .aLntreff=inf lsr [i telft). sUllltreff+inflsr Citeml • traff; c01..11tl i nes++; fo1'111feed1 e>; escribe();

}

itm++; }*/

contadorcel ls:oO; abrerbs(l;

for(jj=1; jj<=totalstations; jj++) e

findstation=O; for( j=1; J<=cont3; J++l

e if( (strC111p(radiobases[jj] .rb, inflsr[Jl .r))=:oO )

{

findstation=1; contadorce l la++; break;

}

} itemmj;

if Cf f ndstati °""'"º> <

}

COl..lltlines++; for111feed1 (); buscaescO; /*busca en la infraestructura los paranetros de la rb sin

datos en la muestra*/

lf(findstation=1) {

iteFj; /*prlntf("entra a findstation==1, j=Xd\n",]l;*/ 11Ull4=inf lsr Cite,(!. index; canales(); inf lsr [i tell] .slllltraff=inflar [i tl!III] .a111traff+lnflsr [i tl!III]. traff; COl..lltl ines++; fonnfeed1 O; /*printf(•va a escribe\n");*/. escribe(); /*printf(ªregresa de escribe\n");*/

}

/*getchO;*/ }

fclose(fprbs);

fprintfCfp2, "AlllllU.U.UlliUUUUX.UUWWUW.UUWWlXAWlWAÁWWWlli.UWAW.lllllUlli WlWUWWlWl.llWlUlüUXlllWlUUUXü\n"l; fprintf Cfp2, •\n"l; COl..llt l f nes++;

Page 230: MAESTRO EN SISTEMAS DE INFORMACION s

fornrfeed1 ();

s...arbixO; fprintf(fp2, •Xc:11 , FFF);

countl ines=1; fechador(); titulootresO;

it-1; eux4•1; f i ndsteti on=1; while( item<=cont3) e

}

aux4=inflsrCltemJ. index; l'lhtvelO; if( (str~(rutdisp(aux4J. tipo,"RB")!=O)&&(fotrd==O>

e

}

buscadi c(); if(findadic,.=O> e if(inflsr[itml .esc==1>

e

} }

count l i nes++; for111feed2();

escribe();

;tera++;

fprintf(fp2, •WWlUWWUUllllllWUlllllUUllAllllUWillillXilllU.UllUWWAWAUWllAAUXXlllU lllilllllUlllUllllllllilllJlllliAllllllUllü\n• >; fprintf(fp2, •Xc•, FFF);

i f(totalhora>1) e fprintf(fpmax,• Xs 11 ,thehour); fprintf(fpnex,• Xll.2f•,s111111rptcap); fprintf(f.-,x, 11 X8.2f11 ,sllllllhora(cont] .add); fprintf(f¡m,x, n Xll.2f11 ,simacaprb); fprintf(fflMX," X8.2f\n" ,sunreel rb); }

i teftFBUX i tem; }

/*********************************************'***'************************* NOMBRE: ESCRIBE RUTINA QUE ESCRIBE PRCl4EDIOS EN ARCHIVO

************'************************************************************* I escribe() e /*if(findstation==1 >

{*/ /*printf("entra el if(lnflsr[itell] .esc==1\n");*/ /*printf("llega a escribir iteni\n");*/

/*fprintf(fp2, •Xs•, rutdisp(aux4J .ciudad);*/ findcityO; fprintf(fp2,'" ">; fprl ntf ( fp2, 11Xs•, auxescc i ty); /*strcpr(auxblanc, rutdf sp[eux4J .ciudad);*/ s trcpr(auxblanc, auxescci ty); fespr01F1; blanco; fprintf e fp2, •rxs•, blancos); fprfntf(fp2,"'"); /*printf("va a buscanori>res\n"); */ buscanori>res O; /*printf(•regresa de buscanord,res\n");*/ /*fprintf(fp2, •Xs•, rutdisp[aux4J .nomelem);* / /*printf(•en escribe nemeelein=Xs\n",nameelem);*/ fprf ntf ( fp2, 11Xs•, nenieell!III); ./*strcpr(auxblanc, rutdisp[aux4] .nomelem) ;*/ strcpr(auxblanc,naineelem); fesprC1111=2; /* printf("fesprOIII = Xd\n11 , fespr0111);*/

Page 231: MAESTRO EN SISTEMAS DE INFORMACION s

/* prlntf("se va a la slA>rutina blanc:O\n");*/ blanco; /* printf("regresa de la so.brutina blancO\n");*/ fprlntf(fp2, •Xs11 ,blancos); fprintf(fp2,""'); /*fprlntf(fp2,''Xs", rutdiap[aux4J. tipo); atrcpy(euxblanc, rutdisp(-4]. tipo); fespr~2; bl•ncO; fpr i ntf (fp2, •Xs•, blancos);*/ fprlntf(fp2,•Xa 11 , inflsr[itl!III] .r); strcpy(euxblanc, inflsr[iteml .r); fespr-3; blanco; fprintf(fp2,''Xs",blancos); fprfntf(fp2,•••>; fprlntf(fp2," Xs •,rutdisp(-4].tipord); fprintf(fp2,"'"); strcpy(auxblanc, rutdi sp[aux4J • tipord); fespr-4; blanco; fprfntf(fp2,• ll6d",rutdiap[awt4J .dispoper); /*dispoper*/ fprintf(fp2,., 11 );

fprintf(fp2,• ll.7.2f•,rutdisp[•ux4] .erlangs); fprlntf(fp2,"'");

/* }*/ /* if(flndstatfon==O)

{

fprintf(fp2, "S·DAT\n"); } */

/* if(flndstatfon==1) {*/

f f( inf lsr [itenil. traff<9999) < fprlntf(fp2," ll.7.2f",inflsr[itell].traff);}

I f ( i nflsr [iteinl. traff>9999) < fprintf(fp2,• ****·**");)

fprlntf(fp2,"'");

if(rutdlsp[aux4J .porocup<200) < fprintf(fp2,"X8.2f•,rutdisp[awt4J .por~);}

if(rutdisp[aux4J .poroc~200) < fprintf(fp2," ****.**">;>

fprfntf(fp2,"' ">; f f( inflar [i t811] .ari>loa=· 1)

Cfnflsr[ftenl .anblo=O;} fprintf(fp2,• ll.6.2f•, inflar[itelll] .anblo); fprintf(fp2, • 111);

if(inflsr[iteml .nbids<999999) {fprfntf(fp2," X6ld-, inflsr[ftell] .nbids);}

ff(inflsr[ftelll .nbids>999999) <fprintf(fp2," ******">;>

fprintf(fp2, '"•); f f( f nflsr [itelll .,mti111e<99999)

Cfprintf(fp2, •"8.2f11 , inflsr [iteinJ .lllhtime);)

if(inflsr[itemJ .dltime>99999) {fprintf(fp2, 11***** .**">;>

fprintf(fp2, ""'>; ff( (str~(rutdisp[aux4l .tipo,"RB")l=D)

< if(rutdisp[aux4J .porsat<9999)

Cfprintf(fp2," X7.2f• ,rutdlsp[aux4J .porsat);} if(rutdisp[aux4J .porsat>9999)

Cfprintf(fp2," ****.**H);} fprintf(fp2, '" \n">; }

if( (str~(rutdisp[aw<4]. tipo,"RB")=O) e lf(rutdisp[aux4J .porsat<9999)

{fprintf(fp2, 1'%8.2f11 , rutdi sp[aux4J .porsat);} if(rutdisp[-4J .porsat>9999)

Cfprintf(fp2,• ****.**">;> fprintf( fp2, "' ">; fprlntf(fp2," lGd•,extracanales); fprintf(fp2, "' \n");

)

Page 232: MAESTRO EN SISTEMAS DE INFORMACION s

,. }*/ }

, .......................... ********************'******************************************** NCIIIRE: CANALES BUSCA LOS CANALES EXTRA QUE DEBERAN SER AGREGADOS A LA RB EN QJESTION

*****•••••••••••************************************************************************/ canales() e

}

lnt ndv2; int oc~; f loat erlangs;

I f ( ( fprbzfapen("ERL.ANG2. TXT•, ªr") )=mNULL) e

}

pos(20, 15); printf("No se puede abrir el archivo ERLANG2. TXT\n"); sal ida(); exit(1);

/*printf("rutdisp[Xd] .por~ Xf\n" ,aux4, rutdf sp[aux4] .poroc~);*/ oc14>=rutdl sp [aux4] • poroc~; /*printfC 11oc14>= Xd\n",oc~);*/ if(~100)

e

}

/*printf("entra a calcular erlangs\nª);*/ ndv2z0; whi le( CfecanfC fprb, ''Xf" ,&erlangs)) 1 ~EOF)

(

if(ndv2>400) {

pos(20, 15); prlntf("NEmero de Canales demasiado grande para calcular Erlangs\n11 );

sal ida(); exitC1>; break;

}

ndv2++; i f (erlangs>inflsr [i tea(!. traff) (

break; }

> /*fin del while*/ extracanales=ndv2·rutdisp[aux4J .dlspoper;

if(oc~<=100) (

extracanales,aQ; }

/*getchO;*/ si.iacanales&sunac:anales+extracaneles; fclose(fprb);

/*******************************************************'***************************** NOIBRE: BIJSCAEND RUTINA QUE AVAHZA APUNTADOR A ARCHIVO FILER HASTA ENCONTRAR STRING END

******************~ ..... ********************************************************'*********/ busceend() {

do {

fscanf (fp1, "Xs" ,&datos); }

whi le(Cstr~(datos,ENO))lzO); }

/*'*************************"*********•************************************************ NOMBRE: LEE HORA RUTINA QUE LEE DE LA TABLA DE HORAS INTERVALO DE 7 A 22 HORAS •

.................................................... *****************************************/ leehoraO ( ;nt run; ru1=1; whi leC(facanf Cfp4, •Xs• ,&datos)> 1 =EOF)

Page 233: MAESTRO EN SISTEMAS DE INFORMACION s

{ strcpy(hora[run] .time,datos); /* lee ruta*/ /*horaCnunJ .r,a,aru,¡;*/ /*printf( 11hora(Xd]. ti11e • Xs\n" ,nun,hora[runJ. time);*/ /*printf(•hora(Xd] .1"11.91 = Xd\n",nun,hora[l'UII] .rurt);*/ nuit+-+;

}

totalhora"nllll· 1;

!f(totalhora>1) {

}

i f ( ( fp3zfopen(VALLSR_AUX, "w") )nNULL) { pos(20, 15); printf(•No se puede abrir el archivo Xs11 ,VALLSII_AUJO; &al ida(); exit(1);

}

else {

fprlntf(fp3, 11\n"); fprlntf(fp3, 11 ANALISIS DE INFRAESTRUCTURA\n•); fprintf(fp3, 11 VALIDACION DE RUTAS LSR\n"); fprlntf(fp3, "\nN);

} }

!************************************************************************************ NCIIIIRE: LEEDIA AUTI NA QUE LEE DE PERI CIIO. TMP LOS DI AS A PROCESAR

***************'************************* .......... ****************************************/ leedla() {

int nu1; l'IUIP1; whi le( ( fscanf(fpdf a, •Xsu ,&datos)) 1 zEOF)

{

}

strcpy(dia[nla] .day,datos); di a [l'IUII] .l"UFnun; /*printf("diaOdl .day = Xs\nN,nun,dia(nunJ .day);*/ /*printf("diaCXdl .nun = ld\n",nun,dia[l'IUII] .nun);*/ nun+-+;

auxtotaldi a=n.a· 1; strcpy( lstdate,dla Cauxtotaldi a] .day);

strcpy( fechafstdate, di a (1 l .day); /*printf( 11fechafstdate= Xs\n", fechafstdate); getchO;*/

/*printf("en leedla, auxtotaldla=Xd\n•,auxtotaldia);*/ /*getch() ;* / }

/* lee ruta*/

/***************** ..... ******************~****************•************************** NCMIRE: D IASELECT RUTINA QUE BUSCA EL DIA A PROCESAR EN LA ESTRUCTURA DE DIAS Y PRENDE BANDERA

********.....,*************************************************************************** I diaselect() {

int r; r=1; dayselect=O; /*prlntf("en dfaselect:\n">;*/ /*printf(•auxtotaldi ª" Xd\n" ,auxtotaldi a);*/ /*printf(Udatos = Xs\n",datos);*/ for( r=1; r<•-totaldi a; r++ >

{

/*printf(•dia[Xd] .day= Xs\n",r,dia(rl .day);*/ if( (stra11p(dia(rl .dsy,datos)==O) >

e /*printf( 11entra al if entonces dia(rl .day--datos\n"); getch();*/

dayselect=1; break;

Page 234: MAESTRO EN SISTEMAS DE INFORMACION s

> >

> /************************************************************************************

NIIIIIIE: LEENHT RUTINA QUE LEE DE LA TABLA DE NHT LAS RUTAS NECESARIAS.

**************** .. **********************************************************************/ leerilt() {

int flnban=O; llllllbe.-.1 • whl le((f;canf(fp9, •Xs• ,&datos)> 1 =EOF)

{

>

if( (str~(datos,•INTERCONEKION")=O) {

finban=1; >

if(finban==1) {

break; >

if(f jr,banas()) {

>

pos(20, 15); printf(•No se encontro separador INTERCONEKION en archivo Xs",INFR_AUK); sal ida(); ex! t(1 );

whi le((fscanf(fp9, •Xs• ,&datos)) 1 =EOF)

>

{

>

strcpy(mtenu,t,erJ .-,datos); /*lee ruta*/ /*printf("lrllt[Xd] .1'1111111! = Xs\n",n&nber,ll!ht[l'IUllberJ .nBl!e);*/ numer++;

/*prlntf(•total ...,t leidas, nuit>er= Xd\n•,nuli>er); getchO;*/ rurber·-;

/*****************************************************"************************ ....... **** NCIIBRE: VAL RUTA RUTINA QUE VALIDA LA RUTA LEIDA EN DATOS CONTRA LA TABLA SI NO EKISTE ESCRIBE DICHA RUTA EN ARCHIVO DE VALIDACION.

*************************************************************************** .. ***********/ /*val ruta() {

busca:1· find=O·. whi le(busca<:cont2)

{

prlntf( 11en valruta \n"); prlntf(•valor de lsrhrdia[itl!ll] .r = "8\n•, ttem, larhrdla[itl!IIIJ .r); printf(•valor de rutaCXdJ .nonmre= Xs\n",busca,ruta[buscaJ .nonmre);

if((str~(lsrhrdia[iteml .r ,ruta[buscaJ .l"IClllbre))==O) {

flnd=1; break; >

busca++; >

lf(findo=O> {

printf("LA RUTA Xs NO APARECE EN LA TABLA\n", inflsr[itelll] .r); fprintf(fpl, 11 LA RUTA Xs NO APARECE EN LA TABLA\nu,lsrhrdia[itemJ.r); fprintf(fpl, ª\n");

> }*/ /*************'***********************************************************************

NOMBRE: VALNOV RUTINA QUE VALIDA El NDV LEIDO DE LA TABLA DE INFRAESTRUCTURA CONTRA El VALOR LEIDO CADA HORA EN LA MUESTRA. ESCRIBE EN ARCHIVO VALLSR.C

******************** ..... **************************************************************** / valndvO {

int 8Ulll; busca=1;

Page 235: MAESTRO EN SISTEMAS DE INFORMACION s

chrfs=O; aux3=1;

fprintf(fpl, "\n"); /*fprlntf(fp3,•HORA " Xs\n", lnflsr[busca] .hora);*/ fprintf(fp3,"HORA • Xs\n", thehour); fprintf(fpl,"RUTA IIOV INFRA. NDV MUESTRA\n");

, whi le(busca<=contl)

}

{

auxl=inflsr[busea]. index; if( (str~(rutdisp[auxl]. tipo,"RB")==O) 11 (str~(rutdisp[auxll. tipo,"IX")==O)

{

)

if(lsrhrdia[busea] .ndv I= rutdisp[auxl] .dispoper) {

)

ehris=1; fprintf(fp3,"%s", lsrhrdiaCbuseaJ .r); strepy(auxblane, lsrhrdiaCbuseal .r); fespr-l; blanc(); fprintf(fp3, ''%s" ,blancos); fprintf(fp3, ~, rutdi sp[auxll .dispoper); fprintf(fp3," X6d\n", lsrhrdiatbusca] .ndv);

busca++; }

/**'**************************************************'******************************** Nt118RE: PROM RUTINA QUE OBTIENE EL PROMEDIO DE TRAFICO POR HORA DE LOS 5 • DIAS DE U. SEMANA.

********'*****************************'*************************************************** / prom() {

i f ((strCl1')(datos, EIID)) 1 =O) { if(valtraf==O)

{

}

i f( inflsr Citem]. traff<O) e

)

/*printf("entra al if de prom\n");*/ inf lsr[iteml. traff=lsrhrdiatraff;

else {

}

inflar [i tem]. traff=( inf lsr [itl!III] • traff+lsrhrdiatraff); inflsr Ci teml .ntraf=inflsr [i teml .ntraf+1;

if(valnblds==O) {

}

ifC inflar Citeml .nbids<O) {

inflsr[iteml .nbids=lsrhrdianbids; }

else e /*printf("entra al else en prom \nn);*/ inflsr[i tenil .nbids2( inflsr[iteml .nbida+lsrhrdianbids); inf lsr[iteml .nnbids•inflsr[iteml .nnbids+1; /*printf("inflsr [%d] .nnbids = Xd\n11 , ite111, inflsr[itetll] .nnbids);*/

}

if(valanblo==O) e if(inflsr[i tem] .anblo<O)

{

inflsrCitem] .anblo=lsrhrdiaanblo; }

else {

/*printf("entra al else en prom \n");*/ inflsr[f teml .anblo=( inf lsr [itl!III] .anblo+lsrhrdiaanblo); inf lsr[item] .nanblo=inf lsr[item] .nanblo+1;

/*obt I ene promedio*/

/*obtiene prcnedi o*/

/*obtiene promecfi o*/

Page 236: MAESTRO EN SISTEMAS DE INFORMACION s

}

/*printf(•inflsr[Xd] .nnbids = Xd\n•, itein, inflsr[i tl!III] .nnbids);*/ }

ff(valnl,tsE()) e

}

if(inflsr[ftl!III] .11hti11e<O) e inflsr [itel!IJ .mtillle='lsrhrdiantith1e;

}

else e /*printf("entra al else en prCIIII \n">;*/ inflartitenJ .mthie=C inflsr[ltl!III] .mtinie+lsrhrdian'1tf111e); lnflsrtf ten] .rn,thie=inflsr [iteinl .11mtime+1; /*printfC"inflsr[Xd] .nnlltinie = lCd\n•, item, fnflsr[itl!III] .niltinie);*/

}

if(Clsrhrdiariltime>=O)&&(lsrhrdianbids>=O)) /* validando el -1*/ {

ifCfotnlz=1&&f lgf I rst==O) e /*printf(•ya no es la pri11era flgffrst = Xd\n•,flgfirst);*/ /*prfntf("fOlftl • Xd\nH,fOU'ld);*/ flagdit=1; fnflar[1] .suinhtzf nflsr [1] .suinht+C lsrhrdianbids*lsrhrdi 111mtime); inflsr[1] .slJ!l'lbids=inflsr[1] .slRll>ids+lsrhrdianbids; /*printf("fnflsr[1] .simmt "'%f\n11 , lnflsr[1J .s...tit);*/ /*printf("lnflsr[1] .s~ids "' Xd\n", fnflsr[1] .s....-ibids);*/

} i f(foin:F=1&&flgff rst==1) e /*prf ntf( 11f l11f i rst=lCd\n", f lgfi rstJ ;* / /*printfC"fO\nl "Xd\n'',fOU'ld);*/

/*obtiene pramdio*/

/*printf(•encontro en tabla lsrhrdia[Xd] .r = %s \n11 , itetn, lsrhrdia[item] .r);*/

}

}

}

}

flagmt=1; /*inicial izo bandera de iq:,resion mtprorn*/ lnf lsr [11 .s....i,t=lsrhrdi anbids*lsrhrdiannti11e; inflsr[1] .si.mids=lsrhrdianbids; /*printf("inflsr[1] .slDlt = Xf\n", fnflsr[1] .suinht);*/ /*printf("inflsr[1J .sim,bids = Xd\n", fnflsr[1] .slJ!l'lbids);*/ flgfirst=O;

/******************************************ª********'**************'***********'******* NOMBRE: OIVPROII RUTINA QUE OIITI ENE LAS O IV IS IONES PARA LOS PROIIED I OS DE LOS ITEMS. PARA TRAFICO,NBIDS Y MHTIME E FECTUA T AMB I EN LA SUMA DE PROIIED I OS DE CADA HORA

****************************************************************************************/ divpr ... () e int iteniux; i nt cont rpt; /*int auxiliar;*/ i nt auxbusca; auxbusca=busca; busca=1; itelllllUX=itein; contrpt=O; itma1; /*printf(•entra a divproin\n"); printf("ftamuxz lCd\n", it-ux); getchO;*/

sumrptdispaO; s111111rptcap=O; s111111rptanblo=O; s111111rptnbids=O; s1.111arptlÑlt=O; s~rocl4"'0; entrante=O· sal iente=o; /*pr i nt fe •en di vprOII contl= Xd\n", cont3 >; * /

Page 237: MAESTRO EN SISTEMAS DE INFORMACION s

while(itl!lll<cont3) {

auxi I iar=fnflsr [ite911. index; /*prlntfC•valor de inflsr[itelll .ntraf=Xd\n", inflsr[itl!III] .ntraf);*/

i f( inflsr Ci tellil .ntraf>O) {

inflar Ci tetlll . traff=( inflsr Ci teml • traff )/( inf lsr Cf tl!III] .ntraf ); }

else {

inflsr[fteinJ .traff=O.O; }

if(lnflsr[itl!II) .rri>ids>O) {

inflsr[iteml .nblds=Cinflsr[iteml .nbids)/(inflsr[iteml .rri>ids); /*aguas lo tr1n:a*/ }

else e inflsr[iteml .nbids=O; }

if( inflsr[itl!III] .nenblo>O) {

lnflsr[item] .anblo=(inflsr[ftem] .anblo)/(inflsr[item] .nanblo); /*aguas lo trunca*/ }

else {

inflsr[fteml .a'*>lo=O; }

if(inflsr[iten(J .nmti111e>O> {

inflsr Citeml .rmtime=(inflsr[iteml .rmtiine)/(inflsrCiteml .nmtiine); }

else {

inflsrCiteml .mtime=O.O; }

/'*printf C"lsrhrdi a CXd] • r= %s\n", i tem, lsrhrdi a [i ten(). r); getch();*/ rmtvalO; if(fcu,d,=1) /*efectuando la suna de rutas con la RPT por hora*/ {

contrpt++; /*printf("inflsr[Xd]. index= Xd\n", iten, inflsr[item]. index); printf("auxil lar = Xd\n",auxil far); printf("rutdisp[Xd] .dispoperc Xd\n•,auxi I iar,rutdisp[auxi I iarJ .dispoper);*/ s1n11rptdi sp=s1.1118rptdi sp+rutdi sp [auxi I i ar] .di spoper;

/*printf("fOl.rd= Xd\n", fOU'ld); printf("lsrhrdia[Xd] .r= %s\n•, lten1, lsrhrdia[itl!III] .r); prlntf("rmt[Xd] .n&llle" %s\n•,search,"'1t[searchl .,,.,.,),*/

/*pr i ntf e "sU1111rptdl sp= "8.2f\n", s1m1rptdi sp) ;* / s1111Brpte8P"s1.1118rptcap+rutdl spCauxi 11 ar] .erlangs; /*printf c•su.rptcap = "8.2f\n" ,sllllllrptcap); getch();*/ s1.11111hora[contl .adcl=sinehora[contl .addtinflsrCitemJ. traff;

if( Cstr~(rutdispC-i I iarl .tlpord,"l"))=O {

entrante=entrante+inf lsr [ítem] • traff; }

if( (str~(rutdisp[auxil iarl. tipord,"0"))==0 {

sal iente=sal iente+inflsr [itellll. traff; }

/*prlntf("su.hora[Xd] .add = Xf \n",cont,s...ahora[cont] .add);*/ sllllllhora Ccontl. f lsuna=1; /*printfC"BU1111hora[Xd] .flsuna = Xd \n",cont,sllllllhora[contl .fls1n11);*/ /*getch();*/

Page 238: MAESTRO EN SISTEMAS DE INFORMACION s

}

s1a1rptarmlo=sU111rptarmlo+inflsr[ftellil .arólo; sUMrptrólds=sUMrptróids+inflsr[itelll] .róids; aumrptB1t=s111111rptdlt+inf lsr [i teftll .imtime; I f C cont rpt>O >

e prcnrptmt=su,,arptdlt/contrpt;

} }

inflar [itMl .ntraf=1; inflsr[itmJ .mbids=1; inflarCltffll .narólo=1; inflsr[itelll] .rnitiM=1; /*printf(•antes de 111111i•iza itein= Xd\n•, item); printfc•antes de •xf111iza busca= Xd\n•, iten);*/ lllllllilllzao; /*printf(•despues de inaxlmiza ltein= Xd\n•, item); printf("despues de •xhaiza busca= Xd\n•,busca); printf("inflsr[busca"Xdl .horea Xs\n",busca, inflsr[buacal .hora); printf(•'fllui1111[ite111=Xdl .hor..x" Xs\n", ltem,,naximo[iteftll .horm.x); getchO;*/

f f(s1111arptcepl =O) {

s~roc~(s111111hora [contl .add/si.narptcap)*100; }

lf(s11111hor11 CcontJ .eddl =O) { porentrent~Centrante/BUllahora[contl.edd)*100; poN1al lent~Csal iente/s11111horaCcontJ .add)*100;

}

its=itemawt; busCll"BUXbusca; horapi co(); }

!***********************************************************'**** .... ***************** NOIBRE: MHTVAL RUTINA QUE VALIDA LAS RUTAS IIUE SE ENCUENTRAN EN ENLACE CON U RPT.

******************* ............ ***************'*'*********************************************/ lllhtvalO {

}

seerch=1; fOWld=O• whi lecs:.arch<~r)

{

if((str"""( lsrhrdia [I teinl. r ,,mt [searchl .name))==O) e /*prlntf( 11f0Wld= Xd\n",fO\n:I); printf(•tsrhrdia[Xd] .rz Xs\n", item, lsrhrdia[itell] .r); prlntf(•fflt CXdJ .neme= Xs\n•,seerch,dlt [searchl .1111111e);*/ foirda1· /*printf(•fot.nd= Xd\n", foin:I) ;*/ /*getchO;*/ break;

}

aeerch++; }

/************************************************************************************ NOMBRE: DIVMHT EFECTUA U DIVISION EN NHTIME.

****************************************************************************************/ /*divn,t() {

int k; k=1; whlle(k<item)

{

if(inflsrC1J .sinibids>O) e

lnflsr[kl .lllhtillle"inflsr[1J .simmt/inflsr[1J .suiri>ids; }

Page 239: MAESTRO EN SISTEMAS DE INFORMACION s

else <

inflsr[kl .lllltl-=0.0; }

k++; }

} */ /*********************'****************************** ... ****************•*************

NOMBRE: NHTESC RUTINA QUE VALIDA LAS RUTAS QUE SE EN111ENTRAN EN ENLACE CON LA RPT PARA ESCRITURA.

*************************************************'''ª'''''*''***************************/ mtesco {

}

search:1; fatnl-0; wh i le( search<snllllber >

{ ff((strcnp( inflar [zl .r ,nlht[searchl .,-))::0)

{

}

/*if(z::1 > {

printf("inflsr[Xd] .r Xs\n•,z, inflsr[zl .r); printf('._,t [Xd] .Nlllle Xs\n•,aearch,mt [searchl .ll&llle);

} */ fOU'ld:1; break;

search++; }

/******************************************************************************'****** NOMBRE: READR RUTINA QUE LEE DE LA TABLA DE RUTAS ACTUALIZADAS POR LOS PROGRAMAS DE VALIDACION DE ARCHIVOS. INICIALIZA A UNO EL CAMPO DE ESCRITURA.

****************************************************************************************/ readrO {

/*prlntf(•entra a readr\n");*/ cont3z1; wh i le( (fscanf(fp6,"%s11 ,&datos)) 1 =EOF)

{ fscanf(fp6, 11Xd• ,&inf lsr [cont3l. index); strcpy( inf lsr[cont3] .r,datos); inflsr[contlJ .esczO;

/* printf(•inflsr[Xd] .r : Xs\n",cont3, inflsr[cont3J .r);*/ /* printfc•inflsr[Xd]. index "' Xd\n" ,cont3, inflar Ccont3]. indelt);*/

contl++; )

/*printf("Total de rutas a procesar = Xd \n",cont3);*/ }

/**********"****************************** .......... *********************************** NOIBRE: BUSCAINF RUTINA QUE BUSCA EN LA TABLA GENERAL LA RUTA QUE ESTA SIENDO PROCESADA.

****************************************************************************************/ buscainf() {

busque=1; halla=O; while(busque<=cont3) <

if((strC8')(datos, inflsr[busquel .r))=O) {

halla=1; break; }

bus~; }

if(hal la==1) < it ... busque; inflsr[fte91] .esc=1; }

if(hallanO) {

pos(20,6);

Page 240: MAESTRO EN SISTEMAS DE INFORMACION s

printf("ERROR LA RUTA Xs NO SE ENCUENTRA EN LA TABLA DE VALIDACIDN\n•,datos);

} }

sal Ida(); eKlt(1 );

/************************************************************************************ NOMBRE: FECHA RUTINA QUE OBTIENE EL ENCABEZADO DEL REPORTE USANDO LOS CAMPOS PARA FECHAS INICIAL Y FINAL • ESCRIBE EN ARCHIVO LSRPRCII.C • ESCRIBE EL ARCHIVO HORAPICO.C

***************************************************************'*************'************/ datfecha() (

char nanie [40); int I; int zz; zz=O;

i f ( ( fpsal=fopen( SALIDAS_AUX, •r•) )=NULL) /*if ( (fpsal=fopen("SALIDAS. TMP• ,"r") )=zNULL)*/

( pos(20, 15); printf(•No se puede abrir el archivo Xs•,SALIDAS_AUX); salida(); uitC1);

}

if(totalhorac=1) {

fscanf(fpsal, •"811 ,&name); fscanf( fpsal , 11Xs• ,&nallle);

}

i f(totalhora>1) {

fscanf(fpsal, 11Xs• ,&neme); }

fclose(fpsal);

i fC (fpllz,fopen(......,, •w•) )==NIJLL)

e pos(20, 15); printf("No se puede abrir el archivo Xs",name); salida(); exit(1);

}

/*printfC"\n") ;*/ pos(16, 15); printf( 11 ESCRIBE ARCHIVO FINAL "811 ,nanie); pr!ntf("\n"); fpr!ntf(fp8,• NTX: Xs\n•,region); fprintf(fp8, 11\n"); fprintf(fp8,• DIAS PROCESADOS:\n"); do e

if(fecha[zz] .bandial=O) e

}

if(zz=O) fprlntf(fp8,"

else fpr!ntf(fp8,•

zz++; }

whi le(zz<=7); hora [thelllOstJ. time[2l =1\0';

Xs\n", fecha [zzl .quedia);

Xs\n", fecha [zzl .quedi a);

fprintf(fp8,• HORA PICO DEL SISTEMA: Xs:00\n",hora[themost] .time); for(i=1; i<=10; I++)

e fprintf(fp8, 11 \n•>;

> fprintf (fp8, "k", FFF); cc,i,it l i nes=1;

i f (totalhora>1 >

Page 241: MAESTRO EN SISTEMAS DE INFORMACION s

{

sunceltotO; }

fclose(fp2);

i fe ( fp2:fopen(PROM_AUX, 11r•) )==HULL) {

pos(20, 15); printf( 11NO SE PUEDE ABRIR EL ARCHIVO Xs PARA AGREGAR ENCABEZADO",PROM_AUX); sal ida(); exlt(1); }

while( fgets(strfng, MAXLIN, fp2) I" NULL) {

fputs(string, fp8); }

fclose(fp2);

/*prlntf("totalhora= Xd\n", totalhora);*/

/*writanaxO;*/

fclose(fp8);

if((fp8=fopen(N1111e,"r"))==HULL) /*contiene rutas y rtávs*/ {

}

pos(20, 15); printf("No se puede abrir el archivo Xa11,,-);

sal ida(); exitC1 >;

strcpy(LSRPROM_AUX, cadena); strcat(LSRPROM_AUX,"\ \LSRPROM. TMP");

i f ( e fpaux=fopen(LSRPROM_AUX, 111111 ) )==NULL) /*LSRPROM. TMP* I (

}

pos(Z0, 15); prfntf("No se puede abrir el archivo Xs",LSRPROM_AUX); salida(); exitC1);

while( fgets(string, MAXLIN, fp8) I= NULL) {

fputs(stri ng, fpeux); }

fclose(fp8); fclose(fpeux); fprlntf(fp10, 11Xs\n11 , lstdate); fprintf(fp10, 11Xa00\n• ,hora [themc,stJ. time); fprintf (fp10, 11Xa\n", regi on); }

/*'******************************** ... *** .. ******************** NOMBRE: SIIICEL TOT ESCRIBE EN ARCHIVO FINAL EL TRAFICO TOTAL POR CELULA DURANTE EL DIA

****************************************'***********************/ s11111:el tot() {

int ite111; float suncel=O; itetF1; aux4=1;

laser _c~Pltch, 1114.0011 , fp2); laser _cOll(Stroke_welght,extra_black, fp2); fprintf(fp2, 11\n\n"); fprintf(fp2,"TRAFICO TOTAL DEL DIA EN CELULAS\n"); fprintf(fp2, 11 \n"); laser _cOlll(Pitch, "14.00•, fp2); laser _cani(Stroke_weight ,black, fp2);

Page 242: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf(fp2,"PCIBLACION NOMBRE fprintf(fp2,• ELEMENTO laser _cClll(Pitch, •14.00•, fp2); laser _cClll(Stroke_wei ght,noMIBl, fp2);

while(itmaocontl) {

ltWl4=inf ls.r CitOllll. index; lt( (strcq,(rutdisp[aux4J .tipo, 11RB")==O)

{ /*fprintf(fp2,"Xs•, rutdi sp[aux4J .ciudad);*/ firdcity(); fprintf(fp2, ""811 ,auxescci ty); /*strcpy(auxblanc, rutdisp[aux4J .ciudad);*/ strcpy(auxblanc, auxescci ty); fespr_,1; blanco; fprintf(fp2, 11Xs• ,blancos);

buscanarbres (]; fpr intf( fp2, 11"811 , nmneelan); strcpy(auxblanc,1"18111!elen1); /*fprintf(fp2, "Xs•, rutdi sp[aux4J .naneleni) ;* / /*strcpy(euxblanc, rutdisp[aux4J .naoelem);*/ fesprOIFZ; blanc(); fpri ntf ( fp2, •"Xs• ,blancos); fprintf (fp2, 11Xs•, inflar [I tenil. r); strcpy(auxblanc, inflsr[itemJ .r); fespr..,.3; blanc(J; fprintf(fp2, •Xs11 ,blancos); fprlntf(fp2,""8", rutdisp[aux4J. tipord); strcpy(auxblanc, rutdisp(aux4J. tipord); fesprcn=4; blanc(J;

RUTA

fprlntf(fp2, 11 X8.2f\n11 , inflsr(itl!llil .suntraff); s1.111eel•s1111Cel +inf lsr CitemJ .suntraff;

)

)

fprintf(fp2,•\n">; laser _cCllll(Pi tch, "14.00", fp2); laser _ca11(Stroke_welght,black, fp2);

TIPO TRAFICO\n"); DEL DIA\n");

fprintf(fp2," )

TOTAL DE TRAFICO EN RBs DURANTE EL OIA: X8.2f Erlengs\n11 ,sL111Cel);

/************************************************************************************ NCIIBRE: lllllAS RUTINA QUE INICIALIZA BANDERA DE ESTRUCTURA PARA LA DETECCION DE DIAS PROCESADOS PARA LUEGO ESCRIBIRLOS EN REPORTE DE SALIDA.

***********************************************************************************'***** J indias(] e int i; iz:O; /*printf("INDIAS\n•) ;*/ do e

)

fechaCil .bandia=O; /*printf("feche(Xd] .bandie = Xd\n", i, fecheCIJ .bandia);*/ i++;

while(i< .. 7); )

/******************************************************'**********************'******** NOIIIRE: 1 NSUIAHR RUTINA INICIALIZA EL VECTOR DE SIMA POR HORA TRAFICOS EN ENLACES CON LA RPT. LA SIMA SE USARA PARA DETERMINAR HORA PICO.

*******************'************************************ ... ******************************/ insu..hrO {

lnt hr; hr=1; whi le(hr<cNAXHORA)

Page 243: MAESTRO EN SISTEMAS DE INFORMACION s

e

} }

sunahora [hrl .lldd=O; hr++;

/******************'*********'***************************** .. ************************** NOMBRE: HORAPlCO RUTINA QUE OBTIENE LA HORA PICO DEL SISTEMA

************************************'******11r****** ......... ***************'*'*'*'************/ horaplco() < /*prlntf("suuhora[Xd] .add = Xf\n•,cont,slnllhora[cont] .add);*/ I f(sllllBhora [contl .add>hi ghtraf> e

}

hightraf=sumhora[contl .add; /*printf("hightraf " Xf\n'',hightraf);*/ thetnOS t=cont; /*printf("themost = Xd\n", themost);*/ }

, ....... ******* ..................................................................... ********* NOIBRE: 1 NFRA RUTINA QUE OBTIENE INFOIUIACION DE LA INFRAESTRUCTURA, LLANA A ERLANG PARA OBTENER VALORES EN LAS TABLAS, LLANA A PCIICENT PARA OBTENER PORCENTAJES.

******************************111******************'*************************************** I infra() e lnt kk; erlz=1; if((fp9=fopen(INFR_AUX,"r"))==NULL> /*contiene rutas y ndvs*/

<

}

pos(20, 15); printf("No se puede abrir el archivo Xs•,tNFR_AUX); sal ida(); exit(1 );

conpletadocO; /*lndexnanelenF1 ;* /

whi le((fscanf(fp9,"Xs11 ,&caq>09)) !=EOF) /*ciudad o EOF*/

e lfC Cstrcq,(caq,os, "DISPQSR")) ==O >

{break;> i f(c~letedo==O)

C searchcityO;> /*strcPY(rutdi sp[erlzl .ciudad,caqx,s) ;*/ fscanf(fp9, 11"8•,&c~);

fscanf(fp9,""8",&c~s>;

strcPY(rutdisp[erlz]. tlpo,cenpos);

fscanf(fp9, ""5" ,&caq,os);

rutdisp[erlzl .nanelemlndex=erlz; /*strcPY( rutdi sp[erlzl .nanelem,caq,os);*/

/*r11tx*/

/*tipo de elemento*/

/*nOlltire del elemento*/

/*printf("rutdisp[Xd] .nomelelF Xs\n",erlz,rutdisp[erlzl .nor11elem); printf(•rutdispo:dl .~leinindex= Xd\n11 ,erlz,rutdisp[erlz] .nort1elet11index); getchO;

*/

fscanf(fp9 ,""5" ,&caq,os);

fscanf(fp9, 11"811 ,&caq,os); strcpy(rutdisplerlzl. tipord, CalllpoS); fscanf(fp9, 11"8• ,&calllpos); fscanf (fp9 ,•Xs• ,&c"""°8); rutdisp [erlz] .dispoper=atoi (caq,os);

/*nwiemonico del elemento*/ /*tipo de ruta o disp.*/

/*no. disp proyectados.*/ /*no. disp operacion*/

Page 244: MAESTRO EN SISTEMAS DE INFORMACION s

}

if((str°"'(rutdisp[erlzJ. tipo,"IX")==O) 11 Cstr~(rutdispterlzJ. tipo,"RB")=O)) < erlangO;

}

erlz++;

porcent(); fclose(fp9); }

/*********** .. **************************************************************** IICIIBRE: ERLANG. OBTIENE LOS VALORES OE ERLANG, SI RADIOIIASES A .02 •DE PROB. PERDIDA

SI INTERCONEXION A .001 DE PROB. PERDIDA ***************''''ª''''ª**************'************************************** .. , erlang() < int J=O;

if(Cfpinafopen( 11 ERLANG1. TXT" , 11r 11 ))=NULL) < pos(20, 15); printf(ªNo se puede abrir el archivo ERLANG1.TXT\n"); salida(); exit(1);

}

i f( (fprb=fopen("ERLANG2. rxr•. "r") )==NULL) <

}

pos(Z0, 15); printf(nNo se puede abrir el archivo ERL.ANG2. TXT\n"); salida(); exftC1);

/*prlntf("rutdispt%dJ .dispoper = Xd\n•,erlz,rutdispterlzJ .dispoper);*/

if(strcq>(rutdisp[erlzJ. tipo, "IX")==O) <

}

/*printf("la ruta es del tipo IX\n•);*/ fpt=fpin;

if(atr~(rutdisp[erlzJ. tipo,"RB")=~O) <

}

/*printfC"la ruta es del tipo RB\n");*/ fpt•fprb;

j=O; whi le( (fsc11nf(fpt,"Xf" ,&datof2)) 1 =EOF) <

if(J>500) <

pos(20, 15l; prfntf( 11NEMero de e-les demasiado grllllde pera calcular Erlangs\n"); sal idaO; exftC1); break;

}

j++; /*printf(•J= :cd, datof2= Xf\n",j,datof2);*/

ff(i""rutdlsp[erlzJ .dispoper) < /*printf(" El nElllero correspondiente a :cd es Xf\n•,rutdispterlzJ.dispoper,datofZ>;*/ rutdispterlzJ .erlangs,odatof2; /*prlntf("rutdlsp[erlz] .erlangs = Xf\n11 ,rutdispterlzJ .erlangs);*/ /*printf(" BUSQUEDA TERNINADA\n"); */ break;

}

} /*fin del while*/ fclose(fpin); fclose(fprb); } /* fin de erlang*/ !**************************** ..... *************************************************

SUBRUTINA PORCENTAJES OBTIENE LOS PORCENTAJES OE OCUPACION Y DE SATURACION DE CADA RUTA

**********************************************************************************/

Page 245: MAESTRO EN SISTEMAS DE INFORMACION s

porcent() {

int z; int aux1; aux1n1; z=1; /*prlntf("llega a la s~rutina porcent\n");*/

for(z=1; z<=cont3; z++) {

aWl.1"inflsr[zl. lrdex; /*prlntf("rutdisp[Xd] .erlangs= Xf inflsr[Xd]. traff= Xf\n• ,z, rutdisp[zl .erlangs,z, inf lsr[zl. traff);*/ if(rutdisp[aux1] .erlangs>O)

rutdisp[aux1J .poroco.v(inflsr [zJ. traff/rutdisp[aux1J .erlangs)*100; if(rutdisp[aux1J .porocup>100)

rutdi sp[aux1J • porsatzrutdi sp[aux1 J .porocup-100; else

rutdisp[aux1J .porsat=O; /*printf("rutdlsp[Xd] .porocup "' Xf rutdisp[Xd] .porsat"

Xf\n•,aux1 ,rutdlsp[aux1J .porocup, z, rutdlsp[zl .porsat);*/ )

}

/****************-******* ..... ******'******** .......... ***************************** SUBRUTINA IILANC FORMA VECTOR DE BLANCOS PARA IMPRESION

**************!**************************************************************/ blanco {

lnt i; int x=O; /*printf("dentro de la s~rutina blancos\n">;*/

/* printf(•fesproai= Xd \n",fesprcn);*/ if(fesproai==1)

{

/* printf(•x=21-auxblanc = Xd\n" ,x>;*/ X"14-strlen(auxblenc); }

i f( fesprOIF=2 > {

!* printf(•x=6·auxblanc = Xd\n",x);*/ x=ZO·str len(euxblanc); }

if ( fesproai==3 > {

!* printf("x=9·auxblanc = Xd\n",x);*/ x=7·strlen(auxblanc);

}

}

/*strcpy( infz,auxblanc) ;*/ /*printf(" x • Xd\n",x);*/ if(fesprcn-•4>

{

}

i=O; while( i <x)

{

blancos[il=' f++;

x=2·strlen(auxblanc);

/*printf("i = Xd\n",i);*/ }

/*printf("i " Xd\n", i );*/ blancos[iJ='\0 1 ;

/*x,.strl en(blancos) ;* / /*printf(•strlen(blancos = Xd\n" ,x>;*/ /*printf("antes strcat infz = "8\n", infz);*/ /*strcat ( i nf z, blancos>;*/ /*printf( 11after strcat infz = "8\n", infz);*/ /*printf("sale de slbrutina blancos\n");*/

/*********************************************************************************************** SUBRUTINA SIJIARB IX EFECTUA LAS SlllAS PARA TOTALES EN RADIOBASES

*******'********************************************************************************************* / sLJ1111rbixO {

int contrb;

Page 246: MAESTRO EN SISTEMAS DE INFORMACION s

int ftemaux; int IIWl2; float poroc~; cantrb=O; itellaUX=ltm; iteF1;

aubcel=O; nonacel=O; cel7180=0; cel8190=0; cel91100•0; satcel•O; ~rsatcel=O;

au.rbdisp<O; s-..caprb=O; a..-eelrb=O; s,_rbarblo=O; s1.11111rl:ril i ds=O; sllllirbdlt=O; pro1rl:lllflt=O; slllrbporsat=O;

lolhile(itai<=cant3) (

/*inicial izando cantadores*/

/*inicial izando s111111s*/

aux2=inflsr[lteml. index; if( stramp(rutdisp[aux2J .tipo,"RB")==O

{

}

cantrb++; su.rbdi sp=s1.11111rbdi sptrutdi sp [auxZJ .di spoper; s1.11111caprbo<SU1Bcaprb+rutdi sp[aux2J • er langa; /*printf("lnflsr [Id]. r= Xs\n", i tem, inf lsr[i tell). r); printf("rutdisp[Xd] .nomelet11= Xs 11 ,11uxZ,rutdisp[aux2J .nonielem); printf(•s1.11111rbdl5P"' "8.2f" ,s111111rbdi sp); printf(•su.eaprb = "8.2f\n11 ,s1.11111caprb); getchO;*/ s1.111reelrb=s1111realrb+inflsr [!tena]. traff; lf(rutdisp[aux2J .erlall9sl=O)

e poroc._.,,.( inflsr[itl!III]. traff/rutdisp[-21 .erlangs)*100;

}

I f( (porocup>=O)&&(porocup<=20) subcel++;

if( (porocup>20)&&(porocup<=70) nonacel++;

if( (porocup>70)&&(porocup<=80) cel7180++;

if( (porocup>80)&&(poroc'-""=90) cel8190++;

if( (porocup>90)&&(poroc'-""c100) ) cel91100++;

if( (porocup>100)&&(poroc'-""=120) satcel++;

i f < porocup> 120) supersatcel++;

s111111rbenblo=su.rbarblo+inflsr[itl!III] .anblo; s1.11111rl:rillds=s111111rl:rill ds+lnf l sr [i ten(J .nbi ds; su.rblmt=s1.11111rbdlt+lnflar[fte91 ... ti11e;

lt-; }

if(su.caprbl=O) {

s"""°roc~(s1111real rb/si.acaprb)*100; }

i f(contrb>O) {

prmrblht.,s.-rllri!t/cantrb; }

fprintf(fp2, "\n"); countl ines++; fonufeed1 O;

leaer _cOll(Pi tch, "14.00•, fp2); leaer _cOlll(Stroke_welght,nornal, fp2);

Page 247: MAESTRO EN SISTEMAS DE INFORMACION s

fprintf<fp2,•0llllllWUUillilWXWX11lllilliUllllllRUU.UilWWUül.UXWUll1UWWllWWlllll .UllllUUU.UWXI.UA.Ull.UUUUUUUUllilUll¿ \n" l; fprintf(fp2,"' TOTALES:"); fprintf(fp2,""'l;

fpri ntf ( fpZ, 1'%11. 2f•, sUIBrbdi sp); fprlntf(fp2, '" ">; fprintf(fp2," %7 .2f11 ,s1a111caprb); fprintf(fp2,"'"); i f ( SUllll'ea l rb<9999)

{fprintf(fp2,H %7.2f11 ,stnreelrb);) i f (s1nrealrb>9999)

{fprintf(fp2," ****.**");) fprintf(fp2,"'"); if(sl.Jl1)0roc14><200)

{fprintf(fp2," X5.2f",s~roc"");) if(sU11pOrocup>200)

{fprintf(fp2,• **.**");) fprintf(fp2, ""'l; fprintf(fp2," X6.2f",s...arbanblo); fprintf(fp2, '" ">; if(siawrbnbids<99999) {fprintf(fp2, 11 X7.1f11 ,s1.11111rbnbids);}

if(s.-irbnbids>99999) {fprintf(fp2," *****·*");)

fprintf(fp2,""'); i f ( promrllln t<9999)

{fprintf(fp2," r.7.2f 11 ,promrbmt);) i f(pr0111rbmt>9999)

{fprintf(fp2,• ****.**">;>

fprintf(fp2,"'");

if(s~rocup>100) {

swirbporsat=sUlpOroc:""-100; )

i f (SU11pOroc:14><z100) {

sunrbporsat=O; )

if(sunrbporsat<999) {fprtntf(fp2," X6.2f" ,swirbporsat);)

I f(s1111rbporsat>999) {fprintf(fp2," ***·**">;>

fprintf(fp2,""'>; fprintf(fp2,• "4d'1,sunacanales); fprintf(fp2, •• \n•);

fprintf(fp2,•AlllllllllllllllllUlli1111UllUIIIIUIWWUUWWW.UlllUWUlllllllllllilUUUllAillilUUA llUIIIUIUUUUUWWlllllllJ.llllWlllAllUUAllllu\n"l;

fprintf( fp2, 11 \n"); c0161t l i nes++; for11feed3(); laser _com(Pitch, 1114.0011 , fp2); laser _cc:n(Stroke_weight,black, fp2); fprintf(fp2,•oaJPACION Y SATLiRACION EN CELULAS:\n"); laser _cOlll(Pitch,"14.00•, fp2); laser _com(Stroke_weight,normal, fp2); C0161t l i nes++; for111feed3(); fprintf(fp2, 11 CELULAS SUBUTILIZAOAS O - 20 ) C0161t l Í nes++; formfeedJO; fprintf(fp2, 11 CELULAS OCUPACION ( 21 - 70 ) COllltl Í nes++; fonwfeed30; fprintf(fp2,• CELUL.AS OCUPACION ( 71 - 80 ) cowitl ines++; formfeedJO; fprintf(fp2, 11 CELUL.AS OCUPACION ( 81 - 90 ) cowit l i nes++;

:ad tllulas\n",subcel);

r.ld tllulas\n",nonncel);

:ad tllulas\n",cel7180);

X3d tllulas\n11 ,cel8190>;

Page 248: MAESTRO EN SISTEMAS DE INFORMACION s

fonrieed30; fprlntf(fp2,• CELULAS OCUPACIOII 91 - 100 ) X3d CILulas\n•,cel91100); couitl lnes++; fonrieed5(); fprintf(fp2,• CELULAS SATURADAS ( 101 - 120 ) X3d CILulas\n•,satcel); couitl ines++; fonrieedJ(); fprlntf(fp2,• CELULAS SUPERSAT. > a 120 ) X3d CILulaa\n",s...,ersatcel); fprlntf(fp2,•\n\n"l; couitl lnes++; fomfeed30; fprintf(fp2,• No. de CELULAS EN El MTX Xs ld\n",region, totalstations); couitl ines++; fol'llfeed3(); fprlntf(fp2,• No. de CELULAS PROCESADAS EN El MTX Xs lld\n",region,contadorcells); couitl ines++; foMllfeedJO; fprintf(fp2,• No. de CELULAS SIN DATOS EN El MTX Xs lld\n",region, totalstations-

contadorcells);

itelFÍtl!IIIBUX, }

, .......................................................... *********************** ...... ***************** NOMBRE: BUSCAD I C BUSCA UNA RUTA ADICIONAL EN El VECTOR DE RUTAS ADICIONALES

........ ****************************************************"**************************************** I buscadicO

e int t; findadic=O; i=1;

}

while(i<MAXADIC) e

ifC (strcnp(adic [il .radie, inflsr titeml .r)==O> e findadic=1; }

i++; )

;--;

, ................................................. ************************'***************************** IKJIIIRE: ADICIONL INICIALIZA El VECTOR DE RUTAS ADICIONALES

**************'*************************************************************************************! adicionl() e strcpy(adic[11 .radic,•COA"); strcpy(adicC21 .radtc,"Cl"); strcpy(adic[lJ .radtc,•AsCMOO•); strcpy(adicC41 .radic,"ASOO"); strcpy(adicC5J .radic,•ABOCUPO"); strcpy(adlc[6] .radic,•LINCONO"); strcpy(adicC7J .radtc,"NOOISPO•>; strcpy(adtc [8] .radic,"NUINEXO"); strcpy(adic [9) .radic,•RECNEGO"); strcpy(adic [101. radic,"RECPOSO"); strcpy(adicC11l .radic,"TELSUSO"); strcpy(adic [12J .radic,"SE8010"); strcpy(adic[13] .radic, 11SE801l 11 );

strcpy(adic [14] • radie, ''IIONT250"); strcpy(adicC15!. radic,"MONT2SI"); strcpy(adic[16] .rad!c,"GUAD2SO"); strcpy(adlcC17J .radic,•GUAD2Sl"l; strcpy(adic[18] .radic,"MD8011 );

strcpy(adic[19] .radic,"MDBl"l; strcpy(adic[20J .radic,•ACTIVO"); strcpy(adicC21l .radic,''DESACT011 );

strcpy(adic[22J .radic,"VERIWIO"); strcpy(adic[23] .radic,"NOTON01•); strcpy(adic[24J .radic,"NOTOll02"); strcpy(adic 125] .radic,"NOTON03•);

Page 249: MAESTRO EN SISTEMAS DE INFORMACION s

atrcpy(adic[26J .radic,"NOTON04"); strcpy(adlcl2n .radic,"CAIUIUM"); strcpy(adlcl28] .radic,•CAMN\IIO"); strcpy(adic[29l .radlc,•VMAL2WO"); strcpy(adic[]OJ .radic,•11>ENBO">; strcpy(adic[31J .radlc,•ABUQJPO•); strcpy(adic[32J .radic,•OCIJPADO"); strcpy(adlc[]]J .radic,"CONGESO"); strcpy(adicl34l .radlc,"IIITELO"); strcpy(adic[35] .radic,"IIITELI"); strcpy(adic[36] .radic,•RECNEGI"); atrcpy(adicC3n .radlc,"XJUUUU1X"); } , ......................................................................................................... ..

NOMBRE: CREATCITY INICIALIZA EL VECTOR DE Clll>ADES CON COVERTURA TELCEL

··········••********************************************** ...... ************************************/ createci ty() e

i f( ( fpci ty=fopen("CITIES. TXJH, •r•»==NULL) e pos(20, 15); printf("No se puede abrir el archivo ls",REG_AUX); salida(); exitC1);

}

MAXCITY•1; whi le((fscenf(fpcity, •Xs" ,&datos)) 1 =EOF)

}

e

}

strcpy(citles [MAXCITY] .ncity,datos); fscanf e fpc i ty, •Xs• ,&datos); /*ci ti es CMAXCITYl • regi on=atoi(datos);*/ MAXCITY++;

strcpy(citles CMAXCITYl .ncity, "WollMI"); /*citiesCMAXCITYJ .region=9;*/ fclose(fpcity);

/*strcpy(cities [11 .nci ty, "TI JUANA"); strcpy(cities[Z] .nclty,•MEXICALI"); strcpy(cities[3] .ncity,•ENSENADA">; strcpy(ci ties [41 .ncity, "HERIIOSI LLO''); strcpy(ci ties [5] .nci ty, "CHIHUAHUA"); strcpy(cities[6] .ncity,•TORREON"); strcpy(citiesCn .ncity,•CD. JUAREZ"); strcpy(cities [BJ .ncity,•CD. -CUAUHT .•); strcpy(ci ti es [9] .ncity, "IIONTERRE'!'"); strcpy(cit i es [101 .ncity, "MATAMOROS"); strcpy(cities[11] .ncity, "N._LAREDO"); strcpy(cities[12] .ncity,"REYNOSA"); strcpy(citl es [13] .nci ty, "SAL TILLO"); strcpy(cl ti es [14] .nci ty, "GUADALAJARA•); strcpy(ci ties [15] .nci ty, "CIUERETARO"); strcpy(cities[16] .ncity,•LEON">; strcpy(citiesc1n .ncity,"ACAPULCO''); strcpy(cities[18] .ncity,"PUEBLA">; strcpy(cltiesC19J .ncity,•MEXICO"); strcpy(cities[20] .ncity,•CUERNA"); strcpy(cities [21] .ncity,"TOLUCA•); strcpy(cities [22] .ncity, "EDO.MEX•); strcpy(cities [23] .nci ty, "SL_RIO_CLDO"); strcpy(cities[24] .ncity,"NOGALES"); strcpy(cities[25] .ncity, 11CELAYA"); strcpy(citiea[26] .nci ty,"IRAPUATO"); strcpy(cl ties ran .nci ty, "WIMIWWW") ;*/ /***********************************************************************************************

IKIIIIRE: CALCMHT EFECTUA EL CALQJLO DEL MHTIME PARA LAS RUTAS DE LA INTERCONEl<ION C 1/0)

****************************************************************************************************/ calcnht() e int aux; int itl!IIIIIUK; itaaux=iteni; ite!F1; aux2 1;

Page 250: MAESTRO EN SISTEMAS DE INFORMACION s

lllhtlll"O; lllhtout=O; sunill"O; sunout-0; wii le(itm<:cont3) { .

aux=lnflsr[itelll]. index; nntvalO; i f(fowd-•1) {

>

I f(strcq,(rutdfsp[auxl. tipord,"l")=:O) {

>

lllhtl...-itin+lnflsr [itell] .nbida•inf lsr [it811l .rilti11e; a1.Bill"&1.Bln+lnflsr[ftellll .nbida;

if(str~(rutdisp[auxl. tipord, "O")==O> {

>

lllhtout....,tout+inflsr[itl!III] .nbids*inflsrliten(] .dltilRI!; sunout=s11110Ut+inflsr [itelll .nbids;

it-; > i f(aimfn>O)

{

mtin.htln/s111in; >

i f(sLIIOUt>O) {

ni, tout=mh tout/BI.IIIOUt; >

i tl!fF i t etllllUX ;

> /********** ... ********************* ..... *************************************************

NOMBRE: RUTA FUNCION: CONOCER El PATH DEL DIRECTORIO DE TRABAJO PARA ARCHIVOS DE 1/0 Y TEMPORALES

*************************'*******************************************************************/ ruta() {

>

i f( ( fpruti!l"fopen(•RUTA_IO. TXT•, •r•) )=NUll) {

>

pos(20, 15); printf("No se puede abrir el archivo RUTA_IO. TXT"); salida(); exit(1);

i f ( fscanf (fpruti o, •Xs", &cadena)==EOF) {

pos(20, 15); printf("El archivo RUTA_IO.TXT esta veciol"); salida(); exit(1);

> fclose(fprutio);

/*******'***************************************************************************** FUNCION: RENCIIIIIRA RENOMBRA LOS ARCHIVOS DE ACUERDO Al PATH

...... **********************************************************************************/ renont.ra(char *cadena1 ,char *cadena2) {

}

char aux 1351;

s t rcpy( aux, cedene2); strcat(aux,cedena1 ); strcpy(cadena1 ,aux);

/************************************************************************************ FUNCION: LEEMAXSAL LEE El PATH PARA ESCRIBIR El ARCHIVO DE MAXIMOS Y GRAFICAS

.. ***************************** ....... ***************************** .. **********************/ l eemaxse l () {

if(totalhora>1 > {

Page 251: MAESTRO EN SISTEMAS DE INFORMACION s

i f ( ( fpsal=fopen(SAl IDAS _AJJX, "r") )==NULL) {

)

pos(20, 15); prlntf("No se puede abrir el archivo X..11,SAllDAS_AUIO; sel ideO; exlt(1>;

fscanf(fpsal, "Xs• ,&IWCINOS_AUX); fscanf < fpsa l, "Xs• ,&IWCINOS_AJJX >; fscanf (fpsal, ''Xa" ,&IWCINOS_AUX); fscenf(fpsal, "Xa" ,&IWCINOS_AUX); fscanf(fpsal, -XS• ,&IWCINOS_AUIO; facanf ( fpsal, "Is" ,&IWCIMOS_AUX); fclose(fpsal); i f ( C fpnax=fopen(MAXIMOS_AIJX, "w'') )==NUll) {

)

pos(20, 15); prlntf("No se puede abrir el archivo Xs•,MAXINOS_AUX); sal idaO; exit(1);

laser _cClll(Orientacf on, Horl zontal, f¡:nax); lasar _cC111(left111argin, •5•, fpmax); /*laser _cOlll(Style,Desktop, fi:-x>;*/ laser _com(Pitch, •14.00•, fJIIIIIX); laser _cOlll(Polnt_si ze, •12.0", fp1111x); laser _cOlll(Style,...,right, fJlllllll); laser _cOl!(Stroke_weight,bold, fpmax); laser _cOll(Typeface,Gothic, fpmax); laser _cOll(l ine_sp,"6", fpnH);

laser _cOlll(Pitch,"14.00", fpnax); laser _cOll(Stroke_wei9',t, extra_black, fpnax); fprintf <fpnax, "\n''); fprintf(fi:-x,• GRAFICA DE CAPACIDAD Y TRAFICO (RPT/RBs) \n\n•); fprintf(fplll)I," HORA CAPACIDAD TRAFICO CAPACIDAD TRAFICO \n"); fprintf(fp,,ax," RPT RPT RB 1s RB•s \n\n"); laar _c1111(PI tch, •14.00•, fpaax); laser _ca11(Stroke_wei ght,nort1111l, fpnax);

) )

/******'*'*********************'*******************************"********* FUNCION: BUSCANCMIRES BUSCA El NOMBRE DE LA RUTA EN BASE Al INDICE INDICADO

**********************************************************************/ buscanombres( > {

int l,11,n; 1=1; IIP1;

fe lose( fp9); if((fp9=fopen(INFR_Aux,•r•))a=NULL) /*contiene rutas y rrdvs*/

{

)

pos(20, 15); prlntf("No se puede abrir el archivo Xs", INFR_AUX); salida(); exit(1);

if(rutdlsp[aux4J.nomell!lllindex==1) {

for(IF1 ;111<=4;m+-+) {

)

fscanf(fp9, ""5" ,&ceq,os); strcpy(nameell!lll,c~s);

)

else e while( l<rutdf sp[aux41 .nomelemindex)

{

for(IF1 ;111<a8;in++) {fscenf (fp9, "Xs" ,&caq,os) ;>

Page 252: MAESTRO EN SISTEMAS DE INFORMACION s

l++; }

for(F1 ;111<"4;11++) (

fscanf(fp9, 11Xs 11,k~>; atrcpy(nmeele111,c~>;

} }

fclose(fp9); }

/******************************************************************** FUNCIOII: ABRERBS ABRIR EL ARCHIVO DE RADIOIIASES RESULTANTE EN FINDOATE RBS. TMP y lee las RADIOBASES.

**** ......... ***********************************************************/ abrerbsO <

}

char pruebaruta [6] ; char pruant [6] ; char prudesp [6]; f f ( (fprba=fopen(RBS _AUX, •r11 ) )==NULL)

< pos(20, 15); printf("No se puede abrir el archivo Xs",RBS_AUX); sal idaO; exit(1 >;

}

totalstations=1; whf le((fscanf(fprbs, 11Xs11 ,&radf obases [totalstationsl. rb)) 1 =EOF >

< strcpy(pruebaruta, radiobesea[totalstationsl .rb); pruebaruta [4l = • \0 •; if(totalstations==1 >

< strcpy(pruant, prueba ruta); /*prlntf("pruant-XS\n•,pruant);*/ cuentatota i ti oa=1; }

i f(totalstati ons>1) { st rcpy( prudeap, prueba ruta); /*printf(•antes de COlll)llracfon\n"); printf("pruant" Xs\n•,pruant);

} }

printf("prudesp= Xa\n",prudesp);*/ if( (atrcq,(pruant,prudesp)) l=O)

{

cuentatots i ti os=cuentatotsf ti os+1; rprintf("se incrl!lllellta cuentasitios= Xd\n",cuentasitios);*/ strcpy(pruant ,prudesp);

totalstations++; }

totalstatfons··· /*prfntf(•total;tations• Xd\n•, totalstations) ;* / fcloae(fprbs);

/*'**************** ... ************************************************ FUNCIOII: BUCSCAESC BUSCA EN INFRAESTRUCTURA LOS PAIWIETROS DE LA RBS QUE NO APARECE EN LA MUESTRA Y LOS IMPRIME EN ARCHIVO DE SALIDA

...... ****** .... ******-******************************~*********** I buscaasc() {

char c"""°s [20]; int 111,findinfr,ddispopers; fe lose( fp9); if((fp9=fopen(INFR_Aux,•r•»= .. NULL) /*contiene rutas y ndvs*/

{

pos(20, 15); printf("No se puede abrir el archivo Xs•,INFR_AUX); sal ida(); exit(1);

}

ffndinfr=O; wh i le( (fscanf(fp9, 11Xs• ,&can.,os)) 1 =EOF)

{

Page 253: MAESTRO EN SISTEMAS DE INFORMACION s

ff( (strcnp(ClllllpOS, 11DISPQSR"))==O ) {

printf("Error en la busqueda de RBS c,ie no aparece en nuestra datos\n"); getchO; exi t(1 );

> strcpy(IIUXesccity,c-.x,s); for<•1;19<=7;n++)

{ fscenf (fp9, axs• ,&canipos); if(.,.,.l){ strcpy(nan,eehn,caq,os);> if(n,=4)

{

)

if( (stre111p(~,radiobases[jj] .rb))=O {

findlnfr .. 1; >

if(11==5) Cstrcpy(tipox,c~);) if(111==6) {strcpy(dispopers,caq,os>;>

)

I f(f indinfr,.•1 ){break;> > /*fin whlle*/

if(findlnfr""1) {

fprlntf(fp2, •• "); fpri ntf ( fp2, •Xs•, aW1esccl ty);

strcpy(aWlblanc, 8Wlescc i ty); fesprcn=1; blanco; fpri ntf ( fp2, ''Xs", blancos); fprintf(fp2, "'"); fprintf(fp2, 1'Xs•,nan,eel1111); strcpy(aWlblanc,nameelem); fesprcn=2; blanco; fprintf ( fp2, 11:csu, blancos); fprintf(fp2, "' "); fprintf(fp2,nXs 11 ,radiobases [jj] .rb); strcpy(auxblanc,radiobases[j il .rb>; fesprarFl; blanco; fpri ntf (fp2, •Xs11 ,blancos); fprintf(fp2,•••); fprintf(fp2,• Xs •, tipox); /*fprintf(fp2, "' ");*/ ddispopers=atoi (dispopers); /*fprintf(fp2," "6d'0 ,ddispopers) ;*/ fprintf(fp2,•• S·DAT' S·DAT' S·DAT' S·DAT'

DAT'\n"); }

if(findinfr==O) {

S·DAT' S·DAT' S·DAT' S-DAT'

printf("Error en la busqueda de RBS c,ie no aparece en nuestra datos\n"); getch(); exlt(1); )

fclose(fp9); }

1

s-

Page 254: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: qsr.c

linclude<atdio.h> llnclude<ctype.h> linclude<stdl ib.h> #include<Nth.h>

#fnclude <dos.h> #include <confo.h> #include <stdarg.h>

#include <graphfcs.h> #include 11 laserdef.h"

#define MAXDIA 5 #define QSR IIQSR TRAFFit• #def I ne Elll "END" #define TRAFMIN 1000 #define NBIDSMIN 1000 #define NDVMIN 1000 #define MIITMIN 1000 #define MAXRUTA 50 #define IIAXMHT 25 #define IIAXHORA 22 #define IIAXLI N BO #define IIAXFECH 10 /*cl!lllbiarlo cuando se procesen 111as de 5 dias (Ll\8 semana)*/ #define MAXDAY 20 #define FFF 12

FILE *fp1, *fp2, *fp3, *fpt, *fp4, *fp6, *fpB, *fpln, *fprb, *fp9, *fpdia, *fpsal, *fpaux; FILE *fp_reg,*fprutlo;

char first; char blancos [20); char auxbl anc C20J ; char string CMAXLINJ; char datos [201 ; char date [8] ; char hour [6] ; char namrch [20); char region[20J; char reglon2C20J; char fstdate C8J ; char lstdate[81; char aux [20) ; int thelllOSt; /*para guardar la hora pico*/ i nt contdays; int ffstdate; int totalhora; int dayselect; i nt fesprOII;

/*total de horas a procesar de acuerdo a horas leidas de tabla.e*/ /*usada en s1mrutlna diaselect para buscar dia ~ se val ida*/

int chris; /*bandera valndv*/ float s1111&caprb; /*usadas en s1mrutina sunarbix*/ float s1111reelrb; fl oat datof; float hightraf; float llht in; float Bltout; float suwin; float SIIIIOUt; int conti tem; int cont3; int~; int halla; long datoi; int cont;

/*para guardar el trafico registrado en la hora pico*/ /*usada en s1mrutina de calculo del nntiine*/ /*usada en s1mrutina de calculo del lllhtiine*/ /*usada en s1mrutina de calculo del nntiine*/ /*usada en BI.Erutina de calculo del mtinie*/ /*contador de i tems dados de a Ita*/ /*contador de rutas en tabla definitiva*/ /*bandera bus~ en tabla definitiva*/ /*bandera de encontre lugar en la tabla*/

int ite111;/*~ro de item dentro del traffic gr<>14> siendo procesado*/ int iter; int 111; lnt z; /*contador iteraciones para escritura al archivo qsrprom*/ lnt flaginic; int fpri11era; int busca; int find;

Page 255: MAESTRO EN SISTEMAS DE INFORMACION s

int val traf, valanblo, valntit, valnbids, valnbfdsq, valrrqt; int flagesc; int search; lnt fCM.N; I nt nullber; int flagmt; int fl11flrst; int cont2; fnt openfst; int auxtotaldi a;

float datof2,.0.0; int erlz;

/*variables para obtener erlangs y porcentajes*/

char cenpos [20]; char tabla(6J; char fomul a (8J; char bar1 1200] ;

char NAME AUK [40J , REG AUK (40) ={"\ \REG. TMPU}, PRlii AUK (40] ={ 11 \ \PROM. TMP"}, HORA-AUK (40] ={"\ \HORA. TMP"}, VALQSR AUK 140] =("\ WALQSR. TKT"}, TAB AUX(40J=(•\\TA8 QSR. TMP"}, INFR AUK(40]=(•\\INFR.TMP"}, PERIODO_AUX(40J={"\ \PERIOOO. TMP"}, QSR AUX (40] =C"\\QSR. TKT"}, QSRPROM_AUX 1401 ,

RUT AUK [40] "{"\ \RUTCIRDEN. TMP"}, HORAPICO_AUX [40]={"\\HORAPICO. TMP"}, GRAFICA AUKC40J=C"\\GRAFICA. TMP"}, SALIDAS-AUX C4DJ ={"\ \SALIDAS. TMP"}, LSRPRDM -AUX [40] ={"\ \LSRPRDM. TMP"}, cadena 140] ;

/*DEF IN I C ION DE ESTRUCTURAS*/

struet disp { estructura debera ser global*/

int dispoper; char tipo[SJ;

};

struct qsrC

};

/*char ciudadC10J ;*/ char nanelem[20J; char tfpord(2J; float erlangs; float porocup; float porsat;

char hora (6J; char fecha [8J ; char r[15J; f loat traff; long nbids; long nbidsq; long nsaq; float aql; int ndv; float anblo; float dttime; float .:¡ti•;

struct qsrf nfo<

char fecha [8] ; char r[15J; float traff; float capacity; float porocup; float porsat; long nbids; long nbidsq; long nsaq;

char hora[6J;

/*la

Page 256: MAESTRO EN SISTEMAS DE INFORMACION s

struct n,ts(

struct horas(

float aql; int ndv; float erbio; float mti•: float inqtime; int mbids; fnt mbidsq; fnt nmti•; int rvqti111e; int ntref;

lnt l'llri>lo; f loat sumht; long sllSlblds; long sUll'lbidaq; float .....-..ti•; fnt ese;

>:

char ,-[151; >:

};

char ti111e[6]; fnt nun;

struct fechas(

};

struct dias e

};

struct BUM&(

>;

char quedi a [71 ; fnt bardia;

char day [201; int 11U111¡

float add; int flsllM;

struct formatabs( lnt ndv; float valor; };

struct fonutabs formatabDW<RUTAJ; struct disp rutdfspDW<RUTAl; struct qsr qsrhrdia DIAXRUTA]; struct qsrfnfo infqar DW<RUTA]: struct horas hora!MAXHORA]; struct 111,ts llht CMAXMHTl; struct fechaa fecha DIAXFECH]; struct si.ms s...ahoraDIAlUtORAJ; struct di as di II CMAXDAYJ;

char *atrtok(); extern char cadenax [100];

11111in() e clsO; titulo(); pos(6,20); printf("\033 [37;44111"):

laser _con1(0ri entacion, Horizontal, fp2); laser _c011(Left111argin, "8", fp2); /*laser _cOll(Style,Desktop, fp2) ;*/ laser _cOlll(Pf tch, "12.00•, fp2); laser _cOll(Point_sl ze, •12.0•, fp2); laser _cOll(Style,upright, fp2); laser _cOll(Stroke_wei ght,bold, fp2>; laser _cOlll(Typeface,Gothfc, fp2);

Page 257: MAESTRO EN SISTEMAS DE INFORMACION s

laser _cOll(L ine_sp, 116•, fp2);

printf(• AIIALISIS DISPOSITIVOS QSRs11 ); pos(12, 15); printf(• ">; pos(10, 15); printf(• PROCESANDO ARCHIVO QSR. TXTª); /*printf("\n•);*/ ruta(); abrir<>; /*abre archivos tabla.dat,qsr.det,genero lrSNx.det)*/ /*printf(• ABRE LOS 7 ARCHIVOS\n•);*/ /*printf("\n•);*/ cont=1; /*inicial izo contador de horas*/ cont2=1; /*inicial Izo contador de rutas*/ strcpy(tabla,"TABLA•); s trcpy( forwula, •FORIIJLA"); /*printf(•conthora = Xd\n",cont);*/ /*printf(• LEYENDO ARCHIVO DE HORAS A PROCESAR\n•);*/ leehoraO; /*lee HORAS*/ fclose(fp4); leedia(); fclosa(fpdia); /*printf(• LEYEll>O ARCHIVO DE TOTAL DE RUTAS A PROCESAR (RESULTANTE)\n");*/ /*fscanf ( fp6, 1'Xs• ,&datos);*/

fscanf(fp_reg, "Xs" ,&r@Si on); fclose(fp_r@S); strcpy(region2, r@Si on); /*strcpy( r@Si on2, REGN2) ;* / readrO; fclose(fp6); /*prlntf(• LEYENDO ARCHIVO DE RUTAS DE ENLACES CON LA RPT\n");*/ leenl!tO; /*lee rutas para calculo de ldlts*/ fe lose( fp9); /*printf(•\n");*/ pos(12, 15); printf(" PR<J4EDIOS DE TRAFICO MTX: Xs•,r@gion2); /*printf("\n");*/ ffstdetPO; contdeys=O; openfst=O; indias(); hightraf=O; whi le(cont<=totalhora)

{

/*prlntf(•cont " Xd\n•,cont>;*/ i nsl.lllah r(); if(cont>1)

{

openfstz1; /*ya ebrio el archdivo al llel10S w,a vez*/ /*printf(•valor de openfst para cont >1 ,openfst • Xd\n",openfst);*/ }

pos(14, 15); printf(" PROCESANDO LA HORA= %s •,hora[contJ .time); /*prlntf(• PROCESANDO LA HORA = Xd •,cont);*/

/* if(cont<.,totalhora) putchar(13);*/

f lgf i rst=1; fla11inlc=O; flagesc.,0; /*printf("valor de flaginic = Xd\n",flaglnic);*/ if((fp1=fopen(QSR_AUX,"r"))=NULL) /*contiene infol'IIIIICion de qsrs a

proc.*/ {

}

pos(20, 15); prfntf(•No se pueda abrir el archivo Xs•,QSR_AUX); pos(22, 15); sal ideO; exit(1);

llhi le((fscanf(fp1, •Xs• ,&datos))! =EOF) {

/*printf("ENTRA A LEER ENCABEZADO\n");*/ /*prlntf("valor datos dentro del while Xs\n",detos);*/

/*prlntf("antes de dlaselect auxtotaldia=Xd\n",auxtotaldia);*/

Page 258: MAESTRO EN SISTEMAS DE INFORMACION s

diaselectO; /*printf(•al regreso de dlaselect, dayselect=Xd\n",dayseleet);*/ /*getch();*/

/*exlt(1);*/ lf(dayselect==1> e /*prlntf("entra a if dayselect,.1\n">;*/ /*getchO;*/ strcpy(date,datos); /*prlntf("valor de date = Xs\n",date);*/ i f(openfst=O)

}

e /*printf("prhiera apertura de archivo, openfst = Xd\n",openfst);*/ i f(ffstdate=cO) e /*printf("entra 111 primera vez\n">;*/ strcpy(fstdate,date); strcpy(fecha [contdaysJ .cp!di a, fstdate); /*prlntf(•fecha[XdJ .cp!dia = Xs \n•,contdays,fecha[contdaysJ .cp!dia);*/ feeha[contdaysJ .bandla=1; ffstdate=1; contdays++; fecha[contdaysJ .bandia=1;

}

else e

}

i f(strcq,(date, fstdate) 1 =O) /*printf( 11ya no es la primera vez y fechas diferentes\n");*/ ( /*printf( 11fstdate = Xs \n•, fstdate); prlntf("date = Xs \n•,date);*/ strcpy(fstdate,date); /*printf(•fstdate actualizada e Xs\n",fstdate);*/ strcpy(fecha [contdaysJ .cp!dla, fstdate); /*printf("feehaCXdl .cp!dia = Xs \n",contdays,fecha[contdaysJ .cp!dia);*/ contdays++; fecha CcontdaysJ .bandl a=1;

}

fscanf ( fp1, •Xs11 ,&datos); strcpy(hour ,datos); /*prlntf(•hour " Xs \n",hour);*/ /*prlntt(•hora[Xd] .time = Xs \n•,cont,hora[contJ .ti111e);*/ lf((strcap(hour ,hora[contJ. time))==O)

e flagesc=1;

/*prlntf(•entra al if ,por los tanto horas iguales\n");*/ if(flaginic=O) /* pri111era vez que entro II una hora*/

e /*item-1;*/ do

e /*printf("INICIALIZA ITEM Xd\n•, item);*/ fscanf(fp1,•Xs•,&datos); /* nontire del item leido*/ inicia(); itant-+·

} /*fin' do llhlle*/ whi le( (strcq,(datos, END) > 1 =O); iten--; flaglnlc=1; /*inicial izo la primera hora de items*/

}/*fin if(flaginic,.=O)*/ else(*flaginicl "O*/ e /*printf("ENTRD AL ELSE\n11 );*/

if(flaginic,,=1) {

/*printf(•entro al lf flaginic •• valor de flaginic" Xd\n",flaginic);*/ iteaF1; do e

/*printf("LECTURA ITEM Xd\n", ítem);*/ fscanf(fp1, 11Xs• ,&datos); /*printf( 11rut11 Xs\n",datos);*/ leer();

Page 259: MAESTRO EN SISTEMAS DE INFORMACION s

/* printf( 11valor qsrhrdiat1J .fecha es Xs\n",qsrhrdia[1J .fecha);*/ /* prfntf("valor infqsr[1J.fecha es Xs\n",infqsr[1].fechal;*/ prcn();/*obtiene lll8Jli1110s y 11ini1110s*/ it-·

)lllhf le( (;trellp(datos,Elll) )1 =O); fte11--;

)/*fin if(fla11inic==1)*/ )/*fin del else*/

}/*fin del if de c~recion de horas*/ else {

)

/*printf(•llega a buscaend\n•);*/ buscaend( ) ;

}/*fin de diaselect*/ else {

/*prlntf( 11 llega a buscaend\n");*/ buscaend( ) ;

}

}/*fin llhile eof*/

/*prfntf("SALE DEL IIHILE EOF\n");*/ if(flagesc=c1) e /*diYldltO;*/ dfvprom();

infra(); porcent(); valndvO; s..-arbi xO;

calClllhtO;

/* printf(•regresa de porcent() y va a eapra110\n"l;*/ espramO; flagesc=O; }

/*printf("REGRESA DE ESCRIBIR LOS PRCIIEDIOS\n•);*/ fclose(fp1); cont++¡

}

strcpy( lstdate,date); datfecha( l; if(chris==1) /*IF PARA RUTINA YALNDV*/ e fprintfCfpl, "\n''); pos(20, 15); fprintf(fpl, 11REVISE SU TABLA DE INFRAESTRUCTURA\n"); fprlntf(fpl,•\n-); }

/*printfC" /*printf( 11

/*printfC" pos(20, 15); printf(H pos(22, 15); salida(); exlt(1);

\n•);*/ \n">;*/

CERRANDO ARCHIVOS \n");*/

FIN DEL PROCESO");

}/*fin del 11111in*/ , ..................................................... ************************************ ....

NOMBRE: ABRIR FUNCION: ABRIR EL ARCHIVO QUE CONTIENE LA INFORIIACION,

EL ARCHIVO DONOE SE ESCRIBE ,EL ARCHIVO DE YALIDACION DE LA INFORMACION PROCESADA Y ARCHIVO PARA MAXIMOS Y MINIHOS.

*********'******************************************************************************* I abrir() e

rencnbra(REG AUX, cadena); rencnbra( PRIÍi _AUX, cadena); renait>ra ( HDRA_AUX, cadena);

/*REG. TMP* / /*PRCII. TMP* /

/*HORA. TMP* I

Page 260: MAESTRO EN SISTEMAS DE INFORMACION s

renmbra(VALQSR AUX, cadena); renolllbra( TAB_ AUX, cadena>; renOlllbra(INFR AUX,cadena); renorilra(PERIOOO_AUX,cadena); renomra(QSR _ AUX, cadena>; renOlllbra(RUT AUX,cadenal; renmbra( HOltAP I co_AUX, cadena l; renamra(SALIDAS_AUX,cadena);

i f ( ( fp_reg,,fopen(REG_AUX, "r") )=ql\JLL l {

pos(20, 15);

/*VALQSR. TXT* I /*TAB QSR. TMP* I /*INFR. TMP*/ /*PERIODO. TMP* I /*PERIODO. TMP*/ /*RUTORDEN. TMP* /

/*HORAPICO. TMP*/ /*SALIDAS. TNP*/

pr;ntf( 11No se puede abrí r el archivo Xs•,REG_AUX); pos(22, 15); sal ida(); exit(1);

>

; f ( ( fp2=fopen(PROM_AUX, "w") )•=IIULL) {

>

pos(20, 15); prlntf("No se puede abrir el archivo Xs",PROM_AUX); pos(22, 15); sal ida(); exlt(1l;

if((fplsfopen(VALQSR_AUX,"w"ll"=NULL) /*contiene infonnacion de rutas validadas*/ {

pos(Z0, 15); pr;ntf("No se puede abrir el arch;vo "811 ,VALQSR_AUXl; pos(22, 15>; sal ida(); exlt(1);

> else

{

fprintf(fpl, 11\n"); fprintf(fpl, 11 ANALISIS DE INFRAESTRUCTIJRA\n"); fprintf(fpl, 11 VALIDACION DE RUTAS QSR\n11 );

fprlntf(fpl, 11\n"); >

i f((fp4.,fopen(HORA_AUX, "r"ll==NULL) /*cont;ene horas*/ {

>

pos(Z0, 15); printf(•No se puede abrí r el archivo Xs• ,HORA_AUX); pos(22, 15); sal ida(); exit(1);

i f ( ( fp6=fopen(T AB_AUX, 11r• l )==NULL l proc.*/

{

>

pos(Z0, 15); printf("No se puede abrir el archivo Xs•, TAB_AUX); pos(22, 15); sal ida(); eKlt(1);

i fe Cfp9=fopen( INFR_AUX, •r11 ) )==NULL) e pos(20, 15); printf("No se puede abrir el archivo Xs",INFR_AUX); salida(); eKlt(1);

}

i f( ( fpdi a=fopen(PERIODO_AUX, "r") )==IIULL)

/*contiene informacion de QSRs a

Page 261: MAESTRO EN SISTEMAS DE INFORMACION s

< pos(ZO, 15); printf(NNo se puede abrir el archivo "511 ,PERIOOO_AUX); sal Ida(); exlt(1);

} }

/***'**************** ........ *********************************'* ............................ . IICJMBRE: INICIA INICIALIZA LOS CNIPOS DE LA ESTRUCTURA PARA qsr

***********************************************'*************************************/ inicia() < /*printf("entra a inicia\nM);*/ i f((str~(datos,ENO)) 1 =O> < /*prlntf(ªbusca la fnfor1111Cion datos=Xs\n",datos);*/ /*aetch() ;* / buscainfO; /*printf("regresa de buscainf\n">;*/ strcpy( lnfqsr [i tell]. fecha,clate); /*printf(•infqsr[Xd]. fecha = Xs\n", item, infqsr[itellll. fecha);*/ strcpy(infqsr[itNil .hora,hour); /*printf(•infqsr[Xd] .hora = Xs\n•, lte111, infqsr[itml .hora);*/ strcpy(infqsr[itelll] .r,datos); /*prlntf("lnfqsr [Xd] .r e Xs\n", item, lnfqsr[iteml .r);*/ strcpy(qsrhrdia[itl!IIJ .r ,datos); /*printf(•ruta infqsr[Xd] .r antes de val ruta = Xs\n", lte111, lnfqsr [iteml .r);*/ /*val ruta();*/ fscanf(fp1, "XfN ,&datof); i f(clatof> .. 0)

/*inicial Iza prOllledios*/ /* validando el ·1*/

< lnfqsr [itemJ. traffadatof;

}

else {

infqsr [i te,n]. traff=·1; }

infqsr [i te,nJ .ntraf=1;

/*Inicial Izo si.mndos de prOlledlos*/

/*printf(•infqsr[Xd] .traff= Xf\n11 , lte111, lnfqsr[iteml .traff); */

fscanf (fp1, "Xld'1,&datoi ); if(datoi> .. 0) /* val !dando el ·1*/

{

infqsr[item] .nbidsmdatoi; /*inicial izo nbids promedios*/ }

else <

infqsr[ltt!ffl] .nbids=·1; }

infqsrlitellll .nnbids=1; /*printf(Ninfqsr[Xd] .nbids = Xd\n", itan, infqsr(itell] .nbids);*/

fscanf(fp1, "Xld• ,&datoi); if(datoi>=O) /* validando el ·1*/

< infqsr[itell] .nbidsq=datoi; /*inicial izo nbidsq promedios*/

}

else {

infqsr(iteml .nbidsqm·1; }

infqsr(itl!llll .nnbiclscr1; /*printf( 11 infqsr(Xd] .nbidsq " Xd\n11 , itan, infqsr [iteinl .nbidsq);*/

fscanf(fp1 ,•Xld11 ,&infqsr(itl!II] .nsaq); /*prlntf(ªirfqsr[Xd] .nsaq= Xd\n", ltem, infqsr(iteml .nsaq); .,

fscanf(fp1 ,''Xf" ,&infqsr (i tem] .aql ); /*printf("infqsr[Xd] .aql= Xf\n",item,infqsrCitemJ .aql); */

fscanf(fp1 ,"Xd" ,&infqsr(itMJ .ndv); /*infqsrCitemJ .ndvadatoi;*/ qsrhrdia[iteml .~infqsr[iteml .ndv; /*valndvO;*/

Page 262: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf("infqsr[Jd] .n,t,,,, Xd\n", ite11, infqsr[itetnl .ndv); */

fecanf (fp1, "Xf" ,&datof); if(datof>-0) /* validando el ·1*/

{

lnfqsr[lteml .erblo=datof; /*inicial izo slall&ndos de prOllledios*/ ) elae {

infqsr[iteml .erblo=-1; )

infqsrCltellll .narblo=1;

fecanf(fp1, "Xf• ,&detof); lfCdatof>zO) /* validando el -1*/

{

infqsr[iteinl .ntttinie=datof; /*Inicializo SL111Bndos de proniedios*/ )

else {

infqsr[itell] .lllhtinie=-1; )

infqsr[item] .rmtime=1; /*printf("infqsr[Xd] .ntttiine= Xf\n", ite,n, infqsr[iteml .ntttime); */

fscanf(fp1 ,"Xf" ,&detof); lf(datof>=O) /* val iclendo el -1*/

{

infqsr[ite,nJ .mqtinie=datof; /*inicial izo sunandos de pranedios*/ )

else {

lnfqsr[itenl .mqtime=-1; }

lnfqsr[itetl] .r111qtlme=1; /*printfC"infqsr txdl .mqt lme= Xf\n", i te,n, lnfqsr [i tem] .inqt inie); */

/*printf(•infqsr CXdl .lllhtime " Xf \n", i te,n, infqsrCitemJ .mtime);*/ mtvalO;

{ /*if(fOl.ftl==1) efectuando la SLIIIB de rutes con la RPT por hora

ifC infqsr[iteml. traff>=O) {

aunahora[contJ .ad<Ps111111hora[cont] .add+infqsr[itemJ. traff; printf( 11en inicia SUMhora = Xf e la hora Xd\n",sunahora[contJ .acld,cont);

sunahora [cont] • f l sl.llB=1; }

} */

ifCCinfqsr[itl!III] .mtinie>=O)&&(infqsr[iteml .rbids>=O)) /* validando el -1*/ {

i f(fotnl=1&&f lgf I rst==O> {

/*printf("ya no es le primera flgfirst = Xd\n",flgfirat);*/ /*prlntf( 11foinl = Xd\n11 ,fcu,d);*/ flaglllht=1; infqsr[1J .slllffhtzinfqsr[1J .slllll'ht+(lnfqsr[iteinJ .rbids*infqsr [iteml .mtime); infqsr[1J .slJll'lbids,.infqsr[11 .slD!bids+infqsr[iteinJ .rbids; /*printfC"infqsrC1J .sumnt = Xf\n", infqsr[11 .sLJnmt);*/ /*printf("infqsrC1J .slJll'lbids = Xd\n", infqsr[1] .slm"tlids);*/

)

ifCf~=1&&flgfirst==1) {

}

/*printfC"flgf i rat=Xd\n", flgf i rst) ;* / /*printfC 11fcu,d = Xd\n", flllnl);*/ /*printf(•encontro en tabla qsrhrdia[Xd].r = Xs \n11 ,item,qsrhrdia[iteml.r);*/ flagni,t=1; /*inicial izo bandera de i""resion niltpran*/ infqsr[1J .slllll'htzinfqsr CitemJ .rbids*infqsr[itl!II] .mtime; infqsr[1J .slJll'lbids=infqsr[itetll .rbids; /*printf("infqsr[1J .sllllli1t = Xf\n", infqsr [11 .sumilt);*/ /*printf("infqsr [1) .slJll'lbids = Xd\n", infqsr [1J .slJll'lbids) ;*/ flgflrst=O;

Page 263: MAESTRO EN SISTEMAS DE INFORMACION s

} }

}

f*"I;*'**************************************************************'******************* NIIIIIRE : LEER RUTINA PARA LEER LOS CAMPOS DE LAS ESTRUCTURAS DE qsr

**************************************************************************************** I leer() e valtrafzO; valniltzO; valnblds=O; valnbidsq-0; valnqt=O; valanblo=O;

/* banderas de val idacian en O */

/*printf(•Entro a fw,cian lee\n");*/ i f ((atrC9')(datos, EII>)) 1-0)

e buacainfO; strcpy(qsrhrdia[itBII .r ,datos);

atrcpy( lnfqsr [i ten] .r ,datos); fscanf(fp1,"Xf•,&qsrhrdia[iteail. traff); /*lectura y val fdacian*/ /* printf("qsrhrdia CXdl • traff = Xf\n", f t811,qsrhrdia[i ten]. traff );* / if(qsrhrdia[iteinl. traff<O)

valtraf=1;

fscanf(fp1, •Xs• ,&datos); qsrhrdia[lteinl .nbids=atol(datos); if(qsrhrdia[itemJ .nbids<O)

valnbids=1;

fscanf(fp1 ,"%&" ,&datos); qsrhrdia[itl!III] .nbidsq=atol(datos); if(qsrhrdia[itetnl .nbidsq<O)

valnbidsq=1;

fscanf(fp1, •Xs• ,&datos); qsrhrdla[iteinl .nsaq=atol(datos);

fscanf(fp1, •Xs11 ,&datos); qsrhrdla[iteml .aql,.atof(datos);

fscanf(fp1, "Xs" ,&datos); qsrhrdia[itt!lll .ndv=atoi (datos); /*valndvO;*/

fscanf(fp1, •rxs• ,&datos); qsrhrdi a[itenl .arblo=atof (datos); if(qsrhrdia[itein] .anblo<O)

valanblo=1;

facanf(fp1, "Xf• ,&qsrhrdl a [item) .ll'lltinie); -.tvalO; i f(qsrhrdi a [i temJ .nfttln,e<O)

vallllilt=1;

fscanf(fp1 ,"Xf",&qsrhrdia[i teml .inqtime); if(qsrhrdia[item] .111qtlme<O)

valinqt=1;

J* printf("fin del leer( );\n");*/ }

}

/*********************************************************************** NOMBRE: ESPROM RUTINA QUE ESCRIBE LOS PROMEDIOS OBTENIDOS DE UNA HORA DADA

******'*'******************************************************************/ esprDII() e char I nfz [20] ; f nt auxcantdays; z=1;

laser _com(Orientacl an, Hori zantal, fp2);

Page 264: MAESTRO EN SISTEMAS DE INFORMACION s

laaer _ccm<Stroke_weight,extra_black, fp2); laeer _cmi<Pitch, 1112.00", fp2); laaer _ccm(L fne_sp,•811 , fp2);

fprintfCfp2, 11\n•);

if(infqsr[zJ .esc=-1> {

11UXcontdays=contdays·1; fprlntf(fp2,"MTX: 1s FECHA DEL IIJESTRED: Del 1s al 1s HORA:

1s\n11 ,region2, fecha[OJ .~la, fecha[auxcontdaysJ .~ia, infqsr[zJ .hora); /*fprintf(fp2,ªHora Pico: 1s hrs. \n\nN, infqsr[zl .hora);*/ fprfntf(fp2, 11\n"); fprintf(fp2,"TABLA 2.- TRAFICO EN DISPOSITIVOS CR Y CS:\n"); laaer _cClll(Stroke_wei ght,bold, fp2); laser cOll(Pitch,"14.00•,fp2);

- laser_com(Lfne_sp,•6•, fp2); fprlntf(fp2," .

úlHllllllllllUlllllllWUllliWWWAUXWl¿ \n">; fprlntf(fp2,"

VALORES PROMEDIO '\n");

fprfntf(fp2,•úUlllllllllllUilllUWUIAllllilllllllllWlllUl11UUlllllillllllllllllllllllllllllllll WJUlllllllHIIIUlllll111HWU¿ \n");

laser _cOll(L ine_sp, •811 , fp2); fprintf(fp2,•• POBLACIOII ' DESCRIPCIDN DE ' CLAVE ' TIPO ' Nll!ERO ' CAPACIDAD ' TRAFICO ' X DE

DISPOS. ' NIMERO ' MHTIME ' X DE '\n"); laser _ccm(Line_sp,"6", fp2); fprintf(fp2,"' LAS RUTAS J RUTAS J RUTA J DISPOS J ERLGS ERLGS J OCUPAC.'

BLOQ. 1 INTENTOS ' SEG. ' SATURAC. 1 \n");

fprintf(fp2, •WAAllUUUWlllllllllllllOIIIIWWWllllllliUIIIUllllllWllWWlllWWWlAII UIIUUlllllllUIUWUWWWll '\n">;

laser _c0111(L ine_sp, •811 , fp2); }

z=1; whi le(z<=contl) {

if(infqsr[zJ .esc==1) {

if(z==(contl-1)) {laser _cOffl(L ine_sp, "6º, fp2) ;}

/*space1 ( 1); fprintf e fp2, UXs• ,bar1 > ;* /

fprintfCfp2, •• ">; fprintf(fp2,"1s", region); strcpy(auxblanc, region); fespre11=1; blanco; fpr i ntf(fp2, •1s11 , blancos); fprintf(fp2, '" ">;

fprintf(fp2,''%s", rutdisp[zJ .nanelan); strcpy(auxblanc, rutdisp[zJ .raelet11); /*prlntf(•auxblanc• Xs\n" ,auxblanc>;* / fesprOF2; /*printf("fesprom m Xd\n",fesprOIII);*/ /*printf("se va a la slAlrutina blanc()\n">;*/ blanc(); /*printf(•regresa de la slAlrutina blancO\n");*/ fprlntfCfp2, •Xs• ,blancos); fprintf(fp2,•'">;

/*fprintf(fp2,•Xs•,rutdisp[z]. tipo); strcpy(IIWlblanc,rutdisp[zJ. tipo); fesprcn=2; blanco; fprintf ( fp2, "Xs•, blancos);*/

fprintf(fp2,•Xs•, infqsr [zJ .r); strcpy(auxblenc, fnfqsr[zl .r); fesprom=l;

Page 265: MAESTRO EN SISTEMAS DE INFORMACION s

blancO; fprf ntf (fp2, •Xs• ,blancos); fprintf(fp2,"' •);

fprlntf(fp2," Xs •,rutdfsp[zJ.tipord); strcpy(IIUXblanc,rutdisp[zJ. tipord); fesprcn=4; /*blencO;*/ fprintf(fp2, •• "); fprintf(fp2,• Xi+d'', infqsr[zJ .ndv);

fprintf(fp2,"'"); /* fprintf(fp2,• Xs ", tabla); */

searchtab(); fprintf(fp2,• X7.2f•, infqsr!zl .capacity); fprintf(fp2,""'>; fprintf(fp2,• "7.2f", infqsrCzJ .traff); fprintf(fp2,""'); /*fprintf(fp2," Xs•,foraila);*/ fprintf(fp2,• X7 .2f", infqsr[zl .porocup); fprintf(fp2,""'); fprintf(fp2,• Xll.2f", infqsr[zl .anblo); fprintf (fp2, •• ");

fprintf(fp2,• X7ld'•, infqsr[zl .nbids); fprfntf(fp2,""');

fprintf(fp2,• X7.2f", infqsr!zl .nntiine); fprintf(fp2,""');

/*fprintf(fp2," "911 ,fonaila);*/ fprintf(fp2,• X7.2f", infqsr!zl .porsat); fprf ntf(fp2, • 1 \n•); /*fprintf(fp2,""6ld'', infqsr[zJ .nbidsq); fprintf(fp2,• X8.2f\n•, infqsrCzJ .n,qthne);*/

}

z++; }

/*di spoper* /

fprintf(fp2,•AlllllllUUlllilll1UllllllllllUlllllli1AlllllUlllllWAllWWlllAWllWWUlllllUIUI llllllUlllilllllllAWllllUllllllllll(l\n");

laser _cOlll(L ine_sp, •a•, fp2); fprintf(fp2, 11Xc•, FFF);

}

/******** ......... *******'*************************'*************************************** IKIIBRE: BUSCAEND RUTINA QUE AVANZA APUNTADOR A ARCHIVO FILER HASTA ENCONTRAR STRING END

**************************************'******************************* ..... ***'************* I buscaend() < do e fscanf(fp1, •"'8• ,&datos);

}

whi le((strarp(datos,END))l,o(I); } , ................................................................................... *********

NOMBRE: LEE HORA RUTINA QUE LEE DE LA TABLA DE HORAS INTERVALO DE 7 A 22 HORAS.

*********************************************'**********************************'*********/ leehore() < int nun; l'KITF'1; whi le( ( fscanf(fp4, •Xs• ,&datos)) 1 =EOF) < strcpy(hora[nun] .tinie,datos); /* lee ruta*/ /*hora !1'11111) • nu11=nun;• / /*printf("hora[%d) .time" Xs\n",nun,hora[nun] .time);*/ /*printf("horaC%dJ .nua = Xd\n",nun,hora[nunl .nun);*/ l'II.IIIH-;

}

totalhora=nun·1; /*printf(•totalhora =Xd\n", totalhora);*/

Page 266: MAESTRO EN SISTEMAS DE INFORMACION s

}

/************************************************************************************ N<IIIIRE: LEEDIA RUTINA QUE LEE DE PERla>o. TMP LOS DIAS A PROCESAR

*******************************************************•******************************** I leedia() {

f nt ru1; ,....,, whl le((fscanf (fpdla, •'Xs• ,&datos)) 1 =EOF)

{ strcpy(dla[runl .day,datos); /* lee ruta*/ di11[1'11111] .,-r,.n¡ /*printf("dla[Xd] .day z Xs\n•,nun,di11!1'11111] .day);*/ /*printf("dla[Xd] .run • lld\n•,nun,dialnlmll .run);*/ n\lllf'+;

}

auxtotaldia=nun· 1; /*printf(•en leedla, 11W1totaldia=Xd\n",aW1totaldia);*/ /*aetchO;*/ } /********************************************************************AAAAAAAA&&******

NCNIRE: DIASELECT RUTINA QUE BUSCA EL DIA A PROCESAR EN LA ESTRUCTURA DE DIAS Y PRENDE BANDERA

.......................................................... ************************************/ diaselect() {

fnt r; r=1; dayselectEO; /*printf(•en dfaselect:\n"); printf("auxtotaldiaz Xd\n", auxtotaldia); printf("datos = Xs\n",datos);*/ for(r=1; r<=IIUXtotaldi a; r++)

e

}

}

/*printf("dia[Xd] .day= Xs\n•,r ,dia[rl .day);*/ if( (str~(dia [rl .day,datos)=•O) )

{

}

/*printf( 11entr11 al if entonces dia[rl .day---datos\n");*/ dayselect=1;

break;

/******* ....... ************************************************************************ NCIIIIRE: LEEMHT RUTINA QUE LEE DE LA TABLA DE MHT LAS RUTAS NECESARIAS.

********************************************************'********************************/ leenflt() {

int firma""º• nuimer,,1; whi le((fscanf Cfp9, 11Xs• ,&datos))! ~OF)

{

}

I f( (str~(datos, "INTERCONEXION")""º) {

finba""1; }

if(firman=1) {

break; }

f f(f lnban,::O) e

}

pos(20, 15); printf("No se encontro separador INTERCONEXION en archivo INFRMEX. TKT"); sal ida(); exit{1);

whi le(Cfacanf(fp9, "Xs",&datoa))l=EOF) {

}

strcpy(nM[lllJllberJ .,-,datos); /*lee ruta*/ /*printf("mt!Xdl .nane = Xs\n•,nuimer,imtllllJllberJ .na111e);*/ nuitler++;

Page 267: MAESTRO EN SISTEMAS DE INFORMACION s

/*printf(•total fflt leidas, numer= %d\n•,rudler);*/ /*getchO;*/

}

/****************** .. *********************************************************** ... ** NCIMBRE: VALRUTA RLITINA QUE VALIDA LA RUTA LEIDA EN DATOS CONTRA LA TABLA SI NO EXISTE ESCRIBE DICHA RUTA EN ·ARCHIVO DE VALIDACION.

**********************************AAA&A&AAA**** ............ *******'***'************************/ /*val ruta() { .

busca-1; flndoO· whi le(busca<=cont2)

{

printf("en val ruta \n"); printf(•valor de qsrhrdia[Xd] .r " Xs\n", it•,qsrhrdia[itaal .r); printf(•valor de ruta[Xd] .l'IOlllbre= Xs\n•,busca,ruta[buscaJ .l'IOlllbre);

if((strC9')(qsrhrdia[lteaiJ .r,ruta[buecal .nallbre))=O) {

find=1; break; }

busca++; }

if(flnd==O) e

}

printf("LA RUTA Xs NO APARECE EN LA TABLA\n",tnfqsr[itanJ .r); fprlntf(fp3,"LA RUTA Xs NO APARECE EN LA TABLA\nH,qsrhrdia[itl!III] .r); fprintf(fp3, 11\n11 );

}*/ /*********************************************************************'***************

NCIIBRE: VALNOV RUTINA QUE VALIDA EL NOV LEIDO DE LA TABLA DE INFRAESTRUCTURA CONTRA EL VALOR LEIDO CADA HORA EN LA IIJESTRA. ESCRIBE EN ARCHIVO VALqsr.C

********************************'***** ••••• • •• ******************************************* I valndv() e . busca=1; chris=O; /* i f( 1 nfqsr [busca] • esc==1 )* / fprlntf(fp3,•\n"); fprintf(fpl,"HDRA = Xs\n",lnfqsr[buscaJ.hora); fprintf(fp3,"RUTA ll>V INFRA. NDV IIJESTRA\n•); whl le(busca<=cont3)

}

e lf( (str~(rutdisp[buscal. tipo,"RB")==O) 11 (strcq>(rutdlsp[buscaJ. tipo,"DV">==O)

e

}

lf(infqsr[buscaJ .ndv I= rutdisp[buscal .dispoper) {

}

chrls=1; fprintf(fp3,"Xs", infqsr [busca] .r); strcpy(awtblanc, infqsrtbuscal .r); fespr01F3; blancO; fpri ntf ( fp3, "Xs", blancos); fprintf (fp3, H"6cf'•, rutdisp[buscal .dispoper); fprint~(fpl, 0 X6cl\nª, infqsr [busca] .ndv);

busca++; }

/*** ... *****************************************************'************************* IKIIBRE: PRCII RUTINA QUE OBTIENE EL PRCIIEDIO DE TRAFICO POR HORA DE LOS 5 DIAS DE LA SEMANA.

*****************************'******'**********'******************************'********'***** I prom() e

/*prlntf("entra a obtener pramedios\n");*/ /*printf("qsrhrdia[Xd] .imtime = :U\n .. , item,qsrhrdia[iteinJ .11ntime);*/ /*printf("qsrhrdia[Xd] .nbids = %d\n•, itl!lll,q&rhrdia[iteail .nbids);*/ if(valtraf==O)

e

Page 268: MAESTRO EN SISTEMAS DE INFORMACION s

i f( infqsr [i temJ. traff<O) {

lnfqsr [i temJ. traff=qsrhrdia [itemJ. traff; }

else {

/*printf("entra al elae en prOII \nª);*/ lnfqsr [i tem]. traff=C lnfqsr Cltelll. traff+qsrhrdia Citen(!. traff);

prcnedio*/ infqsr[itl!lll .ntraf=lnfqsr[itelll] .ntraf+1; /*printf(•infqsr CXdl .ntref = Xd\n'', 1 te11, f nfqsr [i temJ .ntraf );*/

} }

if(valanblo==O) {

if(infqsr[itemJ .anblo<O) { infqsr[itelll .anblo=qsrhrdia[itemJ .anblo;

}

elsa {

/*printf("entra al else en prom \n");*/ infqsr[itelll] .arblo=Cfnfqsr [ltemJ .anblo+qsrhrdia[itenil .anblo);

promedio*/

}

infqsr[itemJ .nanblo=infqsr[iteml .nanblo+1; /*printf("infqsr[Xd] .nanblo • Xd\n•, itel'I, infqsr [itl!IIJ .nanblo);*/

}

if(valnblds=--0) {

if(fnfqsr[itemJ .nbicls<Ol {

infqsr[itemJ .nbids"(lsrhrdia[itemJ .nbids; }

else {

/*printf(•entra el else en prom \nª);*/ infqsr [i temJ .nbicls=C infqsr [iteinl .nbids+qsrhrdiaCitemJ .nbidsl;

prcnedio*/

}

infqsr[itemJ .mbids=infqsr[itl!III] .mbids+1; /*printf("infqsr[Xd] .mbids z Xd\n", itl!lll, fnfqsr[ltemJ .mbids);*/

}

if(valnbfclsq==O) {

if( infqsr[iteml .nbidsq<O) {

infqsr[itelll] .nbidsq=qsrhrdie[itell] .nbidsq; }

else {

/*prfntfc•entra al else en prcm \n"l;*/ infqsr[itl!lll .nbidsq=( infqsr[iteml .nbidsq+qsrhrdia[itelll] .nbidsq);

prmedio*/

}

infqsr[itemJ .mbiclsq=lnfqsr CitemJ .mbidsq+1; /*printfC"infqsrCXdl .mbidsq = Xd\n", ite111, infqsr[itel'I] .mbidsq);*/

}

if(vallltit==O) {

ifCinfqsr[itemJ .mti111e<O) {

infqsrCitemJ .mtime=qsrhrdia[itemJ .11nti111e; }

else {

/*printf(•entra al else en prom \n");*/ infqsr [i teinl .mti111e=( infqsr [i temJ .ntitilne+qsrhrdi e [i tell] .niltime);

promedio*/ infqsrCitemJ .l'lllhthne=infqsrCitemJ .rmti11e+1; /*printf( 11 infqsr[Xd] .l'Mltilie = Xd\n11 , lte111, infqsr[itemJ .riltiine);*/

/*obtiene

/*obtiene

/*obtiene

/*obtiene

/*obtiene

Page 269: MAESTRO EN SISTEMAS DE INFORMACION s

)

lf(vehqt==O) {

i f( infqsr Ci teinl .nqtinie<O) {

infqsr[fteinl .mqti-=qsrhrdie Citeml .11qtinie; )

else {

/*prfntf(•entra al else en prom \n");*/ infqsr[i teinl .inqt i111e=( infqsr Ci tell] .n¡thne+qsrhrdla Citen(! .1qti11e);

pr.-dio*/

)

)

infqsr [i teinJ .nnqti111e=infqsr[itell] .nnqtine+1; /*printf(•infqsr[Xd] .raqthne • Xd\n", itm, infqsr[iteial .nqti111e);*/

)

if((qsrhrdia[itellil .lllhtiine>=O)&&(qsrhrdia[itl!II) .nbids>sO)) /* val !dando el ·1*/ {

f f (fcud==1&&f lgf i rst-0) {

)

1•prlntf("y11 no es la priinere flgflrst = 'Xd\n11 ,flgfirst);*/ /*printf("foird = 'Xd\n",fcuv:I);*/ fla-t=1; lnfqsr [1! .sunmt=infqsr[1J .sun,t+(qsrhrdie[itenl .nbids*qsrhrdia[itemJ .mtime); infqsr[1J .sumbids=infqsr [1] .sumbids+qarhrdia[iteinJ .nbids; /*printf(•infqsrC1] .sumt e Xf\n•,.infqsrC1J .sumt);*/ /*prlntf(•infqsr [11 .sumbids = Xd\n'', infqsr [11 .sumbids);*/

i f (f....-.d=1&&flgf i rst==1 > {

)

)

/*prlntf("flgf I rst='Xd\n", f lgf i rst);*/ /*printf("fOl.rd z 'Xd\n",foird);*/ /*printf(•encontro en tabla qsrhrdia [Xd] .r "' Xs \n•, iteno,qsrhrdla[iteml .r);*/ flai,mt=1; /*inicializo bandera de inipresion mtprom*/ fnfqsr[1] .sun,t:qsrhrdie[iteml .nbide*qsrhrdia [itemJ .mtime; infqsr[1] .s,-,bfds=qsrhrdie[itelll .nbids; /*prlntf(•infqsr [11 .suimt = Xf\n", infqsr[1J .sumi,t);*/ /*printf("infqsrC1J .sumbids = Xd\n•, infqsr [11 .s...rbids);*/ flgfirst=O;

!*"********************************"******'****'**************************************** NCIIBRE: O I VPROM RUTINA QUE OBTIENE LAS DIVISIONES PARA LOS PROMEDIOS DE LOS ITEMS • PARA TRAFICO,NBIDS Y MHTIME *EFECTUA TAMBIEN LA SIMA DE PRCJIEDIOS DE CADA HORA

*********************************************************************"**'***************** I divprOIII() {

int it-; itea1Bux=item; f te111=1;

while( itein<i tl!IIIIIUX) {

/*printf(•valor de infqsr[i teml .ntref='Xd\n'', infqsr [iteml .ntraf);*/

i f ( infqsr [i tem] .ntraf>O) {

infqsr [i tenil. traff=( infqsr [i tem]. treff )/( infqsr [i tem] .ntraf); )

else {

infqsr[itemJ .traff=O.O; )

if(infqsr[ftemJ .nnbids>O) {

infqsr[iteml .nbidsz(infqsr[iteinl .nbids)/(infqsr[itelll .nnbids); /*aguas lo trLnCa*/ )

else {

/*obtiene

Page 270: MAESTRO EN SISTEMAS DE INFORMACION s

lnfqsr[ltMJ .nbids=D; )

if( lnfqsr[ltl!III] .nanblo>O) <

lnfqsr[fteniJ .anblo=( infqsr [itell] .anblo)/( lnfqsr [itetnl .nanblo); /*agues lo trin:a*/ )

else < lnfqsr[ltetl] .anblo=O; )

lf( lnfqsr[itemJ .nnbidsq>O) <

infqsr[ltelll] .nbidsq=( infqsr[itemJ .nbidsq)/(infqsr[itemJ .nnbidsq); /*aguas lo trin:a*/ )

else < infqsr[itemJ .nbldsq:D; )

i f( infqsr[i tem] .,.,ti119>0) <

infqsr Ci tetnl .mtline=( infqsr Ci tell] .rmtirne)/C lnfqsr Ci tellll .rld,time); )

else < infqsrCitellll .rmthne=O.O; )

if(lnfqsr[itenil .nn:¡tlnie>D) <

infqsr [itemJ .n:¡tlnie=( infqsr [i tenil .n:¡tirne)/( infqsr Ci temJ .nn:¡time); )

else < infqsr[itell] .n:¡tlme=O.O; )

mtval(); lf(foinla=1) /*efectuando la so.na de rutas con la RPT por hora*/ e &IR!ora[contl .add=so.nahora[contl .add>infqsr[ltem]. traff; /*printf("en pra111 s,..,hora • Xf a la hora Xd\n11 ,s1mahora[cont] .add,cont); */ sl.llllhora[cont] .fls,..,a1;

) infqsr [i tllll] .ntraf=1; infqsr[ltellJ .nnbids=1; lnfqsr[itenil .nnbidsq=1; infqsr[itellll .,.,time=1; infqsr[itllll] .rn:¡time=1;

itan++; )

iteRFiteaiaux; horapi co(); }

!************** ... *********************************'*********************************** NOMBRE: MHTVAL RUTINA QUE VALIDA LAS RUTAS QUE SE ENCUENTRAN EN ENLACE CON LA RPT.

************************************* ..... ** ..... *****************************************/ mtvalO <

)

search=1; fOlrld=O· whi le(s~arch<=nurtler) < if((str~(qsrhrdia[itemJ .r ,mt [searchl .nanie»=D> <

fOlnl=1; break;

)

search++; }

Page 271: MAESTRO EN SISTEMAS DE INFORMACION s

/****************'****************************************************** NOMBRE : DI VMHT EFECTUA LA DIVJSJOII EN MHTIME.

************************************************************************ I /*diwit() < lnt k; k=1· whi Íe(k<iteai) < if(infqsr[1] .slllri>ida>O) <

infqsr[kl .lllhthne=lnfqsr[1J .eLmmt/infqsr[1J .slmlb!ds; }

else <

infqsr[kl .lllhtii.e=O.O; }

k++; }

} */ /******************** ... ***************************'**********************************

NOMBRE: MHTESC RUTINA 111.E VALIDA LAS RUTAS QUE SE ENCUENTRAN EN ENLACE CON LA RPT PARA ESCRITURA.

*************************************** .... *********************************************** I idltesc() < search=1; fotrd=O· whl le(s~arch<=llUl'Der) <

i f((strc:111)( infqsr Czl .r ,dlt [searchl .naine))=O) <

}

/*if(z==1) < printf(•infqsrl:%dl .r = Xs\n" ,z, infqsrCzJ .r); printf( 1'1mt[%d] .name = Xs\n",search,lllht[searchl .name);

} */ fcud=1; break;

search++; }

} , ............................................................................................. . NCIIBRE: READR RUTINA QUE LEE DE LA TABLA DE RUTAS ACTUALIZADAS POR LOS PROGRAMAS DE VALIDACIOII DE ARCHIVOS. INICIALIZA A UNO EL CAMPO DE ESCRITURA.

**********************************************•••••••••*********************************/ readr() < /*printf(•entra a readr\n");*/ cont3=1; whi le((fscanf(fp6,•Xs11 ,&datos))l=EOF) <

} }

strcpy(infqsr[cont3] .r,datos); /* lee ruta*/ /*printf(•fnfqsrD:dl .r " Xs\n•,cont3, infqsr[cont3] .r);*/ i nfqsr [cont3] . esc=O; contl++;

/*********************"*********•**************************************************** NOMBRE: BUSCA IN F RUTINA QUE BUSCA EN LA TABLA GENERAL LA RUTA QUE ESTA SIENDO PROCESADA.

**************************************************************************************** I busc11inf() < busque=1; hall11cO; while(busque<=cont3) < if((strcq,(datos, infqsr[buscµ,J .r))==O)

< halla=1; break;

Page 272: MAESTRO EN SISTEMAS DE INFORMACION s

) bus(fM!++;

) if(halla==1) {

itm=busque; infqsr[itelll] .esc•1; )

if(hal la=O) { pos(20,4); printf("ERROR LA RUTA Xs NO SE ENCUENTRA EN LA TABLA DE VALIDACION\n",datos);

) }

poa(22, 15); sal Ida(); exit(1 );

¡•*********************************************************************************** NCIMBRE: FECHA RUTINA QUE OBTIENE EL ENCABEZADO DEL REPORTE USAll>O LOS CAMPOS PARA FECHAS INICIAL Y FINAL • ESCRIBE EN ARCHIVO qsrPROM.C •

**********************ª*'*'''''''********************'*********************************'**/ datfecha() {

char name [401 ; int zz,i; zz=O; if<Cfpsal=fopen(SALIDAS_AUX,•r•))•,.NULL) /*contiene rutas y n,j.¡s•¡

{

)

pos(20, 15); printf(ºNo se puede abrir el archivo Xs",SALIDAS __ AUX); sal ida(); exlt(1 );

fscanf(fpsal, •Xs11 ,""->; fscanf(fpsal, "Xs" ,&na.); fscanf(fpsal, •x.n ,&neme); fclose(fpsal >;

lf((fplla,fopen(naine,•w•»==NULL) /*contiene rutas y r,6.¡s•¡ { pos(20, 15); printf("No se puede abrir el archivo %s",->; sal ida(); exlt(1 );

)

/*prlntf("\n");*/ pos(16, 15); printf(" ESCRIBE ARCHIVO FINAL "811 ,naine);

/*printf("\n">;* / fprl ntf(fp8, "\n"); fprintf(fp8,• MTX: %s\n",region2); fprlntf(fp8, "\n">; fprintf(fpB,• · REPORTE DE DISPOSITIVOS POR HORA PARA CADA UNA\n"); fprintf(fpB, ª\n"); fprintf(fp8,• DE LAS RUTAS PROCESADAS LOS DIAS:"); do {

if(fecha[zz.J .bandial=O) {

1f(zz=,.O) {

fprintf(fp8," }

elae fprintf(fp8,"

zz++; )

whi le(zz<=7>;

fprintf(fp8, •\n">; fprintf (fpB, 11\n'');

Xs\n•, fechaCzzJ .quedia);

/*fprintf(fpB, 11 LA HORA PICO DEL SISTEMA ES:

Xs\n'', fecha[zzl .quedia);

Xs:00\n",hora[themostl .time);*/

Page 273: MAESTRO EN SISTEMAS DE INFORMACION s

for(i•1; i<-10; i++) < fprlntf(fp8,"\n");>

fprintf(fp8, •lle•, FFF);

fclose(fp2);

strcpy(PROM_AUX,cadena); strcat(PRCM_AUX, "\ \PROM. TMP"); i f ( ( fp2=fopen(PROM_AUX, "r") )==NULL)

( pos(20, 15); printf("NO SE PUEDE ABRIR EL ARCHIVO Xs PARA AGREGAR ENCABEZADO" ,PROM_AUX); pos(22, 15); salida<>; exlt(1); }

while( fgets(string, MAXLIN, fp2) ! e NULL) ( fputs(string, fp8);

}

fclose(fp8); if((fp8=fopen(.-,•r•»==NULL) /*contiene rutas y rdis*/

(

}

pos(20, 15); printf("No se puede abrir el archivo 1's",N111e); sal ida(); exitC1);

strcpy(QSRPROM_AUK, cadena); strcat(QSRPROM AUX,"\\QSRPROM. TMP"); lf((fpaux•fopeñ(QSRPROM_AUX,"w"))==NULL) /*contiene rutas y rwhs*/

(

}

pos(20, 15); prlntf("No se puede abrir el archivo Xs•,QSRPROM_AUX); sal Ida(); exit(1);

while( fgets(string, MAXLIN, fp8) I" NULL) (

fputs(strfng, fpaux); }

fclose(fp8); fclose(fpaux); }

/********************************** ....... ********************************************** NOIBRE: lll>IAS RUTINA QUE INICIALIZA BANDERA DE ESTRUCTURA PARA LA DETECCION DE DIAS PROCESADOS PARA LUEGO ESCRIBIRLOS EN REPORTE DE SALIDA •

........................................................... *********************************/ Indias() · (

int i; i=O; /*prlntf("INDIAS\n");*/ do

(

}

fecha[il .bandia=O; /*printf("fechalldl .bandla = Xd\n•, i, fecha[il .bandia);*/ 1++;

whi le(i<=7>; } , ........................................ ******** ..... ***********************************

NCIIBRE: 1 NSIMAHR RUTINA INICIALIZA EL VECTOR DE SIMA POR HORA TRAFICOS EN ENLACES CON LA RPT. LA SIMA SE USARA PARA DETERMINAR HORA PICO.

*************'****************************************************************'***'******** I insunahrO (

int hr; hr.,1; whi le(hr<"'4AXHORA)

(

Page 274: MAESTRO EN SISTEMAS DE INFORMACION s

} }

SIN!ora[hrJ .add=O; hr++;

/********* ' •••• ' & '********************************************** ...... **************** NOIIBRE: HORAP I CO RUTINA QUE OBTIENE LA HORA PICO DEL SISTEMA

************************************************************************* ..... ***********/ horapfco() {

/*prlntf("sUMhora[Xd] .add = Xf\n11 ,cont,sllllllhora[contl .add);*/ I f ( aUMhora CcontJ • adcl>h I gh t raf)

}

{

hl ghtraf•sumhora Ccontl • add; /*prlntf("hlghtraf = """",hlghtraf);*/ the111D11t•cont; /*prlntf("thMOSt = Xd\n", theaiost) ;* / }

/**********************************************'************************************** IIOIIIIRE: INFRA RUTINA QUE OBTIENE INFORNACION DE LA INFRAESTRUCTURA, LLAMA A ERLANG PARA OIITEIIER VALORES EN LAS TABLAS, LLAMA A PORCENT PARA OBTENER PORCENTAJES.

****** .......... *******************************************************************'*****'** I lnfra() {

lnt kk; lnt firman=O; erlz=1; if((fp9=fopen(INFR_AUX,•r11 ))==NULL) /*contiene rutas y rdvs*/

{

pos(ZO, 15); prlntf("No se puede abrir el archivo "8", INFR_AUX); pos(22, 15); salida<>; exlt(1);

} whi le( (fscanf(fp9, 11"8" ,&datos)) 1 =EOF)

{

lf( (strc,,.:,(datos,"DISPQSR")==O) {

finban=1; }

i f ( f I nben==1 l {

break; }

}

i f( f i nban==O) {

pos(Z0, 15); prlntf("No se encontro separador DISPIISR en archivo "811 ,INFR_AUX); sal ida(); exlt(1);

}

/*printf( 11total lllht leidas, l'IUllber= Xd\n•,numer);*/ /*getchO;*/

whi le( (fscanf(fp9,""8",&c-.,os)) l=EOF) /*ciudad o EOF*/

{

/*prlntf(" caq,os • "8\nº,CIIR'flOB);*/ /*prlntf("En el whlle, caq,os = "8\n",canpos);*/ fscanf (fp9, 11Xs11 ,&c-.,os);

/*printf(" cllllpOS = Xs\n",cllll'pOs);*/ f scanf ( fp9, •Xs• ,&cllllpOS);

/*prfntf(" caq,os = "8\n",~>;*/ strcpy(rutdlsp[erlzl. tipo,cllllpOS); fscanf(fp9, 11Xs11 ,&cmpos);

/*prlntf(" canpos = Xs\n•,c...,os);*/ strcpy( rutdi sp Cer l z] .1"1011ele11, caq,os);

/*mtx*/

/*tipo de elemento*/

/*na«bre del elemento*/

Page 275: MAESTRO EN SISTEMAS DE INFORMACION s

fscenf(fp9, "Xs" ,&caq,os);

/*printf(" canpos = Xs\n",c-.,os);*/ facanf e fp9. "Xs• ,&c811pOS); atrcpy(rutdispCerlzJ. tipord, c-.:,os); fscanf e fp9, 11Xs• ,&ca1.,oa); /*prlntfC" caqx,s = Xs\n",cmpos>;*/ fscanf(fp9, "Xs•, &caq,os); /*prlntf(• ~ " Xs\n•,c...,.,s);*/ rutdisp[erlzJ .dlspoper=atol (c-.:,os);

,....._,ico del elemento*/

/*tipo de rute o disp.*/

/*no. disp proyectados.*/

/*no. di sp opera e ion*/

if ((strC91>( rutdi sp[erlzJ. tipo, "DV")==O) 11 (strCA1p(rutdi sp[erlzJ. tipo, "RB")="O)) < erlengO;

)

¡• printf(•rutdlap[Xd] .dlapoper = Xd \n",erlz,rutdisp[erlzl .diapoper);*/ erlz++;

)

porcent(); fe lose( fp9); )

/********* ...... ************************************************* ........ ******************* NOMBRE: ERLANG. OBTIENE LOS VALORES DE ERLANG, SI RADIOBASES A .02 DE PROB. PERDIDA

SI INTERCOIIEXION A .001 DE PROB. PERDIDA *********************** .. ******************************************************'********** I erlang() < int j=O;

/*prlntf(• llega e slbrutina tablas de Erlang\n");*/

if((fpin=fopen("ERLANG1. TXT 11 ,•r•))==NULL) <

pos(2D, 15); printf("No se puede abrir el archivo ERLANG1.TXT\n"); pos(22, 15); sal ida(); exitC1);

)

i f( (fprb=fopen( 11ERLANG2. TXT•, "r") )"=NULL) < pos(20, 15); printf("No se puede abrir el archivo ERLANG2. TXT\n");

pos(22, 15); sel ida(); exi t( 1);

}

/*printf(•rutdisp[Xd] .dispoper = Xd\n•,erlz,rutdlspCerlzJ .dlspoper);*/

i f(atrcq,(rutdlsp[erlzJ. tipo, "DV")oesO) <

)

/*printf("le ruta es del tipo DV\n");*/ fpt•fpin;

I f(stra11p(rutdisp[erlzJ. tipo, "RB")"=O) <

}

/*printf("la ruta es del tipo RB\n•>;*/ fpt=fprb;

j•O; whi le((fscanf( fpt, "Xf" ,&datof2) > l=EDF) e

lf(J>500) < pos(20, 15); printf(ªNEmero de Canales clenlBsiado grande para calcular Erlangs\n"); pos(22, 15); sal ida(); exit(1); break;

}

J++; /*printf("j= Xd, datof2= Xf\n",J,datof2);*/

Page 276: MAESTRO EN SISTEMAS DE INFORMACION s

{ i f(j•=rutdisp[erlzl .dispc,per)

/*printf(• El nflllero correspondiente a Xd es %f\n•,rutdisp[erlzJ .dispoper,datof2);*/ rutdisp[erlzJ .erlangszdatof2; /*prlntf(•rutdlsp[erlzl .erlangs = %f\n•,rutdisp[erlzl .erlangs);*/ /*printf(• BUSQUEDA TERMINADA\n•); */ break;

> > /*fin del whi le*/ fclOBe(fpin); fclOBe(fprb); > /* fin de erlang*/ /********•••••••••••••****** .... ******************* ........ ******************"'*********************

Sl.8RUTI NA PORCENTAJES OBTIENE LOS PORCENTAJES DE OCUPACION Y DE SATURACION DE CADA RUTA

****************************************************************************************************/ porcent() {

int z; z•1 • /*p;.intf("llega a la sW>rutina porcent\n"l;*/ for(z.,1; z<acont3; z++)

{

/*printf("rutdisp[Xd] .erlangs= %f infqsr[Xd]. traff .. %f\n",z,rutdisp[zl .erlangs,z, infqsr[zJ. traff);*/ if(rutdispCzJ .erlangs>O)

rutdispCzJ .poroc'-"'"(infqsr(z]. traff/rutdisp(zl .erlangs)*100; if(rutdisp[zl .porocup>100)

rutdispCzJ .porsat=rutdisptzl .porocup·100; else

rutdispCzJ .porsat=D; /*prlntf(•rutdisp[Xd] .porocup = %f rutdisp[Xd] .porsat=

%f\nu,z,rutdispCzJ .porocup,z, rutdisp[zl .porsatl;*/ >

> /*******************'*********'***********************'********************************************

SUBRUTINA BLANC FORMA VECTOR DE BLANCOS PARA INPRESION

**'***************************************************************'*********************************** I blanco {

int f; int x=D; /*printf(ªdentro de la subrutina blancos\n");*/

/* prlntf(Ufesprom= Xd \n•, fespre111);*/

i f(fesprom==1) {

/*printf(•x=21·auxblanc = Xd\n•,x>;*/ x=14·str len(auxblanc); )

if(fesprDIP=Z) {

/*printf(•x=6-auxblanc = Xd\n",x);*/ x=16·str len(auxblanc); >

i fC fesprom==3) {

/*prfntf("x=9-auxblanc = ld\n",x);*/ x=7-strlen(auxblanc); >

/*strcpy( i nfz, auxblanc) ;* / /*printf(" x = Xd\n•,x);*/ i f ( f espr0111==4)

{

> i=D; while(l<x)

{

blancos[i]=' i++;

x=Z·str len(euxblanc);

/*printf("I = Xd\n", i);*/ >

Page 277: MAESTRO EN SISTEMAS DE INFORMACION s

/*prlntf(•i " Xd\n", i >;*/ blancos[iJ"'\0'; /*x•atrlen(blancos) ;* / /*printf(•strlen(blancos " Xd\n",x);*/ /*printf(•antes strcat infz = Xs\n", infz);*/ /*strcat( infz,blancos) ;* / /*printf(•after strcat infz = Xs\n•, infz);*/

/*prlntf("sale de subrutin11 blancos\n");*/ } , ........................................................................................................... .

!MIRUT I NA SI.IIARI IX EFECTUA LAS SIMAS DE CAPACIDAD TOTAL Y TRAFICO REAL (rediobases e interc.)

**************************** .......... ********** ................. ************************'***************"*/ sumrbixO {

int go1=1; int largo; int posicion; sinacaprb=O; s1111rea l rb=O; whi le(go1<=contl)

{ if(strarp( rutdisp[go1]. tipo, "RB 11 )==0)

{ /* prlntf(•infqsr[go1] .r• Xs\n", infqsr[go1] .r);*/

largo=strlen(infqsr [go1) .r); /* printf("largo = Xd\n•, largo);*/

posicion=largo·4; /* printf("posicion = Xd\n•,posicion);*/ /* printf(•infqsr[go1] .rCXdl= Xs\n11 ,posiclon, lnfqsr[go1J .r[posicionl );*/

if(infqsr[go1J .r [posicionl ==•e•) {

s1.111BCaprb=&LM1111caprb+rutdisp[go1J.erlangs; a1Brealrb=s1A111"ealrb+infqsr[1101J. traff;

/*prlntf ("rutdi sp[Xd] .erlangs=Xf\n• ,gol, rutdi sp[go1l .erlangs);* / /* printf("s1J1111caprb=Xf\n", sinacaprb);*/ /* printf(•infqsr CXdl. traff=Xf\n",go1, infqsr [go1]. traff);*/ /* printt(•sunreal rb=Xf\n", s1J11realrb) ;*/

}

} go1++; }

}

/*********************************'**** ......... ***************************************************** NIIIBRE: CALCNHT EFECTUA EL CALCULO DEL NHTINE PARA LAS RUTAS DE LA INTERCONEXION (1/0)

************************************************** ...... ********************************************** I calaN1t() {

int i; /* contador de elementos (rutas)*/ i=1; mitin--0; mitout•O; sUMin=O; sunout•O; wh il e( 1 <=contl)

{

)

if(strcq>(rutdisp[il. tipo,"DV")==O) {

}

I f(strcq>( rutdi sp[il • tipord, 111 ")==0) {

imtin=nntin+lnfqsr[i] .nbids*infqsr[il .lllhtime; sllllfn=sllllin+infqsr[il .nbids; )

i f(strcup( rutdi sp[il • tipord, "O'')==O) < ailtout=mtout+infqsr[i] .nbids*infqsr'!il .imtime; sln>Ut=sunout+infqsr[il .nbids; }

i++;

if(slJl!in>O) {

imtin=mtin/sunln; }

Page 278: MAESTRO EN SISTEMAS DE INFORMACION s

if(s..-.it>O)

}

{

nntout=nohtout/s~t; }

/************************************************************************************* NOMBRE: TITULO FUNCION: ESCRIBIR FORIIATO DE PANTALLA

******************************************************************************************** I titulo()

{

}

printf c•\033 C37;4411" >; clsO; printf(•\033[1,...); cuadro( 1, 1 ,5, 79); cuadroC1, 1 ,23, 79); printf C"\0331:331n"); pos(Z,36>; prl ntf ("\033 [37;46111''); puts(•SADEC"); puts("\033[1111"); pos(4, 17); puts("SISTEMA PARA EL ANALISIS DEL DESEMPEIIIO CELULAR•); pos(24,67); puts("ESC SALIR");

/***********************************************'************************************** NOMBRE:POS FUNCION:POSICIONAR EL CURSOR DE ACUERDO A COORDENADAS X, Y

************** .... ******'***** .. ***************************'**********************************/ pos(x,y)

int x,y; {

printf C"\033 [Xd;XdH• ,x, y); }

/**************************************************'*********************************** NOMBRE : CUADRO FUNCION:TRAZAR UN CUADRO EN PANTALLA DE ACUERDO A COORDENADAS EN X, Y

***********************'************************"*********************"******************** I cuadro(x1, y1 ,x2,Y2)

lnt x1,y1,x2,y2; {

}

int i; char bar [901 ;

for(i=O; 1<79; i++)bar[iJ•'l' ;bar[79J='\0'; pos(x1, y1+1 > ;puts(bar+80-y2+y1 >; pos(XZ, y1+1) ;puts(bar+80-y2+y1 >;

for(i=x1+1; i<XZ; i++) {

}

poe(i ,y1);puts('""); pos(i ,y2);puts(""');

pos(x1 ,y1 );puts("Ú"); pos(x1 ,y2);puts(•¿ •);

pos(XZ, y1 );putscul">; pos(XZ, y2);puts("Ü'');

, ...................... ª******************************************************'********** NOMBRE:CLS FUNCION: LIMPIAR PANTALLA.

***************************************'*****************************************************/ cls()

{ puts(•\033[2J");

}

/****** ......... *************************************************************************** NOMBRE: SALIDA FUNCION: RUTINA DE SALIDA EN PANTALLA.

*'******************************************** .. ********************************************* I sal ida() {

printf(H OPRIMA CUALQUIER TECLA PARA CONTINUAR ••• •); pos(22,55); getch();

Page 279: MAESTRO EN SISTEMAS DE INFORMACION s

>

printf(•\Oll [Dnl"); cls();

/********************************************************************************* ...... * NOMBRE : RUTA FUNCION: COiOCER EL PATH DEL DIRECTORIO DE TRABAJO PARA ARCHIVOS DE 1/0 Y TEMPORALES

************************************************* ............. **********************************/ ruta() e

>

if((fpruti o=fopen("RUTA_IO. TXT", •r11 ) )=--NULL) e

>

pos(20, 15); printf("Na se puede abrir el archiva RUTA_IO. TXT"l; sal ida(); exitC1);

i f ( fscanf ( fprut i a, •Xs11 ,&cadena)==EOF) e

pos(20, 15); printf(•El archiva RUTA_IO. TXT esta vacial •); sal idaO; exit(1);

> fclase(fprutia);

/********************************** .... ********************************************** FUNCION: RENOMBRA RENOMBRA LOS ARCHIVOS DE ACUERDO AL PATH

**********************************************************'**************** .... *********** I renan)f'a(char *cadena1 ,char *cadena2) {

>

char 8UX [40] ;

strcpy(8UX,cadena2); strcat(aW!,cadena1 >; strcpy(cadena1, aux);

, ............................... *******'**************************** FUNCION: BARRA IMPRIME UNA BARRA HORIZONTAL DE TAMAll<l PREDEFINIDO

******************************** ...... ** ....... *************** I barra(x2)

int x2; {

>

int i; l=O;

far( i=O; i<=x2; i++) e bar1 [i]z 1ll 1 ;

> bar1 Wl='\0';

/***************************************'****************** FUNCION: SPACE1 IMPRIME ESPACIOS

************************ ... *******************************/ spece1(x1)

int x1; e

>

;nt i; ;.o; far( i=O; i<=x1; i++)

{

bar1 [il=' >

bar1 [x1J='\0';

, ........................ **************************'*************************************************** NOMBRE: CREATETAB INICIALIZA EL VECTOR (TABLA) PARA SENOER Y RECEIVER.

********************************** .. ***************************************'********************** .. / createtab() {

fannatab[1J .ndv---8; farmatab[1J .valar=2.5;

Page 280: MAESTRO EN SISTEMAS DE INFORMACION s

}

forn,atab[21 .ndv-12; fonutab[2] .valor=5; fomatab[3J .ndv=16; foMl8tab[3J .velor•7.5; for.tab[41 .ndv=20; foMl8tab[4] .valor=10; fomatab[5J .ndv=24; form,tab[5] .valor•12.5; fonnatab[6J.ndv=36; fomatab[6] .valor•20; foM11Btab[n .ndv=140; fomatab[n .valor=110; foM1Btab[BJ.nclvz60; form,tab[Bl .velor=40; fonmtab[9J .ndv=7; fol'ffllltab[9J .velor•2.5; fol'ffllltab[10] .ndv=1; foM1111tab[10J .valor=O; fomatab[11J .ndva59; formatab[11J .velor-40; formatab[12J .ndv-s139; foM1111tab[12] .valor=110; fol'ffllltab[13J .ndv=O; formatab[13J .valor=O; fo1'111Btab[14] .ndv=32; formatab[14] .valor=17.5; fonoatab[15l .ndv--4; formetab[15] .valor=O. 7;

!******************************************************************* NOMBRE: SEARCHT AB BUSCA EL VALOR DE CAPACIDAD EN ERLANGS EN LA TABLA. Encuentra ll:Ocl.lP. T XSAT •

........... ******************************************************** ..... **** / searchtab() {

)

1

int i; int flagf.....::t; flagf.....::l=O; createtab(); for(i=1; i <=15; i++)

{

}

if(infqsr[z] .ndv==fonaatab[il .ndv) {

}

infqsr [zl .capacf ty=fol'll8tab[il .valor; fl agf<JU'lda 1 ;

i f C f lagfou,cl,,=O> {

clsO; printf(•NO ENCONTRE EN TABLA QSR EL Nlll. DE DISP. DE LA MUESTRA\n\n''); printf("l>ISP= Xd\n", infqsr[zl .ndv); printf("RUTA= Xs\n•,infqsr[zl .r); printf(H OPRIMA UNA TECLA PARA TERMINAR\n"); getchO; exit(1);

}

if(flagf.....::1==1) {

}

ff(infqsr[zl .capacity>O) {

}

infqsrCzl .porocup=(infqsr[zl. traff/infqsr[zl .capacity)*100; if(infqsrCzJ .porociv100)

{

lnfqsrCzJ .porsat=infqsr[zJ .porocup-100; }

Page 281: MAESTRO EN SISTEMAS DE INFORMACION s

fuente: smlecO.c

llldeflne IIAXCITY Z3 ._fine IWCMIIT 60 #deflrw IIAXLIN IIO ._fine NAXRUTA 320 #define MINRUTA 220

#define EII> "END" tdefi ne NAXL IN IIO #define STOP H

#define R •r11

#define 11 "11" #define ESC 27 tdefine CR 13 #define LF 10

struct tablas < char ruta [20];

};

struct infr {

char menoo[10]; char nolllbre [201 ; char tipol51; cher cludad[20J;

};

struct norders < char e f udad [20] ; cher rut[10];

};

struct norderinters { /* char ciudad[251 ;*/ char rut [1 O] ; };

struct ordera e char rutorden [20] ; cher rniet90!10J; char ci ty[20J;

};

struct scribes <

struct n*lts(

char simetn0[10J; };

char ~!151; >;

struct abonados<

1

char abocity[20J; fnt abonn; };