jueves, 29 de noviembre de 2012

Crear nuestro primer proyecto en XCode En el caso de tener XCode, lo primero que debemos hacer es abrir la aplicación que se encuentra en la dirección: (Finder/Macintosh HD/Developer/Applications/XCode). Una vez ejecutada la aplicación te aparecerá una pantalla de bienvenida si es la primera vez que lo corres. Con el paso del tiempo te darás cuenta que no tiene caso que te siga apareciendo la pantalla de bienvenida así que puedes quitar la palomita del "check box" para que ya no aparezca cada vez que inicies el programa. Para crear una nueva aplicación debes seleccionar en la barra de menú File y después la opción New Project, aparecerá una ventana como la de la imagen 1 (La imagen puede variar según la versión de XCode). Imagen 2 Una vez ahí, en la barra de lado izquierdo de la ventana buscan en "Mac OS X" la opción que dice application, te aparecerán varias opciones, da clic en la que dice Command Line Tool. Justo abajo aparecerá la opción "Type", elige C, da clic enChoose y saldrá una nueva ventana para que le des nombre a tu nuevo proyecto y elijas el lugar donde lo quieres guardar (imagen 2). Lo primero que debes hacer es crear una carpeta para guardar tus aplicaciones, te recomiendo crear una carpeta en "documents". Para hacer esto primero elige en la barra de lado derecho el lugar donde quieras guardar tus programas y una vez elegido el lugar, das clic en la opción que dice New Folder; Eliges como quieres que se llame el folder y das clic en create. XCode creará un nuevo folder donde podrás guardar todos tus programas. Después escribimos el nombre del proyecto, el proyecto debe llamarse según la aplicación y lo que hace el programa. Una ves que elegimos el nombre del proyecto se deben eliminar los espacios entre palabras o caracteres especiales. Por ejemplo si queremos llamar al programa "proyecto número 1!!!" debemos quitar los espacios entre palabras y quitar los caracteres especiales. Se recomienda que el nombre de los proyectos empiece siempre con mayúscula; en este ejemplo, el nombre del programa debería quedar de la siguiente manera: ProyectoNumero1 . Si dejas espacios o caracteres especiales en el titulo del proyecto se podrían generar errores al momento de ejecutarlo, así que solo debes recordar escribir con mayúscula la primera letra del nombre y eliminar los espacios o caracteres especiales entre palabras. Una vez que ya sabemos como escribir el nombre de los proyectos nombramos el nuestro y apretamos el botón save, nos abrirá una nueva ventana con el nombre que elegimos para nuestro nuevo proyecto (imagen 3). imagen 3 Imagen 4 Si cerramos la ventana (botón con la X de color rojo en la parte superior izquierda) podemos acceder otra vez a el proyecto entrando a la carpeta donde lo guardamos previamente, una vez ahí abrimos la carpeta con el nombre del proyecto que creamos y dentro de la carpeta encontraras un archivo con un icono azul que se llama "NombreDeLaAplicacion".xcodeproj, dale doble clic y se abrirá otra vez la ventana de nuestro proyecto que acabamos de crear. (imagen 3 y 4). MIÉRCOLES, 5 DE OCTUBRE DE 2011 Crear tu primer proyecto en NetBeans Para crear nuestro primer proyecto, debemos abrir NetBeans, una vez abierta la aplicación les aparecerá una ventana como se muestra en la imagen 1. Imagen 1 En esta ventana crearemos nuestro primer proyecto. Para crear un proyecto podemos apretar el botón de New Project que se encuentra en la parte superior izquierda de la ventana o elegirlo desde la barra de menús en File/New Project. Al apretar el botón aparecerá una nueva ventana (imagen 2) donde debemos elegir el tipo de proyecto que vamos a utilizar. Imagen 2 En nuestro caso vamos a elegir en la parte de categorías el que dice C/C++ y en la parte derecha elegimos el que dice C/C++ Application (imagen 2), una vez elegidas estas dos opciones apretamos el botón Next el cual abrirá una nueva ventana en la que debemos elegir el nombre y la ubicación de nuestro proyecto (imagen 3). Imagen 3 La primera opción te pide el nombre del proyecto. el proyecto debe llamarse según la aplicación y lo que hace el programa. Una ves que elegimos el nombre del proyecto se deben eliminar los espacios entre palabras o caracteres especiales. Por ejemplo si queremos llamar al programa "proyecto 1 en NetBeans!!!" debemos quitar los espacios entre palabras y quitar los caracteres especiales. Se recomienda que el nombre de los proyectos empiece siempre con mayúscula; en este ejemplo, el nombre del programa debería quedar de la siguiente manera: Proyecto1EnNeatBeans . Si dejas espacios o caracteres especiales en el titulo del proyecto se podrían generar errores al momento de ejecutarlo, así que solo debes recordar escribir con mayúscula la primera letra del nombre y eliminar los espacios o caracteres especiales entre palabras. Una vez que ya sabemos como escribir el nombre de los proyectos nombramos el nuestro. La siguiente opción es la ubicación del proyecto. Del lado derecho aparece un botón que dice Browse, si lo apretamos podemos elegir la ubicación para guardar nuestro proyecto (imagen 3). Te recomiendo que crees una carpeta para guardar tus aplicaciones. Las carpetas aparecen apretando la casita que esta de lado derecho de la ventana(imagen 4). Imagen 4 Una vez elegida la carpeta apretamos el botón Open y te regresara a la ventana anterior (imagen 3). Las demás opciones las dejamos como se muestran en la imagen 3 (debes verificar que sea un proyecto en C). una vez que cumpla con todas estas opciones apretamos el botón Finish. En caso de cerrarlo, podemos acceder otra vez a el proyecto entrando a NetBeans y en la barra de menús elegimos la opción que dice Window y después la que dice Projects (imagen 5). Imagen 5 Esto te abrirá un nuevo cuadro donde estan todas los proyectos que has creado. Para ver lo que contiene nuestro proyecto en esa misma pestaña damos clic a la flecha que esta alado del nombre de nuestro proyecto y después en Source Files le damos doble clic a main.c. En esta parte del proyecto es donde vamos a escribir lineas de código para nuestros programas (imagen 6). Imagen 6

domingo, 25 de noviembre de 2012

Funciones en el lenguaje C

Una función en C es un pedazo de código fuente que realiza una tarea en específico. Por ejemplo void Saludar (void) { printf("Hola a todos !!! "); } Esta función se llama Saludar ( ), su tarea es llamar a otra función con el nombre de printf( ), que imprime el mensaje: Hola a todos!!!. El cuerpo de la función empieza con la siguiente linea de código: void Saludar (void) La declaración de la función consiste de un tipo de regreso "void", el nombre de la función "Saludar", y un par de parentesis que contienen o pueden contener una lista de parámetros "(void)". Después analizaremos mas a fondo los tipos de regreso y las listas de parámetros, por ahora lo importante es saber cómo se declara una función. Después de la declaración de la función sigue el "cuerpo": { printf("Hola a todos !!! "); } El cuerpo siempre va a ir dentro de las llaves {} y va a estar construido por una serie de declaraciones. Por lo general, las declaraciones siempre van seguidas por un punto y coma (;). Un programa es un grupo de instrucciones para la computadora, por lo que una declaración se podría definir como una instrucción en específico. En este caso, printf() es nuestra unica declaracion, la cual se encarga de imprimir texto. Con la práctica, iras aprendiendo a crear declaraciones más eficientes que harán que tus programas corran más rápido y con un menor riesgo de cometer errores. Si deseamos ver como funciona, debemos crear un nuevo proyecto y dentro de main.c poner lo siguiente: #include void Saludar(void); int main (int argc, const char * argv[]) { Saludar(); return 0; } void Saludar (void) { printf("Hola a todos !!! "); } El código empieza con la inclusión de la biblioteca (#include ) y justo debajo hay una linea de código que dice: void Saludar(void);, esta linea de código se debe de poner por cada función que tengamos en nuestro código. esta línea de código siempre debe de ir abajo de las bibliotecas y debe de escribirse de la misma manera con la que se declara la función pero agregando un punto y coma al final (:). Después nos podemos dar cuenta que dentro del "main" se encuentra una declaración que dice el nombre de la función (Saludar();). Esto sirve para que main mande a llamar la función Saludar() y una vez que es llamada, se ejecute lo que está dentro de la función, en este caso sería el printf( ) que imprime "Hola a todos!!!. Para ver lo que resulta de este código solo corre el programa. Las funciones son muy útiles ya que si desearas escribir muchas veces esa línea de texto, lo único que necesitas es mandar a llamar a la función en vez de volver a escribir la linea de texto. Ahora ya sabes lo que es una función, para qué sirven y como se declaran para poder utilizarlas. Referencias: Mark, D. (2009).Learn C on the Mac. Apress, 25-32.

jueves, 8 de noviembre de 2012

Lenguaje C.



C ha sido la elección  para la prueba  y medición de aplicaciones por años. Pero con la popularidad de los lenguajes orientados a objetos, algunos se preguntan si C tiene lugar en las pruebas de sistemas del mañana. Debido a esto, es  importante entender cuales son los puntos fuertes y débiles del lenguaje C.

El lenguaje C ha sido utilizado en la prueba y la medición de sistemas integrados y controladores de dispositivos  por mucho tiempo. Inicialmente fue creado para direccionar los  desafíos de reutilizar código comúnmente relacionado con lenguajes de ensamble. El lenguaje C fue desarrollado para ser una plataforma independiente, que puede abstraer la capa de hardware, por lo que C provee mucho más eficiencia en velocidad y memoria asociado con el ensamble mientras incrementa la portabilidad del código y disminuye el tiempo de desarrollo a los programadores.


Pero hablemos acerca de las fortalezas del lenguaje. Una de ellas puede ser su bajo nivel, que da la capacidad de optimizar el código ya que provee un acceso directo al sistema operativo o a un hardware en específico y con esto tendrás una mejor habilidad de controlar cada una de las operaciones específicas y cuantas operaciones son realizadas a nivel de máquina, optimizar compiladores y la capacidad de llamar código ensamblado. También puedes controlar el tamaño  del programa y la velocidad de ejecución.

Se puede decir que C es altamente portable y con un extenso grupo de herramientas para la reutilización de código debido a que puedes compilar un programa en C que esté adherido a una reconocida industria estándar, como ANSI C, en donde hardware y sistema operativo son independientes para una gran variedad de plataformas de computadora con lo que se puede compilar en varios sistemas operativos con un mínimo cambio de su código fuente. Como resultado, el lenguaje tiene una gran cantidad de comunidad de programadores, millones de líneas de código como ejemplos y manejadores de hardware que han sido escritos en lenguaje C.

También hay varios entornos de desarrollo integrado que contienen varios propósitos generales con respecto al desarrollo en C como Microsoft Visual Studio, que proveen una funcionalidad  adicional, como conectividad con bases de datos (API´s), el control de algoritmos PID y el soporte de diversos  grupos de controladores.
Con la capacidad de ejecutar manipulaciones directas de hardware, fácilmente se puede controlar cuántos datos son  almacenados en memoria, y reutilizar millones de líneas preexistentes de código matemático. El lenguaje C está bien situado para el desarrollo de aplicaciones con un estricto espacio y rendimiento requerido  o aplicaciones que envuelven una extensa señal de procesamiento y análisis como   controladores, sistemas integrados y aplicaciones en tiempo real que se pueden beneficiar de la incrementada velocidad y procesamiento disponible en C (si el código es escrito de manera eficiente).

Pero la programación en lenguaje C también tiene sus desventajas ya que este no es un lenguaje orientado a objetos. Con aplicaciones complejas, usualmente es requerido agrupar datos como si fueran una estructura. Esta es una característica estándar  en la mayoría de los lenguajes de alto nivel. Como una extensión, los lenguajes orientados a objetos ofrecen soporte no solo para crear tipos de datos modificados sino también para definir métodos específicos para trabajar con esos datos. En particular, una de las características de la programación orientada a objetos es que puedes modular distintos componentes llamados "objetos". Los programadores pueden encapsular  pruebas del mundo real de hardware como la adquisición de datos de instrumentos y aparatos como lo son los objetos. Los objetos de software modelan entidades del mundo real y como objetos del mundo real, cada objeto del software está definido por un estado y por un comportamiento. El estado del objeto es el grupo de variables que vas a usar cuando describas el objeto. Por esto, los objetos tienen un específico  comportamiento o acciones que son capaces de realizar. Como resultado una vez que hayas creado un objeto tú tienes un nuevo tipo de dato en el cual distintas  operaciones pueden ser realizadas.

Otra desventaja es la administración de memoria. Con un bajo nivel de memoria, el acceso disponible en C viene de la responsabilidad del manejo de memoria, de su asignación y des asignación. La falta de limpiar el código puede significativamente influenciar en el rendimiento y determinismo de la aplicación. Con el administrador de memoria, puedes asignar nueva memoria que necesites pero después debes llamar al recolector de basura para disponer de nuevo de la memoria utilizada una vez que la dejes de usar.

con respecto a la ejecución paralela, los fueron una avanzada llave en la historia de los lenguajes textuales. Con la capacidad de virtualizar la ejecución de múltiples funciones a la vez, tu puedes crear interfaces de usuario que puedan ejecutar archivos (1/0), entradas a base de datos y el control de hardware sin que disminuya su rendimiento.
Para manejar estos beneficios, los programadores utilizan específicos hilos y librerías temporales para organizar los horarios de diferentes secciones de código. Por lo tanto, cuando se desarrolla una aplicación que ejecuta controladores PID mientras se despliega una interfaz de usuario , debes crear por lo menos dos aplicaciones de hilo para mantener la consistencia de ejecución en tiempo requerido por el controlador PID y alojar suficientes recursos para mantener una suave y responsable interfaz de usuario. También debes ser cuidadoso  para acceder datos globales y ser competente en el uso de específicos multihilos constructores, como los semáforos y cerraduras, para asegurarse que la información no es accesible para múltiples varios al mismo tiempo .

Desde mi punto de vista C tiene mucho futuro, especialmente  para las aplicaciones de prueba por su acceso directo a la memoria y mínimos gastos generales de software que son aspectos importantes carentes en los lenguajes de programación mas modernos. C da a los desarrolladores la libertad de escribir código para un numero largo de plataformas; todo sobre micro controladores asta avanzados procesos para el control de sistemas. Con el numero limitado de restricciones en el lenguaje y la capacidad de desarrollar diversas aplicaciones, C es conveniente y efectivo para varias pruebas de medición de tareas, dando a los ingenieros una razón más para seguir utilizando y desarrollando en este lenguaje. 


Referencias:
Logan, W. (2008). Is C Dead?. EE: Evaluation Engineering47(5), 44-49.
Link del artículo

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