Professional Documents
Culture Documents
PROGRAMACIÓN
GERSON RIVERA
Funciones
Cuando se desarrolla una aplicación compleja, es muy habitual utilizar una y otra vez las mismas
instrucciones. Un script para una tienda de comercio electrónico por ejemplo, tiene que calcular el
precio total de los productos varias veces, para añadir los impuestos y los gastos de envío.
Cuando una serie de instrucciones se repiten una y otra vez, se complica demasiado el código
fuente de la aplicación, ya que:
El código de la aplicación es mucho más largo porque muchas instrucciones están
repetidas.
Si se quiere modificar alguna de las instrucciones repetidas, se deben hacer tantas
modificaciones como veces se haya escrito esa instrucción, lo que se convierte en un
trabajo muy pesado y muy propenso a cometer errores.
Las funciones son la solución a todos estos problemas, tanto en JavaScript como en el resto de
lenguajes de programación. Una función es un conjunto de instrucciones que se agrupan para
realizar una tarea concreta y que se pueden reutilizar fácilmente.
En el siguiente ejemplo, las instrucciones que suman los dos números y muestran un mensaje con
el resultado se repiten una y otra vez:
Aunque es un ejemplo muy sencillo, parece evidente
que repetir las mismas instrucciones a lo largo de todo
el código no es algo recomendable. La solución que
proponen las funciones consiste en extraer las
instrucciones que se repiten y sustituirlas por una
instrucción del tipo "en este punto, se ejecutan las
instrucciones que se han extraído":
Por lo tanto, en primer lugar se debe crear la función
básica con las instrucciones comunes. Las funciones
en JavaScript se definen mediante la palabra
reservada function, seguida del nombre de la función.
Su definición formal es la siguiente.
El nombre de la función se utiliza para llamar a esa
función cuando sea necesario. El concepto es el mismo
que con las variables, a las que se les asigna un nombre
único para poder utilizarlas dentro del código. Después del
nombre de la función, se incluyen dos paréntesis cuyo
significado se detalla más adelante. Por último, los
símbolos { y } se utilizan para encerrar todas las
instrucciones que pertenecen a la función (de forma similar
a como se encierran las instrucciones en las
estructuras if o for).
Una vez creada la función, desde cualquier punto del
código se puede llamar a la función para que se ejecuten
sus instrucciones (además de "llamar a la función",
también se suele utilizar la expresión "invocar a la
función").
La llamada a la función se realiza simplemente indicando
su nombre, incluyendo los paréntesis del final y el
carácter ; para terminar la instrucción:
Dentro de la función, el valor de la
variable primerNumero será igual al primer valor
que se le pase a la función y el valor de la
variable segundoNumero será igual al segundo
valor que se le pasa. Para pasar valores a la función,
se incluyen dentro de los paréntesis utilizados al
llamar a la función:
Lenguaje Android
Kotlin
Es el más nuevo de todos en lo que a programación de Android se refiere, ya que hace
prácticamente un año, Google lo adoptaba como lenguaje de primer nivel para el desarrollo
Android
Según muchos desarrolladores, es el digno sucesor de Java, ya que es un lenguaje mucho más
moderno, sencillo y menos confuso que el actual rey de los lenguajes de programación en Android.
Su código es perfectamente compatible con Java, es decir, si contamos con una App escrita en
Java y queremos añadir alguna nueva función, no será necesario tirar código completo, sino que
escribiremos en Kotlin directamente. La consecuencia directa de esta compatibilidad es que, como
era de esperar, toda librería Java puede ser utilizada desde Kotlin.
Java
Es el lenguaje básico y base para cualquier desarrollo en Android, ya que es su lenguaje nativo,
aunque actualmente una gran parte de la comunidad de desarrolladores Android coincide en que
Java se encuentra anticuado.
Dado que la API de Android hace uso de este lenguaje, deberemos contar con ciertos
conocimientos de este lenguaje para poder llegar a programar nuestra propia aplicación.
La principal ventaja de este lenguaje de programación es, a parte de lo establecido que se
encuentra, es la gran comunidad que tiene, es decir, si en algún necesitaras ayuda o soporte de
algún tipo, no te sería muy difícil hallar una solución.
Otra de las ventajas de Java es que, conociendo unas premisas u órdenes relativamente básicas,
podrás llegar a programar complejos programas y, gracias a este lenguaje, podrás crear
prácticamente cualquier tipo de aplicación sin apenas límites.
XML
Si traducimos sus siglas al español, significa Lenguaje Extensible de Marcas. Su función
principal es el uso de etiquetas con el fin de almacenar datos de una forma más legible y
“sencilla” de cara al usuario y al ordenador. Digamos que ofrece una referencia al campo
semántico de la etiqueta que incluyamos en el código.
Lenguaje C++
C++ es un lenguaje de programación orientado a objetos que toma la base del lenguaje C y le
agrega la capacidad de abstraer tipos como en Smalltalk.
C++ es un lenguaje de programación diseñado a mediados de los años 80 por Bjarne Stroustrup.
La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos
que permitieran la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de
programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos
(programación estructurada y la programación orientada a objetos). Por esto se suele decir que el
C++ es un lenguaje de programación multiparadigma.
En la actualidad, el C++ es un lenguaje versátil, potente y general. Su éxito entre los programadores
profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de
aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones,
flexibilidad, concisión y eficiencia. Además, ha eliminado algunas de las dificultades y
limitaciones del C original. La evolución de C++ ha continuado con la aparición de Java, un
lenguaje creado simplificando algunas cosas de C++ y añadiendo otras, que se utiliza para realizar
aplicaciones en Internet.
Las principales herramientas necesarias para escribir un programa en C++ son las siguientes:
Un compilador de C++
Paciencia
Nociones sobre programación
Un editor cualquiera de texto, o mejor un entorno de desarrollo (IDE)
Si estas en windows puedes usar:
Visual c++
Visual Studio
Notepad++
DevCpp
Code::Blocks
Eclipse
entre otros
Tipos de Librerias
fstream: Flujos hacia/desde ficheros. Permite la manipulación de archivos desde el
programar, tanto leer como escribir en ellos.
iosfwd: Contiene declaraciones adelantadas de todas las plantillas de flujos y sus typedefs
estándar. Por ejemplo ostream.
iostream: Parte del a STL que contiene los algoritmos estándar, es quizá la más usada e
importante (aunque no indispensable).
La biblioteca list: Parte de la STL relativa a contenedores tipo list; listas doblemente
enlazadas
math: Contiene los prototipos de las funciones y otras definiciones para el uso y
manipulación de funciones matemáticas.
memory: Utilidades relativas a la gestión de memoria, incluyendo asignadores y punteros
inteligentes (auto_ptr).
"auto_ptr" es una clase que conforma la librería memory y permite un fácil manejo de
punteros y su destrucción automaticamente.
Biblioteca new: Manejo de memoria dinámica
numeric: Parte de la librería numérica de la STL relativa a operaciones numéricas.
ostream: Algoritmos estándar para los flujos de salida.
queue: Parte de la STL relativa a contenedores tipo queue (colas de objetos).
Librería stdio: Contiene los prototipos de las funciones, macros, y tipos para manipular
datos de entrada y salida.
Librería stdlib: Contiene los prototipos de las funciones, macros, y tipos para utilidades
de uso general.
string: Parte de la STL relativa a contenedores tipo string; una generalización de las
cadenas alfanuméricas para albergar cadenas de objetos. Muy útil para el fácil uso de las
cadenas de caracteres, pues elimina muchas de las dificultades que generan los char
typeinfo: Mecanismo de identificación de tipos en tiempo de ejecución
vector: Parte de la STL relativa a los contenedores tipo vector; una generalización de las
matrices unidimensionales C/C++
forward_list Esta librería es útil para implementar con gran facilidad listas enlazadas
simples.
list Permite implementar listas doblemente enlazadas (listas enlazadas dobles) facilmente.
iterator Proporciona un conjunto de clases para iterar elementos.
regex Proporciona fácil acceso al uso de expresiones regulares para la comparación de
patrones.
thread Útil para trabajar programación multihilos y crear múltiples hilos en nuestra
aplicación.