4. Director y/o responsable:
Mg. Sc. Portugal Durán Willy Ernesto
e-mail:willy.portugal@gmail.com
Editora y/o responsable:
Lic. Rios Miranda Bhylenia Yhasmyna
e-mail:bhylenia.rios@gmail.com
Revisión y Edición:
Callapa Quispe Jhenny Jimena
Canedo Gutierrez Valeria Montserrat
Chambi Santos Wascar Augusto
Chavez Gonzales Carolina
Condori Quispe Alberth Bernarth
Cruz Escobar Miguel Alvaro
Beltran Cruz Mayra Jocelyne
Fernandez Ovando Nataly Adriana
Mamani Tola Mariel Sandra
Martinez Mancilla Alvaro Ariel
Mejia Maidana Brian Juan
Pacosillo Santander Jorge Daniel
Pinto Arcani Miriam Jacqueline
Quiroz Loza Giovanny Freddy
Ruiz Samo Thalia Dayana
Sarzuri Ticona Liz Wendy
Soliz Caguaya Joel Marcelo
Vargas Curaca Julissa Antonia
Velasco Huchani Beatriz Delia
Villca Poggian Rafael
Diseño y diagramación:
Blanco Calle Jorge Carlos
Catacora Chávez David Raúl
Mamani Patana José Fernando
Quispe Quispe Onel Eusebio
Ticona Colque José Marcelo
Zelada Argani Fortunato
5.
6. Prólogo
La Revista “Investigación y Ciencia” es una publicación editada y publicada por
los docentes y estudiantes del primer semestre de la carrera de Informática de la
materia de “Gramática Española” en la cual participaron todos los paralelos y
está dirigida a todas las personas que realizan investigaciones.
El objetivo de la revista es proporcionar una gama de artículos de investigación
por los estudiantes de la materia y cuyo interés está en función a los objetivos de
la carrera dentro de las áreas de investigación de Inteligencia Artificial, TICS,
Educación, Informática, Realidad Virtual, Realidad Aumentada,
Microprocesadores, Computación cuántica, etc.
El desafío del estudiante para poder escribir un artículo científico está enfocada
en realizar una investigación profunda para poder realizar una redacción
académica en los primeros semestres hasta llegar a su culminación universitaria
y reflejarlo un su tesis o proyecto de grado.
La redacción es fundamental si deseamos consignar algo por escrito, cualquier
texto que queramos suministrar, cualquier impresión que deseemos transmitir a
través de la palabra escrita.
La trascendencia de la palabra oral se vuela y se desvanece, en cambio lo escrito,
por el contrario, se perpetúa porque puede leerse, releerse, meditarse y, a través
de ello, el lector puede formarse una idea completa de lo que piensa y quiere decir
el escritor.
Portugal Durán Willy Ernesto
Rios Miranda Bhylenia Yhasmyna
7.
8. CONTENIDO
Pag.
COMPUTACIÓN EN LA NUBE ----------------------------------------------------1
Carolina Chávez Gonzales, Giovani Fernando Fuentes Capa. ThaliaDayana Ruiz
Samo
Resumen:
Con todos los avances de infraestructura, los nuevos modos de programación,
también hemos adoptado nuevas formas de denominar al internet, como el ya
conocido "Cloud Computing" o "Computación en la Nube" se define como una
tecnología que ofrece servicios a través de internet, que en muchos casos son
gratuitos o en bajo costo que permite guardar información en la "nube"(internet).
Que basta con una conexión a internet y uno puede acceder a esta nube desde
cualquier computadora hasta de teléfonos inteligentes.
ELECTRICIDAD EN LAS COMPUTADORAS---------------------------------5
Loayza Aguilar Jorge Luis, Colque Ramos Wilmer, Guarachi Jorge
Resumen:
La conservación de energía es buena tanto para el medio ambiente como para tu
billetera. Seleccionar el equipo adecuado puede reducir tu factura de energía si la
máquina es ahorradora de energía. Las computadoras portátiles están diseñadas
para consumir menos energía que las computadoras de escritorio y para utilizar
la potencia de manera más eficiente. El uso de una computadora portátil en lugar
de una de escritorio reducirá la cantidad de energía que consumes de manera
cotidiana.
LENGUAJES DE PROGRAMACIÓN DE ALTO NIVEL ------------------ 12
Condori Fuentes Ivan Eddy, RodriguezVillca Paola Lynnette, Rojas Quispe Carla
Ximena
Resumen:
Este artículo presenta la evolución que tuvo los lenguajes de programación de
alto nivel a lo largo de la historia, y la facilidad de uso sobre la eficiencia de
programación, ya que esta evolución ayuda y facilita el diseño de las
aplicaciones.
INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN PHYTON 17
Alejandro Vladimir Aguilar Ramos, Navia Paiva Kevin Arturo, Roque Mendoza
Paul
Resumen:
El presente artículo está orientado a presentar el lenguaje de programación
Python como una herramienta sobre la cual se puede construir muchos proyectos,
en lo que se refiere a el desarrollo de páginas web, aplicaciones, juegos,
aplicaciones en la ciencia, aplicaciones en las ciencias, además de conocer las
grandes facilidades de este lenguaje con respecto a los demás(C, C++, Java,
Pascal), además daremos a conocer las razones por las cuales este lenguaje de
programación es muy popular en la actualidad en el mundo de la programación.
9. TEORÍA DE GRAFOS, CARACTERÍSTICAS Y APLICACIONES ----- 22
Villca Poggian Rafael, Simon Andres Samir, Pinto Arcani Miriam Jacqueline
Resumen:
El análisis de datos jerárquicamente organizados como un grafo, es un paradigma
muy común en la actualidad; su aplicación va más allá de su mero uso en caminos,
sino que también en situaciones comunes que pueden ser facilitadas por la
representación en un grafo, por ejemplo, permutaciones de posibilidades de tomar
una decisión.
MODELO PEER-TO-PEER ------------------------------------------------------- 29
Portugal Durán Willy Ernesto, Rios Miranda Bhylenia Yhasmyna
Resumen:
El siguiente trabajo sobre redes P2P como soporte de sistemas distribuidos,
pretende definir su filosofía, arquitectura, modo de trabajo, ventajas, desventajas,
algunos campos de aplicación y expectativas futuras de esta tecnología que
ayudarán una forma de ver y analizar sobre sistemas distribuidos.
EDUCACIÓN Y TICS APLICADA A BOLIVIA EN EL CONTEXTO
ACTUAL. ------------------------------------------------------------------------------- 35
Paton Mamani Giovanni Celso
Resumen
La educación y TICs tema sobresaliente en nuestra época que ha ido
evolucionando gracias a lo que es la pluralidad del hombre en todo sus sentidos.
Se observa como una técnica que facilitará el proceso de recibir conocimiento a
aquella persona que por razones de fuerza mayor, no podrá adquirirla en un
instituto o lugar de conocimiento (colegios, universidades, institutos). Pero todo
gracias al crecimiento de la tecnología que hace posible esta realidad, en todos
sus sentidos.
LAS REDES SOCIALES Y LA INFLUENCIA EN LOS JÓVENES ----- 42
Beltrán Cruz Mayra Jocelyne, Vargas Curaca Julissa Antonia, Quispe Lipa Mary
Mar
Resumen
Si hablamos de redes sociales, todo el mundo ha estado inmersa en ella, es un
medio muy utilizado por todos siendo un gran impacto en la sociedad, porque han
logrado transformar la forma de comunicarnos tanto a nivel personal, como
profesional. Las redes sociales se ha convertido en un medio de comunicación e
información de nuestra sociedad, avisándonos en tiempo real, lo que sucede en
el mundo y a nuestro alrededor.
MUNDOS VIRTUALES Y APLICACIONES --------------------------------- 49
Callapa Quispe Jhenny, Fernandez OvandoNataly, Tinta Álvarez Sharon
Resumen
Mundos virtuales está en el campo de la tecnología muy relacionado con la
inteligencia artificial ya que consiste en la simulación de mundos o entornos a
los cuales se les denomina virtuales, en los que el hombre interacciona con la
maquina en entornos artificiales semejantes a la vida real de tal forma que este
sienta que lo que está viendo es real.
Antes los Mundos Virtuales solo eran un espacio de interacción entre personas
con el objetivo de conocer a nuevos amigos pero ahora han ganado mucha
10. importancia en distintas áreas como: la educación con universidades con clases
virtuales e incluso cursos dados por profesionales virtualmente y en los que puede
entrar cualquier persona.
ANIMACIÓN DIGITAL ORIENTADA A VIDEOJUEGOS---------------- 55
Cuentas Pinto Hans Rodrigo, Quispe Poma Beatriz Sonia
Resumen
El presente artículo es para dar a conocer de manera concreta, clara y por orden,
la evolución de los videojuegos basándonos en la tecnología llamada “Animación
Digital”; ya que es muy evidente que en la época actual los juegos electrónicos y
digitales ocupan un gran porcentaje a nivel mundial cuando se trata de brindar
entretenimiento a las personas.
VULNERABILIDADES EN REDES INALÁMBRICAS--------------------- 60
Cruz Escobar Miguel Alvaro
Resumen
En este artículo se procedió a investigar y analizar acerca de la seguridad de las
redes inalámbricas de la norma 802.11, que vendría siendo la norma que regula
las redes Wi-Fi. También se procedió a demostrar las vulnerabilidades que
presentan algunos protocolos de autenticación, por medio de ataques, con el fin
de informar y proteger nuestras conexiones Wi-Fi.
EL FIRMWARE Y SU FUNCIONALIDAD ------------------------------------ 70
Rodriguez Carlos Andres, Chipana Mendoza Edison
Resumen
En este artículo conoceremos un poco más en profundidad acerca del concepto
llamado sistema informático, una pieza fundamental en el engranaje de la
humanidad actual. Tan importante es su papel en la sociedad de hoy en día que
es prácticamente imposible pensar en separar al ser humano de una computadora
o sistema de información. Tal es la simbiosis entre ambos, que sin estos
elementos en sus manos, la Humanidad a esta altura de su historia no podría
seguir desarrollándose. Un sistema Informático resulta de la interacción entre los
componentes físicos que se denominan Hardware y los lógicos que se denominan
Software. A estos hay que agregarles el recurso humano, parte fundamental de
un sistema informático. Este componente es llamado Humanware.
INTRODUCCIÓN A LOS DRONES --------------------------------------------- 76
Cachi Condori Fabio Vladimir, Foronda Zarate Javier Ivan, Mamani Huaqui Julio
Cesar
Resumen
En este documento se presenta una breve investigación acerca de los drones o
Vehículos Aéreos no Tripulados (VANT), en donde se realiza pequeñas
explicaciones en diferentes campos de estudio que los VANT encierran.
Conforme el lector avance en el documento observará que estos vehículos tienen
sus raíces en los primeros robots manipuladores creados en esta gran área de
estudio a lo largo del desarrollo humano. Brevemente, pero necesario, vale
resaltar la importancia de la Física dentro de los Drones, más concretamente la
rama de la dinámica que permite el desarrollo de los robots manipuladores más
básicos. Posteriormente se presentan algunas aplicaciones de éstos elementos
además de algunos modelos realizados en algunos países.
11. ROBÓTICA AÉREA, EL V.A.N.T (U. A. V.)----------------------------------- 80
Cabrera Flores Camilo Vladimir, Condori Choque Jorge Luis, Machaca Quea
Oliver
Resumen
Los Vehículos Aéreos no Tripulados (VANT).Conforme el lector avance
observará que estos vehículos tienen sus raíces en los primeros robots
manipuladores creados en esta gran área. Brevemente, pero necesario, vale
resaltar la importancia de la Física dentro de los VANT, más concretamente la
rama de la dinámica que permite el desarrollo de los robots manipuladores más
básicos. Posteriormente se presentan algunas aplicaciones de éstos elementos
además de algunos modelos realizados en algunos países.
LA NANOTECNOLOGÍA: UNA VISIÓN QUE AVANZA ----------------- 89
Condori Quispe Alberth Bernarth, Pardo Roca Jhilmar Ariel, Illanes Pinto Luis
Alejandro
Resumen
La nanotecnología es un área de investigación y el estudio de los materiales
donde convergen diversas ramas del conocimiento que permiten estudiar
fenómenos inéditos que ocurren a nivel atómico y molecular. La nanotecnología
está en el mundo nanométrico donde los materiales pueden adquirir propiedades
diferentes a las que tienen a escala macroscópica.
NEUROTECNOLOGIA------------------------------------------------------------- 96
Choque Ticona Marco, Nina Maydana Gladys Blanca, Ramos Ramos Guido
Resumen
La Neurotecnología está relacionada a una simulación de modelos neurales,
aparatos para conectar el cerebro con sistemas electrónicos, computadores
biológicos y aparatos para medir y analizar la actividad cerebral.
LA INTELIGENCIA ARTIFICIAL EN EL RECONOCIMIENTO DE
VOZ ---------------------------------------------------------------------------------------103
Hilara Machaca Juan Pablo, Mamani Martínez Gustavo Daniel, Miranda Mendoza
Juan José Santos
Resumen
El reconocimiento automático del habla forma parte de la inteligencia artificial
que tiene como función crear un vínculo entre la computadora y el usuario. Uno
de los problemas más grandes que se plantean en un sistema de este tipo es el de
adjuntar un conjunto de informaciones que provienen de diversos conceptos ya
existentes, en presencia de similitudes y errores inevitables para llegar a obtener
una buena interpretación aceptable del mensaje acústico recibido, un sistema de
reconocimiento del habla es una herramienta capaz de procesar y analizar la
frecuencia de la voz emitida por el ser humano y reconocer la información
contenida en ésta, convirtiéndola en texto o emitiendo órdenes que actúan sobre
un proceso ejecutado por ordenador.
RECONOCIMIENTO DEL HABLA --------------------------------------------111
Mejia Maidana Brian Juan
Resumen
El reconocimiento del habla es una disciplina de la inteligencia artificial que nos
permite la comunicación entre los humanos y las computadoras.
SISTEMA DOMÓTICO PARA UN HOGAR BASADO EN ARDUINO 115
12. Torrez Mancheco Juan Miguel, Castillo Uscamayta Marco Antonio
Resumen
El presente documento está relacionado con la investigación hacia las casas
domóticas y su introducción de cómo estas casas pueden ser elaboradas por uno
mismo a partir de loa Arduino un componente muy esencial para la elaboración
de estas casas, ya que estas casas son controlables a partir de dispositivos y
brindan más seguridad a nuestros hogares.
INTELIGENCIA ARTIFICIAL APLICADA A LA ROBÓTICA---------120
Pacosillo Santander Jorge Daniel, Velasco H. Beatriz Delia, Davalos Quiñonez
Daniel
Resumen
La robótica es la rama de la ingeniería mecánica, ingeniería eléctrica, ingeniería
electrónica y ciencias de la computación que se ocupa del diseño, construcción,
operación, disposición estructural, manufactura y aplicación de los robots.
La robótica combina diversas disciplinas como ser: la mecánica, la electrónica,
la informática, la inteligencia artificial. Otras áreas importantes en robótica son
el álgebra, los autómatas programables, y las máquinas de estados.
Un robot se pude describir como "Aquel que es capaz de recibir información, de
comprender su entorno a través del empleo de modelos, de formular y de ejecutar
planes, y de controlar o supervisar su operación".
HUMANOS VS ROBOTS: ¿FUTURA LUCHA DE CLASES?------------124
Mamani Quispe Dussan David, Chavez Mendoza Valeska Georgia
Resumen
El reconocimiento automático del habla forma parte de la inteligencia artificial
que tiene como función crear un vínculo entre la computadora y el usuario. Uno
de los problemas más grandes que se plantean en un sistema de este tipo es el de
adjuntar un conjunto de informaciones que provienen de diversos conceptos ya
existentes, en presencia de similitudes y errores inevitables para llegar a obtener
una buena interpretación aceptable del mensaje acústico recibido, un sistema de
reconocimiento del habla es una herramienta capaz de procesar y analizar la
frecuencia de la voz emitida por el ser humano y reconocer la información
contenida en ésta, convirtiéndola en texto o emitiendo órdenes que actúan sobre
un proceso ejecutado por ordenador.
PROGRAMACIÓN DE ROBOTS EN LA MEDICINA ---------------------132
Quispe MamaniVanessa Maribel, Ibáñez TorrezEmerson Antonio, Mamani
Patana José Fernando, Ticona Colque José Marcelo.
Resumen
El articulo trata de la robótica y el papel sumamente importante que ha adquirido
estos últimos años en el campo de la medicina y lo importante que ha resultado
la unión de estas dos áreas que suponen ser totalmente diferentes por el hecho
que el uno trata de cuidar la salud del hombre mientras que el otro se centra en
diseñar inteligencia artificial, siendo algunos de estos que contribuyen a la
medicina. Explicando también acerca de la programación de un robot consiste en
introducir en su sistema de control las instrucciones necesarias para que
desempeñe las tareas para las que ha sido diseñado. Existen distintos
procedimientos de programación de robots. Siendo mencionados en el artículo
los robots que contribuyen a la medicina en general dando un gran aporte a la
humanidad siendo cada vez de mayor ayuda con el avance de la tecnología.
13. LI-FI Y SU APLICACIÓN---------------------------------------------------------137
Melany Marisol Ventura Huchani, Mauricio Teddy Laura Mollisaca, Pablo
Rubin De Celis
Resumen
En este artículo mostraremos sobre la nueva tecnología que se va estableciendo
poco a poco a nuestra vida cotidiana, como también su aplicación y
funcionamiento de este nuevo recurso tecnológico que supera a redes que ahora
utilizamos para el uso del internet y otros recursos. Li-Fi una nueva aplicación
para el uso de internet, que desde año pasado empezó a utilizarse.
LA NUEVA GENERACIÓN DE COMPUTADORAS CUÁNTICAS ----143
Kevin Alcon, Cristhian Conde, Oliver Mariño, Catacora Chavez David Raúl.
Resumen
La computadora cuántica es un aparato que se emplea en el campo de la
informática que hace uso directo del fenómeno de la mecánica cuántica, como la
sobre posición del el entrelazamiento cuántico. También son diferentes de la
computadora tradicional o domestica basadas en transistores. El principio de una
computadora cuántica es que usa las propiedades básicas de la física cuántica,
donde se pueden usar y ser representar datos y realizar operaciones sobre los
mismos.
COMPUTADORAS CUÁNTICAS-----------------------------------------------149
ALexis J. Vargas Quelca, Brayan Janco Cahuana, Erick J. Mollinedo M.
Resumen
En este artículo mostraremos como la rama de la computación y la tecnología
se ha ido desarrollando a lo largo de los años .La informática es una ciencia que
avanza con rapidez, así vemos que las computadoras obsoletas de hoy eran de
última tecnología hace pocos años atrás. Nos introduciremos en el análisis de
las computadoras cuánticas, que prometen un futuro con máquinas de
capacidades increíbles.
14. 1
COMPUTACION EN LA NUBE
Carolina Chávez Gonzales, Giovani Fernando Fuentes Capa. Thalia Dayana Ruiz Samo
cg3carito98@gmail.com, giofuentes1855@gmail.com, diana.ciberdrz@gmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática Española
RESUMEN
Con todos los avances de infraestructura, los nuevos
modos de programación, también hemos adoptado
nuevas formas de denominar al internet, como el ya
conocido "Cloud Computing" o "Computación en la
Nube" se define como una tecnología que ofrece
servicios a través de internet, que en muchos casos
son gratuitos o en bajo costo que permite guardar
información en la "nube"(internet). Que basta con
una conexión a internet y uno puede acceder a esta
nube desde cualquier computadora hasta de teléfonos
inteligentes.
Sociales, etc. También aquellos servicios que son
prestados gratuitamente por Microsoft con el
apartado SkyDrive de su plataforma Windows Live,
en el cual podemos escribir y editar documentos MS
Office sin la necesidad de tener instalado en nuestro
ordenador, sin preocuparnos del hardware ni del
software, dejando a nuestra disposición y acceso a
esa infraestructura y aplicaciones desde cualquier
parte del mundo.
PALABRAS CLAVE: Computación, conexión,
datos, híbridas, nube, internet, Privadas, Públicas,
servicios, Software.
I. INTRODUCCIÓN
La informática es una de las ciencias que más rápido
avanza, y uno de sus conceptos novedosos como
"internet", que tiene como uno de los temas mas
recurridos, el cual es "Could Computing" o
"Computación en la Nube" que consiste en los
servicios ofrecidos a través de la red, hacia la cual se
conectan las computadoras para utilizar los servicios
y aplicaciones que todos conocemos como el correo
electrónico, redes sociales, etc.
II. METODO DE DESARROLLO
En los inicios de la computación el espacio de la
memoria principal y disco duro era muy reducido, el
almacenamiento se hacía en medios físicos muy
molestos y de poca capacidad.
1) LA COMPUTACIÓN EN LA NUBE
La computación en nube es un modelo que permite
acceder de forma cómoda y ubicua a petición del
usuario a una serie de recursos informáticos
compartidos y configurables (por ejemplo, redes,
servidores, almacenamiento, aplicaciones y
servicios) que se pueden suministrar con rapidez y
distribuir con un esfuerzo mínimo de gestión o
interacción del proveedor de servicios.
Figura 1. Computación en la Nube
La repercusión económica más importante de la
tecnología de nube podría presentarse en el ahorro de
costos y el aumento de competitividad de los
servicios de tecnología de la información (TI)
disponibles para organizaciones públicas y privadas,
así como las oportunidades que darían lugar a nuevos
servicios.
Las empresas pueden usar las tecnologías de nube
para la prestación de servicios de TI, lo que se
traduce en aprovechar mejor los equipos, ser más
flexibles, ser más rápidas y tener menos gastos de
capital. En cuanto a los consumidores, las
tecnologías de nube hacen que la información y los
contenidos en línea sean más accesibles y más
interactivos.
Los principales tipos de nubes son las nubes públicas,
las nubes privadas y las
nubes híbridas; los principales tipos de servicios
ofrecidos por estas nubes son el software como
servicio (SAAS), la plataforma como servicio
(PAAS) y la infraestructura como servicio (IAAS).
15. 2
Estos servicios en nube pueden ofrecerse desde
centros de datos situados en cualquier lugar del
mundo, lo que tiene implicaciones políticas
importantes.
2) TIPOS DE NUBE.- Existen diversos tipos de
nubes principalmente existen tres grandes grupos
Nubes Públicas
Se refieren al modelo estándar de
computación en la nube, donde los servicios
que se ofrecen se encuentran en servidores
externos al usuario, pudiendo tener acceso a
las aplicaciones de forma gratuita o de pago.
Nubes Privadas
En este grupo la plataforma se encuentra
dentro de las instalaciones de la empresa y
no suele ofrecer servicios a terceros, En
general, una nube privada es una plataforma
para la obtención de hardware solamente, es
decir, máquinas, almacenamiento e
infraestructura de red (IaaS). Este tipo de
nube privada es una buena opción para las
compañías que necesitan alta protección de
datos. El cliente controla qué aplicaciones
usa y cómo, es el propietario de la
infraestructura puede decidir qué usuarios
están autorizados a utilizarla.
Nubes Híbridas
Combinan recursos locales de una nube
privada con la nube pública. La
infraestructura privada se va aumentando
con los servicios de computación en nube de
la infraestructura pública, lo que permite a la
empresa mantener el control de sus
principales aplicaciones y datos y
aprovechar la computación en nube pública
solo cuando resulte necesario.
3) MODELOS DE SERVICIO
Los servicios de computación en la nube se agrupan
en tres niveles: Software como servicio o “Software
as a Servicié” (SaaS), Plataforma como servicio o
“Plataform as a Service” (PaaS) e Infraestructura
como servicio o “Infrastructure as a Service” (IaaS).
Figura 2. Modelos de Servicio
4) USO Y VENTAJAS DE LA COMPUTACIÓN
EN LA NUBE
La nube puede usarse de distintas formas por
distintos usuarios: los consumidores normalmente la
usan para el correo electrónico, el almacenamiento de
archivos, el intercambio de contenidos e
información, los servicios de pago y la transmisión
de música y vídeo. Las empresas la usan sobre todo
para herramientas básicas de oficina, colaboraciones,
la gestión de proyectos y el diseño de aplicaciones
personalizadas. Las administraciones utilizan la nube
en gran medida de la misma forma que las empresas;
además de innovar en la calidad de los servicios,
ofrecen soluciones a los ciudadanos a través de la
administración electrónica.
Las principales ventajas de la nube para los
consumidores tienen que ver con la comodidad, la
flexibilidad, la reducción de costos, la facilidad de
uso, la posibilidad de compartir contenidos, un mejor
acceso a la información y los contenidos en línea, el
mantenimiento y la actualización de forma
automática y una seguridad potencialmente mejor.
Las mismas ventajas de reducción de costos para las
empresas también son aplicables a los gobiernos,
pero estos también pueden beneficiarse de las
tecnologías de la nube aumentando la calidad y la
innovación en los servicios de administración
electrónica que ofrecen a los ciudadanos y las
empresas, servicios que podrían reducir las cargas
administrativas de los ciudadanos y las empresas.
5) RIESGOS RELACIONADOS CON LA
COMPUTACIÓN EN LA NUBE
Los riesgos potenciales generales en materia de
protección de datos que derivan de la computación
en nube están relacionados con: un aumento de las
amenazas para la confidencialidad de los datos
debido a la concentración de datos en una
infraestructura común en nube; la pérdida de control
de la TI y gobernanza por parte de organizaciones
16. 3
que utilizan servicios en nube; y un aumento del
riesgo de intercepción de datos en los procedimientos
de autenticación y transmisión.
A menudo las disposiciones de los proveedores
relativas a la protección de datos carecen de
transparencia, en particular no ofrecen garantías de la
integridad de los datos junto con las cláusulas de
descargo de responsabilidad en los contratos; faltan
normas relativas al control y la protección de datos;
y con frecuencia, en los sitios web de los proveedores
de servicios en nube, la información sobre seguridad
y privacidad está poco clara e incompleta.
6) COMPUTACIÓN EN LA NUBE EN EL
FUTURO
A corto plazo, no se sabe si se producirán cambios
importantes en los tipos de servicios en nube que se
ofrecen. No obstante, es probable que su
disponibilidad y capacidad continúen aumentando,
ya que las economías de escala impulsan centros de
datos cada vez más grandes, que seguirán emigrando
a sitios con energía más barata.
Figura 3. Computación en la Nube en el futuro
La conectividad cobrará importancia, puesto que el
mayor uso de los servicios en nube dará lugar a que
el usuario dependa de la disponibilidad de banda
ancha de alta velocidad, en particular, las velocidades
de carga pueden llegar a ser un factor importante. Se
facilitaría el acceso a los servicios en nube a través
de dispositivos móviles gracias al acceso a Internet
en toda la UE sin complicados y costosos acuerdos
de itinerancia.
III. CONCLUSIONES
La computación en la nube llego para establecerse
cada vez de manera más sólida, siendo útil como un
modelo de negocio, aportando soluciones que van
aumentando, donde la idea es que una empresa u
oficina ya no tenga una ubicación física sino que sea
una lógica, de tal manera que día a día son más
usuarios los que se integran a este modo de trabajo.
Sin embargo quedan incógnitas que resolver como la
regulación de costos del servicio o el ancho de banda,
debido a que para tener acceso a todos los servicios
en la nube se requiere una conexión estable y de alta
velocidad. En los años venideros se vera un
crecimiento rápido de estos modelos de servicio.
La “computación en la nube” en un futuro en la
mayoría de los países se establecerá como una fuente
en el cual las entidades educativas se beneficiaran,
cuando lo introduzcan como un pilar para la
educación ya sea como: presentación de proyectos,
compartir información (resúmenes, bibliografías,
etc.), dar trabajos prácticos, erradicando las excusas
en presentaciones.
IV. REFERENCIAS BIBLIOGRAFÍCAS
[1] Ávila, O. (04 de mayo de 2011). Computación en
la nube.
[2] Anderson, C. (2010). “The Web is dead. Long
live the internet” en Wired: ediciones de USA, pp.
125-131.
[3] Cloud Computing una perspectiva para
Colombia. Mesa Sectorial.
http://es.scribd.com/doc/76030046/Clud-
Computing-Colombia .
[4] Computación en Nube. Información y Recursos
sobre Cloud Computing.
http://www.computacionennube.org/
[5] Cloud Computing una perspectiva para
Colombia. Mesa Sectorial.
http://es.scribd.com/doc/76030046/Clud
[6] Cary, M. (Feb 2012). “Cloud Computing
concerns and issues”
http://www.onbile.com/info/what-cloud-computing-
means
17. 4
[7] James F. (2008). Computer networking.
[8] Joyanes, L. (2009). “La Computación en Nube
(Cloud Computing) Madrid pp.95-111.
[9] Martínez, E.(Feb. 2012). “Computación en
nube”.http://www.eveliux.com/mx/computacion-en-
nube-cloud-computing.php .
[10] Revista (Ene 2012). Cloud Computing.
http://www.revistacloudcomputing.com/2011/10/no
s-encontramos-en-un-punto-de-inflexion-
tecnologico-y-el-cloud-sera-la-plataforma-que-
marcara-las-pautas-a-partir-de-ahora
18. 5
ELECTRICIDAD EN LAS COMPUTADORAS
Loayza Aguilar Jorge Luis, Colque Ramos Wilmer, Guarachi Jorge
Whilveforce@hotmail.com, Wilmerramos151@hotmail.com, Jorge-guarachi44@hotmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática Española
RESUMEN
La conservación de energía es buena tanto
para el medio ambiente como para tu
billetera. Seleccionar el equipo adecuado
puede reducir tu factura de energía si la
máquina es ahorradora de energía. Las
computadoras portátiles están diseñadas
para consumir menos energía que las
computadoras de escritorio y para utilizar la
potencia de manera más eficiente. El uso de
una computadora portátil en lugar de una de
escritorio reducirá la cantidad de energía
que consumes de manera cotidiana.
PALABRAS CLAVES: Computadora,
consumo, corriente, electricidad, electrón,
energía, ordenador.
I. INTRODUCCIÓN
La electricidad es una fuente de energía de
principal importancia para el desarrollo de
la tecnología en el mundo entero, porque sin
ella se nos haría muy difícil tener los
avances tecnológicos que hoy en día
tenemos. Gracias a su naturaleza se pueden
desplazar de un átomo a otro, incluso entre
materiales diferentes, formando corrientes
eléctricas que recorren miles de kilómetros
por segundo.
Mediante procesos científicos se logró
transformar esa electricidad y hacer que sea
útil para nosotros; en una computadora se
necesita transformar la energía eléctrica para
sus componentes como la placa madre, el
procesador, la memoria RAM y demás
dispositivos. Entonces, la fuente de poder es
la que esta encargada de administrar la
energía eléctrica y transformar una entrada
de corriente alterna en una salida de
corriente continua para que los componentes
de la computadora no sufran daño y además
que su rendimiento sea óptimo.
Así que en este artículo vamos a mostrar las
diferencias de cómo es que se administra la
energía en cada una de ellas, entre una
computadora de escritorio y una
computadora portátil.
Figura 1. Computadoras
II. METODO DE DESARROLLO
Electricidad
La electricidad esa formada por átomos que
a su vez están conformados por Neutrones,
Protones y Electrones.
Actualmente la energía eléctrica se ha
convertido en algo esencial para la vida de
la gran mayoría de personas en el mundo.
Ayudó a la creación de grandes inventos
como la computadora, por consiguiente el
internet.
La energía eléctrica se convirtió en algo tan
importante, que todos ven un futuro con
tecnología basados en la electricidad. Un
solo día sin electricidad sería desastroso en
la mayoría de las ciudades.
19. 6
Figura 2. Átomos
2.2 Unidades de medida eléctricas
En la electricidad existen cuatro magnitudes
básicas para lograr medir: Voltaje,
intensidad de corriente, resistencia y
potencia.
- El Voltaje (E o V)
También denominado “Tensión” o
“Presión eléctrica”. Es la presión a la que
se somete a los electrones.
Figura 3. Volt
- Intensidad de corriente o corriente
eléctrica (I)
La intensidad de corriente eléctrica,
como su nombre lo indica, es la cantidad
de electrones que pasa por algún lugar
en específico y se lo calcula por cada
segundo que pasa.
Figura 4. Amper
- Resistencia (R)
Es la oposición que pone el conductor al
flujo de la corriente eléctrica, que afecta
especialmente a la eficacia al momento
de que un cable soporte el flujo
requerido.
Figura 5. Ohm
- Potencia eléctrica (P)
Es la rapidez con que se consume o
disipa la energía eléctrica. El cual obtiene
multiplicando el voltaje por la intensidad
de corriente.
Figura 6. Watts
2.3 Tipos de corriente eléctrica
El tipo de corriente eléctrica que se utiliza
para cada aparato es de primordial
importancia, porque alimentar un aparato
con el tipo de corriente equivocada daría
como resultado una sobrecarga o falta de
poder, que obviamente conlleva a la perdida
de dicho aparato por su mal funcionamiento.
Las computadoras utilizan corriente directa,
aunque la electricidad que toman del
enchufe es alterna. El proceso de
transformación se realiza mediante la fuente
de alimentación.
20. 7
2.3.1 Corriente directa
(DC).
Ésta se encuentra en las
computadoras.
Es el tipo de corriente que tiene
un solo
2.3.2 Corriente alterna (AC).
Éste tipo de corriente se
encuentra en los enchufes de
pared. Se diferencia de la
corriente directa porque ésta va
alternando su sentido, cada
segundo, cambia de sentido
unas 60 veces.
Figura 7. Corrientes
2.4 El circuito eléctrico
Es el camino que siguen los electrones para
llegar del punto con mayor cantidad de
electrones hacia el punto que tiene menos
electrones. Un circuito eléctrico completo
consta de los siguientes elementos.
Fuente: Es el primer elemento
que actúa, se encarga de
suministrar electricidad a todos
los componentes de la
computadora, sin este
sencillamente ¡nada
funcionaría!
Conductor: Es el elemento que
permite que la electricidad
llegue de la fuente, a los demás
componentes, sin este
tendríamos que anclar la
computadora a la pared, lo cual
sería muy incómodo al
momento de cambiarla de
posición.
Carga: Es el que se encarga de
poner a trabajar al sistema, el
cual consigue, lo que en tiempos
antiguos era considerada
“Magia” retornar resultados de
lo que se hace con la
computadora por medio del
teclado, el mouse u otros.
También realiza otras funciones
como proteger el sistema..
Interruptor: Permite o no, el
paso de la corriente, en el caso
de las computadoras seria el
botos de encendido/apagado o
tal vez el de reinicio.
2.5 Tipos de circuito eléctrico
Serie
Este tipo de circuito falla si alguno
de sus elementos también lo hace,
porque la electricidad debe fluir por
cada uno de sus elementos antes de
llegar a la fuente de suministro. Por
todo esto sería peligroso que si
algún elemento falla todo lo que no
se guardó se perdería.
Figura 8. Serie
Paralelo
En este la electricidad se divide para
poder alimentar los elementos
tomando diferentes caminos y no
solo uno, por lo que si un elemento
falla, el sistema puede seguir
funcionando y así prevenir riesgos
21. 8
al momento de perder información
importante, o posiblemente grandes
problemas “permanentes”, en el
sistema.
Figura 9. Paralelo
Mixto
Es la unión de los 2 anteriores, son
arreglos especializados para
obtener fenómenos muy
específicos.
Figura 10. Mixto
2.6 Factores que afectan el consumo de
una computadora
El consumo que realiza una computadora se
debe a:
Tiempo de Uso, mientras más se
usa la computadora se gasta
más, pero no solo depende del
tiempo sino que también el
consumo puede ser más alto si
su utilización es de gran
exigencia, como jugar con una
resolución de video muy alta,
utilizando a la vez internet,
tener paginas abiertas y
descargando videos,
aplicaciones u otros, y además
estar instalando algún programa
en el equipo. Bueno, esta
situación es un poco exagerada
pero en ese caso no se
necesitaría mucho tiempo para
gastar demasiada electricidad,
bastaría con 10 minutos o tal
vez menos.
Figura 11. Uso tiempo
El tipo de computadora, si es de
escritorio el consumo es mayor
porque no está diseñado para no
abusar de la energía que se le
brinda, excepto las actuales que
parecen diseñadas para un
consumo menor, pero aun así
las computadoras portátiles o
laptops, no consumen tanta
electricidad pero con la
consecuencia de no poder rendir
tanto como las de escritorio,
pero también hay laptops
actuales que rinden aún más que
las de escritorio.
Figura 12. Tipo
Velocidad del Procesador, la
velocidad que se posee
mejoraría el consumo porque
como hace que el sistema
funcione con más agilidad no
pierde tiempo en actuar y gastar
energía en vano.
Procesador Antiguo, como
todos sabemos las cosas
22. 9
antiguas no descubrían aún, ni
les interesaba ahorrar energía,
sino hacer que los aparatos
funcionen. Pero eso no es malo
porque a ellos les debemos lo
que ahora se pudo perfeccionar
a tal punto que ya se piensa en
la inteligencia artificial, en otras
palabras ¡crear vida!
Figura 13.Antiguo
Si son PC / Mac, porque las Mac
normalmente consumen menos
energía y a la vez son más
seguras pero tienen limitaciones
en cuanto a programas, porque
no acepta cualquier programa
como las PC.
Figura 14. Mac/PC
El uso Intenso, como decíamos
anteriormente el uso abusivo de
la computadora obviamente
conlleva a un gran uso de
energía, a tal punto de arriesgar
a futuros problemas con el
rendimiento de la computadora.
Figura 15. Abuso
El uso de internet, el consumo
en este caso podría variar
porque si solo se está visitando
algunas páginas no se consume
mucho, en cambio, si se está
descargando algo se consume
mucho más, o si se reproducen
videos.
Figura 16. Internet
2.7 Consumo de energía
En general, el consumo de energía en las
computadoras se realiza de la siguiente
manera:
2.7.1 El CPU consume entre 40W -
125W, es el que más consume
porque es ahí donde se procesa
todas las acciones que se realiza.
2.7.1.1 Placa Madre: 10W.
2.7.1.2 Ventilador: 5W.
2.7.1.3 Tarjeta gráfica:
20W - 50W.
2.7.1.4 Fuente de poder:
10W.
23. 10
2.7.1.5 Disco duro: 5W -
10W.
2.7.1.6 CD-ROM: 3W -
6W.
Figura 17. Consumo
2.8 Recomendaciones para reducir el
consumo de una Computadora
• Debes Configurar tu computadora
y monitor en el modo de Suspender
o Hibernar, para que
automáticamente se suspendan
luego de cierto tiempo sin uso. Una
computadora en este estado
consume entre 2 y 6 vatios, 10 o 25
veces menos que si está encendida,
mientras que el monitor consume 3
a 4 veces menos.
• Utiliza una Laptop, ya que
consume mucho menos.
• Si utilizas una computadora
regular, asegúrate que tengas una
pantalla LCD.
• Apaga la computadora cuando
termines tu día, no la dejes
hibernando toda la noche.
III. CONCLUSIONES
Ademas de pagar menos en la factura de la
luz, ahorrar energia es muy importante para
el medio ambiente, porque de nada sirve
tener la mejor computadora del mundo o el
mejor celular, si no habra electricidad sino
un mundo lleno de suciedad y falto de aire.
La electricidad es tan importante pero a la
vez es tan perjudicial, porque gracias a ella
nuestra vida es mas sencilla que en el
pasado. Muchas personas perdieron su
empleo porque la computadora hacia su
trabajo hasta mejor que ellos; es usada para
el funcionamiento de industrias que
contaminan el medio ambiente. Ayuda a la
seguridad de las personas asi como ayuda al
crimen, físico o virtual.
Las computadoras de escritorio
normalmente son más potentes, a causa de
ello consumen más energía eléctrica en
cambio las computadoras portátiles son
menos eficaces que las computadoras de
escritorio por su diseño compacto que nos
permite transportalo a cualquier parte, y
ademas nos ayuda a ahorrar energía.
IV. REFERENCIAS
BIBLIOGRAFÍCAS
[1] conectate.com. (29 de agosto de 2012).
Cuanta energía consume una computadora.
Obtenida el 10 de Mayo de 2016, de
http://www.conectate.com.do/articulo/cuant
a-energia-consume-una- computadora-pc/
[2] jovato (22 de 05 de 2015). Cuanta
energía consume un PC. Obtenida el 10 de
Mayo de 2016, de
http://www.taringa.net/post/info/1146726/
Cuanta-electricidad-consume- un-PC.html
[3] Mireles, A. (15 de abril de 2014).
computer information. Obtenido el 10 de
Mayo de 2016, de
http://arelhii.blogspot.com/2013/04/estable
cimiento-de-las-similitudes- y0.html
[4] Vázquez, A. (22 de abril de 2013). IT
ESSENCIALS. Obtenido el 10 de Mayo de
2016, de
http://woody0495.blogspot.com/2013/04/ad
ministracion-de-energia- de-las.html
[5] Apocalipsis1 (n.d.). 10 formas de ahorrar
energia con tu computadora. Obtenido el 10
de Mayo de 2016, de
http://www.taringa.net/posts/ecologia/1425
7731/10-formas-de-ahorrar-energia-con-tu-
computadora.html
[6] Pildo (16 de Diciembre de 2007).
Administracion de energía en el PC.
Obtenido el 10 de Mayo de 2016, de
http://www.todohtpc.com/tutoriales/todo-
24. 11
hardware/administracion-de-energi-a-en-el-
pc.html
[7] William, N. (n.d.). Consumo de energía
de una computadora portátil contra una de
escritorio. Obtenido el 10 de Mayo de 2016,
de http://www.ehowenespanol.com/
[8] Juan, T. (16 de Agosto de 2011).
Consumo de energía equipos de
computación. Obtenido el 10 de Mayo de
2016, de
https://juantrucupei.wordpress.com/2011/0
8/16/64/
[9] Daniel, C. (n.d.). Cuanta electricidad
consume un PC. Obtenido el 10 de Mayo de
2016, de
http://www.danielclemente.com/consumo/
[10] N.N. (n.d.). Cuanta electricidad
consume un PC. Obtenido el 10 de Mayo de
2016, de
http://www.chilehardware.com/guias_guia0
65-20060807.html
25. 12
LENGUAJES DE PROGRAMACIÓN DE ALTO NIVEL
Condori Fuentes Ivan Eddy, Rodriguez Villca Paola Lynnette, Rojas Quispe Carla Ximena
Ivan-eddy@outlooc.cl, Pao333kyj@gmail.com, rojascarla001@gmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática Española
RESUMEN
Este artículo presenta la evolución que tuvo los
lenguajes de programación de alto nivel a lo largo de
la historia, y la facilidad de uso sobre la eficiencia de
programación, ya que esta evolución ayuda y facilita
el diseño de las aplicaciones.
PALABRAS CLAVE
Algoritmos, desarrollo lógico, desarrolladores,
instrucciones, lenguaje de programación software,
semántica, sintaxis.
I. INTRODUCCIÓN
Lenguajes de programación fueron apareciendo
desde el año 1950, desde entonces fueron materia de
estudio en las áreas de ingeniería y computación. El
estudio de los lenguajes de programación es llamado
también lingüística de programación, por la analogía
son denominados lenguajes naturales de la
programación, un lenguaje de programación es una
construcción mental del ser humano para expresar
programas. Está constituido por un grupo de reglas
gramaticales, un grupo de símbolos utilizables, un
grupo de términos monocemicos (es decir, con
sentido único) y una regla principal que resume las
demás. Para que esta construcción mental sea
operable en un computador debe existir otro
programa que controle la validez o no de lo escrito,
a esto se le llama traductor.
Los lenguajes de programación de alto nivel poseen
sintaxis (forma) y semántica (significado), estos
lenguajes de programación no pueden ser
comparados con el lenguaje natural en términos de
su rango de expresividad y subjetividad.
Por otro lado el lenguaje natural está restringido al
lenguaje de las personas pero el lenguaje de
programación tiene el objetivo de implementar un
diseño en las computadoras.
II. MÉTODO DE DESARROLLLO
I. Lenguaje de alto nivel
Un lenguaje natural no es más ni menos que un grupo
de personas que hablan y escriben, así que
la lingüística natural está restringida al análisis de los
lenguajes existentes; mientras que los lenguajes de
programación son concienzudamente diseñados y se
pueden implementar en computadoras.
I. Ventajas
Genera un código más sencillo y comprensible.
Escribir un código válido para diversas máquinas
o sistemas operativos.
Permite utilizar paradigmas de programación.
Permite crear programas complejos en
relativamente menos líneas de código.
Desventajas
Reducción de velocidad al ceder el trabajo de bajo
nivel a la máquina.
Algunos requieren que la máquina cliente posea
una determinada plataforma.
A continuación mencionaremos los principales y
más utilizados lenguajes de alto nivel.
1.1.1. Fortran
Fue desarrollado en 1954 por el equipo de John
Backus bajo el control de IBM. El objetivo
principal era la producción de un lenguaje que
pudiera traducirse de forma eficaz a lenguaje
máquina.
FORTRAN significa FORmula TRANslator y
está considerado como el primer lenguaje de alto
nivel. Alcanzó gran popularidad desde su primera
versión en 1957. Se estandarizó y mejoró en 1966
y nuevamente en 1977 y en 1990.
Está diseñado para su uso en aplicaciones
científicas y técnicas. Se caracteriza por su
potencia en los cálculos matemáticos, pero está
limitado en todo lo relativo al tratamiento de datos
26. 13
no numéricos. Por esta razón, no ha sido usado
extensamente en el ámbito del microordenador,
pero sigue siendo un lenguaje común en
aplicaciones de investigación, ingeniería y
educación. [1]
1.1.2. Visual Basic .net
Visual Basic .NET (VB.NET) es un lenguaje de
programación orientado a objetos que se puede
considerar una evolución de Visual Basic
implementada sobre el framework .NET. Su
introducción resultó muy controvertida, ya que
debido a cambios significativos en el
lenguaje VB.NET no es retro compatible con
Visual Basic, pero el manejo de las instrucciones
es similar a versiones anteriores de Visual Basic,
facilitando así el desarrollo de aplicaciones más
avanzadas con herramientas modernas. Para
mantener eficacia en el desarrollo de las
aplicaciones. La gran mayoría de programadores
de VB.NET utilizan el entorno de desarrollo
integrado Microsoft Visual Studio en alguna de
sus versiones (desde el primer Visual Studio .NET
hasta Visual Studio .NET 2015, que es la última
versión de Visual Studio para la plataforma
.NET), aunque existen otras alternativas, como
Sharp Develop (que además es libre). [2]
1.1.3. Ada
Ada es un lenguaje de programación orientado a
objetos y fuertemente tipado de forma estática que
fue diseñado por Jean Ichbiah de CII Honeywell
Bull por encargo del Departamento de Defensa de
los Estados Unidos.
Es un lenguaje multipropósito, orientado a objetos
y concurrente, pudiendo llegar desde la facilidad
de Pascal hasta la flexibilidad de C++.
Fue diseñado con la seguridad en mente y con una
filosofía orientada a la reducción de errores
comunes y difíciles de descubrir. Para ello se basa
en un tipado muy fuerte y en chequeos en tiempo
de ejecución (des activables en beneficio del
rendimiento). La sincronización de tareas se
realiza mediante la primitiva rendezvous.
Ada se usa principalmente en entornos en los que
se necesita una gran seguridad y fiabilidad como la
defensa, la aeronáutica (Boeing o Airbus), la
gestión del tráfico aéreo (como Indra en España) y
la industria aeroespacial entre otros. [3]
1.1.4. Algol
Se denomina ALGOL (o Algol) a un lenguaje de
programación. La voz es un acrónimo de las
palabras inglesas Algorithmic Language (lenguaje
algorítmico).
Fue muy popular en las universidades durante los
años 60, pero no llegó a cuajar como lenguaje de
utilización comercial.
Sin embargo, Algol influyó profundamente en
varios lenguajes posteriores que sí alcanzaron gran
difusión, como Pascal, C y Ada.
Hacia 1965 dos corrientes se distinguieron sobre el
tema de un sucesor para Algol. Como resultado se
definieron los lenguajes Algol W que es un lenguaje
minimalista, rápidamente implementado y
distribuido y, por otra parte, Algol 68 que para la
época está en la frontera entre un lenguaje para
programar en él y un lenguaje para investigar sobre
él.[4]
1.1.5. Basic
En la programación de computadoras, siglas de
Beginner's All-purpose Symbolic Instruction
Code1 (Código simbólico de instrucciones de
propósito general para principiantes en español), es
una familia de lenguajes de programación de alto
nivel. El BASIC original, el Dartmouth BASIC,
fue diseñado en 1964 por John George Kemeny y
Thomas Eugene Kurtz en el Dartmouth College en
Nuevo Hampshire, Estados Unidos, como un medio
para facilitar la programación en ordenadores a
estudiantes (y profesores) que no fueran de
ciencias. De aquella, casi todo el uso de los
ordenadores requería codificar software hecho a
medida, con lo cual quedaba restringida a personas
con formación como científicos y matemáticos.
BASIC originalmente fue desarrollado como una
herramienta de enseñanza. El lenguaje y sus
variantes llegaron a estar ampliamente disponibles
en los microcomputadores a finales de los años
1970 y en los años 1980. BASIC sigue siendo
popular hasta el día de hoy en un puñado de
27. 14
dialectos altamente modificados, y en nuevos
lenguajes, influenciados por BASIC tales como
Microsoft Visual Basic o Gambas en GNU/Linux.
En el año 2006, el 59% de los desarrolladores para
la plataforma .NET usaban Visual Basic .NET
como su único lenguaje.
Es importante aclarar que una de las grandes
desventajas en comparación con lenguajes como
COBOL, RPG es que no maneja como parte
integrada el acceso a archivos directos o
RANDOM. Se tenía que apoyar en una aplicación
externa para poder acceder de manera directa un
registro de algún archivo. [5]
1.1.6. C Sharp
C#1 (pronunciado si sharp en inglés) es un
lenguaje de programación orientado a objetos
desarrollado y estandarizado por Microsoft como
parte de su plataforma. NET, que después fue
aprobado como un estándar por la ECMA
(ECMA-334) e ISO (ISO/IEC 23270). C# es uno
de los lenguajes de programación diseñados para
la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el
modelo de objetos de la plataforma. NET, similar
al de Java, aunque incluye mejoras derivadas de
otros lenguajes.
El nombre C Sharp fue inspirado por la notación
musical, donde '#' (sostenido, en inglés sharp)
indica que la nota (C es la nota do en inglés) es un
semitono más alta, sugiriendo que C# es superior
a C/C++. Además, el signo '#' se compone de
cuatro signos '+' pegados. Aunque C# forma parte
de la plataforma. NET, ésta es una API, mientras
que C# es un lenguaje de programación
independiente diseñado para generar programas
sobre dicha plataforma. Ya existe un compilador
implementado que provee el marco Mono -
DotGNU, el cual genera programas para distintas
plataformas como Windows, Unix, Android, iOS,
Windows Phone, Mac OS y GNU/Linux. [6]
1.1.7. Java
Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos que fue
diseñado específicamente para tener tan
pocas dependencias de implementación como
fuera posible. Su intención es permitir que los
desarrolladores de aplicaciones escriban el
programa una vez y lo ejecuten en cualquier
dispositivo (conocido en inglés como WORA, o
"write once, run anywhere"), lo que quiere decir
que el código que es ejecutado en una plataforma
no tiene que ser recompilado para correr en otra.
Java es, a partir de 2012, uno de los lenguajes de
programación más populares en uso,
particularmente para aplicaciones de cliente-
servidor de web, con unos 10 millones de usuarios
reportados.
El lenguaje de programación Java fue
originalmente desarrollado por James Gosling de
Sun Microsystems (la cual fue adquirida por la
compañía Oracle) y publicado en 1995 como un
componente fundamental de la plataforma Java de
Sun Microsystems. Su sintaxis deriva en gran
medida de C y C++, pero tiene menos utilidades de
bajo nivel que cualquiera de ellos. Las aplicaciones
de Java son generalmente compiladas a bytecode
(clase Java) que puede ejecutarse en cualquier
máquina virtual Java (JVM) sin importar la
arquitectura de la computadora subyacente.
La compañía Sun desarrolló la implementación de
referencia original para los compiladores de Java,
máquinas virtuales, y librerías de clases en 1991 y
las publicó por primera vez en 1995. A partir de
mayo de 2007, en cumplimiento con las
especificaciones del Proceso de la Comunidad Java,
Sun volvió a licenciar la mayoría de sus tecnologías
de Java bajo la Licencia Pública General de GNU.
Otros también han desarrollado implementaciones
alternas a estas tecnologías de Sun, tales como el
Compilador de Java de GNU y el GNU Classpath.
[7]
1.1.8. Php
PHP es un lenguaje de programación de uso general
de código del lado del servidor originalmente
diseñado para el desarrollo web de contenido
dinámico. Fue uno de los primeros lenguajes de
programación del lado del servidor que se podían
incorporar directamente en el documento HTML en
lugar de llamar a un archivo externo que procese los
datos. El código es interpretado por un servidor web
con un módulo de procesador de PHP que genera la
28. 15
página web resultante. PHP ha evolucionado por lo
que ahora incluye también una interfaz de línea de
comandos que puede ser usada en aplicaciones
gráficas independientes. Puede ser usado en la
mayoría de los servidores web al igual que en casi
todos los sistemas operativos y plataformas sin
ningún costo.
PHP se considera uno de los lenguajes más
flexibles, potentes y de alto rendimiento conocidos
hasta el día de hoy, lo que ha atraído el interés de
múltiples sitios con gran demanda de tráfico, como
Facebook, para optar por el mismo como tecnología
de servidor.
Fue creado originalmente por Rasmus Lerdorf en
1995. Actualmente el lenguaje sigue siendo
desarrollado con nuevas funciones por el grupo
PHP.1 Este lenguaje forma parte del software libre
publicado bajo la licencia PHP, que es
incompatible con la Licencia Pública General de
GNU debido a las restricciones del uso del término
PHP.2. [8]
1.1.9. Cobol
Su nombre proviene de la frase “Common Business
Oriented Language” (lenguaje general para los
negocios). Es el lenguaje más utilizado en
aplicaciones de gestión y fue creado en 1960 por un
comité patrocinado por el departamento de defensa
de los Estados Unidos.
Ha experimentado diversas actualizaciones hasta su
versión COBOL ANS• 85. Se ganó una amplia
aceptación como lenguaje estandarizado, siendo
uno de los más populares.
Las características más interesantes de este
lenguaje son: se asemeja al lenguaje natural
(haciendo uso abundante del inglés sencillo), es
autodocumentado y ofrece grandes facilidades en
el manejo de ficheros, así como en la edición de
informes escritos.
Entre sus inconvenientes están sus rígidas reglas
de formato de escritura, la necesidad de escribir
todos los elementos al máximo detalle, la
extensión excesiva en sus sentencias y la
inexistencia de funciones matemáticas. [9]
1.1.10. Pascal
El lenguaje de programación PASCAL recibe su
nombre en honor al filósofo y matemático francés
Blaise Pascal, que inventó la primera máquina
mecánica para sumar.
Este lenguaje fue desarrollado en 1970 por el
matemático suizo Nicklaus Wirth. Los motivos
fundamentales de su creación son, por un lado,
proporcionar un lenguaje adecuado para la
enseñanza de los conceptos y técnicas de
programación, y por otra parte, desarrollar
implementaciones del lenguaje que funcionen de
forma fiable y eficiente sobre los ordenadores
disponibles. Estos objetivos han sido alcanzados en
gran medida y, además, con el tiempo ha llegado a
ser un lenguaje muy utilizado en todo tipo de
aplicaciones.
Está diseñado para ilustrar conceptos clave de
programación, como los tipos de datos,
programación estructurada y diseño descendente.
Trata de proporcionar un mecanismo para
implementar esos conceptos.
Se ha convertido en el predecesor de otros
lenguajes más modernos, como Modula• 2 y Ada.
[10]
1.1.11. Lisp
En informática, acrónimo de List Processing. Un
lenguaje de programación para ordenadores
o computadoras orientadas a la generación de
listas, desarrollado en 1959-1960 por John
McCarthy y usado principalmente para manipular
listas de datos. El lenguaje LISP constituyó un
cambio radical con respecto a los lenguajes
procedurales (FORTRAN, ALGOL) que se
desarrollaban por entonces. El LISP es un
lenguaje interpretado, en el que cada expresión es
una lista de llamadas a funciones. Este lenguaje se
sigue utilizando con frecuencia en investigación y
en círculos académicos, y fue considerado durante
mucho tiempo el lenguaje modelo para la
investigación de la inteligencia artificial (IA),
aunque el Prolog ha ganado terreno durante los
últimos años. [11]
1.1.12. Python
29. 16
Python es un lenguaje de programación
interpretado cuya filosofía hace hincapié en una
sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación
multiparadigma, ya que soporta orientación a
objetos, programación imperativa y, en menor
medida, programación funcional. Es un lenguaje
interpretado, usa tipado dinámico y es
multiplataforma.
Es administrado por la Python Software
Foundation. Posee una licencia de código abierto,
denominada Python Software Foundation License1
que es compatible con la Licencia pública general
de GNU a partir de la versión 2.1.1, e incompatible
en ciertas versiones [12]
1.1.13. Perl
Perl es un lenguaje de programación diseñado por
Larry Wall en 1987. Perl toma características del
lenguaje C, del lenguaje interpretado bourne shell
(sh), AWK, sed, Lisp y, en un grado inferior, de
muchos otros lenguajes de programación.
Estructuralmente, Perl está basado en un estilo de
bloques como los del C o AWK, y fue ampliamente
adoptado por su destreza en el procesado de texto y
no tener ninguna de las limitaciones de los otros
lenguajes de script. [13]
III. CONCLUSIONES
En conclusión llegamos a conocer que los lenguajes
y técnicas de programación son importantes para la
utilización de la computadora como una
herramienta para resolver problemas.
De este modo, una computadora podrá resolver un
problema si alguien desarrolla un programa que
contenga las instrucciones adecuadas que permitan
trasformar los datos.
Los lenguajes deben ser confiables, comprensibles
y deben satisfacer las necesidades de la sociedad,
ya sean hombres de negocio o usuarios no técnicos
y que a lo largo del tiempo desarrollarán muchos
más lenguajes para el fácil uso al programar
aplicaciones.
IV. REFERENCIAS BIBLIOGRÁFICAS
[1]
http://proyectoinformaticaaadrar.blogspot.com/2
012/ 05/5-ejemplos-de-lenguajes-de-alto-
nivel.html
[2]
https://es.wikipedia.org/wiki/Visual_Basic_.NET
[3]
https://es.wikipedia.org/wiki/Ada_(lenguaje_de_
prog ramaci%C3%B3n)
[4] https://es.wikipedia.org/wiki/ALGOL
[5] https://es.wikipedia.org/wiki/BASIC
[6]https://es.wikipedia.org/wiki/C_Sharp
[7]https://es.wikipedia.org/wiki/Java
[8]https://es.wikipedia.org/wiki/PHP
[10]http://proyectoinformaticaaadrar.blogspot.com
/2012/ 05/5 ejemplos-de-lenguajes-de-alto-
nivel.html
[11]
http://proyectoinformaticaaadrar.blogspot.com/201
2/ 05/5-ejemplos-de-lenguajes-de-alto-nivel.html
[12]https://es.wikipedia.org/wiki/Python
[13]https://es.wikipedia.org/wiki/Perl [14]
https://es.wikipedia.org/wiki/Ruby
30. 17
INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN PYTHON
Alejandro Vladimir Aguilar Ramos, Navia Paiva Kevin Arturo, Roque Mendoza Paul
Shiver_avar@hotmail.com, knp32n@gmail.com, Tiverium1994@gmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática española
RESUMEN.
El presente artículo está orientado a presentar
el lenguaje de programación Python como una
herramienta sobre la cual se puede construir
muchos proyectos, en lo que se refiere a el
desarrollo de páginas web, aplicaciones,
juegos, aplicaciones en la ciencia, aplicaciones
en las ciencias, además de conocer las grandes
facilidades de este lenguaje con respecto a los
demás(C, C++, Java, Pascal), además daremos
a conocer las razones por las cuales este
lenguaje de programación es muy popular en
la actualidad en el mundo de la programación.
PALABRAS CLAVE:
Guido van Rossum, Desarrollo de
aplicaciones, Juegos, Lenguaje de
programación, Paradigma, Pygame, Velocidad
de procesamiento, Aprendizaje, Aplicaciones
en la ciencia.
I. INTRODUCCIÓN
Python es un lenguaje de programación de alto
nivel desarrollado por Guido van Rossum a
finales de los ochenta, una de las
características de este lenguaje es su sencilla
sintaxis, el pseudocódigo natural de Python
permite concentrarse en la solución del
problema en lugar de la sintaxis, lo cual facilita
la codificación, escribiendo línea de código
más cortas; este concepto se apoya en la
filosofía de trabajo de Python que busca
desarrollo legibles y transparentes frente a
códigos ilegibles y ofuscados. Al mismo
tiempo, es un lenguaje de programación
multiparadigma, lo cual permite a los usuarios
y desarrolladores adoptar diversos estilos,
entre los principales: programación orientada
a objetos, programación imperativa y
programación funcional. Además es un
lenguaje multiplataforma, es decir el mismo
código funciona en cualquier arquitectura, la
única condición es que disponga del intérprete
del lenguaje. No es necesario compilar el
código una vez para cada arquitectura.
Debido a todos sus características y a su
filosofía se ha vuelto popular entre los
programadores, legando incluso a ser usado
por las grandes empresas de la web, como
Google, Yahoo, YouTube o corporaciones
tecnológicas como la NASA; los
paquetes Numpy y Scipy pueden convertirlo,
con poco trabajo, en un sustituto completo a
programas prohibitivamente caros pero de uso
común en este ámbito en proyectos de
investigación científica.
II. METODO DE DESARROLLO
El lenguaje Python, es un lenguaje de
programación interpretado que nació a finales
de 1980, fue desarrollada por Guido van
31. 18
Roosum, con el objetivo de cubrir la necesidad
de un lenguaje orientado a objetos de sencillo
uso que sirviese para tratar diversas tareas
dentro de la programación que habitualmente
se hacía en Unix usando C. Posee una licencia
de código abierto, denominado Python
Este lenguaje puede ser utilizado en diversas
plataformas y sistemas operativos, entre los
que podemos destacar los más populares,
como Windows, Mac OS X y Linux.
2.1. HISTORIA
El lenguaje de programación Python fue
creado a finales de los ochenta por Guido van
Rossum en el Centro para las Matemáticas y la
Informática. Para el año 1994, Python alcanzo
la versión 1.0. Durante su estancia en CNRI,
Guido van Rossum se dedicó al proyecto
Computer Programming for
Everybody(CP4E) con el objetivo de hacer la
programación más accesible para todos, con
un nivel de alfabetización básico en lenguajes
de programación, es en este proyecto que
Python jugó un papel importante debido a su
sencilla sintaxis.
Las versiones posteriores de Python,
mantuvieron las mismas características de la
primera versión, incluyendo nuevas y
sofisticadas características, siempre bajo una
licencia de software libre.
El desarrollo de Python duró varios años,
durante los que trabajó en diversas compañías
de Estados Unidos. En el 2000 ya disponía de
un producto bastante completo y un equipo de
desarrollo con el que se había asociado incluso
en proyectos empresariales. Actualmente
trabaja en Zope, una plataforma de gestión de
contenidos y servidor de aplicaciones para el
web, por supuesto, programada por completo
en Python.
a. CARACTERISTICAS
2.2.1 PROPOSITO
Una de las principales características del
lenguaje Python es la de ser multipropósito, es
decir, tiene compatibilidad para realizar
programas en diversas plataformas. Se lo
puede aplicar en cualquier campo, es así que
tiene diversificada sus opciones de desarrollo
entre los cuales están: l desarrollo de páginas
web, el desarrollo de aplicaciones de consola,
aplicaciones para la variedad de sistemas
operativos, Windows, Mac, Linux, además
cuenta con varios paquetes y librerías para
importar los cuales dan acceso a muchas más
opciones como es el caso de Pygame, que se
constituye en un desarrollador de juegos
basado en Python, o de otra manera un
reemplazo de Matlab el cual va ganando
popularidad por la facilidad de uso y
aprendizaje rápido.
2.2.1 MULTIPLATAFORMA
El lenguaje de programación desde su primera
versión 1.0 estuvo orientada al sistema
operativo UNIX, no es de extrañarse que la
licencia de este lenguaje de programación este
con GNU. Con la evolución de este lenguaje
de programación, se hizo disponible para la
mayoría de los sistemas operativos, para
conseguir la compatibilidad de Python con el
sistema operativo se debe de tener un
intérprete instalado en el ordenador. Es así que
Python se considera un lenguaje de
programación multiplataforma. Actualmente
ha llegado a incursionar en el desarrollo de
aplicaciones para “SmartPhones” con el
sistema operativo Android gracias a QPython.
2.2.1 INTERPRETADO
Esta carterista de este lenguaje nos indica que
no se debe compilar el código antes de su
ejecución. Para ejecutar por primera vez el
32. 19
código escrito en Python el sistema produce
unos bytecodes que se guardan en el sistema y
que sirven para acelerar la compilación
implícita que realiza el intérprete cada vez que
ejecuta el mismo código. Esto le da una ligera
ventaja en cuanto se refiere a velocidad frente
a otros lenguajes de programación, pero si
evaluamos a partir de su compilación implícita
se evidencia que C++ sigue siendo el más
veloz en cuanto a velocidad de proceso,
seguido del lenguaje Python, y posteriormente
Java.
2.2.1 INTERACTIVO
Con la instalación de Python, viene incluido
con un intérprete de líneas de comando, en las
cuales se introducen sentencias propias del
lenguaje de programación y el intérprete
responde dando el resultado, es así que nos
abre la posibilidad de interactuar con el
lenguaje Python.
En la imagen inferior podemos observar las
sentencias de impresión (print), suma (+), resta
(-), multiplicación (*), división (/), modulo
(%) y potencia (**).
Este intérprete, dado las características que
tiene, nos permite evaluar pequeñas parte de
código las cuales pueden ser evaluadas por el
intérprete, es decir “debuggear” código.
Figura 1: Ademas dada la rapidez de la
evaluacion de sentecias de codigo el interprete
nos sirve de calculadora.
2.2.1 FUNCIONES Y LIBRERIAS
El lenguaje de programación Python es un
lenguaje completo en diversos sentidos,
dispone de muchas funciones dentro del
propio lenguaje para la evaluación de datos
primitivos (números, cadenas o strings,
archivos), estructuras de datos lineales y no
lineales(vectores, listas enlazadas, colas, pilas,
conjuntos o sets, mapas) entre otros.
Además cuenta con una variedad de librerías
las cuales nos sirven para realizar tareas
específicas tales como la programación de
ventanas, sistemas de red, tareas con archivos
comprimidos .zip y .rar.
Entre los módulos más destacados con los que
cuenta Python se encuentra Pygame con el
cual se puede programar juegos en dos
dimensiones, o sino el módulo QPython que
nos permite desarrollar aplicaciones para
teléfonos móviles con sistema operativo
Android.
2.2.1 SINTAXIS
Python cuenta con una característica que lo
distingue de los demás lenguajes de
programación, con esto nos referimos a la
omisión de llaves para determinar el rango de
trabajo de ciertas sentencias, en lugar de eso,
Python usa la indentación que debe ser
cumplida de manera obligatoria. Esto nos
permite separar porciones de código mediante
tabulaciones hacia dentro.
Esto ayuda a todos que los programadores
adopten unas mismas reglas y notaciones,
dado que los programas tengan un aspecto
similar.
Además que el lenguaje de programación
Python está orientado más en el desarrollo del
algoritmo, en lugar de las estructuras externas,
lo cual facilita de gran manera el aprendizaje ,
ya que no requiere memorizar líneas de código
extras que nada tienen que ver con el
desarrollo del programa(Java: import
33. 20
java.util.*; C++:
#include<bits/stdc++.h>using namespace
std;).
En la siguiente código podemos observar el
código para realizar el ya conocido programa
de iniciación en cada lenguaje de
programación: “Hola Mundo”, en el cual
podemos observar la sencillez de la
codificación en comparación de otros en los
cuales se requiere la importación de librerías,
creación de métodos y clases entre otros.
Figura 2: Programa Hola Mundo en Pycharm,
IDE para el lenguaje de programacion Python
Ademas de esto, se nos permite evaluar
programas sencillos, mediante el empleo de
una IDLE la cual se constituye en una interfaz
en la cual el desarrollador puede probar el
codigo, ademas cabe señalar que la
programacion debe de realizarse en orden ya
que, como en el ejemplo anterior se encuentra
organizada por modulos, con lo cual
tendriamos la funcion principal o main() pero
esta solo se constituye en un metodo, es asi
que es llamado para ejecutarse mediante el
if__name__==”__main__”:main().
Abajo podemos observar otro ejemplo en el
cual se puede ver la evauacion de una entrada
por teclado y su respectiva respuesta:
Figura 3: Sentecias de entrada por teclado
III. CONCLUSIONES
El lenguaje de programación Python
se constituye en una gran herramienta
en el mundo de los desarrolladores, es
así que se debe tomar muy en cuenta
ya que la constante evolución de este
lenguaje de programación le ha
otorgado la popularidad que cuenta
actualmente la cual sigue creciendo
constantemente, dados los beneficios
que cuanta para desarrollar en los
diferentes tipos de programación.
Las características del lenguaje
Python y su constante evolución van a
llevar al lenguaje a inclinar la
tendencia a su favor en cuanto a
desarrollo se refiere.
El aprendizaje del lenguaje de
programación Python es una opción
muy acertada ya que en la actualidad
crece el número de desarrolladores en
el lenguaje de programación Python y
también el número de demanda.
IV. REFERENCIAS
BIBLIOGRAFICAS
[1]Álvarez A.M.(19 de noviembre de
2003) Que es Python. Recuperado el 23 de
abril de 2016. URL:
34. 21
http://www.desarrolloweb.com/articulos/
1325.php
[2]Belial9826.(2016)¿Deberías Usar
Python Para El Desarrollo Web?,
JaGonzales. Fecha de consulta: 20 de abril
de 2016.
URL:http://jagonzalez.org/deberias-usar-
python-para-el-desarrollo-web/
[3]Definición de Pyhon: Lenguaje de
programación .Fecha de consulta: 1 de
junio de 2016. URL:
http://www.algsa.com.ar/Dic/python.php
[4]Características de Python. Fecha de
consulta 22 de abril de 2016. URL:
http://dev.laptop.org/~edsiper/byteofpyth
on_spanish/ch01s02.html
[5]Python/Generalidades/Características
específicas de Python. Fecha de consulta:
17 de abril de 2016. URL:
https://es.wikibooks.org/wiki/Python/Gen
eralidades/Caracter%C3%ADsticas_espe
cificas_de_Python
[6]Primeros pasos con Python. Fecha de
consulta: 15 de abril de 2015.URL:
htttp://picachu.dmt.upm.es/python/primer
ospasos.html
[7]Principales Características del
Lenguaje Python. Fecha de consulta: 18 de
abril de 2016. URL:
http://www.cuatrorios.org/index.php?opti
on=com_content&view=article&id=161:
principales-caracteristicas-del-lenguaje-
python&catid=39:blogsfeeds
[8]¿Por qué aprender a programar con
Python?Fecha de consulta: 15 de abril de
2016. URL:
https://pinguinolibreblog.wordpress.com/
2013/03/13/por-que-aprender-a-
programar-con-python/
[9]Rodríguez S. (2013). De Matlab a
Python: Python como lenguaje de
programación científico. Y técnico. Fecha
de consulta:22 de abril de 2016. URL:
https://srodriguezv.wordpress.com/2013/
07/14/de-matlab-a-python-python-como-
lenguaje-de-programacion-cientifico-y-
tecnico/. 27/04/2016.
[10]Wikipedia. (17 de abril de 2016 Fecha
de consulta: 19 de abril de 20016. Python.
URL:
https://es.wikipedia.org/wiki/Python
35. 22
TEORÍA DE GRAFOS, CARACTERÍSTICAS Y APLICACIONES
Villca Poggian Rafael, Simon Andres Samir, Pinto Arcani Miriam Jacqueline
rafael.rvp98@gmail.com, neblip222@gmail.com, milymimi181920@gmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática Española
RESUMEN
El análisis de datos jerárquicamente organizados como
un grafo, es un paradigma muy común en la
actualidad; su aplicación va más allá de su mero uso en
caminos, sino que también en situaciones comunes que
pueden ser facilitadas por la representación en un
grafo, por ejemplo, permutaciones de posibilidades de
tomar una decisión.
PALABRAS CLAVE:
Conjuntos disjuntos, Planaridad, Grafo social,
Recursos de búsquedas.
I. INTRODUCCIÓN:
La teoría de grafos, también conocida como la teoría de
las gráficas, se representa a niveles iniciales como
ciudades unidas por una red de caminos, sin embargo,
su definición formal vendría a ser la de un par ordenado
(V, E), donde “V” es un conjunto de vértices o nodos
(las ciudades), y “E” es un conjunto de aristas o arcos
que relacionan los nodos (los caminos). Comúnmente la
cantidad de vértices es finita. [1]
El empleo de los grafos en las ciencias de la
computación permite el análisis de datos que contienen
enlaces que los relacionan entre sí, y sólo son accesibles
esos determinados puntos, mediante el enlace
correspondiente y no mediante un acceso aleatorio a los
datos estructurados. En este artículo se expondrán
retazos de definiciones breves sobre elementos en los
grafos, a la par que explicaciones de ciertas aplicaciones
que las vemos todos los días de nuestras vidas, con un
extra, el cual es un ejercicio con solución explicada, que
emplea el uso de la teoría de grafos.
II. MÉTODO DE DESARROLLO.
2.1 Conceptos.
2.1.1 Conjuntos disjuntos
Un grafo no siempre tiene que ser conexo, es
decir, que no es requisito que de cualquier
nodo U se pueda llegar a cualquier otro nodo
V, por eso, en la situación de que la
condición citada en las anteriores líneas no se
cumpla como se especifica, entonces se
considera un conjunto disjunto. Conjunto
porque contiene n cantidad de nodos V (1) y
disjunto porque hay al menos un nodo
separado de los demás, creando así un número
de componentes (2).
2.1.2 Planaridad de los grafos
Un grafo planar es un grafo que puede ser
dibujado en el plano sin que ninguna arista se
intersecte.
Sea G = (V, E) un grafo representado por su
definición formal, y sea S una superficie plana.
A cada nodo U se le hace corresponder un
punto distinto en S (un nodo V), y a cada arista
(U, V) δ E (notación formal de arista), una vez
hecha la unión, las aristas no se cortan excepto
en los extremos que puedan tener en común y
si el grafo es conexo la superficie queda
dividida en un número finito de regiones
simples conexas, por ende, la condición es que
la única intersección entre las aristas, sea en los
ejes, los puntos de unión, en otras palabras, los
nodos.
Se denomina inmersión de G = (V, E) en S al
sistema de aristas dentro del plano sin presentar
36. 23
intersección alguna. Si un grafo tiene inmersión en el
plano se dice que es planar y a la inmersión misma se
le llama grafo plano.
2.2 Representación de grafos en un algoritmo
Al trabajar un grafo, tiene que existir una manera de
almacenar los datos de nodos y aristas en el mismo
algoritmo, ya que una computadora no es como una
hoja de papel donde se puede trabajar
matemáticamente el grafo, sino que tiene que ser
algún tipo de estructura que permita a la computadora
manejarlo.
[2] Existen dos maneras de representar un grafo que
son utilizadas:
Matriz de adyacencia: para representar el grafo
mediante una matriz de adyacencia, inicialmente,
toda la matriz está setteada con valor “0”, el cual
cambia a “1” por cada unión que se realiza.
Fig 1. La matriz iniciada o setteada con cero
Si se procede a realizar la unión entre los nodos 3 y
4, en la matriz se representaría de la siguiente manera:
Fig 2. La matriz representando la unión entre nodos
Se marca con un 1 las coordenadas 3,4 denotando así
una unión entre los nodos.
Para el siguiente caso de prueba:
1 2
1 3
1 4
2 4
3 4
3 5
4 5
La matriz total se
representaría como:
Fig 3. La matriz llena de
todas las uniones de nodos
Sin embargo, la siguiente representación no es la
mejor en tiempo, a causa de que la complejidad
de procesar el grafo sería O(n²), ya que es lo que
toma iterar toda la matriz.
Por esta razón, la mejor manera para almacenar
y procesar el grafo es mediante una lista de
adyacencia, la cual en programación se traduce
en un vector de vectores (un vector que en cada
posición tenga un vector dinámico).
En el anterior caso de la unión (3,4) se
representaría así, el nodo 3 se une con el 4
haciendo que el 4 sea adyacente al 3, dejando
los demás vacíos.
Fig 4. Lista de adyacencia representando la unión de los
nodos 3,4.
Una vez unidos todos los nodos con el mismo
grafo usado en la matriz de adyacencia, en la
lista de adyacencia quedaría de esta manera:
Fig 5. Lista de adyacencia representando todas
las uniones de nodos
Siendo esta manera de representar el grafo,
más eficiente en memoria y tiempo.
37. 24
2.3 Aplicaciones:
[4] La teoría de los grafos tiene varias aplicaciones,
que van desde las clásicas carreteras, hasta
profundizar sobre redes neuronales, redes sociales, e
incluso la arquitectura.
2.3.1 Aplicación de grafos en la arquitectura.
[3] En arquitectura, como en muchas otras
aplicaciones se utilizan gráficas para esquematizar
información. Los problemas se pueden esquematizar
para crear un mecanismo de variables que definen la
solución espacial.
Se deben conocer las diferentes formas que deben
tener las soluciones; si pueden crearse, ver la manera
de generar estas soluciones. Los problemas que se
plantean consisten en determinar qué grafos admiten
una representación en la que sus vértices están
asociados a objetos geométricos (segmentos o
rectángulos) y sus aristas son relaciones entre esos
objetos (de visibilidad o de adyacencia).
El problema de determinar qué grafos admiten este
tipo de representación y, en caso de que la admitan
encontrarla, se resuelve en este trabajo para grafos en
el plano.
2.3.2 Aplicación de los grafos en las Redes Sociales.
[5] Una red social es un portal virtual mediante el
cual los usuarios pueden acceder a información de su
interés, establecer contacto e interactuar con otros
usuarios siendo esta, la base para el concepto que da
origen a su nombre; esta relación de información es
plasmada por los servidores que procesan y
almacenan los datos del portal, mediante un tipo de
grafo denominado Grafo social.
El “Grafo social”, es un subtipo de estos, el cual
representa uniones entre ciertos usuarios para con sus
intereses y otros usuarios.
Para Facebook, el grafo social representa a las
personas y las conexiones que ellas tengan con
cualquier cosa que les importe.
Twitter por contraparte, se basa principalmente en el
Retweet, que nos permite conocer a otros usuarios
que nos parecen interesantes: su crecimiento viene
más fundamentado en afinidades que en otros
factores, siendo el tipo de relaciones que se
establecen entre usuarios, diferente,
comparada con los de FB.
Facebook lo que hace es casi construir un
subconjunto de nuestras amistades, el cual le
brinda datos al algoritmo de búsqueda que, en
base a los criterios compartidos y la propiedad
de transitividad, nos recomienda personas que
quizás conozcamos para entablar una relación
de amistad, siendo esta persona, extraída de la
lista de amigos de nuestros amigos.
Google+ es una mezcla de las dos anteriores,
y permite organizar a los contactos por
círculos y así filtrar el tipo información que
hacemos llegar (o que nos llega). En cierto
sentido, esta última es la red mejor diseñada.
2.3.3 Grafos en Google
La implementación de grafos en el más grande
buscador de internet, no es algo nuevo; de
hecho, su funcionamiento y eficiencia son
debidos al uso continuo actualizado de los
enlaces entre datos en el buscador.
El uso de este concepto en las búsquedas
consiste en que cada página tiene un enlace el
cual es una relación de semejanza sobre temas
de las páginas, sin embargo, no es una
búsqueda estática, sino que por cada acceso a
ciertas páginas el cual deriva en saltos de esa
página a otras, la relación sufre una
actualización con los nuevos datos si es que no
han sido procesados y almacenados aún,
haciendo los enlaces directos hacia la página
de origen, creando así un grafo de tipo estrella,
es decir, todos los derivados parten de una sola
raíz a la que están conectados directamente sin
pasar por ramas, por ende, este procedimiento
acelera mucho más el acceso a esos datos, ya
que no se precisa más buscar entre los nodos,
sino que se accede directamente a su raíz y se
procede a extraer los nodos que están presentes
en la relación.
38. 25
2.3.3. Ejemplo
Problema 1152.- Carreteras Oscuras.
https://www.urionlinejudge.com.br/judge/pt/p
roblems/vi ew/1152 (versión en portugués)
https://www.urionlinejudge.com.br/judge/en/p
roblems/v iew/1152 (versión en inglés)
Descripción del problema.
El siguiente problema presenta el caso de que hay n
nodos o puntos interconectados por carreteras en un
país inventado A, en el cual el costo de mantener el
alumbrado de las carreteras por metro es igual a 1
dólar (7m = 7$us), los mandatarios quieren apagar la
luz de carreteras innecesarias dejando la mínima
cantidad de conexiones tal que desde cualquier nodo
se pueda llegar a cualquier otro nodo sólo con
carretas iluminadas. La tarea es calcular el dinero
ahorrado al apagar las luces. [6]
3.1 Algoritmo de Kruskal.
3.1.1 Conjuntos disjuntos, unión y búsqueda.
La siguiente porción de código está compuesta
por dos sub procesos, una función y un
proceso.
La función “findset” lo que hace es dado el
índice o numeración del nodo, responde con un
número simbolizando el padre del conjunto al
que pertenece, siendo en el caso en que ese
nodo u esté aislado, su padre es si mismo.
El proceso “unionset” lo que hace es dados dos
nodos U y V, le asigna el padre del conjunto al
que pertenece U, a V, de esta manera U y V
ahora comparten padres y por ende son
miembros del mismo conjunto, concretándose
así la unión.
Fig 6. (Porción de código) Código de un “Union Find”.
3.1.2 Procesamiento de los datos en el algoritmo.
La lógica de resolución de Kruskal y por consiguiente
del problema, consiste en pre asignar a cada nodo, el
valor de sí mismo como padre, siendo así cada uno
aislado del otro; el procedimiento consiste en ordenar
en base a los costos de cada unión para así recorrer un
caso en que los dos nodos ya estén unidos en el
nuevo conjunto que se formará, entonces se ignora esa
unión porque no es la más barata y por ende es
innecesaria, sin embargo, en el caso opuesto, se realiza
la unión y se acumulan los costos.
Una vez procesados los costos mínimos en total, se
resta ese valor a la suma total de todos los pesos sin
reducir el grafo, ese valor será la cantidad de dinero
ahorrada.
39. 26
Fig 7. Porción de código. Código de la implementación del problema.
Para el siguiente análisis y desarrollo del ejemplo, se
trabajará con el siguiente caso de prueba:
7 11 //Número de nodos y número de carreteras
respectivamente.
//nodo U, nodo V y costo C respectivamente.
U V C
Fig 8. Representación del grafo original.
El siguiente gráfico representa la unión original de nodos y
carreteras (aristas) dando así la vista gráfica del grafo.
0 1 7
0 3 5
1 2 8
1 3 9
1 4 7
2 4 5
3 4 15
3 5 6
4 5 8
4 6 9
5 6 11
0 0
40. 27
Fig 9. Procedimiento paso a paso de la unión entre los nodos.
El procedimiento de las uniones paso por
paso siguiendo la explicación de la
ordenación en base a los costos y la
unión de nodos si y sólo si, no pertenecen
al mismo conjunto.
Fig 10. Aristas necesarias remarcadas en el grafo.
La siguiente gráfica representa el nuevo
grafo con sólo las uniones necesarias
marcadas de rojo y las innecesarias, en
este caso apagadas, marcadas de negro.
Fig 11. Nuevo grafo reducido sólo con las aristas
necesarias.
Una vez eliminados los vértices
innecesarios
III. CONCLUSIONES
Los grafos son uno de los pilares más
importantes en el análisis de algoritmos, nos
permiten realizar muchos procesos y solucionar
muchos problemas que requieran de estos, por
ende, su estudio detallado está más que
justificado por las razones citadas y muchas
más, por lo tanto, concluimos que el estudio de
la teoría de grafos es un requisito si se desea
desarrollar algoritmos en los cuales se deban
procesar datos relacionando sus estados, con
este poderoso concepto.
IV. REFERENCIAS BIBLIOGRÁFICAS
[1] -Carvajal, O., et al. (2015) Introducción en
c++ a la programación competitiva. (1ª ed).
Bolivia. Libre.
[2] -Cormen, T., Leiserson, C. Rivest, R & Stein
C. (2009). Introduction to algorithms. (3ª ed).
USA. MIT.
[3] -Ingrid Noguera Cuenca. (2009).
41. 28
Aplicaciones arquitectónicas de la teoría de
grafos. Valencia, España. Recuperado de:
https://riunet.upv.es/bitstream/handle/10251/1
4501
/Aplicaciones%20Arquitectonicas%20Teoria
%20 Grafos.pdf?sequence=1.
[4] -Teoría de Grafos. (2003). Recuperado el
15 de mayo de 2016 de:
https://es.wikipedia.org/wiki/Teoria_de_grafos.
[5] Grafos y redes sociales (2012). Recuperado
el 15 de mayo de 2016 de:
http://basmateando.blogspot.com/2012/05/gr
afos- y-redes-sociales.html
[6] Carreteras oscuras (Ejercicio)
https://www.urionlinejudge.com.br/judge/en/probl
ems/view/1152
42. 29
Modelo PEER-TO-PEER
Portugal Durán Willy Ernesto, Rios Miranda Bhylenia Yhasmyna
pwilly_ernesto@hotmail.com; bhylenia.rios@gmail.com
Universidad Mayor de San Andrés
Carrera de Informática
Gramática Española
RESUMEN.
El siguiente trabajo sobre redes P2P como soporte
de sistemas distribuidos, pretende definir su
filosofía, arquitectura, modo de trabajo, ventajas,
desventajas, algunos campos de aplicación y
expectativas futuras de esta tecnología que
ayudarán una forma de ver y analizar sobre
sistemas distribuidos.
Palabras clave: Modelo, Cliente-servidor, red,
cifrado multiclave, multired.
a 1: Red basad
a en
P2P
Figura 1: Red basada en P2
1. INTRODUCCIÓN.
En los últimos tiempos la tecnología Peer to Peer
(P2P) ha tenido un crecimiento y un impacto
notable en diferentes áreas, lo cual hace que gente
especializada en el tema manifieste que esta
tecnología va ha ser la sucesora al modelo clásico
cliente servidor de Internet.
Los cuales se apoyan para tal predicción en su
principal característica, que es permitir que un
equipo cualquiera se comporte tanto como cliente
o como servidor al mismo tiempo, según el
requerimiento de la demanda de información.
Estableciéndose al momento de la demanda una
conexión directa entre los dos equipos
intervinientes.
Actualmente, en Internet el ancho de banda o las
capacidades de almacenamiento y cómputo son
recursos caros. En aquellas aplicaciones y
servicios que requieran una enorme cantidad de
recursos pueden usarse las redes P2P.
2. DEFINICION DE P2P
Siglas en inglés para "peer to peer" P2P, en
español algo similar a "de persona a persona" o de
"igual a igual".
La definición de este concepto es una red de
computadoras en la que todos o algunas
propiedades funcionan sin clientes ni servidores
fijos, sino que son serie de nodos con un
comportamiento igual entre sí. Esto significa que
actúan de manera simultánea como clientes y
servidores con respecto a los demás nodos que
tiene la red.
Este tipo de funcionamiento permite el
intercambio directo de información, en cualquier
formato, entre todas las computadoras
interconectadas de allí su nombre red de pares o
iguales. [1]
La particularidad de esta tecnología es que se
puede compartir e intercambiar información
directa entre dos o más usuarios y ha llevado a
que los usuarios utilicen esta red para intercambiar
todo tipo de archivos como ser: audio, video,
software y hasta se han utilizado en telefonía
VoIP para hacer más rápida la transferencia de
datos.
La transferencia de archivos cuyo contenido está
sujeto a las leyes de copyright, lo que ha
provocado una gran polémica frente a este
sistema.
Estas redes peer-to-peer aprovechan, administran
y optimizan el uso del ancho de banda de los
restantes usuarios de la red a través de la
conectividad que se da entre ellos, obteniendo así
conexiones y transferencias con más rendimiento
que con métodos convencionales.
3. CARACTERÍSTICAS.
Este tipo de redes se puede observar hacia 1960 y
fue recién en 1999, cuando se introdujo en
43. 30
Napster que era una aplicación para compartir
música y archivos que fue el comienzo de este tipo
de redes p2p.
El modelo cliente- servidor hoy en día es el más
común para la comunicación en Internet, donde
hay un cliente que realiza un pedido de
información a un servidor, y el servidor sabe
responder a las demandas del cliente.
Una aplicación peer to peer es diferente del
modelo del cliente servidor tradicional porque las
aplicaciones involucraron clientes y servidores. Es
decir, mientras ellos pueden pedir información de
otros servidores, ellos también tienen la habilidad
para actuar como un servidor y responder al
mismo tiempo a las demandas para información de
otros clientes.
Este acercamiento aumenta la cantidad de valor
que cada nodo en la red puede agregar porque no
sólo toma información de una fuente, también
tiene la habilidad de compartir esa información
con otras fuentes.
Figura 2. Diferencia entre modelos
Las características de este modelo p2p son:
Escalabilidad. Las redes P2P lo deseable es que
cuantos más nodos estén conectados a una red
P2P, mejor será su funcionamiento por tener un
alcance mundial con cientos de millones de
usuarios potenciales compartiendo sus propios
recursos. Esto es diferente en una arquitectura del
modo servidor-cliente con un sistema fijo de
servidores, en los cuales la adición de clientes
podría significar una transferencia de datos más
lenta para todos los usuarios. Algunos autores
advierten que, si proliferan mucho este tipo de
redes, cliente-servidor, podrían llegar a su fin, ya
que a cada una de estas redes se conectarán muy
pocos usuarios.
Robustez. La naturaleza distribuida de las redes
peer-to-peer también incrementa la robustez en
caso de haber fallos en la réplica excesiva de los
datos hacia múltiples destinos, y —-en sistemas
P2P puros—- permitiendo a los peers encontrar la
información sin hacer peticiones a ningún servidor
centralizado de indexado. En el último caso, no
hay ningún punto singular de falla en el sistema.
Descentralización. Estas redes por definición son
descentralizadas y todos los nodos son iguales. No
existen nodos con funciones especiales, y por
tanto ningún nodo es imprescindible para el
funcionamiento de la red. En realidad, algunas
redes comúnmente llamadas P2P no cumplen esta
característica, como Napster, eDonkey o
BitTorrent.
Distribución de costes entre los usuarios. Se
comparten o donan recursos a cambio de recursos.
Según la aplicación de la red, los recursos pueden
ser archivos, ancho de banda, ciclos de proceso o
almacenamiento de disco.
Anonimato. Es deseable que en estas redes quede
anónimo el autor de un contenido, el editor, el
lector, el servidor que lo alberga y la petición para
encontrarlo, siempre que así lo necesiten los
usuarios. Muchas veces el derecho al anonimato y
los derechos de autor son incompatibles entre sí, y
la industria propone mecanismos como el DRM
para limitar ambos.
Seguridad. Es una de las características deseables
de las redes P2P menos implementada. Los
objetivos de un P2P seguro serían identificar y
evitar los nodos maliciosos, evitar el contenido
infectado, evitar el espionaje de las
comunicaciones entre nodos, creación de grupos
seguros de nodos dentro de la red, protección de
los recursos de la red. La mayor parte de los nodos
aún están bajo investigación, pero los mecanismos
más prometedores son: cifrado multiclave, cajas
de arena, gestión de derechos de autor (la industria
define qué puede hacer el usuario; por ejemplo, la
segunda vez que se oye la canción se apaga),
reputación (permitir acceso sólo a los conocidos),
comunicaciones seguras, comentarios sobre los
ficheros, etc. [2]
4. CLASIFICACIÓN.
Se puede clasificar según diferentes estructuras:
[1]
44. 31
4.1 Según grado de centralización.
Una posible clasificación de las redes P2P puede
ser de acuerdo a su grado de centralización:
Redes P2P centralizadas.
Este tipo de red P2P se basa en una arquitectura
monolítica en la que todas las transacciones se
hacen a través de un único servidor que sirve de
punto de enlace entre dos nodos y que, a la vez,
almacena y distribuye los nodos donde se
almacenan los contenidos.
Una red de este tipo reúne las siguientes
características:
Se basa en un único servidor, que sirve como
punto de enlace entre nodos y como servidor
de acceso al contenido, el cual distribuye a
petición de los nodos.
Todas las comunicaciones dependen
exclusivamente de la existencia del servidor.
Poseen una administración muy dinámica y
una disposición más permanente de
contenido
Algunos ejemplos de este tipo de redes son
Napster y Audiogalaxy.
Redes P2P híbridas, semicentralizadas o
mixtas.
Se observa la interacción entre un servidor central
que sirve como hub y administra los recursos de
banda ancha, enrutamientos y comunicación entre
nodos pero sin saber la identidad de cada nodo y
sin almacenar información alguna, por lo que el
servidor no comparte archivos de ningún tipo a
ningún nodo.
Tiene la peculiaridad de funcionar (en algunos
casos como en Torrent) de ambas maneras, es
decir, puede incorporar más de un servidor que
gestione los recursos compartidos, pero también,
en caso de que el servidor o los servidores que
gestionan todo caigan, el grupo de nodos puede
seguir en contacto a través de una conexión directa
entre ellos mismos.
Este tipo de P2P presenta las siguientes
características:
Tiene un servidor central que guarda
información en espera y responde a
peticiones para esa información.
Los nodos son responsables de hospedar la
información (pues el servidor central no
almacena la información) que permite al
servidor central reconocer los recursos que se
desean compartir, y para poder descargar
esos recursos compartidos a los usuarios que
lo solicitan.
Las terminales de enrutamiento son
direcciones usadas por el servidor, que son
administradas por un sistema de índices para
obtener una dirección absoluta.
Algunos ejemplos de una red P2P híbrida son
BitTorrent, eDonkey y Direct Connect.
Redes P2P «puras» o totalmente
descentralizadas. Las redes P2P de este tipo son
las más comunes, al no requerir de un
gestionamiento central de ningún tipo. Permite
una reducción de la necesidad de usar un servidor
central, por lo que se opta por los mismos usuarios
como nodos de esas conexiones y también como
almacenadores de esa información.
Las redes de este tipo tienen las siguientes
características:
Los nodos actúan como cliente y como
servidor.
No existe un servidor central que maneje las
conexiones de red.
No hay un enrutador central que sirva como
nodo y administre direcciones.
Algunos ejemplos de una red P2P "pura" son:
Kademlia, Ares Galaxy, Gnutella, Freenet y
Gnutella2.
Figura 3. Topologías de red según Paul Baran
4.2 Según su estructuración
La red P2P consiste en todos los usuarios que
participan como nodos de red. Hay enlaces entre
dos nodos cualesquiera que se conozcan: es decir,
si un usuario participante conoce la localización
de otro usuario en la red.
Se forma una red P2P no estructurada cuando los
enlaces de la sobrecapa se establecen
arbitrariamente. Tales redes pueden construirse
muy fácilmente cuando un usuario que desea
45. 32
unirse a la red puede copiar enlaces existentes de
otro nodo y después formar sus propios enlaces en
un plazo determinado. Ejemplo de este tipo de red
es Gnutella.
En una red P2P no estructurada, si un usuario
desea encontrar información específica en la red,
la petición tiene que recorrer toda la red para
encontrar tantos usuarios como sea posible, para
conseguir a alguien que comparta los datos. La
desventaja principal con estas redes es que las
peticiones no siempre podrán resolverse. Es muy
probable que un contenido popular esté disponible
para varios usuarios, y es muy probable que
cualquier usuario que lo busque lo encuentre.
El flooding también incrementa el tráfico en la red
y, por lo tanto, estas redes suelen tener una
eficacia muy baja en los resultados de búsqueda.
La mayor parte de las redes populares P2P
(Napster, Gnutella y KaZaA) son redes P2P sin
estructura.
Las redes P2P estructuradas superan las
limitaciones de las redes no estructuradas,
mantienen una tabla de hash distribuida (DHT) y
permiten que cada usuario sea responsable de una
parte específica del contenido en la red. Estas
redes utilizan funciones de hash distribuido y
asignan valores a cada contenido y a cada usuario
en la red. Después siguen un protocolo global en
la determinación de qué usuario es responsable de
qué contenido. De esta manera, siempre que un
usuario desee buscar ciertos datos, utilizará el
protocolo global para determinar al usuario o
usuarios que lo tiene(n) y después dirigirá la
búsqueda hacia éstos. Algunas redes P2P
estructuradas son:
Chord
Pastry P2P Network
Tapestry P2P Network
Content Addressable Network
Tulip Overlay
CAN (red p2p)
4.3 Según la generación a la que pertenezcan.
Se clasifica las redes P2P según su
generación:
Primera generación de P2P: Redes
centralizadas (primeras redes P2P).
Segunda generación de P2P: se implementó
por primera vez la característica de la
descentralización, y esta característica es la
más frecuente en los actuales P2P.
Tercera generación de P2P: los más
recientes, que implementan una
comunicación no directa, cifrada y anónima.
[1]
4.4 Según el grado de protección de nuestra
identidad.
Se clasificar las redes P2P según como protege
la identidad:
Sin características de anonimato
Pseudónimo
Red P2P Privada
Friend-to-friend (de amigo-a-amigo)
5. ARQUITECTURA DEL MODELO.
En general hay dos esquemas principales:
5.1 PURO: Este modelo implementa una
arquitectura en donde los nodos pueden
cumplir tres funciones:
La de servidor, cuando un nodo requiere
información de otro.
La de cliente, cuando éste pide
información a un par.
La de ruteador, cuando el nodo se
encuentra como intermediario entre otros
dos.
Figura 4. Arquitectura pura.
5.2 HIBRIDA: Este modelo implementa una
arquitectura donde un nodo, puede realizar
una consulta a un servidor para saber donde
están los otros nodos en la red. Una vez hecha
la consulta, el nodo podrá establecer la
conexión directa con otro nodo para compartir
su información. La aplicación P2P debe
informar a este servidor, de su conexión y
desconexión para mantener la integridad del
servicio.