Typescript
Typescript
Curso práctico
Carlos Serrano
Ra-Ma-® ---
https://dogramcode.com/programacion
TypeScript
Curso práctico
Carlos Serrano
Ra-Ma�
g
Regalame un like para motivarmos a seguir subiendo más material
or
n.
https://www.facebook.com/dogr4mcode.web
io
ac
Grupo de Programación en Facebook:
am
https://www.facebook.com/groups/librosyrecursosdeprogramacion
gr
ro
op
od
https://dogramcode.com/biblioteca
w
w
w
Usuario: dogramocode
Contraseña: 123
https://dogramcode.com/programacion
La ley prohíbe
fotocopiar este libro
Type.Script. Curso práctico
© Carlos Serrano
© De la edición: Ra-!vla 2020
ivLA.RCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos (hardware, software, sistemas
g
operativos, etc.) suelen ser marcas registradas. RA-l.\1A ha intentado a lo largo de este libro distinguir las marcas comerciales de los
or
ténninos descriptivos, siguiendo el estilo que utiliza el fabricante, sin intención de infringir la marca y solo en beneficio del propietario de
n.
la misma. Los datos de los ejemplos y pantallas son ficticios a no ser que se especifique lo contrario.
io
R.A.-l.\1Aes marc.a comercial registrada.
ac
Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa. Sin embargo, R.A.-ivLA. Editorial no asume ninguna
responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni otros derechos de terceras partes que pudieran ocurrir.
am
Esta publicación tiene por objeto proporcionar unos conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para el
editor ninguna forma de asistencia legal, administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra fonna de ayuda
experta, deben buscarse los servicios de un profesional competente.
gr
Según lo dispuesto en el Código Penal vigente, ninguna parte de este libro puede ser reproducida, grabada en sistema de almacenamiento o
op
transmitida en forma alguna ni por cualquier procedimiento, ya se.a electrónico, mecánico, reprográfico, magnético o cualquier otro sin
autorización previa y por escrito de RA-!vLA.; su contenido está protegido por la ley vigente, que establece penas de p risión y/o multas a
od
quienes, intencionadamente, reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o cien.tífica.
Editado por:
et
R.A.-l.\1AEditorial
.d
Teléfono: 91 658 42 80
w
Fax: 91 662 81 39
Correo electrónico: [email protected]
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
Parte 1
FUNDAMENTOS DE TYPESCRIPT
g
La importancia de JavaScript o EcmaScript hoy en día es indiscutible, por lo que TypeScript, siendo
or
un superset de estos lenguajes, es una potente herramienta en el mundo del desarrollo de software.
n.
Descubre por qué TypeScript se está convirtiendo en uno de los lenguajes de programación más
io
influyentes actualmente, tanto en frontend, como en backend.
ac
Su origen, evolución y futuro te darán una amplia perspectiva del entorno profesional actual.
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
1
¿POR QUÉ APRENDER TYPESCRIPT?
g
Ésta es, sin duda, la primera pregunta que se debe responder para justificar la decisión de comenzar
or
a desarrollar en este lenguaje de programación. Conocer su origen, su evolución, su estado actual
n.
del arte y su futuro son claves necesarias para encontrar las razones y motivaciones suficientes antes
io
comenzar este proyecto.
ac
Para situarnos en el estado actual emplearemos una imagen que representa el top 3 del ranking
am
PYPL (PopularitY Programming Language). Esta clasificación está basada en el número de
tutoriales de lenguajes de programación buscados en Google.
gr
ro
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
• Ecmascript 2019: proporciona algunos métodos para Arrays, String, Simbols y mejoras en el
parsing de JSON.
No obstante, tal como se ha explicado, el gran problema del desarrollo frontend es que la
implementación actual de JavaScript depende del navegador y, en pocos casos, se incluyen las
nuevas funcionalidades de las especificaciones más recientes.
¿Solución?
Programar con funcionalidades avanzadas de EcmaScript 2015+, y transpilar el código con
herramientas como Babel. Es decir, Babel genera JavaScript compatible con la mayoría de
navegadores añadiendo scripts Polyfills que hacen posible ejecutar nuevas funcionalidades en
navegadores que aún no las soportan. Por eso no se habla de compilar. No consiste en transformar
un lenguaje de alto nivel a un lenguaje máquina o de bajo nível, síno de transformar una
g
especificación EcmaScript en implementación JavaScript, ambos lenguajes de alto nivel. No
or
obstante, coloquialmente, se usa en ocasiones, la palabra compilar.
n.
io
¿QUÉ ES TYPESCRIPT?
ac
TypeScript es un superset de EcmaScript, es decir, incluye todas las funcionalidades de las últimas
am
especificaciones y apo11a otras que son fundamentales para la ingeniería del software, como son:
gr
• Tipado.
od
et
.d
w
w
w
https://dogramcode.com/programacion
JavaScript Next
JS Today
g
or
n.
io
ac
am
TypeScript es un superset de JS y ES
Se puede justificar su existencia conociendo la necesidad de dar estabilidad a los procesos de
gr
proporciona esta capa de abstracción, sin embargo, carece de otras funcionalidades de ES y, ante
todo, la posibilidad de programar de forma orientada a objetos con tipado e inyección de
od
TypeScript es un lenguaje de código abie1to creado por Microsoft. Anders Hejlsberg, arquitecto
w
lenguaje.
w
A pesar de su reciente existencia, cuenta con una gran comunidad respaldando su crecimiento y con
los principales frameworks de desarrollo apostando por la incorporación de TypeScript en sus
nuevas versiones. Entre ellos, podemos destacar:
Framework desarrollado por un equipo de Facebook para realizar aplicaciones web, PWA y nativas,
mediante React Native.
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
g
or
n.
io
ac
am
gr
ro
op
od
et
.d
w
w
w
https://dogramcode.com/programacion
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
opr
og
ra
m
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
w
w
w
.d
et
od
op
ro
gr
am
ac
io
n.
or
g
Dogram Code - comparte libros desde el año 2017
https://dogramcode.com/programacion