Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PUNO – 2019
DEDICATORIA
día a día.
INDICE
INTRODUCCIÓN ..............................................................................................................................1
I CAPITULO ......................................................................................................................................2
PROGRAMACION COMO PARTE DE LA VIDA UNIVERSITARIA .......................................3
1.1. ¿Todo el mundo debe aprender a programar? ......................................................3
1.2. ¿Debe enseñarse programación en todas las carreras de la universidad? ...6
1.3. ¿Lenguajes de programación o programación computacional? ......................8
II CAPITULO ...................................................................................................................................11
INTRODUCCION A LA PROGRAMACION...............................................................................12
1.4. Antecedentes.................................................................................................................12
1.5. Conceptos generales que aborda la programación ............................................16
1.5.1. Informática .............................................................................................................16
1.5.2. ¿Qué es la programación informática? ..........................................................16
1.5.3. Arquitectura de software ....................................................................................16
1.5.4. Compilación y depuración .................................................................................17
1.5.5. Identificadores y palabras reservadas ...........................................................17
1.5.6. Variables y constantes........................................................................................17
1.5.7. Tipos de datos.......................................................................................................18
1.5.8. Operadores de datos ...........................................................................................19
1.5.9. Estructuras de control ........................................................................................19
1.5.10. Comentarios ...........................................................................................................19
1.6. Características, importancia y campo de aplicación ..........................................20
1.6.1. Características de la programación ................................................................20
1.6.2. Importancia de la programación ......................................................................21
1.6.3. Objetivos de la programación ...........................................................................22
III CAPITULO ..................................................................................................................................23
ALGORITMOS ................................................................................................................................24
3.1. Introducción, definición y características .................................................................24
3.1.1. Introducción................................................................................................................24
3.1.2. Definición ....................................................................................................................24
3.1.3. Características: ..........................................................................................................25
3.2. Clasificación y tipos de algoritmos .............................................................................25
3.2.1. Clasificación ...............................................................................................................25
3.2.2. Tipos .............................................................................................................................26
3.3. Tecnicas de representación ..........................................................................................26
3.3.1. Diagramas de flujo ....................................................................................................27
3.3.2. Diagrama Nassi – Shneiderman ............................................................................27
3.3.3. Pseudocódigo ............................................................................................................27
3.4. Etapas para la solución de un problema por medio del computador ................28
3.4.1. Definición del Problema ..........................................................................................28
3.4.2. Análisis del Problema ..............................................................................................28
3.4.3. Diseño del algoritmo ...............................................................................................30
3.4.5. Fase de Implementación .........................................................................................31
3.4.6. Codificación...............................................................................................................31
3.4.7. Prueba y Depuración ................................................................................................31
3.4.8. Documentación ..........................................................................................................32
3.4.9. Mantenimiento............................................................................................................33
IV CAPITULO .................................................................................................................................34
LENGUAJES DE PROGRAMACIÓN .........................................................................................35
4.1. Conceptos generales y sus respectivos procesos .................................................35
4.1.1. Definición ....................................................................................................................35
4.1.2. Traductores de lenguaje: el proceso de traducción de un programa .........35
4.1.3. La compilación y sus fases ....................................................................................36
4.2. Clasificación del campo de desarrollo ......................................................................37
4.2.1. Según el nivel de abstracción................................................................................37
4.2.2. Según la forma de ejecución..................................................................................39
4.2.3. Según el paradigma de programación ................................................................41
4.3. Java, Java Script y TypeScript......................................................................................42
4.3.1. Java ...............................................................................................................................42
4.3.2. Java Script ..................................................................................................................43
4.3.3. Type Script ..................................................................................................................44
4.4. Ruby .....................................................................................................................................45
4.5. Phyton ................................................................................................................................46
4.6. C. C++ y C# .........................................................................................................................48
4.6.1. C .....................................................................................................................................48
4.6.2. C++ ................................................................................................................................50
4.6.3. C#...................................................................................................................................51
4.7. Visual Basic. Net ...............................................................................................................52
4.8. Shell (BASH) y Perl ..........................................................................................................54
4.8.1. Shell (BASH) ...............................................................................................................54
4.8.2. Perl ................................................................................................................................55
4.9. Swift, R y Go ......................................................................................................................57
4.9.1. Swift ..............................................................................................................................57
4.9.2. R .....................................................................................................................................58
4.9.3. Go ..................................................................................................................................59
V CAPITULO...................................................................................................................................61
Programando con Python ..........................................................................................................62
5.1. Ejercicios Prácticos- Básicos .......................................................................................62
5.1.1. Problema 01 ................................................................................................................62
5.1.2. Problema 02 ................................................................................................................62
5.1.3. Problema 03 ................................................................................................................62
5.1.4. Problema 04 ................................................................................................................63
5.1.5. Problema 05 ................................................................................................................63
5,1,6, Problema 06 ................................................................................................................63
5.1.7. Problema 07 ................................................................................................................63
5.1.8. Problema 08 ................................................................................................................63
5.1.9. Problema 09 ................................................................................................................64
5.1.10. Problema 10 ..............................................................................................................64
CONCLUSIONES...........................................................................................................................65
BIBLIOGRAFIA ..............................................................................................................................66
ANEXOS ..........................................................................................................................................69
INTRODUCCIÓN
1
I CAPITULO
2
PROGRAMACION COMO PARTE DE LA VIDA
UNIVERSITARIA
“Creo que todo el mundo en este país debería aprender a programar”. La frase no
la dice una persona cualquiera. Es de Steve Jobs, en una entrevista televisiva que
como estudiar derecho, no digo que todo el mundo tenga que ser abogado, pero es
útil porque te ayuda a pensar de una cierta manera, de la misma manera que la
programación te obliga a pensar de otra. Todo el mundo debería tomar uno o dos
pocos días era su sucesor al frente de la compañía, Tim Cook, el que aseguraba
Algunos países parecen haberse tomado en serio las palabras de Steve Jobs. El
gobierno chino aprobó el año pasado un plan para que los niños comiencen a
estudiar programación a partir de los seis años a la que, con el paso de los años,
pretende que, a partir de los 11 años, los alumnos también reciban clases de
3
admitía conocer algún lenguaje de programación, siendo Scratch el más popular
entre los alumnos. En el ámbito paterno una cifra resultaba esclarecedora: el 73%
eso es bueno. Pero tendría más relevancia si se practicase desde niveles inferiores
desgranamiento universitario junto con el poco interés de los jóvenes por estudiar
2015)
4
En este contexto, las iniciativas de reforma implican un cambio de perspectiva
perfiles más versátiles en las empresas hace que muchas personas se sienta
aplicaciones, otras desaparecen se transforman para ser más útiles, por tanto, la
programación está cada día más presente en la vida cotidiana, en pocos años será
veces somos reacios a aprender cosas nuevas, y trabajar con código desde fuera
da un poco de respeto, pero una vez que asimilas la estructura básica y su sintaxis
vez necesitamos más preparación para lograr un buen trabajo aprender un lenguaje
5
trabajo más cómodo, no niego que conocer un lenguaje no te va a solucionar la
vida, pero si puede abrirte puertas e incluso teniendo una base sobre programación
universidad?
programación debido a las exigencias del mundo laboral actual, en el cual este
conocimiento es muy valorado. Sin embargo, sí son las universidades las llamadas
a ‘mandar la parada’ respecto a qué lenguaje enseñar. Durante años, uno de los
manejar era Java, y aunque este sigue ocupando un lugar en el mundo real,
hay que distinguir entre dos ámbitos muy distintos a la hora de plantearse si la
todo el mundo estuviese formado ya que te explica cómo piensa una máquina,
cómo se le dan órdenes y cómo se programa para que automatice procesos y nos
6
está enfocado a un público más concreto que no tiene por qué estar familiarizado
con unas herramientas muy técnicas. “Creo que no sería adecuado que todas las
Para Marcos, el “simple hecho de saber trastear con un ordenador sería muy
importante” y pone el ejemplo de los colegios en los que se imparte robótica como
Peinado, aunque con matices: “Sí creo que el pensamiento computacional debería
enseñarse a un nivel por debajo de la Universidad para que todos tuviésemos una
formación básica igual que tenemos en cultura general y por eso estudiamos
7
posturas. Ricardo Galli, fundador de Menéame y también doctor en Informática es
después del primer año porque salen de un bachillerato científico** sin tener ni idea
alumnos en esas áreas y que les permiten salir mejor preparados al ámbito
computacional?
de Madrid, considera que la pregunta puede llevar a engaño ya que hay que distinguir
entre dos ámbitos muy distintos a la hora de plantearse si la programación debería impartirse
todo el mundo estuviese formado ya que te explica cómo piensa una máquina,
cómo se le dan órdenes y cómo se programa para que automatice procesos y nos
está enfocado a un público más concreto que no tiene por qué estar familiarizado
con unas herramientas muy técnicas. “Creo que no sería adecuado que todas las
8
carreras tuvieran una asignatura de programación textual, orientada a objetos y
Para Marcos, el “simple hecho de saber trastear con un ordenador sería muy
importante” y pone el ejemplo de los colegios en los que se imparte robótica como
Peinado, aunque con matices: “Sí creo que el pensamiento computacional debería
enseñarse a un nivel por debajo de la Universidad para que todos tuviésemos una
formación básica igual que tenemos en cultura general y por eso estudiamos
9
partidario del aprendizaje de lenguajes de programación, pero en un entorno muy
después del primer año porque salen de un bachillerato científico “sin tener ni idea
alumnos en esas áreas y que les permiten salir mejor preparados al ámbito
10
II CAPITULO
11
INTRODUCCION A LA PROGRAMACION
1.4. Antecedentes
de Charles Babbage la cual se le ocurrió a mediados del siglo XIX. Este un profesor
lenguaje maquina resulta muy lenta y tediosa, pues los datos e instrucciones se
memoria donde se almacenan los datos. Como puede imaginar, este tipo de
bastante tiempo y dedicación. Por este motivo, a principios de los 50 se crea una
1): ADD (sumar), STORE (copiar), etc. Al principio, la traducción del código de
12
ordenadores fueron introduciéndose en el mundo empresarial y académico,
aquellos primitivos lenguajes fueron sustituidos por otros más sencillos de aprender
y más cómodos de emplear. Estos lenguajes, llamados de alto nivel, tienen una
2015)
La programación a lo largo de los años tuvo una evolución que arraigo desde el
de programación universal.
• Para ese mismo año de 1958, Johm McCarthy crea el lenguaje para
nombre de LIPS.
en el futuro.
13
• En el mismo año de 1960, COBOL fue diseñado inspirándose en el
BEMBER.
C++.
y video juegos.
• A los principios de los 80 C++ fue creado para extender más este
14
2000.
• En el año de 1991,
aplicación.
operativos.
15
1.5. Conceptos generales que aborda la programación
1.5.1. Informática
rama del saber que abarca todos los aspectos del diseño y uso de las computadoras
y como consecuencia, debería cubrir todos aquellos problemas con los que nos
encontramos a la hora de realizar una tarea con una máquina de forma automática.
la realización de cada uno de esos pasos. Vamos a ver grandes rasgos cuáles son
las principales.
Es el proceso por medio del cual se diseña, codifica, limpia y protege el código
- Un sistema operativo.
16
el usuario y con sus dispositivos. Entre estos están los lenguajes de
(Gimenez, 2016)
entorno de desarrollo o revisión manual por parte del programador usando un papel
Los identificadores son palabras o símbolos léxicos que sirven para nombrar
ellos. Los lenguajes de programación cuentan con restricciones para el uso de los
(Gimenez, 2016)
17
ejecución de un programa y que contiene valores susceptibles de alterarse con el
tiempo. Una constante es exactamente lo mismo que una variable, pero a diferencia
de ésta, en una constante el valor que contiene no puede ser alterado. (Gimenez,
2016)
constantes.
un programa.
Las variables y las constantes (y otras cosas) tienen otra característica que es el
acerca de las operaciones que se pueden hacer con ellos. (Gimenez, 2016)
- Simples.
- Compuestos.
- Abstractos.
- Puntero.
- Objeto.
- Etc.
18
1.5.8. Operadores de datos
operandos (variables, constantes, etc.) y por los cuales se construye una expresión
- Aritméticos.
- Lógicos.
- Relacionales.
- Asignación.
- Dirección.
- Etc.
1.5.10. Comentarios
19
introduce dentro del código fuente de un programa. Los comentarios son posibles
ninguna norma lingüística más allá de la lengua natural del programador. (Gimenez,
2016)
conjunto de datos.
suponerse que una parte específica de datos siempre sea de igual tamaño.
cada vez.
20
introducen los datos, orden en que se procesan los datos, instrucciones
programa
la información que hoy en día damos como un hecho. En efecto, la misma tiene
como principal función el hecho de conseguir que innumerables trabajos que antes
ejercíamos de forma manual y con un alto costo sean ejecutados por un ordenador
con un ahorro significativo de tiempo. Por otro lado, dada la increíble cantidad de
información que hoy en día se maneja para distintas tareas, la programación es una
21
un número constante de tareas para poder sobrevivir. Con el paso del tiempo y el
desarrollo de la tecnología, estas tareas fueron ejerciéndose cada vez con un mayor
revolución industrial, momento en el cual vemos como existe una rápida sustitución
de actividades manuales por el trabajo llevado a cabo mediante máquinas. Así, los
vez con mayor poder cifras enormes de cálculos complejos que tienen la posibilidad
del hombre, generando distintos procesos automáticos que generan resultados que
sirven desde diversos aspectos, como por ejemplo el laboral, el estético, el lúdico,
22
III CAPITULO
23
ALGORITMOS
3.1.1. Introducción
cuestiones que se plantean para ser resueltas, la naturaleza de los problemas varia
con el ámbito o con el contexto donde están planteados: así existen problemas
3.1.2. Definición
solución de un problema.
24
Para realizar un programa es conveniente el diseño o definición previa del
hos libros acerca de lógica y programación nos dice “en la ciencia de la computación
3.1.3. Características:
3.2.1. Clasificación
- Secuenciales
- Condicionales
25
- Repetitivos
3.2.2. Tipos
algoritmos cualitativos.
- Tomar mate
- Solución de un factorial
- Diagramas Nassi-Shneiderman
- Pseudocódigo
26
- Fórmulas matemáticas
un diagrama de flujo en el que se omiten las flechas de unión y las cajas son
en los diagramas de flujo, se pueden escribir diferentes acciones en una caja. (Ver
ANEXO 3)
3.3.3. Pseudocódigo
como: Inicie, lea, imprima, sume, divida, calcule, finalice. No hay un léxico obligado
27
ANEXO 4)
computador
(Ver ANEXO 5)
Esta fase está dada por el enunciado del problema, el cual requiere una definición
clara y precisa. Tomar en cuenta que la solución del problema debe estar en función
esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
resolver un problema. Definición del problema Análisis del problema Diseño del
28
tener en cuenta que para la mayoría de ellos hay muchas maneras de resolver y
generales que se deben tomar en cuenta, las cuales son útiles en el análisis del
problema.
problema.
- Hacer explícita las reglas y datos que aparezcan implícitos (en muchos
El propósito del análisis del problema es ayudar al programador para llegar a una
de salida, son los requisitos más importantes para llegar a una solución eficaz.
Anexo……………
definir:
29
computadora y analicemos que es lo que necesitamos que nos ordenen y en que
le proporciona los sucesivos pasos a realizar. Estos pasos indican las instrucciones
divide y vencerás.
incompletos e indican solo unos pocos pasos, tras esta primera descripción estos
se amplían en una descripción más detallada con pasos específicos este proceso
30
En el diseño de un algoritmo tomamos en cuenta el siguiente desarrollo. (Ver
ANEXO 6)
realiza las tareas para las que ha sido diseñado y produce el resultado correcto y
esperado.
1Una vez que el algoritmo está diseñado, representado gráficamente mediante una
3.4.6. Codificación
31
aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solución sin errores se le llama
depuración.
La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de
3.4.8. Documentación
A menudo un programa escrito por una persona es usado por otra. Por ello la
- Documentación Interna
- Documentación Externa
- Diccionario de Datos
32
- Código Fuente (programa)
Manual del Usuario: Describe paso a paso la manera cómo funciona el programa,
3.4.9. Mantenimiento
siga trabajando de manera correcta. Para poder realizar este trabajo se requiere
33
IV CAPITULO
34
LENGUAJES DE PROGRAMACIÓN
4.1.1. Definición
como si fuesen sinónimos, no es del todo correcto, ya que los lenguajes informáticos
engloban a los lenguajes de programación y a otros más, como por ejemplo HTML
permite especificar de manera precisa sobre qué datos debe operar una computadora,
cómo estos datos deben ser almacenados o transmitidos y qué acciones debe tomar
bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que
intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede
programa
traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código
35
- Intérpretes: Un intérprete es un traductor que toma un programa fuente, lo
Sin embargo, está muy extendida la versión interpretada del lenguaje Smalltalk,
lenguajes compiladores típicos más utilizados son: C, C++, Java, C#, Pascal,
36
programa en lenguaje máquina directamente ejecutable. (Prieto Espinoza & Prieto
Campos, 2005)
- Escritura del programa fuente con un editor (programa que permite a una
programa.
principales son:
37
mientras que “código máquina” hace referencia al modo en que se escriben los
lenguajes de más bajo nivel son los lenguajes de máquinas. A este nivel le
ciertas características que los acercan a los lenguajes de bajo nivel, como
lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común
38
una manera más fácil y rápida. (Prieto Lloris & Torres, 2005)
(Brueghel, 2008)
correcto todo el código. Los intérpretes analizan las instrucciones según las
39
terminar correctamente una ejecución de un programa con errores siempre que
errores.
- Los binarios son compilados para una arquitectura específica y no pueden ser
- Los lenguajes compilados son más eficientes que los interpretados y además
Para obtener las ventajas de ambos tipos de lenguajes algunos utilizan una
Hay que hacer notar que algunas aplicaciones permiten ser programadas con
sino solicitar acciones a la aplicación sobre la que se ejecutan. Por tanto, aunque
40
diseñado para trabajar con bases de datos. Este lenguaje SQL es interpretado por el
términos del estado del programa y sentencias que cambian dicho estado. Los
axiomático
41
Scheme), ML o Haskell. El mecanismo de inferencia genérico se basa en la
- Orientado a Objetos: Cada vez más utilizado, sobre todo en combinación con
son C++, Java, Python. Usa objetos y sus interacciones para diseñar
4.3.1. Java
Al hablar de Java, nos estamos refiriendo a tres cosas asociadas con la programación
del lenguaje permitieron crear una plataforma tan extensa que tiene alcance lo mismo
web; este alcance ha creado un verdadero fenómeno tecnológico; tanto, que hoy por
hoy hay más de 4 500 millones de equipos que tienen instalado Java. Entonces, en
estricto sentido, esta tecnología sirve para hacer aplicaciones, virtualmente, para
cosas, los elementos del lenguaje, los objetos para las interfaces gráficas y los
mecanismos de conexión a base de datos, que son lo primero que debe saberse para
42
programación orientada a objetos (POO); esto obliga a que todo curso de Java tenga
porque sus aplicaciones deben orientarse a objetos, pero para explicar lo esencial no
es necesario. De tal manera que se pueden crear programas sencillos sin seguir
ningún patrón, pero esto impide la compresión de la parte no trivial del lenguaje.
(Dávila, 2009)
JavaScript permite con nuevos elementos dinámicos ir más allá de clicar y esperar en
una página Web. Los usuarios no leerán únicamente las páginas, sino que además
las páginas ahora adquieren un carácter interactivo. Esta interacción permite cambiar
las páginas dentro de una aplicación: poner botones, cuadros de texto, código para
hacer una calculadora, un editor de texto, un juego, o cualquier otra cosa que pueda
a los CGI. Aún no hay definición clara del scripting language ("lenguaje interpretado
de comandos"). A veces el término se usa para distinguir este tipo de lenguaje de los
JavaScript extiende la página Web más allá de su uso normal. Hay numerosas
43
imaginación. (Torres, 2008)
como un botón o un cuadro de selección, pueden causar un evento que ejecutará una
acción. Cuando ocurre alguno de estos eventos se ejecuta una función en JavaScript.
contenido de la página Web, o hacen otras tareas para dar respuesta de algún modo
categorías:
que lo que hace es generar código JavaScript que se ejecuta en cualquier navegador,
finalmente a JavaScript, la versión del JavaScript en la cual será compilado junto con
44
serie de ventajas sobre JavaScript, o ES2016, ya que tiene una serie de
características que ES* no suele tener. (Valverde Ramos & Mora de Fuentes, 2005)
Por ejemplo:
- Interfaces Clases
- (Clases de verdad)
- Es fuertemente tipado
importante sea que gracias a el tiempo de debuggin es reducido ya que, para poder
aplicación y se le debe sumar el tiempo que se tarde en la detección del fallo, mientras
que con TypeScript el código simplemente no será compilado y nos dará un error en
cumplido, las interfaces en TypeScript pueden ser heredadas esto lo veremos más
los tipos de datos que se quieren utilizar (en caso de que no se especifiquen serán de
tipo ANY, pero eso lo veremos más adelante). (Valverde Ramos & Mora de Fuentes,
2005)
4.4. Ruby
45
- Retroalimentación inmediata durante el proceso de desarrollo
Rápido y sencillo:
- Todo es un objeto
- Métodos singleton
- Iteradores y cierres
También:
- Carga dinámica
- Hilos
4.5. Phyton
los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty
Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece
46
lugar de compilar el código a lenguaje máquina que pueda comprender y
los lenguajes compilados es que su ejecución es más rápida. Sin embargo, los
.pyc o .pyo (bytecode optimizado), que son los que se ejecutarán en sucesivas
según el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar
tipo distinto al que tiene, es necesario convertir de forma explícita dicha variable
al nuevo tipo previamente. Por ejemplo, si tenemos una variable que contiene
plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo
47
podrá correr en todos estos sistemas sin grandes cambios. (Duque, 2013)
programación en el que los conceptos del mundo real relevantes para nuestro
del programa consiste en una serie de interacciones entre los objetos. Python
Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y
disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una
aplicación en Python sea sencillo, muy rápido y, lo que es más importante, divertido.
los programas elaborados en Python parecen pseudocódigo. Por este motivo se trata
adecuado sin embargo para la programación de bajo nivel o para aplicaciones en las
que el rendimiento sea crítico. Algunos casos de éxito en el uso de Python son Google,
Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que
Python cada vez representa un tanto por ciento mayor de los programas disponibles.
(Duque, 2013)
4.6. C. C++ y C#
4.6.1. C
mediados de los años 70. La primera implementación del mismo la realizó Dennis
48
el cual influyó en el desarrollo por parte de Ken Thompson de un lenguaje llamado B,
lenguaje deja bajo la responsabilidad del programador acciones que otros lenguajes
realizan por sí mismos. Así, por ejemplo, C no comprueba que el índice de referencia
como sucede con otros lenguajes estructurados tales como el Pascal. Además, el
llamándose desde ella al resto de funciones que compongan nuestro programa. Desde
49
el lenguaje C, y es por ello que surgió un standard de C, llamado ANSI-C, que declara
una serie de características, etc., que debe cumplir todo lenguaje C. Por ello, y dado
que todo programa que se desarrolle siguiendo el standard ANSI de C será fácilmente
4.6.2. C++
Strousstrup, como extensión del lenguaje C. Este lenguaje abarca tres paradigmas de
la programación:
- Programación Estructurada
- Programación Genérica
sea en Windows o GNU Linux, que es el sistema operativo en el cual nos basaremos
Los programas se pueden escribir en cualquier editor de textos de GNU, entre ellos
se encuentran emacs, vim, kate, gedit, nan, guardando dichos archivos con extensión
.cpp, los cuales serán compilados en GNU/linux utilizando el compilador GNU de C++,
llamado gcc que puede compilar C, C++, y que además se apega al estándar ANSI,
50
Para compilar ponemos la siguiente línea en una terminal previamente ubicada en el
programas la compilación de ´estos son muy fácil, pero cuando se trabaja con
proyectos grandes, con varios archivos fuente la compilación resulta más difícil, por lo
que Linux proporciona la utilería make de GNU, el cual busca un archivo make donde
archivo busca la palabra makefile o Makefile, que son nombres predeterminados. Los
con una sintaxis muy específica. Un makefile se define como una lista de normas y
4.6.3. C#
soporta la Plataforma .NET está escrito en C#. (Bell & Parr, 2001)
más fácil de utilizar y menos propenso a errores. C# es “case sensitive”, es decir, que
51
distingue mayúsculas de minúsculas. HolaMundo es diferente a holamundo.
Sin duda C# es uno de los mejores lenguajes de programación que podemos aprender
Debido a que:
Java.
utilizando formulario y controles a los cuales se les puede escribir código para definir
52
móviles. (Bermúdez, 2017)
NET FrameWork
siguientes objetivos:
mismo.
(Bermúdez, 2017)
siguientes conceptos:
53
clases del espacio de nombres System.Windows. Forms que se utiliza para
System
System.Windows. Forms
y servicios:
- Aplicaciones de consola.
- Aplicaciones ASP.NET.
- Servicios Web.
permitiéndole a aquél interactuar con los recursos de éste. El usuario introduce sus
54
estructuras lógicas de control, que cuentan con características similares a las del
sistema y que permiten que los usuarios y grupos de la máquina cuenten con un
mandatos: los basados en el intérprete de Bourne (BSH, KSH o BASH) y los basados
de la información.
4.8.2. Perl
Perl significa Practical Extraction and Report Language, algo así como lenguaje
práctico de extracción y de informes. Es un lenguaje creado por Larry Wall (quien, por
55
(en su versión 5.005, y posiblemente pronto, la 5.6) se ha convertido en un lenguaje
de un buen webmaster. Larry Wall es el tipo de personas que han hecho de la Internet
lo que es ahora: un lugar con libre intercambio de ideas, donde los que saben de algo,
los gurus, ayudan al que no sabe. Larry solía ser un habitual del grupo de use net
comp. lang. Perl, y era habitual que el propio Larry contestara a una pregunta de un
comunidad Perl es tal que no le deja mucho tiempo. Perl es un lenguaje que hereda
de otras utilidades estándar, como awk y sed. Aparte de esto, está diseñado para
hacer todo lo que hacen cualquiera de ellos y todos ellos juntos, y la mayoría de las
veces de forma más simple, comprensible y fácil de depurar (aunque algunas veces
no muy fácil de entender). Si alguna vez habeis tratado de escribir un script para el
Shell, sabéis lo que quiero decir. Perl es un lenguaje interpretado, aunque en realidad,
el intérprete de Perl, como todos los intérpretes modernos, compila los programas
escritos en Perl, pero son los menos. La forma del lenguaje facilita la programación
rápida y sucia, el hacer un programa rápido para que funcione. Esto hace también que
56
se utilice para hacer prototipos rápidos de algún algoritmo que queremos ver funcionar
(Santana, 2014)
Internet llevan la extensión .pl, lo cual denota que están escritos en Perl. En general,
los programas en Perlse ejecutan en el servidor, como todos los programas CGI, a
serie de módulos adicionales, tales como el DBD o el ODBC, Perl puede servir para
acceder a bases de datos, desde BD gratuitas como MySQL hasta el Microsoft SQL
server usando ODBC. Por supuesto, esto se puede combinar con un CGI para hacer
aplicaciones tales como un carrito de la compra para un sitio web. Pero esto se deja
4.9. Swift, R y Go
4.9.1. Swift
mordida anunció el año pasado que éste pasaría a ser de código abierto, una noticia
57
desarrollo de Apple, Swift es un potente lenguaje de programación que permite a una
con código escrito en Objective-C. Así, los desarrolladores pueden ofrecer más
proporciona archivos binarios para OS X y Linux que compilan código para iOS, OS X,
watchOS, tvOS y Linux. Y como quieren que Swift sea cada vez más potente, han
4.9.2. R
R fue creado en 1992 en Nueva Zelanda por Ross Ihaka y Robert Gentleman (Ihaka
[1998]). La intención inicial con R era hacer un lenguaje didáctico, para ser utilizado
ello decidieron adoptar la sintaxis del lenguaje S desarrollado por Bell Laboratories.
todo en los detalles un poco más profundos de la programación. (Sergio Santana &
58
PlayStation. El término ambiente pretende caracterizarlo como un sistema totalmente
específicas y poco flexibles, como suele ser con otro software de análisis de datos. El
creación1, como lo explica John Chambers (Chambers and Hastie [1991]), cito:
este libro nos inclinaremos hacia el lado de la programación (lenguaje) más que tocar
Anexo……………. Imagen
4.9.3. Go
lenguaje simple, rápido, seguro, divertido y open source. Go sigue una sintaxis tipo C,
2010)
59
- Es un lenguaje compilado muy, muy rápido.
- Usa una codificación UTF-8 para todos los ficheros fuente, es decir, permite
- Usa tipado fuerte y memoria virtual segura. Posee punteros, pero no aritmética
de los mismos.
Go es un proyecto promovido por cinco personas: Rob Pike, Robert Griesemer y Ken
Thompson, en primera instancia, a los que se unieron posteriormente Russ Cox e Ian
Lance Taylor. Todos los anteriormente citados, forman parte de GoogleTM. Varios de
ellos desarrollaron el Sistema Operativo Plan 9 y han retomado muchas de las ideas
60
V CAPITULO
61
Programando con Python
En el capítulo anterior se menciona una lista de lenguajes de programación, de las
cuales se toma a Python por ser un lenguaje bastante interactivo, que nos permitirá
crear una infinidad de aplicaciones, diseños de página web, etc. Se desarrolla desde
ejercicios básicos hasta el punto de crear programas básicos que nos permitirán
5.1.1. Problema 01
- Definir una función max() y min() que tome como argumento dos números y
devuelva el mayor y menor de ellos. (Es cierto que Python tiene una función
Solución:
(Ver ANEXO 8)
5.1.2. Problema 02
- Definir una función max y min_de_tres (), que tome tres números como
Solución:
(Ver ANEXO 9)
5.1.3. Problema 03
- Definir una función que calcule la longitud de una lista o una cadena dada.
(Es cierto que Python tiene la función len () incorporada, pero escribirla por
Solución:
62
5.1.4. Problema 04
- Escribir una función que tome un carácter y devuelva True si es una vocal, de
Solución:
5.1.5. Problema 05
- Escribir una función sum () y una función multip () que sumen y multipliquen
respectivamente todos los números de una lista. Por ejemplo: sum ([1,2,3,4])
Solución:
5,1,6, Problema 06
- Definir una función inversa () que calcule la inversión de una cadena. Por
yotse"
Solución:
5.1.7. Problema 07
- Escribir una función max_in_list() que tome una lista de números y devuelva el
más grande.
Solución:
5.1.8. Problema 08
- Definir una función superposicion() que tome dos listas y devuelva True si
63
tienen al menos 1 miembro en común o devuelva False de lo contrario.
Solución:
5.1.9. Problema 09
Solución:
5.1.10. Problema 10
Solución:
64
CONCLUSIONES
programación, más bien como señalan los expertos que esto es indispensable cuando
programación nos permitirá tener bases solidas para crear e interpretar código en los
soluciones a ciertos problemas planteados y que a la vez los flujogramas hacen que
sean entretenidos.
las mas simples hasta la mas complejas, todas estas con un fin, solucionar un
problema. En esta ocasión se usa Python como lenguaje de practica que nos permitió
65
BIBLIOGRAFIA
http://es.tldp.org/Manuales-LuCAS/doc-guia-usuario-ruby/guia-usuario-
ruby.pdf
Santiana.
Santiana.
Montevideo: lecasabe.
Dávila, J. C. (2009). Curso de Java: Desde cero hasta conexiones de datos MySQL.
Mexico: Training&Consulting.
http://www.utic.edu.py/citil/images/Manuales/Python_para_todos.pdf
https://www.importancia.org/programacion-informatica.php
https://informatica.uv.es/estguia/ATD/apuntes/laboratorio/Lenguaje-C.pdf
66
https://www.xataka.com/otros/debe-ensenarse-programacion-en-todas-las-
carreras-de-la-universidad
de
https://paginas.matem.unam.mx/pderbf/images/documentos/mprogintc%2B%
2B.pdf
https://computerhoy.com/noticias/software/que-es-swift-48026
https://programavideojuegos.blogspot.com/2013/04/10-conceptos-basicos-de-
programacion.html
http://www.informatica.us.es/~ramon/articulos/Programacion-BASH.pdf
https://www.enter.co/cultura-digital/ciencia/cual-lenguaje-de-programacion-
deberian-ensenar-las-universidades/
Prieto Espinoza, A., & Prieto Campos, B. (2005). Conceptos de Informática. Madrid:
McGraw-Hill.
Prieto Lloris, A. A., & Torres. (2005). Introducción a la informática. Madrid: McGraw-
Hill.
67
PROGRAMAR, Y TÚ? Obtenido de Negocios Caninos:
https://www.negocioscaninos.com/todo-el-mundo-deberia-aprender-a-
programar-y-tu/
http://es.tldp.org/Tutoriales/PERL/tutoperl-print.pdf
Agua.
Valverde Ramos, E., & Mora de Fuentes, P. H. (2005). Type Script. España.
Obtenido de http://fanta.56k.es/libros/tecnicos/Manual-TypeScript.pdf
Obtenido de
https://moodle2.unid.edu.mx/dts_cursos_mdl/lic/IC/EA/AM/06/Algoritmos.pdf
https://conceptodefinicion.de/programacion-informatica/
68
ANEXOS
Fuente: https://digicommcybernet.blogspot.com
Elaboración: Héctor Frías
69
ANEXO 2: Símbolos de un Diagrama de Flujo
Fuente: https://es.slideshare.net
Elaboración: AliniuZiz Rguez T
70
ANEXO 3: Diagrama Nassi – Shneiderman
Fuente: http://cuaderno-de-programacion.blogspot.com
Elaboración: Mi Cuaderno de Programación
71
ANEXO 4: Ejemplo de Pseucodigo
Fuente: https://steemit.com
Elaboración: Cervantes
72
ANEXO 5: Etapas para la Solución de un Problema por Medio del
Computador
Fuente: Algoritmos
Elaboración: Tiago Hugo
73
ANEXO 6: Diseño de un algoritmo
Fuente: Algoritmos
Elaboración: Tiago Hugo
74
ANEXO 7: Interfaz Gráfica de Python
Fuente: https://azure.microsoft.com
Elaboración: Asavari Tayal
75
ANEXO 8: Problema 01
Fuente: http://www.pythondiario.com
Elaboración: Propia
76
ANEXO 9: Problema 02
Fuente: http://www.pythondiario.com
Elaboración: Propia
77
ANEXO 10: Problema 03
Fuente: http://www.pythondiario.com
Elaboración: Propia
78
ANEXO 11: Problema 04
Fuente: http://www.pythondiario.com
Elaboración: Propia
79
ANEXO 12: Problema 05
Fuente: http://www.pythondiario.com
Elaboración: Propia
80
ANEXO 13: Problema 06
Fuente: http://www.pythondiario.com
Elaboración: Propia
81
ANEXO 14: Problema 07
Fuente: http://www.pythondiario.com
Elaboración: Propia
82
ANEXO 15: Problema 08
Fuente: http://www.pythondiario.com
Elaboración: Propia
83
ANEXO 16: Problema 09
Fuente: http://www.pythondiario.com
Elaboración: Propia
84
ANEXO 17: Problema 10
Fuente: http://www.pythondiario.com
Elaboración: Propia
85