Está en la página 1de 29

1

Tutorial de Amazon EC2 para la generación de


máquinas virtuales
(Mayo de 2020)
Aguirre Prieto Ángel Ernesto, Castro Calvopiña Bryan Paúl y Ramos Espinosa
Christopher Lizardo

EC2 la cual proporciona una capacidad de computación


Resumen –en el presente proyecto el cual lo hemos realizado por escalable que mediante ella se puede desarrollar e
varias partes se ha realizado un video tutorial el cual muestra de implementar aplicaciones en menos tiempo sin la necesidad de
manera detallada la manera de como crear y dar un uso adecuado de invertir en un hardware nuevo cada vez que se crea una app
(AWS) y EC2 para crear a amquina virtual y encontrar cuales son las ya que este Sistema nos permite simularlo de manera efectiva
cualidades especificas que nos provee al hacer uso de las mismas
además no permite lanzar tantos servidores virtuales como se
además que en el paso de realización de la creación de la maquina
virtual y la instalación del sistema operativo elegido para la misma.. tenga la necesidad [1]

Índice de Términos - AWS: Amazon Web Service,EC2: Elastic


Compute Cloud ,AMI: Imágenes Maquina de Amazon, ABS: II. DEFINICION DE OBJETIVOS NESESARIOS PARA LA
Amazon Block Store, IP: (Internet Protocol) es un conjunto de INVESTIGACION
números que identifica, de manera lógica y jerárquica, a
una Interfaz en red, IPv4: es uno de los protocolos fundamentales de
Internet, ya que es el que identifica los diferentes dispositivos A. Objetivo general
conectados a la red. Una dirección IPv4 tiene 32 bits
Tarjeta de red: es un componente de hardware que conecta una
computadora a una red informática y que posibilita compartir Para definir el objetivo principal se tiene en cuenta el
recursos (como archivos, Disco duro, discos duros enteros, problema a estudiar y la búsqueda del producto solicitado
impresoras e internet) entre dos o más computadoras, es decir, en después de realizar este proceso se logro definir el objetivo
una red de computadoras.,Tarjeta grafica: es una tarjeta de
principal el cual es :Realizar un video tutorial bien explicado
expansión o un circuito integrado que se encarga de procesar los
datos que le envía el procesador del ordenador y transformarlos en e identificado los temas y pasos mas relevantes a manera de
información visible y comprensible para el usuario, representado en expliacr de manera consisa los pasos para la creacin de una
el dispositivo de salida, el monitor, Memoria RAM: es un tipo de mquina virtual y saber las funciones que la misma ofrece.
memoria operativa de los computadores y sistemas informáticos,
adonde va a ejecutarse la mayor parte del software: el propio
sistema operativo, el software de aplicación y otros programas B. Objetivos especificos
semejante, Disco duro: son dispositivos de almacenamiento de
datos en los que podemos almacenar cualquier tipo de información Cuando hablamos de definir los objetivos especificos tenemos
digital [1]
que pensar que los mismos se descubren cuando se empiezan
a hacer las respectivas investigaciones sobre el objetivo
general mediante las cuales encontramos los siguientes
I. INTRODUCCION objetivos específicos:
• Conocer los beneficios de usar Amazon EC2.
• Emplear las herramientas que nos brinda Amazon
E n este documento estudiaremos sobre el como crear y el EC2.
• Generar una maquina virtual con el servicio Amazon
uso minimo de la maquina virtual pero antes de eso tenemos
que definir ¿Qué es una maquina virtual?: Una maquina EC2.
virtual es un software que simula un sistema de computación y • Identificar la variedad de S.O disponibles para la
puede ejecutar programas como si fuese una computadora real instalacion.
per lo hace de manera aislada además emula todos los • Reconocer el nivel de seguridad que posee este
elementos que posee una maquina en físico entre los servicio.
componentes que simula se encuentran: disco duro, memoria
RAM, tarjetas de red, tarjeta gráfica, etc. [1]
Una vez definido el concepto de maquina virtualtenemos que
entender en que plataforma se va ha realizer la creacion de la
maquina virtual , para esto se utilize la plataforma Amazon
2

II MARCO TEORICO B. AMAZON WEB SERVICE (AWS)

Amazon Web Services (AWS) es una plataforma de servicios


A. Maquina virtual de nube que proporciona una variedad de servicios de
Es un software que emula a un ordenador y puede ejecutar infraestructura tales como almacenamiento, redes, bases de
programas como si fuese un ordenador real. Este software en datos, servicios de aplicaciones, potencia de cómputo,
un principio fue definido como "un duplicado eficiente y mensajería, inteligencia artificial, servicios móviles,
aislado de una máquina física". [1] seguridad, identidad y conformidad, entre otros, los cuales
permiten el crecimiento de las empresas. Veamos 5 aspectos
que debes saber de Amazon Web Services (AWS) y cuáles
Mediante la investigacion realizada sobre las máquinas son los beneficios de su implementación para las empresas. [1]
virtuales se encontró dos variantes principales de las
máquinas virtuales los cuales se desarrollaran más
ampliamente a continuación:

Maquinas virtuales de Sistema


Las máquinas virtuales de sistema, también llamadas
máquinas virtuales de hardware, permiten a la máquina física
subyacente multiplicarse entre varias máquinas virtuales, cada
una ejecutando su propio sistema operativo. A la capa de
software que permite la virtualización se la llama monitor de
máquina virtual o hypervisor. Un monitor de máquina virtual .
puede ejecutarse o bien directamente sobre el hardware o bien
sobre un sistema operativo. C. AMAZON EC2
Una de las funciones más cotizadas es la aopcion de instalar
Amazon Elastic Compute Cloud proporciona capacidad de
varios sistemas operativos distintos pueden coexistir sobre la
computacion escalable en la nube de AWS (Amazon Web
misma computadora, en sólido aislamiento el uno del otro, por
Services) En el instante de tomar el termino escalable, nos
ejemplo para probar un sistema operativo nuevo sin necesidad
estamos refiriendo a que cada usuario puede contratar lo que
de instalarlo directamente evitando asi desconfiguraciones y
desee y configurar su servicio como el quiera, es decir no hay
peligros . un solo modo de utilizar AWS, sino multiples.e procesarán
todas las tablas y figuras como imágenes.
Maquinas virtuales de proceso El uso de Amazon EC2 tiene una serie de beneficios, uno de
Son llamadas "máquinaa virtuales de aplicación", se ejecuta ellos y el mas importante es aquel que elimina la necesidad de
como un proceso normal dentro de un sistema operativo y invertir en hardware, de tal manera que se puede desarrollar
soporta un solo proceso. La máquina se inicia aplicaciones e implementar aplicaciones con mayor rapidez,
automáticamente cuando se lanza el proceso que se desea evitandonos tener que realizar distintos ensambles para mayor
ejecutar y se detiene para cuando éste finaliza. Su objetivo es velocidad en nuestra maquina virtual, no menos importante
el de proporcionar un entorno de ejecución independiente de la tenemos tambien la disponibilidad de lanzar tantos servidores
plataforma de hardware y del sistema operativo, que oculte los a la necesidad del usuario, en los cuales podemos administrar
detalles de la plataforma subyacente y permita que un la seguridad, velocidad y almacenamiento. [1]
programa se ejecute siempre de la misma forma sobre
cualquier plataforma. Algunas de las características que hacen especial a Amazon
EC2 son las siguientes:
• Entornos informáticos virtuales, conocidos
como instancias
• Plantillas pre-configuradas para las instancias, conocidas
como imágenes de máquina de Amazon (AMI), que
empaquetan las partes que necesita para el servidor
(incluido el sistema operativo y el software adicional)
• Varias configuraciones de CPU, memoria,
almacenamiento y capacidad de red de las instancias,
conocidos como tipos de instancias
• Información de inicio de sesión segura para las instancias
con pares de claves (AWS almacena la clave pública y
usted guarda la clave privada en un lugar seguro)
• Volúmenes de almacenamiento para datos temporales
que se eliminan cuando detiene o termina la instancia,
conocidos como volúmenes de almacén de instancias
3

• Volúmenes de almacenamiento persistente para los datos


usando Amazon Elastic Block Store (Amazon EBS), 1) Sistema monoprocesador En el sistema monoprocesador
conocidos como volúmenes de Amazon EBS existe una sola unidad de procesamiento central (CPU) capaz
• Varias ubicaciones físicas para los recursos, como las de ejecutar una serie de instrucciones de índole general.
instancias y los volúmenes de Amazon EBS, conocidas
como regiones y zonas de disponibilidad 2) También llamados sistemas paralelos o estrechamente
• Un firewall que permite especificar los protocolos, los acoplados, los sistemas multiprocesadores tienen dos o mas
puertos y los rangos de direcciones IP que pueden CPU que comparten buses y a veces el reloj, la memoria y los
alcanzar las instancias mediante el uso de grupos de dispositivos periféricos. Los hay de dos tipos:
seguridad • multiprocesador asimétrico: cada procesador tiene
• Direcciones IPv4 estáticas para informática en la nube una tarea específica.
dinámica, conocidas como direcciones IP elásticas • multiprocesador simétricos: todos los procesadores
• Metadatos, conocidos como etiquetas, que se pueden realizan las misma tareas.
crear y asignar a los recursos de Amazon EC2
• Redes virtuales que puede crear que están aisladas
lógicamente del resto de la nube de AWS y que, 3) Sistemas distribuidos :Un sistema distribuido presenta
opcionalmente, puede conectar a su propia red, una colección de procesadores que no comparten memoria o
conocidas como nubes privadas virtuales (VPC) reloj, y se comunican por una red interconectada.

4) Sistemas operativos de equipos portátiles :Los equipos


portátiles de mano en este caso se refiere a aquellos
dispositivos de pequeñas dimensiones que pueden ser
manipulados con una mano, como por ejemplos las tabletas,
los teléfonos inteligentes y las notebook. Adicionalmente, los
sistemas operativos de teléfonos deben adicionar componentes
para las comunicaciones y la interface.

5) Sistemas operativos empotrados o en tiempo-real :Los


D. SISTEMAS OPERATIVOS (SO) sistemas empotrados o de tiempo-real son los sistemas
operativos instalados en los dispositivos médicos,
Es un conjunto de programas especialmente diseñado para electrónicos, electrodomésticos, automóviles, entre otros. Se
hacer de intermediarios entre el usuario y la computadora , encargan de tareas específicas del equipo en cuestión como:
estos programas nos sirven para controlar el hardware de
manera fácil y conveniente para el usuario, puede decirse que • ahorrar la potencia de la batería;
es corazón de la maquina ya que este tiene prioridad de • ajustarse a tiempos limitados;
ejecución ante otras aplicaciones además de controlar todos • no requiere supervisión humana.
los periféricos disponibles en la computadora, los sistemas E. PARCHES DE SEGURIDAD
operativos mas utilizados son :Microsoft Windows, Mac OS X
y Linux Ubuntu [1]
Es un conjunto de cambios que se aplican a un software para
corregir los errores o vulnerabilidades en programas o
sistemas operativos , generalmente estos parchea de seguridad
(actualización de seguridad) son fabricados por fabricantes de
software tras la detección de alguna vulnerabilidad y estos se
instalan automáticamente o manualmente por el usuario [1]

Los sistemas operativos tienen distintos tipos los cuales se


detallaran a continuacion pero solo los mas conocidos como:
4

III. PROCESO PARA LA IMPLEMENTACION DE UNA • Emplear las herramientas que nos brinda Amazon
MAQUINA VIRTUAL EC2.
• Generar una maquina virtual con el servicio Amazon
EC2.
A. PLANIFICACION Y CRONOGRAMA DE TRABAJO • Identificar la variedad de S.O disponibles para la
instalacion.
En este paso se dividio la investigacion en partes para cada • Reconocer el nivel de seguridad que posee este
uno de los de los integrantes del equipo de relizacion del servicio.
trabajo , pdespues de haber sido relaizadas las investigaciones
por separado se hizo uso de herramientas virtuales para D. Planteamiento del estado del arte y el marco teórico
explicar entre los miembros las respectivas partes investigadas En este paso se realizo una investigacion a fondo y en el
por cada integrante además de hacer un cronograma para el marco teorico se coloco parte de los archivo de las cuales nos
resto de los pasos a realizar para cumplir con los objetivos de proporcionaron una mejor visión del panorama general
el proyecto. además de proporcionarnos varias acotaciones a nuestro
conocimento.

E. MAPA DE VARAIBLES Y PREREQUISITOS


En esta parte de la investigacion encontramos que la
plicacion y la creciuon de varias de las acciones que se
realizan tienen sus variaciones y también tiene unos
prerrequisitos que tienen su funcionalidad ya que ellos
B. Tutorial y Articulo producen los campos necesarios para crear y ysar de manera
adecuada las maquinas virtualkes que se creo.
En este paso se encuentra la realización de manera practica
de la maquina virtual además de grabarlo y mostrar
detalladamente la creación de la mquina virtual además de que
durante el video se realizan las explicaciones pertinentes en
especial ene los pasos mas deciccivos en la creación de la
maquina virtual
En este paso se puede realizar los primeros pasos del
articulo además que el articulo debe ser culminado cuando ya
este realizada todo la investigacion o cuando ya se estén
llegando al final del mismo proceso.

C. Planteamiento de problema y objetivos IV. CONCLUSIONES


Realizada la investigacion sobre el tema a tratar se llego a
El planteamiento de los objetivos es esencial debido a que
las conclusiones sobre los objetivos específicos las cuales
gracias a estos se puede llevar acabo la realización del
ferueron:
proyecto por tal motivo se dfinio los siguientes objetivos
 Se pudo comprender los distintos beneficios que trae
generales:
generar una maquina virtual ante una física.
• Realizar un video bien explicado e identificado los
temas relevantes a manera de un tutorial sobre el  Dentro de las herramientas que nos brinda este
tema asignado. servicio, pudimos hacer uso del Control Remoto
• Mostrar las ventajas y el uso que tiene una maquina del Escritorio, facilitándonos mas el uso de nuestra
virtual máquina.
 Se genero con facilidad, rapidez nuestra maquina
Después de definir los objetivos generales se empezó a virtual dentro de Amazon EC2.
realizar las investigaciones respectivas y a raíz de so surgieron  El repositorio que carece este servicio, es extenso,
los objetivos específicos que son los siguientes cumpliendo con todas las expectativas ante los
sistemas operativos que se necesiten.
• Conocer los beneficios de usar Amazon EC2.  Cada uno de los protocolos de seguridad del servicio,
5

satisfacen al usuario, entregando toda la confianza computadoras y seguridad informática.,» 27 Enero 2020. [En línea]. Av
a su servicio. [2] Y. Muli, «ACM Transactio on -economics and computation,» Yehuda M
https://dl.acm.org/doi/abs/10.1145/2509413.2509416. [Último acceso: 1
Las conclusiones planteadas son de cada objetivos [3] C. Muñoz, «Cibercultura 2.0 en la era de las maquinas inteligentes,» Un
especifico respectivamente los cuales ya fueron mostrados en https://d1wqtxts1xzle7.cloudfront.net/940408/47803014.pdf?response-
un paso anterior. _Review_to_Alejandro_P.pdf&Expires=1591057610&Signature=Bgvb
Despues de llegar a la conclusión de cada uno de los [Último acceso: 22 enero- junio 2008].
objetivos específicos se tiene que llegar a la evalucion final de
[4] A. Barrera, «6 COSAS QUE DEBES SABER DE AMAZON WEB SE
los objetivos generales , cespues de la evaluación se llego a
sus respestivas conclusiones, entrte las cuales se encuentran: [5] Amazon, «Amazon Elastic Compute Cloud,» Amazon, España, 2015.
 Se realizo el video de manera satisfactoria con sus [6] G. Venturi, «Que es el sistema operativo,» Tecnologia informatica, Me
respectivas expliaciones en los pasos que tienen su [7] J. Mieres, «Buenas prácticas en seguridad,» 30 junio 2009. [En línea]. A
complejidad y su importancia en el proceso de https://d1wqtxts1xzle7.cloudfront.net/38143909/buenas_practicas_segu
realización de la maquina virtual disposition=inline%3B+filename%3DBuenas_practicas_en_seguridad_
 Sen encontraron que las ventajas de usar una [Último acceso: 23 mayo 2009].
maquina virtuales para tener una mejor seguridad
al rato de descargarse y también permite el
probarse diferentes tipos de sistemas operativos sin
hacer cambios obligatorios y evitar des
configuraciones del sistema operativo que viene
por defecto.

V. RECOMENDACIONES

 Si la cuenta va a ser de tipo GRATUITA o


ESTUDIANTIL, se deberá tener en cuenta que la
máquina virtual solamente será para
procedimientos extremadamente básicos.
 Para mayor facilidad de uso, configuración, se
recomienda descargar el Control Remoto de
Escritorio elaborado por AMAZON EC2 para
visualizar su maquina virtual, debido a que la
pagina web solamente posee la CONSOLA para
poder configurar nuestra Virtual Machine.

 Tener en cuenta al momento de instalar un sistema


operativo, no se lo hace mediante descarga o con la
conexión de red, estos sistemas operativos ya
vienen precargados en cada servicio, es por ello
que solamente tomara ciertos minutos que se
genere tu máquina virtual.
 Para el uso del Control Remoto de Escritorio y si la
maquina desde donde lo ejecutas no tiene
habilitado el virtualizador, se deberá activar esta
sección ya sea desde la BIOS o desde nuestro
PANEL DE CONTROL, caso contrario no nos
permitirá que genere imagen nuestra Virtual
Machine.

VI. REFERENCIAS

[1] V. Cabañas, C. Vazquez y E. Blanqueto, «Laboratorio virtual de networking como infraestructura tecnológica estratégica para realización
Reemplazar esta línea con su número de documento de identificación (hacer doble clic aquí para editar) < 1

Explicar el funcionamiento de Collapse OS.


La arquitectura del microprocesador z80 y
simular ejemplos para z80.
(mayo de 2020)
Jhonatan Tituaña, Bryan Azuero, Javier Arteaga

A. Justificación
Resumen -
En el presente informe se muestran los resultados de la A. Conocer el sistema operativo Collapse OS junto con la
práctica de la asignatura Arquitectura de computadoras, en estructura del microprocesador Z80 y encontrar la relación
la cual se busca conocer el sistema operativo Collapse OS. A entre ellos posteriormente realizar un ejemplo del
lo largo del desarrollo se conocerá todos los aspectos de este microprocesador Z80.
sistema y el microprocesador z80, utilizando el simulador del B. Objetivos generales y específicos
procesador Z80. Durante el transcurso del informe se
muestra y se explica el algoritmo que da solución de un
problema. A. INVESTIGAR EL FUNCIONAMIENTO DEL SISTEMA
OPERATIVO COLLAPSE O.S Y COMO ES QUE FUNCIONARÁ CON
MICROPROCESADORES Z80 DE 8 BITS
Índice de Términos -
Lenguaje ensamblador microprocesador, simulador, memoria de B. INVESTIGAR LA ARQUITECTURA DEL MICROPROCESADOR
datos ZILOG Z80 PARA REALIZAR ALGORITMOS QUE NOS PERMITAN
HACER SIMULACIONES Y COMPRENDER MEJOR SU
FUNCIONAMIENTO.
I. INTRODUCCION
C. COMPRENDER Y EXPLICAR EL FUNCIONAMIENTO DE
COLLAPSE OS
E n el presente artículo analizaremos en profundidad el D. CONOCER LA ARQUITECTURA DEL MICROPROCESADOR
Z80
sistema operativo Collapse Os y la arquitectura del
microprocesador z80. El microprocesador es un circuito SIMULAR EJEMPLOS DEL Z80
integrado encargado de procesar y ejecutar instrucciones
codificadas en lenguaje binario. El microprocesador Z80
realiza las funciones de una unidad central de proceso (CPU),
interpretando las instrucciones que le son dadas mediante el II. ESTADO DEL ARTE
lenguaje de ensamblador. En este caso, el simulador del z80
será puesto a prueba en diferentes casos con la finalidad, de
entender de mejor manera su arquitectura y funcionalidad.

Los microcontroladores se han constituido en un elemento El investigador, desarrollador Virgil Dupras es creador de
primordial para el avance de las nuevas tecnologías, de ahí 'Collapse OS', un sistema operativo de código abierto que,
parte la necesidad de no solo conocerlos en sus usos también afirma, está diseñado para funcionar en aquellos componentes
como emplearlos, la programación se convierte en algo
electrónicos fáciles de reciclar. Es decir, es una plataforma que
apremiante de conocer, las herramientas con las cuales se
serviría para aprovechar la basura electrónica cuando ya no
pueda adquirir conocimiento son muy importantes.
existan nuevos dispositivos electrónicos. Está pensado para ser
usado en los momentos de un mundo postapocalíptico donde
la tecnología ya no existe.
Reemplazar esta línea con su número de documento de identificación (hacer doble clic aquí para editar) < 2

A. Microprocesadores Los componentes del Z80 que son más importantes para un
programador son los registros que se muestran en la Figura:

El Intel 8080, lanzado en 1974, fue el primer microprocesador


de 8 bits que tuvo éxito entre la comunidad de programadores,
teniendo como principal exponente al MITS Altair 8800. Dos
años después y con la intención de hacerse con el mercado,
Zilog lanzó el Z80, que atrajo a los programadores de la época
al ser totalmente compatible con la arquitectura del Intel 8080
y añadir nuevas e interesantes funcionalidades, como un set de
instrucciones extendido. Además, no se sentía calificado para
desarrollar una nueva arquitectura de microprocesador de 16
bits a partir de todo el tejido, por lo que buscó un arquitecto de
procesadores experto. Encontró al Dr. Peuto, que había estado
El acumulador es un registro de 8 bits utilizado para aritmética
trabajando en la arquitectura mainframe 470 / V6 compatible
y operaciones lógicas.
con IBM de Amdahl desde 1973. Peuto se convirtió
El registro de bandera se utiliza para contener información
rápidamente en el duodécimo empleado de Zilog. (leibson,
sobre los resultados de algunas operaciones. Por ejemplo, el
2019) [1]
registro de la bandera indica si el resultado de agregar un
B. El Z80 tenía ocho mejoras fundamentales número al acumulador es positivo, cero o negativo.
Registros de propósito general:
• Un conjunto de instrucciones mejorado, incluyendo
GRUPO 1: los registros principales son
los nuevos registros índice IX e IY y las instrucciones
necesarias para manejarlos. A, B, C, D, E, H, y L
GRUPO 2: los registros alternos
• Dos bancos de registros que podían ser cambiados A', B', C', D', E', H' y L
de forma rápida para acelerar la respuesta a
Estos registros son de 8 bits, pero pueden agruparse por pares
interrupciones.
(sin contar “A Y A'”) en registros de 16 bits de la forma BC,
• Instrucciones de movimiento de bloques, E/S de DE, HL y B'C', D'E', H'L'. Tienen la particularidad de que solo
bloques y búsqueda de bytes. son accesibles a la vez 6 de ellos, pues están divididos en 2
• Instrucciones de manipulación de bits. bancos intercambiables por medio de unas instrucciones.
Una vez hemos visto toda la información correspondiente a los
• Un contador de direcciones para el refresco de la
registros, podemos pasar a las instrucciones.
DRAM integrado, que en el 8080 tenía que ser
Mencionaremos algunas de las instrucciones que utilizamos
proporcionado por el conjunto de circuitos de
entre otras, en los grupos siguientes:
soporte.
• Transferencias de información: LD, PUSH, POP...
• Alimentación única de 5 voltios. • Operaciones aritméticas: ADD, INC, DEC, CP...
• Necesidad de menos circuitos auxiliares, tanto para • Operaciones lógicas: AND, OR, XOR...
la generación de la señal de reloj como para el • Cambios y rotaciones: RLC, RRC, SRA...
enlace con la memoria y la E/S. • Manipulación de bits: RES, SET, BIT...
• Más barato que el Intel 8080. • Instrucciones de Control: HALT, NOP, DI, EI...
• Saltos: JP, CALL, JR... [1] [2]
• Un tipo especial de reset que sólo reinicia el
contador de programa de modo que el Z80 se puede
usar en un sistema de desarrollo ICE [1] [3] III. DESARROLLO

Z80 Simulator IDE


C. Estructura del Zilog Z80
Z80 Simulator IDE es una potente aplicación que proporciona
La informática, como muchos otros procesos, tiene tres partes a los usuarios y educadores del microprocesador Z80 un
principales. En un sistema informático, los datos (números y
entorno de desarrollo gráfico fácil de usar para Windows con
palabras) son ingresados por un dispositivo de entrada, el
procesamiento es realizado por una unidad central de simulador integrado (emulador), compilador básico Z80,
procesamiento y los datos son salida por un dispositivo de ensamblador, desensamblador y depurador para el
salida. microprocesador Zilog Z80 de 8 bits.
Entonces, para un sistema de microprocesador, se usa un El siguiente programa permite simular y ejecutar los
teclado como dispositivo de entrada y una pantalla como programas que se desee hacer sin la necesidad de tener el
dispositivo de salida. microprocesador Z80 físicamente.
Reemplazar esta línea con su número de documento de identificación (hacer doble clic aquí para editar) < 3

Se programa en ensamblador el cual es un lenguaje de


programación muy fácil de entender ya que está calificado de
bajo nivel, y constituye la representación más directa
del Código máquina específico para cada arquitectura de
computadoras legible por un programador.

El codigo fuente sera escrito en la parte de Assembler el


resultado lo observaremos en la interfaz principal.

III. EJEMPLOS EN Z80 SIMULATOR IDE

A. Calendario
Los ejemplos van a ser realizados en el Z80 Simulator IDE
programados en lenguaje ensamblador.
NOTA: el programa almacena los números en código
hexadecimal, para nosotros ingresaremos números en decimal.
1. Instrucciones
• LD: cargar datos a/desde los registros
• SUB: sustracción
• JP: salto
• INC: incremento
• HALT: esperar por interrupción o reset
Los resultados los observaremos de la siguiente manera:
• END: fin
B= el dia
C= el mes
2. Ejecución del programa
D= el año
El primer programa lo llamaremos “calendario” consiste de
tres entradas (día, mes, año), el cual nos va devolver el día Todo esto en codigo hexadecimal.
siguiente.
Nota: si el día ingresado es 31 de diciembre del 2019 el
B. Serie de Finobacci
resultado ser 01 de enero del 2020, solo en ese caso cambiaras
todas las salidas. 1. Instrucciones
Ejemplo: • LD: cargar datos a/desde los registros
Utilizaremos la siguiente fecha: • JP: salto
28 de octubre de 1998 • HALT: esperar por interrupción
R: 29 de octubre de 1998 • ADD: sumar
• DJNZ: detectar cero-saltar
• INC: incremento
• END: fin
Reemplazar esta línea con su número de documento de identificación (hacer doble clic aquí para editar) < 4

2. Ejecucion del programa operativo que no exige de muchos requisitos físicos para
El segundo programa lo llamaremo solo “Finobacci” el cual va implementar un equipo que pueda ejecutarlo.
a realizar la siguiente serie que consiste en sumar un numero • El sistema basado en un procesador z80 ofrece la
con el anetior y asi sucesivamente: posibilidad de ser construido a base de materiales reciclados,
0,1,1,2,3,5,8,13……. sin embargo, su interfaz no es precisamente la más amigable
Nota: nosotro ingresaremos los primeros numero y la cantidad para un usuario promedio, por lo que las personas que tengan
de numeros de la serie que deseemos. mayor dominio sobre los dispositivos electrónicos destacaran.
• La arquitectura basada en el modelo de Von Newman
ha prevalecido desde 1945 y demuestra lo eficaz que es en la
práctica.

RECOMENDACIONES.

Manejar conocimientos en área de programación y sistemas


digitales seria de vital importancia en el escenario con el que
se justifica este proyecto. Por lo que se recomienda:
- Diseñar sistemas basados en este tipo de arquitectura,
entendiendo su funcionamiento y simulando aplicaciones que
sean útiles para el ser humano, considerando que en la
actualidad este tipo de sistemas, por su antigüedad, tienden a
ser más accesibles.
- Difundir entre la comunidad científica el estado de
desarrollo en el que se encuentra el proyecto, para que sea de
conocimiento general e incentive a futuros proyectos
investigación.

IV. BIBLIOGRAFÍA

[1] S. leibson, «Historia de la computacion,» 2019. [En línea].


Available: https://www.eejournal.com/article/in-
memoriam-dr-bernard-peuto-architect-of-zilogs-z8000-
and-z8/.
[2] E. G. Sally Adee, «25 Microchips,» IEEE Spectrum, mayo
2009. [En línea]. Available: https://sci-
hub.tw/10.1109/MSPEC.2009.4907384. [Último acceso:
03 junio 2020].
[3] A. Davies, «Trade-offs in fixed-point multiplication,»
Digital arithmetic, junio 1979. [En línea]. Available:
https://sci-hub.tw/10.1049/ij-cdt.1979.0023.

El resultado sera mostrado en el registro “C” el cual ira


cambiando mientras avanza el proceso.

IV CONCLUSIONES

• De presentarse un evento catastrófico, este proyecto


significaría una posibilidad de reestablecer el desarrollo
tecnológico a base de pocos recursos utilizando un sistema
EMU8086, características y funcionamiento
(Junio de 2020)
Cardenas Sebastián, Fonseca Rafael, Huilca Marlene

6 bytes para instrucciones y el 8088 solo posee 4.


Resumen- El emualdor EMU8086, nos permite Exteriormente la diferencia es que el 8086 tiene un
realizar la simulación del microprocesador 8086, para bus de 16 bits y el 8088 su bus es de 8 bits, por lo
la cual se utiliza el lenguaje ensamblador ( asm ) con tanto, el 8086 es más rápido, aunque el 8088 permite
el fin de ver el funcionamiento y los procesos que la fabricación de sistemas más económicos. En la
realiza el emulador en cada paso y, entender cómo primera computadora personal de IBM fue utilizado
el microprocesador 8088, la IBM PC.
trabajan los registros con ejemplos sencillos que
faciliten la compresión del microprocesador.
Características
Key words- EMU8086, datos, asm,
− El 8086 dispone de instrucciones especiales para
instrucciones, registros. el tratamiento de cadenas de caracteres.

− Los registros del 8086 tienen una misión


I. INTRODUCCIÓN específica, por lo que se podría decir que cada

E l objeto de investigación de este artículo es


uno de ellos tiene su propia personalidad, aunque
varios comparten tareas comunes.

Emular el comportamiento del microprocesador − El encapsulado del 8086 está formado por 40
8086. patillas, simplificando así el hardware, aunque
por contra, es necesario la multiplicación del bus
Instruirse en el uso básico del software para la
de datos con el de direcciones.
simulación de programas aptos para el aprendizaje.
Adquirir nociones básicas del lenguaje ensamblador − El 8086 requiere una señal de reloj exterior,
(asm). siendo 5 y 8 Mhz las frecuencias típicas de
Implementar un programa sencillo en lenguaje funcionamiento.
ensamblador.
− El 8086 dispone de un conjunto de registros,
Analizar el comportamiento del software. denominados ‘cola de instrucciones’, en el cual
se van almacenando de forma anticipada los
Que es el EMU8086 códigos de las instrucciones, consiguiendo que
este aumente su velocidad de trabajo.
El emulador EMU8086 es el primer programa que se
− El 8086 dispone de una arquitectura “pipe line”,
utiliza en el curso de Microprocesadores. se ha es decir, que la CPU puede seguir leyendo
elegido este emulador porque posee una interfaz de instrucciones en los tiempos en que el bus no se
usuario muy amistosa que permite familiarizarse con utiliza
los fundamentos de la programación en lenguaje
ensamblador de forma muy intuitiva, aparte de eso Estructura Interna
brinda una serie de recursos para ejecutar y depurar
los programas. También tiene algunas desventajas Unidad de interfaz del bus y unidad de ejecución
como el de no soportar algunas de las interrupciones El 80886 y el 8088 tienen internamente dos
más interesantes que posee el sistema operativo y componentes, la Unidad de Interfaz del Bus (BIU) y
tampoco puede acceder a los puertos físicos (reales), la Unidad de ejecución (EU). La Unidad de ejecución
sino que los emula usando otros programas que ya procesa las instrucciones del CPU, mientras que la
están incluidos en su respectiva carpeta. Unidad de Interfaz del Bus maneja la lectura y
escritura desde y hacia la memoria y los puertos de
entrada/salida. La ventaja de esta división fue el
El Intel 8086 y el Intel 8088 son los primeros
ahorro de esfuerzo necesario para producir el 8088.
microprocesadores de 16 bits diseñados por Intel. Son
Sólo una mitad del 8086 (el BIU) tuvo que rediseñarse
los primeros miembros de la arquitectura x86. Fue
para producir el 8088. Registros de uso general del
lanzado al mercado en 1978 y el 8088 en 1979. El
8086/8088:
8086 y 8088 ejecutan el mismo número de
instrucciones. Comparándolos internamente son
idénticos a excepción del 8086 que posee una cola de
1
II. DIAGRAMAS
Tienen 16 bits cada uno y son ocho:
Diagrama Esquemático y Arquitectura
AX= Registro acumulador, dividido en AH y AL (8
bits cada uno). Usándolo se produce (en general) una
8086
instrucción que ocupa un byte menos que si se
utilizaran otros registros de uso general. Su parte más
baja, AL, también tiene esta propiedad. El último
registro mencionado es el equivalente al acumulador
de los procesadores anteriores (8080 y 8085).
Además, hay instrucciones como DAA; DAS; AAA;
AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT
que trabajan con AX o con uno de sus dos bytes (AH
o AL). También se utiliza este registro (junto con DX
a veces) en multiplicaciones y divisiones.

BX= Registro base, dividido en BH y BL. Es el


registro base de propósito similar (se usa para
direccionamiento indirecto) y es una versión más
potente del par de registros HL de los procesadores
anteriores.

CX= Registro contador, dividido en CH y CL. Se


utiliza como contador en bucles (instrucción LOOP),
en operaciones con cadenas (usando el prefijo REP) y
en desplazamientos y rotaciones (usando el registro
CL en los dos últimos casos).

DX= Registro de datos, dividido en DH y DL. Se


utiliza junto con el registro AX en multiplicaciones y
divisiones, en la instrucción CWD y en IN y OUT
para direccionamiento indirecto de puertos (el
registro DX indica el número de puerto de
entrada/salida).

SP= Puntero de pila (no se puede subdividir). Aunque


es un registro de uso general, debe utilizarse sólo
como puntero de pila, la cual sirve para almacenar las
direcciones de retorno de subrutinas y los datos
temporarios (mediante las instrucciones PUSH y
POP). Al introducir (push) un valor en la pila a este
registro se le resta dos, mientras que al extraer (pop)
un valor de la pila este a registro se le suma dos.

BP= Puntero base (no se puede subdividir).


Generalmente se utiliza para realizar
direccionamiento indirecto dentro de la pila.

SI= Puntero índice (no se puede subdividir). Sirve


como puntero fuente para las operaciones con
cadenas. También sirve para realizar
direccionamiento indirecto.
III. EXPLICACIÓN DE CÓDIGO FUENTE
DI= Puntero destino (no se puede subdividir). Sirve
como puntero destino para las operaciones con Hello World: Este ejemplo imprime "hola
cadenas. También sirve para realizar mundo!" escribiendo directamente a la memoria de
direccionamiento indirecto. video. En la memoria vga: el primer byte es el
carácter ascii, el byte que sigue es el atributo del
carácter. Si cambia el segundo byte, puede cambiar
el color de el personaje incluso después de que se
imprime el atributo de carácter es un valor de 8 bits,
4 bits altos establecen el color de fondo y 4 bits bajos
establecen el color de primer plano.

2
Despues de ejecutar el emulador el programa nos
devuelve como resultado un texto en rojo, subrayado
en amarillo que dice "Hello World!" REFERENCIAS

Comparador de números: Este ejemplo muestra [1] Hwang, C. L., & Masud, A. S. M. (2012).
cómo la instrucción cmp establece las flags por lo Multiple objective decision making—
general, la instrucción cmp es seguida por cualquier methods and applications: a state-of-the-art
pariente instrucción de salto como: je, ja, jl, jae ... En survey (Vol. 164). Springer Science &
este ejemplo se ingresa un número cualuiera y el Business Media.
programa lo compara con el número 5 por que asi fue
como se lo programó, por lo tanto para las siguientes
comparaciones se tiene como numero de referencia [2] Liu, Y. C., & Gibson, G. A. (1986).
el 5. Microcomputer systems: the 8086/8088
family architecture, programming and
Al abrir la pantalla de texto nos muestra un mensaje
para que escribamos un número, luego presionamos design.
enter y nos indica el valor del número si es igual a 5,
menor que 5 o mayor que 5.. [3] Asm_mododir2.pdf. (s. f.). Recuperado 4
de junio de 2020, de
IV. Metodología https://www.cs.buap.mx/~mgonzalez/asm_
mododir2.pdf.
El EMU8086 nos ha ayudado a entender de forma
basica de lo que es el lenguaje esamblador (asm), para [4] Mostafa, G. (2013). Desarrollo de un
lo caul se analizó y comprendio ejemplo que sistema de aprendizaje por microprocesador
requerian de una estructura más compleja en el de 16 bits utilizando la arquitectura Intel
codigo, como es el caso del ejemplo que el EMU8086 8086. 2013 2da Conferencia Internacional
te provee que es el de semaforos, ya que se puede sobre Avances en Ingeniería Eléctrica
ivendenciar los moviemitos de los coches y la misma (ICAEE). doi: 10.1109 /
organizacion como si fueran de verdad. icaee.2013.6750323.

Para lo cual se propuso a investigar las instrucciones


de cada registro que tiene el microprocesador, y se lo
detallo en este informe para tener un mejor
conociemnto de las variables o de la estrucuta de cada
insrucción mediante ejemplos.

V. Resultados

El EMU8086 permite la oportunidad de simular


programas capaces de ser ejecutados por el
microprocesador 8086 diseñado por Intel. El software
posee una interfaz gráfica que permite observar los
registros, la pila de memoria, entre otros. Esto es una
ayuda en el caso de tener errores en la ejecución del
programa, ya que se puede observar el
comportamiento interno y permite encontrar los
errores de código.

VI. Conclusión

Se cumplió nuestro objetivo acerca de desarrollar


ejemplos básicos donde se evidencie el lenguaje
ASM, esto debido a las investigaciones realizadas
referentes a este lenguaje, su funcionamiento y
características. De esta manera nuestra aplicación
Hello World esta listo para ser usado.

3
Ingeniería en Tecnologías de la Información
Arquitectura de Computadoras Jun.2020

Microsoft Azure, para Generación de Máquinas


Virtuales
Autores: Paspuel C. Christian A.

Topón S. Kevin D.

Simba C. Henry J.
Estudiantes de la Universidad de las Fuerzas Armadas ESPE Sangolquí/Ecuador.
Departamento de Ciencias De la Computación.
Fax: +593 23989-400. capaspuel1@espe.edu.ec

Estudiantes de la Universidad de las Fuerzas Armadas ESPE Sangolquí/Ecuador.


Departamento de Ciencias De la Computación.
Fax: +593 23989-400. kdtopon@espe.edu.ec

Estudiantes de la Universidad de las Fuerzas Armadas ESPE Sangolquí/Ecuador.


Departamento de Ciencias De la Computación.
Fax: +593 23989-400. hjsimba@espe.edu.ec

Resumen
Una máquina virtual es un software que emula un ordenador justo como si fuese uno real.
Todo esto sucede en una ventana dentro de tu sistema operativo actual como cualquier otro
programa que uses. La idea de este tipo de software es que puedas ejecutar sistemas
operativos como si fuesen una aplicación, mientras este cree que está usando el hardware
de un ordenador físico común. Cada vez que quieras usar este sistema operativo puedes
abrir el software de virtualización y «encender» tu máquina.
Introducción
Realizar trabajos e ir almacenándolos en la nube se vuelve hoy en día cada vez más común
y por lo cual se lo consideraría una manera de crecer y evolución tecnológica en donde
nuestros datos estarían seguros, entonces debido a ello se van creando aplicaciones para que
estén asociados a este fin. Entonces nace la idea de la máquina virtual que no es más que
otra computadora y a la que se tendría acceso desde cualquier máquina debido a que esta
reposará en la nube, como por ejemplo Microsoft Azure, a continuación, les presentaremos
los beneficios que se pueden encontrar con su utilización, así como los aspectos negativos.
Palabras claves: nube, común, evolución, tecnológica, máquina virtual.
Ingeniería en Tecnologías de la Información
Arquitectura de Computadoras Jun.2020

Abstract
Carrying out jobs and storing them in the cloud is becoming more and more common today
and therefore it would be considered a way of growing and technological evolution where
our data would be safe, so due to this, applications are created to be associated to this end.
Then the idea of the virtual machine was born, which is just another computer and which
would be accessible from any machine because it will rest in the cloud, such as Microsoft
Azure, then we will present the benefits that can be found with its use, as well as the
negative aspects.
Key words: cloud, common, evolution, technological, virtual machine.
Bases Teóricas
Microsoft Azure incluye en la categoría de infraestructura
como servicio (IaaS).
Microsoft Azure es una nube publica de
Azure Virtual Machines ofrece a los
pago por uso que te permite compilar,
clientes una forma rápida y fácil de
implementar y administrar aplicaciones en
implementar y administrar máquinas
una red global para los servicios de
virtuales (VM). Con las máquinas
computación en la nube esta cubre una
virtuales de Azure, los clientes son
amplia gama de servicios que conforman
responsables de administrar el sistema
partes fundamentales de la computación.
operativo invitado y el software instalado
Microsoft Azure está contemplado para ser en las máquinas virtuales, incluidos los
la base informática moderna y continúa parches y la seguridad de las máquinas
generando e innovando nuevos aspectos. virtuales. Azure es responsable del
hardware subyacente, el hipervisor y el
Entre los muchos beneficios que nos entorno del centro de datos, como la
brinda Microsoft Azure son: alimentación, la refrigeración, la seguridad
Sitios Web del acceso físico, la redundancia y la
recuperación ante desastres (Caldas &
Azure Website es un servicio de Azure que Junior, 2019).
proporciona la plataforma para construir y
hospedar su sitio web. El público objetivo de Azure Virtual
Machines incluye operaciones de centros
Los sitios web de Azure se clasifican en la de datos y proveedores de infraestructura,
categoría de proveedor como servicio como TI central para organizaciones, así
(PaaS). Es esencialmente una plataforma como clientes que buscan salir del negocio
totalmente administrada que le permite de operaciones de centros de datos pero
construir e implementar sitios web y que aún requieren servidores y bases de
aplicaciones basadas en web en segundos. datos de clase empresarial para alojar sus
Máquinas Virtuales aplicaciones y otro software bienes.

Azure Virtual Machines es probablemente La gestión de centros de datos es


el servicio de Azure más reconocido. Se esencialmente un proyecto de gestión de
instalaciones complejo y de alto costo. Los
Ingeniería en Tecnologías de la Información
Arquitectura de Computadoras Jun.2020

centros de datos albergan la columna La geo-redundancia ocurre además de la


vertebral de TI de muchas organizaciones, redundancia local, no es un sustituto. Por
y la interrupción de dichos servicios lo tanto, para muchas organizaciones, el
generalmente significa una pérdida mayor beneficio de alojar máquinas
significativa de ingresos. En algunos virtuales en Azure son sus capacidades
casos, es una cuestión de vida o muerte. locales y de redundancia geográfica
Por lo tanto, no es una exageración decir incorporadas. Esto es aún más importante
que el centro de datos es un componente si la infraestructura del centro de datos de
de misión crítica de cualquier industria una organización cae en la primera
(Caldas & Junior, 2019). categoría heredada: un tipo de instalación
fuera de capacidad. Las organizaciones
Redundancia local y geográfica con locales y de redundancia geográfica
acuerdos de nivel de servicio (SLA) ayudan a las organizaciones a cumplir con
Según Jane & Sánchez (2018) menciona sus requisitos de recuperación ante
que existen esencialmente tres tipos de desastres (DR) y alta disponibilidad (HA).
infraestructura de centro de datos: Las máquinas virtuales de Azure que
• Centro de datos heredado y / o tienen dos o más instancias implementadas
fuera de capacidad, de ubicación en el mismo conjunto de disponibilidad
única vienen con un acuerdo de nivel de servicio
• Centro de datos moderno de La infraestructura de Azure VM está
ubicación única con capacidad diseñada para admitir tecnologías de
libre Microsoft y que no son de Microsoft. Una
• Centro de datos geo-redundante organización puede elegir usar imágenes
moderno
Como una gran ventaja que tiene
Los centros de datos de Azure entran en la Microsoft Azure es que siempre se cuenta
tercera categoría, y cada ubicación tiene con hardware moderno y siempre
un exceso de capacidad y la capacidad de actualizado y esto beneficia directamente
escalar y escalar rápidamente. En términos al usuario ya que no necesitan reemplazar
de geo-redundancia. y actualizar el hardware.
Los centros de datos de Azure pueden Flexibilidad
estar a cientos de millas de distancia. De
manera predeterminada, en un centro de Los requisitos cambian y, como tal, la
datos, las máquinas virtuales se infraestructura de la que depende una
aprovisionan en tres infraestructuras aplicación tiende a crecer o reducirse. Con
físicamente separadas que se encuentran la tecnología de virtualización anterior, las
en diferentes partes de la instalación. Esto aplicaciones se basaban en infraestructura
se conoce como redundancia local. Como física y permanecían bloqueadas. Por lo
cliente de Azure, usted tiene control sobre tanto, era difícil ampliar o reducir en
si las máquinas virtuales se replican en respuesta a las necesidades de una
instalaciones de centros de datos empresa.
geográficamente separadas ubicadas a una
distancia entre sí.
Ingeniería en Tecnologías de la Información
Arquitectura de Computadoras Jun.2020

Servicios móviles Pasos para crear una máquina virtual


en Microsoft Azure.
Para Tejada Garitano, Romero Andonegui,
López de la Sema, & Bilbao Quintana 1. Ingresar al sitio web
(2019) indican que Azure Mobile Services azure.microsoft.com
se incluye en la categoría PaaS. La misma 2. Ir a la opción CUENTA gratis-
que es una plataforma diseñada para registrarnos
construir y publicar aplicaciones móviles. 3. Nos dirigimos a la opción crear
recurso
En esta parte de Microsoft Azure nos 4. Escogemos el sistema que
proporciona una plataforma para crear e queremos que tenga nuestra
implementar rápidamente aplicaciones máquina virtual
para iOS, Android, Windows y Mac. 5. Llenamos las características que
Específicamente, proporciona las necesitamos en nuestra máquina
siguientes capacidades clave asociadas virtual.
con aplicaciones móviles: 6. Escogemos el tamaño y servidor
Autenticación 7. Click en crear.
Notificaciones push
Datos de la aplicación Referencias Bibliografícas
almacenados en la nube o en
las instalaciones Caldas, R., & Junior, A. (2019). Migración

El público objetivo de Azure Mobile de servidores a la nube de


Services incluye desarrolladores de Microsoft Azure para mejorar la
aplicaciones y organizaciones que
necesitan proporcionar aplicaciones continuidad de los servicios TI, de
móviles nativas que sean receptivas y la fiduciaria en el año 2018.
escalables.

Al igual que con los sitios web de Azure, Copeland, M., Soh, J., Puca, A., Manning,
los clientes pueden centrarse únicamente M., & Gollob, D. (2015). Microsoft
en diseñar y desarrollar aplicaciones
móviles y dejar que Azure administre el Azure. Nueva York, NY: Apress.
mecanismo de entrega. Al igual que todos
los demás servicios de Azure, las Jane, C., & Sánchez, G. (2018).
aplicaciones móviles implementadas en
Azure disfrutan de un buen rendimiento, Simulación de redes de
alta disponibilidad, escalabilidad y la computadoras empleando
capacidad de admitir de forma nativa todas
las plataformas móviles populares, no solo máquinas virtuales como medio de
las de Microsoft. La capacidad de enseñanza de la carrera Ingeniería
almacenar datos en las instalaciones o en
la nube, y poder almacenar datos en caché, Informática. Luz, 17(1), 100-106.
permite a los desarrolladores equilibrar los
requisitos de seguridad y rendimiento.
Ingeniería en Tecnologías de la Información
Arquitectura de Computadoras Jun.2020

Macha Tejeda, G., Quispe, F., & Samuel, Quintana, N. (2019). Análisis y
J. (2018). Plan de migración del creación de Máquinas Virtuales
servicio cloud utilizando Microsoft Congnitivas: Percepción de
Azure. aprendizaje útil del alumnado
Universitario.
Tejada Garitano, E., Romero Andonegui,
A., López de la Sema, A., & Bilbao
NODE-RED COMO HERRAMIENTA DE PROGRAMACION
(Junio de 2020)
Chanchay Randy
rfchanchay@espe.edu.ec
Zurita Dilan
dezurita4@espe.edu.ec
Lema Erick
ejlema2@espe.edu.ec

Una vez que conocemos los datos básicos podemos


Resumen – El siguiente documento presenta datos abrirnos paso para investigar más a fondo la instalación de
generales y básicos acerca de Node-Red, su instalación, nodos sus respectivos nodos con sus diferentes funciones o
principales y aplicaciones generales que se le da a este apartados.
programa, además se da el punto de vista de los investigadores
con relación a las aportaciones en la informática e Internet de
las Cosas en la actualidad.
2. Instalación de Node-Red

Palabras Clave: Node-Red, Internet de las cosas, IoT, Para la instalación debemos descargar Node.js desde
Nodos, JavaScript, NodeJS. la pagina web del programa, esta disponible para una gran
variedad de dispositivos desde computadoras hasta
ABSTRACT: The following document presents general Raspberry Pi.
and basic data about Node-Red, installation, main nodes and
general applications that are given to this program, in addition Una vez instalado el proceso cambiara dependiendo
to giving the point of view of the researchers in relation to the de cada dispositivo usado en el caso de una computadora
contributions in computing and Internet of things today. con Windows se debe:
Keywords: Node-Red, Internet of things, IoT, Nodes,
• Acceder al Common Pront de Node.js y escribir
JavaScript, NodeJS.
el siguiente comando: npm install -g node-red
1. Introduccion
• Con esto se instalará el Node-Red como tal para
Para poder fomentar bien las bases de nuestra iniciarlo debemos digitar: Node-Red
investigación debemos aclarar específicamente las dudas
de conocimiento que se tenga sobre el mismo, y sobre lo • Se nos generara una dirección ip la cual
que se va a trabajar, para lo cual vamos a tomar como abriremos con el navegador de nuestra preferencia y
punto de partida una vista rápida a los fundamentos de podemos comenzar a trabajar.[1]
Node-Red los cuales nos serán útiles para ubicarnos
dentro de la herramienta 3. Nodos

1.1. Fundamentos necesarios de Node- RED Node RED al ser una herramienta de programación
visual nos despliega un barra donde podemos encontrar
Para obviar temas como la historia de Node- RED, diversos tipos de nodos, pero no siempre van a venir pre
se pondrá únicamente datos puntuales que nos ayuden con cargados en el sistema, para lo cual debemos instalar
nuestra investigación: librerías que nos proporcionen los tipos de modos que
vayamos a utilizar para esto Node Red cuenta con la
-Node red es una herramienta de programación opción de instalar en “manage palette”.
visual basada en flujos.
Si queremos usar nodos centrales, adicionales o de
-Dichos flujos describen el comportamiento de almacenamiento, debemos entender el flujo que necesita
nodos. cada nodo para poder implementarlo y debemos conocer
cada uno de ellos y cuáles son sus funciones.
-Cada nodo recibe y captura datos específicos, los
cuales están enlazados a otros nodos que realizan 3.1. Nodos centrales
funciones diferentes.
Los nodos centrales pueden tomar diversas
-No es necesario bajar al nivel de detalle de código ocupaciones dependiendo de la función general que se
en cada nodo quiera implementar, pero se debe saber que aquel al que
llamaremos nodo central es el que carga con la parte • Modbus-OPC UA Wrapper usando
principal del trabajo dentro de la red de nodos, y si este Node-RED y IoT-2040 con aplicación en la
por alguna razón x o y presenta una dificultad el programa industria del agua.[5]
no podrá funcionar en su totalidad.
• Sistema de supervisión de tráfico basado
También se ha encontrado que se puede llamar en IoT.[6]
nodos centrales a los “Core nodes” que son: Inject,
Function, Change, Debug, Switch, Template.[2] Cada uno de estos proyectos fue desarrollado
basándose en el IoT aplicando haciendo mas inteligentes
3.2. Nodos de almacenamiento. elementos de nuestra vida cotidiana.

Son aquellos que nos ayudan a retener la 5. Conclusiones


información pero no necesariamente a representarla por lo
que se suelen ayudar de nodos como “debug” y de manera
obligatoria para su funcionamiento deben estar El análisis y dedicación correspondiente que se le
entrelazados ya sea directa o indirectamente a un nodo de dio a nuestra investigación nos arroja como conclusiones
inyección que proporcione la información que se necesita que la herramienta Node-RED es de gran utilidad y brinda
almacenar.[2] grandes bondades hasta para aquellos usuarios que no
poseen un amplio conocimiento de programación, debido
3.3 Nodos adicionales a que la instalación e implementación de sus nodos por
medio de la programación orientada a objetos resulta ser
Dentro de la categoría de nodos adicionales, bastante amigable con la comunidad que quiere empezar
tenemos una infinidad de tipos y diversidad de funciones, en este medio, sin embargo al momento de profundizar e
que servirán como un plus para nuestro programa, ya que ir por proyectos más complejos nos topamos con una
sin estos nodos el programa base si puede funcionar sin herramienta bastante completa que demanda el conocer
ningún problema.[2] diferentes apartados de la misma para poder llevar a cabo
programas más grandes.
4. Node-Red en el internet de las cosas
También podemos concluir que Node-RED tiene
Una vez que se tiene claro los fundamentos teóricos gran influencia en lo que hoy en dia llamamos “el internet
y el funcionamiento de los tipos de nodos con los que de las cosas” ya que existe una infinidad de proyectos que
vamos a trabajar, es necesario saber en qué campos nos ayudan a optimizar nuestro entorno cotidiano, ya sea
podemos trabajar los diversos ejemplos que hagamos facilitando una acción o personalizándola a nuestro gusto,
dentro de Node-Red y nos encontramos con lo que se hace lo que nos demuestra que esta herramienta de
con frecuencia hoy en día con los programas, que es programación ha logrado su objetivo en la comunidad.
orientarlo al internet de las cosas, con su particularidad, la
cual por lo general es facilitar las cosas a un consumidor
por medio de internet, además que logra incluir problemas
o acciones que nos rodean en el diario vivir las cuales 6. Recomendaciones
podemos implementar en Node-Red usándolo como
nuestra plataforma para el internet de las cosas. Son pocas las recomendaciones que se puede dar
sobre esta herramienta ya que se apoya con gran eficacia
4.1. Internet de las Cosas. en su página web donde se puede encontrar varios
apartados para la ayuda y guía de quien lo necesite. Sin
El Internet de las cosas (IoT) ahora no solo significa embargo se puede rescatar unas pocas recomendaciones
"cosas diversas", sino que se ha convertido en "cosas tal como:
inteligentes" que tienen cálculo a bordo y asociaciones de
sistemas. En particular,tienen la capacidad de sentir el - El tema de los comandos, ya que resulta
medio ambiente que nos rodea y en consecuencia, actuar tedioso en diferentes apartados como la instalación,
con astucia.[3] y también en la configuración del host, esto se debe
a que Note-RED usa comandos propios, por lo cual
4.2. Ejemplos de uso en la Actualidad. se recomienda empaparse muy bien en lo que a
Node-Red al ser fácil de usar y muy completo nos comandos de la herramienta respecta.
ofrece una gran variedad de proyectos entre los cuales
tenemos los siguientes que tienen en común el mejorar la - Otra recomendación que se puede dar es
forma de vida de las personas. la de descargar al menos 3 librerias, ya que la
herramienta como tal carece de variedad de nodos.
• Automatización de una vivienda basado
en IoT usando Node-Red.[4]
7. Bibliografía y fuentes.
[1] “Programación Visual con Node-Red:
Conectando el Internet de las Cosas con
Facilidad | Toptal.” [Online]. Available:
https://www.toptal.com/nodejs/programacion-
visual-con-node-red-conectando-el-internet-de-
las-cosas-con-facilidad#:~:text=En Node-RED,
cada nodo,realizan algún trabajo en él.
[Accessed: 04-Jun-2020].
[2] “Fundamentos de Node-RED.” [Online].
Available:
https://www.techedgegroup.com/es/blog/fundam
enos-node-red. [Accessed: 04-Jun-2020].
[3] L. Fedele and L. Fedele, “From Basic
Maintenance to Advanced Maintenance,”
Methodol. Tech. Adv. Maint., pp. 63–112, 2011,
doi: 10.1007/978-0-85729-103-5_5.
[4] D. Kumar, R. K. Maurya, and K. Dwivedi, “Iot
based home automation using computer vision,”
Int. J. Innov. Technol. Explor. Eng., vol. 8, no.
12, pp. 5044–5047, 2019, doi:
10.35940/ijitee.L3771.1081219.
[5] S. I. Toc and A. Korodi, “Modbus-OPC UA
Wrapper Using Node-RED and IoT-2040 with
Application in the Water Industry,” SISY 2018 -
IEEE 16th Int. Symp. Intell. Syst. Informatics,
Proc., pp. 99–103, 2018, doi:
10.1109/SISY.2018.8524749.
[6] M. Bouhedda, H. Benyezza, I. Metali, S. T.
Kebir, and S. Rebouh, “Trafic Intersection Fuzzy
Control and Supervision System based on IoT,”
Proc. - 2019 3rd Int. Conf. Appl. Autom. Ind.
Diagnostics, ICAAID 2019, vol. 1, no.
September, pp. 1–3, 2019, doi:
10.1109/ICAAID.2019.8934994.
1

1
memoria, memoria RAM, etc[2]. Por medio de la aplicaciones
nativas podemos encontrar una gran cantidad de servicios
Generación de máquinas
. ​ como la integración y compatibilidad unos con otros.

virtuales en Compute Hoy en día existen dos tipos de máquinas virtuales (MV´s), el
primer tipo son las de sistemas o hardware que son aquellas
Engine: Virtual Machines máquinas independientes sobre la máquina física común [2].
En cuanto a la máquina de proceso, tienen como objetivo

(VMs) | Google Cloud simular un sistema operativo independientemente.

(Mayo de 2020)
Toapanta Elian, Torres Marlon, y Zambrano
Iván.

Resumen -. En este documento se presentará a uno de los más


grandes proveedores que están a la vanguardia en el campo de Fig 1.1 Arquitectura comun en las Máquinas Virtuales (MV´s)
Cloud computing. En dicho ecosistema de Compute Engine la
creación de máquinas virtuales se vuelve muy intuitiva para el
usuario, el cual tiene los servicios y productos disponibles, a tal
punto de poder configurarlo según sus necesidades y
 
requerimientos.. II. PROVEEDOR

Índice de Términos - Google, VMs, Compute Engine, Cloud Google es una de compañías más importantes en estas dos
últimas décadas, teniendo como principales aportantes en
servicios como productos en los campos de Internet y
I. INTRODUCCIÓN
software. Cuenta con miles de servidores y procesadores de
Gracias a las nuevas plataformas que se han creado, los datos en todo el mundo, debido a que actualmente varias
desarrolladores han podido manejar el desarrollo y diseño de personas en todo el mundo utilizan sus servicios un ejemplo es
una plataforma con una mayor rapidez y eficiencia en lo que su buscador Google.
son los diferentes procesos que estos conllevan. Con la
creación de La nube (Cloud Services) o Cloud Computing se
han podido integrar y relacionar varios dispositivos como
servicios de las empresas como los usuarios pueden disponer
de ellos desde una computadora personal, computadora de la
oficina, teléfono, televisores inteligentes, etc.

En lo que a Cloud Computing se refiere podemos dividirla en


dos partes que son igual de importantes, la primera en la
interfaz del usuario y la segunda es el backend servicio que el
mismo servicio ejecuta por sí mismo. Se necesita muy a
menudo el servicio de internet el cual mediante una aplicación
el usuario pueda utilizar los servicios del Cloud Computing
[1]. Todo este proceso en encargado a un servidor central que Fig.1.2-Mapa global de las regiones de Google Cloud
administra el intercambio de datos entre este y el usuario, por
Platform
este método en número de errores disminuye
considerablemente.

Una parte de estos servicios que La nube nos ofrece en la


creación de máquinas virtuales.Una máquina virtual (MV´s) es
aquel computador que mediante software puede simular
virtualmente los componentes de hardware ya sea procesador,

1
2

encontraremos a nuestro lado izquierdo una serie de opciones,


escogeremos la opción de App Engine y luego la opción de
Instancias de VM

Fig 1.4- Opción de App Engine de la Plataforma de Google

Una vez ya en nuestra página para crear nuestra máquina


virtual nos aparecerá varias aspectos que tendrá nuestra
máquina virtual según nuestra necesidades o requerimientos.
Fig 1.3- Mapa Global de la Red de Google Cloud Platform

Siguiendo con la disponibilidad de pago del servicio de


Google Cloud Platform, este cobra por el uso de cada minuto
lo que le da al usuario la ventaja de pagar por lo que él está
usando y sin recibir algún tipo de cobro por adelantado.
Adicionalmente Google Cloud Platform da a sus nuevos
usuarios 300 dólares por utilizar sus servicios por el periodo
de un año. Sin ninguna clases de compromiso de permanencia
el usuario puede cancelar el servicio sin coste alguno.

III. A​SPECTOS​ ​SOBRE​ ​EL​ ​PAGO​ ​POR​ ​EL​ ​USO​ ​DEL​ ​SERVICIO​.

Existen varios parámetros en los que la plataforma se basa Fig 1.5- Opciones para la creación de la máquina virtual
para calcular el costo exacto el cual el usuario tendrá que
pagar. Como primer item a llenar es el nombre de nuestra máquina
virtual, luego tenemos la ubicación en donde residirá nuestra
En especificaciones de la máquina virtual tenemos dos tipos,
máquina virtual, podemos encontrar las regiones el la figura
la primera es el modelo del procesador que se refiere a la
1.2.
cantidad de núcleos que este tiene y a su velocidad, el segundo
es el almacenamiento que trata sobre la cantidad de espacio
que tendrá la máquina virtual para poder guardar los datos en En el siguiente iten tenemos la elección de nuestra procesador,
la nube. las opciones van desde un procesador de 1 núcleo con una
memoria de 0.6 GB de RAM, hasta un procesador de hasta 96
En cuanto al pago por periodo este se lo mide por minutos, lo núcleos con una memoria de 360 GB de RAM.
que significa que el pago se calculará por los minutos de uso
de servicio. La siguiente opción es el disco duro o bien un disco de estado
sólido el cual se lo denomina como SSD, y el sistema
Por último, encontraremos la tasa de transferencia la cual Operativo el cual correrá en nuestra máquina virtual, en este
consiste en la velocidad con la que los datos serán enviados. trabajo se eligió el Sistema operativo Debian GNU/Linux 10
con un disco estándar de 10 GB.

Para finalizar tenemos las opciones de tráfico de red las cuales


elegimos, estas son el tráfico de HTTP, mientras que la
IV. P​ROCEDIMIENTOS
segunda en el tráfico de HTTPS. Una vez ya seleccionados
Como paso principal se requiere tener una cuenta en Google aplastaremos el botón de crear para que el sistema ya
para poder luego crearnos una misma cuenta pero ya en comienzan con la creación de nuestra máquina virtual.
Google Cloud Platform la cual con ayudara a tener el servicio
de creación de nuestra máquina virtual.
Luego de haber creado nuestro nuestra cuenta, el sistema
nos redirigirá a nuestra página principal , en ella
3

las estimaciones del cobro por los servicios de la plataforma,


todo esto en tiempo real.

R​EFERENCES
[1] ]Gluppi, “QUÉ ES CLOUD COMPUTING, PARA QUÉ SIRVE Y
CÓMO UNCIONA”. Disponible en:
https://gluppi.com/que-es-cloud-computing/. Acceso en
01-06-2020.W.-K. Chen, ​Linear Networks and Systems​ (Book style)​.
Belmont, CA: Wadsworth, 1993, pp. 123–135.
V. A​RRANQUE​ ​DE​ ​LA​ ​MÁQUINA​ ​VIRTUAL [2] Fundación Ideas, ―Cloud Computing: Retos y Oportunidades‖, 2011.
(​http://www.fundacionideas.es/sites/default/files/pdf/DT-Cloud_Comput
Cuando la plataforma haya acabado de crear ingEc.pdf​)
[3] GoogleCloud. (2020). GoogleCloud. Disponible en::
nuestra máquina virtual, procederemos ha abrirla, https://cloud.google.com/?&utm_source=google&utm_medium=cpc&ut
encontraremos a nuestra máquina virtual en la m_campaign=latam-LATAM-all-es-dr-bkws-all-all-trial-e-dr-1008075-L
UAC0010197&utm_content=text-ad-none-none-DEV_c-CRE_3822761
opción Instancias de VM que está en la parte 48618-ADGP_BKWS+%7C+Multi+~+Google+Cloud-KWID_4370004
superior izquierda de nuestra pantalla. 7166266644-kwd-3

Luego procederemos a elegir como queremos


abrirla, en este caso se escoge la opción “Abrir en
otra ventana del navegador”, de esta manera la
plataforma por si sola comienza a cargar nuestra
máquina virtual sin ningún tipo de aplicación
externa.

Fig 1.7- Formato de selección de carga de VM’s

VI. C​ONCLUSIONES

En la actualidad los servicios de cloud computing están


cambiando principalmente la forma en la cual las empresas
interactúan con sus consumidores y con sus empresas
asociadas, pero el cloud computing no solo es para empresas
también son para personas común y corrientes que quieran
realizar una gran cantidad de operaciones o tareas.

El servicio​ ​ de la creación de máquinas virtuales en Google


Cloud Platform es muy intuitivo y no demora mucho la
creación de la máquina virtual. El hecho que otorgar un
presupuesto por un año también es de apreciar, como también
Java Script, funcionamiento y
utilidades
K. Peña, E. Simbaña, MJ. Vizuete

Resumen

JavaScript es un lenguaje de programación que ha Las acciones controladas por JavaScript pueden ser
ganado popularidad en los últimos años desde su el despliegue de un menú, hacer aparecer,
lanzamiento, este básicamente permite el desarrollo desaparecer o cambiar texto e imágenes, realizar
de acciones y procesos dinámicos en un documento cálculos y mostrar resultados, mostrar mensajes de
Html,es decir, dentro de una página web.En la
elaboración de una página web este lenguaje
constituye solamente una capa de tres que
aviso (por ejemplo si faltan datos en un formulario)
constituyen el proceso(Html y css) Este lenguaje
y “efectos animados” en general.
de programación permite al desarrollador crear
contenido novedoso y eficiente, controlar archivos
Este lenguaje es principalmente utilizado por parte
de multimedia, crear imágenes animadas y muchas
de programadores web para dar respuestas rápidas
otras cosas más
a las acciones del usuario sin necesidad de enviar la
información de lo que ha hecho el usuario al
I. INTRODUCCIÓN
servidor y esperar respuesta de éste (lo que haría
más lento los procesos). El código JavaScript se
El objeto de investigación de este artículo es
carga al mismo tiempo que el código HTML en el
comprender el funcionamiento del lenguaje de
navegador, y reside en el cliente (computador en el
programación Java-Script y sus principales
que nos encontramos), por lo que JavaScript sigue
estructuras, investigando los usos de este lenguaje
funcionando incluso aunque se produzca un corte
por medio de la abstracción de información, para
en la conexión a internet (en este caso no podremos
así poder conocer las funcionalidades que tiene.
seguir navegando hacia otras direcciones web, pero
A partir de la investigación se busca explicar más a
sí podremos ejecutar procesos “locales” en nuestro
fondo los componentes de este lenguaje y algunas
computador para la página web en que nos
reglas que lo caracterizan, de tal manera que la
encontráramos).​[1]
información sea comprensible y detallada. También
se busca desarrollar ejemplos básicos donde se
B. ​Compiladores
evidencie el lenguaje ya antes mencionado.
1) Google Closure Compiler
A. Qué es Javascript
No es realmente un compilador de código en el
JavaScript es un lenguaje utilizado para dotar de
sentido normal, pero sí que se puede considerar un
efectos y procesos dinámicos e “inteligentes” a
compilador porque compila, junta diferentes
documentos HTML. Un documento HTML viene
fragmentos de código y transforma de JavaScript a
siendo coloquialmente “una página web”. Así,
JavaScript mejorado.
podemos decir que el lenguaje JavaScript sirve para
Google Closure Compiler es una herramienta que
ejecutar acciones rápidas y efectos animados en
ayuda a optimizar y encontrar errores en el código
páginas web.
JavaScript.Pero entonces ¿Qué hace?

1
-Junta diferentes ficheros de JavaScript en uno y salidas.
solo. En JavaScript, como no se puede indicar el tipo de
-Elimina contenido innecesario para la ejecución, la variable, se requiere mucho más cuidado cuando
como los comentarios. operamos con sus contenidos.
-Detecta código inútil que no se usa.
-Detecta código que contiene errores.​[2] E. Estructura iterativa

2) AngularJS 1) Entrada repetitiva do while


Se trata de un framework MVC (Modelo Vista
Controlador) de JavaScript de código abierto​, La sentencia do/while es una estructura repetitiva,
desarrollado por Google​, que se utiliza para crear y la cual se utiliza cuando conocemos de antemano
mantener aplicaciones web de una sola página​. Su que por lo menos una vez se ejecutará el bloque
objetivo es aumentar las aplicaciones basadas en repetitivo, a diferencia del while que puede no
navegador con capacidad de Modelo Vista ejecutar el bloque.
Controlador (MVC), en un esfuerzo para hacer que
La condición de la estructura está abajo del bloque
el desarrollo y las​ pruebas​ sean más fáciles.
a repetir y finaliza la ejecución del bloque
Al usar un patrón MVVM (model view
repetitivo cuando la condición retorna falso.
view-model) separamos la lógica de la de diseño
pero mantenemos ambas partes conectadas (data
2) Entrada repetitiva For
binding). De manera que la capa visual no sabe lo
que está pasando en la capa lógica pero Un ​bucle ​for se repite hasta que la condición
manteniendo control sobre el DOM (el cuerpo de la especificada se evalúa como falsa.
web) y actualizar su contenido como queramos. ​[3] Cuando un bucle for se ejecuta, ocurre lo siguiente:

3) NodeJS 1. La expresión de inicialización, si existe, se


Es un entorno de tiempo de ejecución de JavaScript ejecuta. Esta expresión habitualmente
en tiempo real, que se encuentra de lado del inicializa uno o más contadores del bucle,
servidor y utiliza un modelo asíncrono y dirigido pero la sintaxis permite una expresión con
por eventos. Incluye todo lo que se necesita para cualquier grado de complejidad. Esta
ejecutar un programa escrito en JavaScript. expresión puede también declarar
Se trata de una Máquina Virtual rápida y de gran variables.
calidad. Además las capacidades de Node.js para 2. Se evalúa la expresión condición. Si el
I/O (Entrada/Salida) son realmente ligeras y valor de condición es verdadero, se
potentes, dando al desarrollador la posibilidad de ejecuta la sentencia del bucle. Si el valor
utilizar toda la I/O del sistema.Uno de sus puntos de condición es falso, el bucle for finaliza.
fuertes, es su capacidad de mantener muchas Si la expresión condición es omitida, la
conexiones abiertas y esperando. ​[4] condición es asumida como verdadera.
3. Se ejecuta la sentencia. Para ejecutar
C. Variables múltiples sentencias, use un bloque de
Una variable es un espacio de memoria donde se sentencias ({ ... }) para agruparlas.
almacena un dato y se puede guardar cualquier tipo 4. Se ejecuta la expresión
de información necesaria para realizar las acciones expresionIncremento, si hay una, y el
de nuestros programas. ​[6] control vuelve al paso 2. ​[7]
D. Estructuras secuenciales
F. Entradas por teclado
Son aquellas en la que una acción (instrucción)
sigue a otra en secuencia. Las tareas se suceden de En Informática, la "entrada" de un programa son
tal modo que la salida de una es la entrada de la los datos que llegan al programa desde el exterior.
siguiente y así sucesivamente hasta el fin del Actualmente, el origen más habitual es el
proceso​.​También se las puede identificar ​cuando en teclado(Sintes,2018).
un problema solo participan operaciones, entradas

2
1) Prompt() …enunciados a ejecutar si NO se cumple la
El método prompt () se utiliza para mostrar un primera condición…
cuadro de diálogo con un mensaje opcional que }
nos permite solicitar información al visitante de la
página(Barrena,2016). A menudo se usa si el Ejemplo:
usuario desea ingresar un valor antes de ir a una En un programa se desea lanzar una advertencia si
página.Entonces devuelve una cadena que contiene el valor de una variable es mayor que 100, y otra si
el texto ingresado por el usuario, o nulo. es mayor:

Sintaxis:
if (variable _a_ comparar>100){
mensaje (mensaje, predeterminado) alert("El valor de la variable es mayor que
El mensaje es una cadena de texto para mostrar al 100");
usuario. Se puede omitir si no hay nada que mostrar } else {
en la ventana de solicitud, es decir, es opcional. alert("El valor de la variable es menor o igual
Default es una cadena que contiene el valor que 100");
predeterminado que se muestra en el campo de }
entrada de texto. También es opcional.
Ejemplo: Además, las instrucciones se pueden vincular:
prompt("Indique su edad");
Si se prueba en el editor online (​entre etiquetas if (variable _a_ comparar>100){
<script></script>​), saldrá un pop-up con el texto alert("El valor de la variable es mayor que
que se haya incluido y una casilla para introducir la 100");
información solicitada (datos numéricos o texto).Se } else if (variable _a_ comparar==100){
puede incluir una respuesta por defecto. Esta se alert("El valor de la variable es exactamente
mostrará en la casilla y puede ser modificada por el 100");
visitante(Barrena,2017).[8] } else {
alert("El valor de la variable es menor que
G. Estructuras condicionales 100");
}
Un script consiste en una lista de enunciados que se
van ejecutando a medida que se cargan. Sin 2) Switch
embargo, en ocasiones es necesario controlar el Por medio de switch se puede listar una serie de
flujo de la ejecución estableciendo alternativas, es bloques de enunciados que se ejecuten dependiendo
decir, que una serie de enunciados se ejecuten en del valor de una variable ​[9]
algunas ocasiones y en otras no(Fernández,2007).
Para permitir esto existen las estructuras II. DIAGRAMAS
condicionales.
Diagrama de flujo aplicación: “Adivina el número”
1) if … else
medio de if se puede indicar una condición que, de El programa inicia solicitando datos, una vez estos
cumplirse, permite la ejecución de uno o más sean ingresados,se dirigirá a dos condiciones una
enunciados(Castillo,2017). Por medio de else se en la que compara el numeroUsuario y el
puede establecer una alternativa, aunque su uso es numeroCPU si son iguales imprimirá Has acertado
opcional.La sintaxis de esta estructura es la si no lo son llegara a la otra condición donde me
siguiente: indicara si el número es mayor o menor y de esta
manera hasta que logremos acertar y de esta
if(condición){ manera sea el númeroUsuario igual al númeroCPU.
…enunciados a ejecutar si se cumple la
condición…
}
else {

3
El proceso está condicionado por un while que
mantendrá un bucle hasta que el número generado
aleatoriamente por el computador deje de ser
distinto al del usuario y en este caso surgirá un alert
con las palabras: 'haz acertado'​.

B. Programa “Calculadora”

Primero el programa solicita que el usuario elija la


operación a ejecutar mediante una estructura
Diagrama casos de uso-clase de la aplicación
HTML posicionando botones, del mismo modo, se
“Calculadora”
condiciona al botón a ejecutar cierta función una
vez se dé click en él por ejemplo :
En este diagrama se puede evidenciar de una
manera más didáctica el funcionamiento de nuestra <input type="button" class="boton rojo"
aplicación calculadora, mostrado desde el punto de value="suma" onclick="suma()" >
vista de un usuario y del programa. Es así que el
usuario desea usar esta aplicación y para ello debe para la función suma una vez el usuario digite
mediante la función prompt el primer y segundo
cumplir con los pasos de ingresar, seleccionar la
número a operar esta crea una segunda función la
operación a realizar, escribir el primer y segundo
cual realiza la operación denominada suma 2.
número y posteriormente obtener un resultado;
mientras tanto el programa debe verificar la f​unction suma(){
operación seleccionada, procesar los valores y dar
el resultado. numero1 = prompt('Introduce el primer numero
entero');

numero2 = prompt('Introduce el segundo numero


entero');

resultado = suma2(numero1,numero2);

alert(resultado);

En la operación suma dos se lleva a cabo todo el


proceso por el cual las dos variables van a ser
III. ​ EXPLICACIÓN DE CÓDIGO FUENTE sometidas para poder conseguir el resultado o valor
que se mostrará mediante un alert.
A. Programa “Adivina número”
function suma2(num1, num2){
Primero el programa crea un número aleatorio del 1
al 10 mediante la función var valor;
Math.floor((Math.random() *10) + 1); este número
se compara con el valor ingresado por el usuario num1 = parseInt(num1);
realizando una entrada por teclado mediante la
función parseInt(prompt('Adivina el número que num2 = parseInt(num2);
estoy pensando del 1 al 10'))
valor = num1 + num2;
S​i la comparación de estos dos números son
distintos surgirá un alert mediante una condición if return(valor);
en donde si el número es mayor mostrará el
mensaje 'el número es mayor' y si no lo es mostrara }
lo contrario.

4
El proceso se repite con el resto de operaciones en Javascript es un lenguaje de programación que se
donde al momento de llegar a operaciones más emplea en la creación de páginas web, y que
avanzadas como potencia o raíz cuadrada se hizo funciona integrándose con el HTML,además no
vital la utilización de dos funciones preestablecidas necesita de compiladores ya que son los
llamadas Math.pow y Math.sqrt respectivamente
navegadores los que se encargan de leer el código.
las cuales permiten el retorno del valor respuesta.
Las estructuras condicionales de Javascript como
if-else y switch,permiten ejecutar ciertas partes del
III. Metodología código dependiendo si se cumplen o no con las
condiciones establecidas,estos conceptos se fueron
La revisión bibliográfica fue el principal método comprendiendo a través del desarrollo de los
empleado en la realización de este artículo, ya que programas .
nos centramos en el análisis de material
bibliográfico y de consulta de información Se cumplió nuestro objetivo acerca de desarrollar
respecto al tema estudiado, lo que nos permitió ejemplos básicos donde se evidencie el lenguaje
afianzar los conceptos necesarios para el desarrollo Javascript, esto debido a las investigaciones
del código de los programas. La investigación fue realizadas referentes a este lenguaje, su
posible por medio de herramientas utilizadas, así funcionamiento y características. De esta manera
como el programa Atom, el cual nos sirvió para nuestras dos aplicaciones, tanto “calculadora”
poder programar el código, el navegador en el cual como “adivina número” se encuentran con un buen
ejecutamos los programas, la herramienta Github y funcionamiento y listas para ser usadas.
del mismo modo la información recolectada nos
REFERENCIA
permitió encontrar las múltiples estructuras a
estudiar.
[1] ​Pérez, J. E. (2019). introduccion a JavaScript.
IV. Resultados
[2] ​Compiler, C. (2017). Google Developers.
A partir del análisis y revisión de información se
[3] Green, B., & Seshadri, S. (2013). AngularJS. "
logró desarrollar y ejecutar dos programas ,en los
O'Reilly Media, Inc.".
cuales se evidencian las principales estructuras del
lenguaje de programación JavaScript,así como sus [4] Gómez, D., Flores, Á., & Ureta, R. (2018).
variables ,entradas por teclado y sintaxis Programación Node. JS. Caribeña de Ciencias
Sociales, (mayo).
El editor de código fuente o id en múltiples
ocasiones puede representar una ayuda para el [5] Pérez, J. E. (2019). introducción a JavaScript.
programador puesto que cuentan con múltiples
facilidades para hacer el desarrollo más ameno, por [6] Mohedano, J., Saiz, J. M., & Román, P. S.
tal motivo se escogió atom este es un editor de (2012). Iniciación a javascript. Ministerio de
código fuente que cuenta con un autocompletado Educación
inteligente y en muchas ocasiones agiliza el trabajo.

Javascript es un lenguaje de programación


interpretado,por tal motivo, su estructura amerita de
un lenguaje de etiquetado como HTML y CSS para
poder ofrecer de una interfaz más amigable al [7] ​Singh,P.(2015).Repensar los bucles de
usuario, se recomienda tener una idea base de un JavaScript como combinadores.
lenguaje HTML o CSS para poder realizar trabajos
de mayor envergadura . [8] Castillo, A. A. (2017). Curso de Programación
Web: JavaScript, Ajax y jQuery. IT Campus
V Conclusión Academy.

5
[9] ​Navarrete, T. (2006). El lenguaje JavaScript.
Argentina​.

También podría gustarte