domingo, 21 de octubre de 2012

Codigo Fuente


Sin importar el propósito, la mayoría de los programas de computadoras son escritos con código fuente. El código fuente consiste en una secuencia de instrucciones que le dice a la computadora lo que debe de hacer. El código fuente es especifico para cada lenguaje de programación, como lo es C. Cada lenguaje de programación tiene un especifico grupo de reglas que definen lo que es y lo que no es legal hacer en ese lenguaje.

Por ejemplo, si programáramos con el idioma español, tu código fuente sería algo así:

Hola computadora!
Hazme un favor. imprime una linea de código que diga lo siguiente:
¡Bienvenido a la programación en lenguaje C!

Si tu quisieras hacer correr este programa, necesitarías un programa que reconociera el código fuente escrito en español. Pero en nuestro caso, tenemos herramientas que si entienden el código fuente escrito en C. Veamos un programa escrito en código fuente de C que hace exactamente lo mismo


#include <stdio.h>

int main (int argc, const char * argv[]) 
{
    printf("¡Bienvenido a la programación en lenguaje C!");

    return 0;
}

Al correr este programa lo que aparece es lo siguiente:

¡Bienvenido a la programación en lenguaje C!

En caso de que quieras intentarlo lo que debes hacer es abrir XCode o NetBeans y crear un nuevo poyecto con el nombre que quieras ponerle, en mi caso lo llamé "BienvenidaProgramacionC" (sin comillas), recuerda que el nombre debe de ir sin caracteres especiales y sin espacios, una vez que lo creas te habrira un apantalla como esta:



si estas en XCode o como esta:

si estas usando NetBeans

Si te fijas este código lo encontraras en el archivo llamado "main.c" en este archivo escribiremos nuestro código fuente  para crear las aplicaciones.
Pero empecemos desde el principio, las lineas de código que empiezan con un #include <xxx> donde xxx es el nombre de la librería, se les llaman librerías. Estas librerías sirven para agregar cierta funcionalidad a nuestro programa. Después sigue una línea de codigo que dice: 
int main (int argc, const char * argv[])
{

A esto se le conoce como el main. Esto nos dice donde empieza el cuerpo de nuestro programa, es decir, dentro de las llaves escribiremos lo que queremos que haga nuestro programa, por ejemplo imprimir la linea de codigo que diga ¡Bienvenido a la programación en lenguaje C!, para hacer esto debemos agregar lo siguiente dentro de las llaves:
 printf("¡Bienvenido a la programación en lenguaje C!");
printf("") es una herramienta de la biblioteca que declaramos previamente (#include <stdio.h>) que nos permite imprimir el mensaje o texto que queramos. Para utilizar printf ("") debemos asegurarnos de escribirlo con minúsculas justo como se muestra arriba, seguido por parentesis y las comillas. Las comillas indican dónde acaba el mensaje y los parentesis indican dónde termina el dominio de printf. Debes asegurarte de escribirlo justo como se muestra arriba ya que C es "Case Sensitive" lo que significa que si llegaras a poner un espacio, o una letra mayúscula o un caracter donde no debe de ir, al momento de querer correr el programa, el compilador te mostrará errores que no te dejarán correr el programa, por eso, debes ser muy cuidadoso de escribir el código fuente según deba ir. No te preocupes, con la practica te familiarizaras y podrás darte cuenta rápidamente cómo debe de ir escrito el código para que no marque errores. Si se dan cuenta, al finalizar el printf nos encontramos con un punto y coma ( ; ), este punto y coma se debe utilizar cada vez que acabamos de realizar una declaración. El return 0; o return (EXIT_SUCCESS) sirve para que el compilador (que es el encargado de traducir nuestro código para que lo reconozca la computadora) sepa que no regresamos ningun valor, hablaremos de esto más adelante. Por lo mientras una vez que ya tengas escrito todo esto en tu código si aprietas el botón "build and Run" 
                                            
         o "Run" si estas en NetBeans          


te aparecera una ventana como esta si estas en XCode:



o si estas en NetBeans te aparecera el mensaje en una ventana justo debajo de donde está tu código fuente. Ahora ya sabes imprimir texto y para que sirven varias cosas dentro de main.c.


Referencias:
Deitel, P. Deitel, H. (2007). Septima Edición. Java Cómo Programar. Pearson, 35-43.

martes, 2 de octubre de 2012

estrategia de búsqueda

140384 DE "PROGRAMMING languages (Electronic computers) -- Semantic

Diagramas UML

UML ("Lenguaje Unificado de Lenguaje") es el lenguaje que modela el diseño de los sistemas de software mas conocido ademas que es al mas utilizado en la actualidad, esto ocurre por el simple echo que con un diseño de este diagrama podes verificar que no se encuentre ningún error en la ejecución del sistema, un error de lógica, si existen clases, objetos  variables que no se usen o encontrar una manera mas productiva  en que se ejecute el programa.

UML también conocidos como diagramas de clases nos permite ver de una manera mas gráfica la interacción de las clases en el caso de  tener un modelo de programación de MVC nos permite verificar que no mezclemos métodos que deberían ir en otras clases, al mismo tiempo nos permite mostrar que cuantos objetos son llamados por cada clase por ejemplo si en la linea donde comienza se en cuneta un 1 y donde termina existe un * quiere decir que un método es llamado u usado por todos los métodos de la otra clase.

abajo se encuentra un ejemplo de como se estructura un diagrama de UML.

NALEPA, G. J., & KLUZA, K. (2012). UML REPRESENTATION FOR RULE-BASED APPLICATION MODELS WITH XTT2-BASED BUSINESS RULES.International Journal Of Software Engineering & Knowledge Engineering,22(4), 485-524. doi:10.1142/S021819401250012X



Model View Controller

Model View Controller (MVC)
es la estructura de programación clásica y la mas usada actualmente  por la mayoría de lenguajes de programación de alto nivel como por Ejemplo: C#, Java, JavaScript, Cocoa, XCode etc.

Esta estructura como dice su nombre se encarga de dividir los métodos en 3 clases:

* Model ("Modelo"): Se encarga de ejecutar la lógica del programa es decir una acción o procedimiento un ejemplo seria una calculadora el modelo solo ejecutaría solo la operación matemática y guarda el resultado.

*View ("Interfaz Visual"): Como dice su nombre su trabajo es interactivo con el usuario por medio de objetos visuales como una ventana y muestra los resultados de una operación en el caso del ejemplo anterior se encarga de mandar al controlador los dígitos que inserto y mostrar el resultado.

*Controller ("Controlador"): Saber su función es trivial pues con solo saber su nombre sabemos que se encarga de comunicar las clases del Modelo y View intercambiando información entre ellos ("este método solo informa las acciones a los otras 2 clases pero nunca ejecuta por si solo algún método").

Sierra, J., Fernández-Manjón, B., & Fernández-Valmayor, A. (2008). A language-driven approach for the design of interactive applications.Interacting With Computers20(1), 112-127. doi:10.1016/j.intcom.2007.09.001

Programacion Orientada a Objetos

Programación orientada a objetos (OO), es una estructura que pertenece al funcionamiento actuales de todos los sistemas, pero para entender mejor este tema debemos comprender el concepto de comunicación entre clases y el uso externo de los métodos entre las clases, esto quiere decir que una buena estructura de un programa facilita la ejecución y la lectura del pseudocodigo creando una forma amigable de programar.
En el caso de comunicar variables consiste en que distintas clases pueden modificar o solicitar el estado de las variables e incluso puede ejecutar las acciones de los métodos esta acciones se les llama herencia a esta estructura de comunicación se le llama objetos puedes decides comunicar una clase por un objeto que tiene el método de esa clase creando comunicaciones entre objetos de distintas clases.

Grothoff, C., Palsberg, J., & Vitek, J. (2007). Encapsulating Objects with Confined Types. ACM Transactions On Programming Languages & Systems29(6), 32-32:41. doi:10.1145/1286821.128682