SlideShare una empresa de Scribd logo
1 de 167
Número 1 Año 2016
Revista Investigación y Ciencia
Primera Edición
Número 1 Año 2016
DERECHOS RESERVADOS © 2016
Depósito Legal: 4-3-46-16
e-mail:willy.portugal@gmail.com
revistainvestigacionyciencia.blogspot.com
Impresión Propia
La Paz - Bolivia
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
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
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.
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
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.
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
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.
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.
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).
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
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
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
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.
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.
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
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
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.
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-
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
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
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
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
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
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
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
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
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
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:
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
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
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.
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.
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.
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
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).
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
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
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]
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
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.
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1
Revista 1

Más contenido relacionado

Similar a Revista 1

Impacto de las tendencias informaticas
Impacto de las tendencias informaticasImpacto de las tendencias informaticas
Impacto de las tendencias informaticasRoiner Hernandez
 
trabajo de slideshare
trabajo de slidesharetrabajo de slideshare
trabajo de slidesharetatis465
 
Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)Eric Villarreal
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2marlaaponte
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2marciaga30
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2lisethcastro5
 
Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)dayrethgarrido
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Eric Villarreal
 
Revista de informatica
Revista de informaticaRevista de informatica
Revista de informaticaalee_amaro
 
Algunas consideraciones sobre la infografía digital
Algunas consideraciones sobre la infografía digitalAlgunas consideraciones sobre la infografía digital
Algunas consideraciones sobre la infografía digitalLia Ramírez
 
Tendencia de la informática y sus incidencias
Tendencia de la informática y sus incidenciasTendencia de la informática y sus incidencias
Tendencia de la informática y sus incidenciasjey1312
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónLP Gaby
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónhenry otañez
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónhenry otañez
 
Manual Básico de Vídeo Científico
Manual Básico de Vídeo CientíficoManual Básico de Vídeo Científico
Manual Básico de Vídeo CientíficoFacultad de Teatro
 
Manual basico-de-video-cientifico
Manual basico-de-video-cientifico Manual basico-de-video-cientifico
Manual basico-de-video-cientifico Aníbal Casco
 
Ciberespacio y sus Caracteristicas
Ciberespacio y sus CaracteristicasCiberespacio y sus Caracteristicas
Ciberespacio y sus Caracteristicasalexanderuiz72
 
Profesora Yuney, DISEÑO WEB, Actividad 1.pptx
Profesora Yuney, DISEÑO WEB,  Actividad 1.pptxProfesora Yuney, DISEÑO WEB,  Actividad 1.pptx
Profesora Yuney, DISEÑO WEB, Actividad 1.pptxalexanderuiz72
 

Similar a Revista 1 (20)

tic proyect
tic proyecttic proyect
tic proyect
 
Impacto de las tendencias informaticas
Impacto de las tendencias informaticasImpacto de las tendencias informaticas
Impacto de las tendencias informaticas
 
Tic s
Tic sTic s
Tic s
 
trabajo de slideshare
trabajo de slidesharetrabajo de slideshare
trabajo de slideshare
 
Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2
 
Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)Tecnologia de la informacion (autoguardado) 2 (1)
Tecnologia de la informacion (autoguardado) 2 (1)
 
Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2Tecnologia de la informacion (autoguardado) 2
Tecnologia de la informacion (autoguardado) 2
 
Revista de informatica
Revista de informaticaRevista de informatica
Revista de informatica
 
Algunas consideraciones sobre la infografía digital
Algunas consideraciones sobre la infografía digitalAlgunas consideraciones sobre la infografía digital
Algunas consideraciones sobre la infografía digital
 
Tendencia de la informática y sus incidencias
Tendencia de la informática y sus incidenciasTendencia de la informática y sus incidencias
Tendencia de la informática y sus incidencias
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Tecnologías de la información y la comunicación
Tecnologías de la información y la comunicaciónTecnologías de la información y la comunicación
Tecnologías de la información y la comunicación
 
Manual Básico de Vídeo Científico
Manual Básico de Vídeo CientíficoManual Básico de Vídeo Científico
Manual Básico de Vídeo Científico
 
Manual basico-de-video-cientifico
Manual basico-de-video-cientifico Manual basico-de-video-cientifico
Manual basico-de-video-cientifico
 
Ciberespacio y sus Caracteristicas
Ciberespacio y sus CaracteristicasCiberespacio y sus Caracteristicas
Ciberespacio y sus Caracteristicas
 
Profesora Yuney, DISEÑO WEB, Actividad 1.pptx
Profesora Yuney, DISEÑO WEB,  Actividad 1.pptxProfesora Yuney, DISEÑO WEB,  Actividad 1.pptx
Profesora Yuney, DISEÑO WEB, Actividad 1.pptx
 

Más de bhylenia

Herramientas virtuales.pdf
Herramientas virtuales.pdfHerramientas virtuales.pdf
Herramientas virtuales.pdfbhylenia
 
Encuesta.pdf
Encuesta.pdfEncuesta.pdf
Encuesta.pdfbhylenia
 
Herramientas virtuales.pdf
Herramientas virtuales.pdfHerramientas virtuales.pdf
Herramientas virtuales.pdfbhylenia
 
Medidas de orden.pdf
Medidas de orden.pdfMedidas de orden.pdf
Medidas de orden.pdfbhylenia
 
Objetos de aprendizaje
Objetos de aprendizajeObjetos de aprendizaje
Objetos de aprendizajebhylenia
 
Objetos de aprendizaje
Objetos de aprendizajeObjetos de aprendizaje
Objetos de aprendizajebhylenia
 
Musicoterapia 3
Musicoterapia 3Musicoterapia 3
Musicoterapia 3bhylenia
 
Paralelo f estadistica notas finales
Paralelo f estadistica notas finalesParalelo f estadistica notas finales
Paralelo f estadistica notas finalesbhylenia
 
Notas paralelo z
Notas paralelo zNotas paralelo z
Notas paralelo zbhylenia
 
Práctica de html
Práctica  de htmlPráctica  de html
Práctica de htmlbhylenia
 
Frames en html
Frames  en htmlFrames  en html
Frames en htmlbhylenia
 
Colores html
Colores htmlColores html
Colores htmlbhylenia
 
Sumatoria doble
Sumatoria dobleSumatoria doble
Sumatoria doblebhylenia
 
Sumatoria simple
Sumatoria simpleSumatoria simple
Sumatoria simplebhylenia
 
Interpolacion lineal
Interpolacion linealInterpolacion lineal
Interpolacion linealbhylenia
 
Exponentes 2
Exponentes 2Exponentes 2
Exponentes 2bhylenia
 

Más de bhylenia (20)

Herramientas virtuales.pdf
Herramientas virtuales.pdfHerramientas virtuales.pdf
Herramientas virtuales.pdf
 
Encuesta.pdf
Encuesta.pdfEncuesta.pdf
Encuesta.pdf
 
Herramientas virtuales.pdf
Herramientas virtuales.pdfHerramientas virtuales.pdf
Herramientas virtuales.pdf
 
Medidas de orden.pdf
Medidas de orden.pdfMedidas de orden.pdf
Medidas de orden.pdf
 
Ova
OvaOva
Ova
 
Objetos de aprendizaje
Objetos de aprendizajeObjetos de aprendizaje
Objetos de aprendizaje
 
Objetos de aprendizaje
Objetos de aprendizajeObjetos de aprendizaje
Objetos de aprendizaje
 
Musicoterapia 3
Musicoterapia 3Musicoterapia 3
Musicoterapia 3
 
Paralelo f estadistica notas finales
Paralelo f estadistica notas finalesParalelo f estadistica notas finales
Paralelo f estadistica notas finales
 
Notas paralelo z
Notas paralelo zNotas paralelo z
Notas paralelo z
 
Práctica de html
Práctica  de htmlPráctica  de html
Práctica de html
 
Frames en html
Frames  en htmlFrames  en html
Frames en html
 
Colores html
Colores htmlColores html
Colores html
 
Url
UrlUrl
Url
 
Ntic
NticNtic
Ntic
 
Sumatoria doble
Sumatoria dobleSumatoria doble
Sumatoria doble
 
Sumatoria simple
Sumatoria simpleSumatoria simple
Sumatoria simple
 
Interpolacion lineal
Interpolacion linealInterpolacion lineal
Interpolacion lineal
 
Notas
NotasNotas
Notas
 
Exponentes 2
Exponentes 2Exponentes 2
Exponentes 2
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

Revista 1

  • 1.
  • 3. Revista Investigación y Ciencia Primera Edición Número 1 Año 2016 DERECHOS RESERVADOS © 2016 Depósito Legal: 4-3-46-16 e-mail:willy.portugal@gmail.com revistainvestigacionyciencia.blogspot.com Impresión Propia La Paz - Bolivia
  • 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.