Mostrando entradas con la etiqueta Tutorial de programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutorial de programación. Mostrar todas las entradas

viernes, 27 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 7


Hola a todos,

Iba a escribir un nuevo capitulo del tutorial cuando me he dado cuenta que ya había escrito muchos trozos que habían quedado desperdigados por el blog.

Así pues, el capitulo de hoy es poco más que una recolección de estos articulos. Con esto doy por acabado el tutorial en cuanto a lo básico, esto quiere decir que los próximos tutoriales los haré bajo demanda de temas concretos. Espero vuestros mensajes pidiendo nuevos temas y gustoso intentaré resolver vuestros problemas.

Aquí teneis los links:
Básicos:
link1
link2
link3
link4
link5

Avanzados:
link1
link2
link3
link4

Espero que os haya gustado

Nos vemos

LordPakusBlog

lunes, 23 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 6


Hola a todos... en este capítulo aprenderemos a usar mejor el precompilador mediante el uso de #ifdef e #ifndef.

Aquí tenéis el código de hoy:




#include <stdio.h>
#include <stdlib.h>

//Este define nos activará el funcionamiento con mayusculas. Si queremos los textos en minúsculas tendremos que comentar el define.
#define __MAYUSCULAS__

#define NUM 53

int decide(int n)
{
#ifdef __MAYUSCULAS__
printf("EL NUMERO QUE HE PENSADO ES ");
#else
printf("El numero que he pensado es ");
#endif
if( n < NUM )
#ifdef __MAYUSCULAS__
printf("MAYOR.\n");
#else
printf("mayor.\n");
#endif
else
{
if(n > NUM)
#ifdef __MAYUSCULAS__
printf("MENOR.\n");
#else
printf("menor.\n");
#endif
else
{
#ifdef __MAYUSCULAS__
printf("IGUAL.\n");
#else
printf("igual.\n");
#endif
return 1;
}
}
return 0;
}

int main(void)
{
int num;

while(1)
{
#ifndef __MAYUSCULAS__
printf("Introduzca un numero : ");
#else
printf("INTRODUZCA UN NUMERO : ");
#endif
scanf("%d",&num);

if ( decide(num) )
break;
}

system("PAUSE");
return 0;
}

- El carácter // indica comentario, es decir, código que no se compilará pero que ayuda a entender el código mejor. Un código sin comentar es un código que no sirve para (casi) nada.
- Recordad que # indica directiva de precompilador, es decir, lo que haga esa función no se compilará sino que servirá para modificar el código antes de que se compile (como si fueran las instrucciones de un procesador de textos)
- #define __MAYUSCULAS__ Nos define __MAYUSCULAS, en este caso, __MAYUSCULAS no sirve para almacenar  un valor sino que define un comportamiento. Si nosotros activamos el define todos los textos se pondrán en mayusculas, si lo desactivamos (lo borramos o lo comentamos) los textos estarán en minusculas.
- #ifdef . Directiva del precompilador que nos habilita ese código para compilar si se cumple que su parametro está definido
- #ifndef . Directiva del precompilador que nos habilita ese código para compilar si NO se cumple que su parametro esté definido.
- #else (sino, en otro caso, del ifdef)
- #endif Directiva del precompilador que indica que ha acabado el #ifdef o #ifndef (o #else)

Espero que con esto lo tengáis un poco más claro.

Como vais?. Alguien ha probado algo? Avanzáis? Tenéis dudas? Si alguien tiene sugerencia para próximos capítulos que me la haga llegar sin problema.

Nos vemos

Siguiente capítulo
LordPakusBlog

domingo, 15 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 0


Hola a todos...

Un compañero vuestro ha comentado que estaría bien que hiciera un tutorial enfocado a preparar el IDE para poder trabajar.

Hoy mismo me he acordado que ya había preparado uno cuando empecé con todo el tema del game engine, así que, si alguien quiere repasarlo, aquí tiene el link.

Para compilar desde Visual Studio solo teneis que hacer ctrl+F7
Imagen que muestra donde se encuentra el botón de compilar


Y para ejecutar directamente desde el IDE de Visual Studio (sin tener que abrir un explorador de windows) tenéis que darle a ctrl+F5
Ejemplo de como se puede ejecutar programar desde Microsoft Visual Studio

Aparte de eso, aquí os dejo una lista con diferentes compiladores y herramientas que os pueden ir bien:
Visual Studio Express 2010 (es gratuito y está actualizado)
DevCpp (es antiguo pero funciona perfectamente)
Code::Blocks (gratuito y actualizado)
NetBeans (solo parte gráfica, tendréis que unirlo con el compilador que querríais)
Kdiff3 (excelente comparador de archivos)
TortoiseSVN: cliente de svn. Si no sabeis lo que es un svn podeis miraros el siguiente link, tal vez os ayude.

Si teneis cualquier duda, o hay algo que no os ha quedao claro, decidmelo y lo intentaré explicar mejor.

Nos vemos


LordPakusBlog

martes, 10 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 5


Hola a todos.

El capítulo de hoy servirá para iniciar un poco el tema de funciones y algunos detallitos más que espero que os sirvan para ir aprendiendo.

Recordad que más allá de tutoriales, manuales y clases, la mejor forma de aprender es practicar, así que si tenéis cualquier duda o hay algo del tutorial que no entendáis decidmelo e intentaré explicarlo mejor.

Allá va el código:


#include <stdio.h>
#include <stdlib.h>

#define NUM 53

int decide(int n)
{
printf("El numero que he pensado es ");

if( n < NUM )
printf("mayor.\n");
else
{
if(n > NUM)
printf("menor.\n");
else
{
printf("igual.\n");
return 1;
}
}
return 0;
}

int main(void)
{
int num;

while(1)
{
printf("Introduzca un numero : ");

scanf("%d",&num);

if ( decide(num) )
break;
}

system("PAUSE");
return 0;
}

- int decide (int n) es una función que recibe un parametro (integer llamado n) y que devuelve un integer como resultado. Este integer realmente solo puede valer o 0 o 1, siendo 0 el caso en que el usuario no acierte el número que hemos pensado y 1 cuando acierte que número es.
- Nota: fijaros que existe el define NUM y la variable num. No hay problema por que el lenguaje diferencia entre mayúsculas y minúsculas, va bien que lo sepáis. Aparte de eso, el define NUM tiene un valor fijo, en posteriores capítulos ya introduciremos la aleatoriedad para que el valor a escoger vaya variando entre ejecuciones del programa.
- La función return nos saca de la función en la que estamos devolviendo el valor que le pasemos como parámetro.
- while(1) significa bucle infinito.
- break  es una función que nos saca del "bucle" en el que estemos. Esto es una verdad  a medias que en otros capitulos especificaré mejor, por ahora quedaos con eso :D.

Y con esto, solo me queda deciros que hasta el siguiente capítulo , nos vemos


LordPakusBlog

lunes, 9 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 4


Hola a todos.

Hasta ahora los tutoriales se han centrado en mostrar información. Ahora también podremos obtener información del usuario.

El código de ejemplo es el que sigue:


#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int num;

printf("Introduzca un numero : ");

scanf("%d",&num);

printf("El numero introducido es ");

if(num%2)
printf("impar.\n");
else
printf("par.\n");

system("PAUSE");
return 0;
}

-scanf: es una función que se encarga de leer lo que el usuario ingresa por teclado.
-%d: es un identificador usado por las funciones de lectura y escritura (printf,scanf y variantes) para formatear el texto. Ejemplos de formateadores de texto son:
%d: int -> numero entero
%c: char -> un caracter
%s: string -> una cadena de texto
%lf: float -> número decimal
Estos formateadores se utilizan para que el printf y el scanf sepan como usar las variables que se les pasan. Más adelante haremos hincapié en estos conceptos.
- & : operador de dirección de memoria, también llamada obtención de puntero. Por ahora queda muy lejos del propósito inicial de este tutorial explicar punteros, así que tendréis que hacer el acto de fe de creer que la función scanf necesita & delante de las variables para funcionar. Más adelante dedicaré unos cuantos capítulos enteros a explicar punteros.

Y con esto, este capitulo ya está. Recordad que todo lo que no veáis claro decidmelo y lo intentaré explicar mejor.


LordPakusBlog

sábado, 7 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 3


Bienvenidos a un nuevo capitulo del curso de iniciación a la programación...

Este es el código de ejemplo del tutorial de hoy...la cosa se empieza a complicar un poco más.

#include <stdio.h>
#include <stdlib.h>

#define MAX 5

int main(void)
{
int i = 0;

while(i < MAX)
{
if ( i % 2)
printf("Imprimimos linea impar:%d\n",i);
else
printf("Imprimimos linea par:%d\n",i);
i++;
}

system("PAUSE");
return 0;
}

- int i = 0; Esto significa que la variable i está inicializada a 0. Es opcional, pero muy recomendable, inicializar las variables.
- while: Instrucción para hacer bucles mientras que se cumpla la condición especificada. En nuestro caso, mientras i sea menor que 5.
- Fijaros que el caracter { y } delimitan el ambito de actuación de funciones tales como while, for, if, pero que no siempre es así. Estos caracteres pueden eliminarse cuando solamente hay un linea dentro de la función. Para un ejemplo de esto podeis ver el for del capitulo anterior.
- if: función para hacer comparaciones. Si se cumple algo, hago tal cosa sino, hago tal otra. Un ejemplo adicional podria ser este:
if (i < 3)
printf("i es menor que 3");
else
printf("i es 3 o mayor");
- el caracter % , se le llama módulo e implementa la funcionalidad matemática del modulo. Es decir, nos transforma el número de la izquierda en un número entre 0 y el número de la derecha.
Si hacemos %2, el resultado estará siempre entre 0 y 1, siendo 0 los números pares y 1 los números impares.

De este capitulo espero que haya más preguntas que el tema se va complicando.

Espero que os haya gustado.

Nos vemos


LordPakusBlog

viernes, 6 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 2


Bienvenidos a un nuevo capitulo del curso de iniciación a la programación...

Este es el código de ejemplo del tutorial de hoy:

#include <stdio.h>
#include <stdlib.h>

#define MAX 5

int main(void)
{
int i;

for(i = 0 ; i < MAX ; i++)
printf("Imprimimos linea %d\n",i);

system("PAUSE");
return 0;
}

- Recordad que el caracter almohadilla # indica operación del precompilador.
- La palabra define indica una instrucción del precompilador que servirá para substituir "algo por algo" a nivel de texto (recordemos que el precompilador es poco más que un procesador de textos)
En el caso de nuestro ejemplo, el precompilador buscará en todo el código la palabra MAX y la substituirá por un 5, antes de llamar al compilador, así que el compilador verá un número y no un texto.
- int i: Es la definición de una variable llamada i de tipo int. En C/C++ todas las variables que usamos tienen que estar declaradas. Esto es así por que el compilador necesita información sobre como debe tratar dicha variable.
- La instrucción for es una instrucción del lenguaje usada para hacer bucles(repetir un trozo de código un cierto número de veces). Tiene tres partes claramente diferenciadas por el identificador ;
- La primera parte es la inicialización. Puede estar vacia, pero normalmente, se inicializa la variable que se usará para recorrer el bucle.
- La segunda parte es la comprobación de bucle. Es donde se comprueba si el bucle se ha de seguir ejecutando o si ya podemos parar.
- La tercera parte es la de finalización de bucle, es decir, que hemos de hacer con la variable que se utiliza para recorrer el bucle para preparla para la siguiente iteración.
- ++ : Operador usado para incrementar una unidad. i++ es lo mismo que i = i + 1 , pero más corto.

Espero que os haya gustado y servido. En breve os subiré otro tutorial.

Nos vemos

LordPakusBlog

jueves, 5 de enero de 2012

Tutorial de programación C/C++ desde 0. Capitulo 1


Hola a todos,

Este tutorial intenta ser el puente para que un neofito en la programación pueda acabar creando sus propios videojuegos, así que, es totalmente indiferente el nivel inicial con el que se cuente, algo siempre podreis aprender.

Todos los tutoriales empiezan con el "hola mundo", y nosotros no vamos a ser menos...

Así pues, este es el código con el que empezaremos a trabajar. Si quereis probarlo solo tendreis que copiarlo en un archivo que llamaremos main.cpp (o main.c, com preferiais) y compilarlo.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
printf("Hola Mundo!!\n");
system("PAUSE");
return 0;
}


- El carácter almohadilla # indica operaciones del precompilador. El precompilador no es mucho más que un tratador de textos que modificará nuestro código antes de que se compile. Con el tiempo os iré poniendo más ejemplos para que lo entendais.
- include. Es una directiva del precompilador que nos sirve para cargar librerias externas
- stdio.h : Es una libreria del sistema que nos da acceso al input y output de teclado (Standard Input Output). Nos permite leer el teclado y escribir por consola (entre otras).
- stdlib.h: Es una libreria del sistema que nos permite diversas funcionalidades genericas. (Standard Library). Entre otras, nos permite comunicarnos con el sistema operativo.

- int : Es el tipo de variable integer. En C/C++ hay diferentes tipos de datos (variables), los más usados son:
* char : 1 byte
* short: 2 bytes
* int: 4 bytes
* void:  NADA (en otros capitulos profundizaremos más en este tema)

- main : función principal. Es la primera que se ejecuta al arrancar el programa. Todo lo que nosotros hagamos en el programa va a depender en última instancia de esta función.

- Las funciones tienen parametros de entrada (número "infinito" de parametros) y 1 parametro de salida.
En el caso de ejemplo:
int main(void)
int  parametro de salida: lo que nos devuelve la función
void parametro de entrada: es decir, no recibe nada.

- printf: función de pintado de texto por consola.
-\n: Metacaracter de fin de linea. Es lo mismo que si le diéramos a la tecla enter al escribir el texto. Estos metacaracteres se usan para representar teclas que no tienen representación directa como texto. Otro ejemplo típico es el \t que sirve para hacer un tabulador (como si le diéramos a la tecla TAB). En el caso del ejemplo, \n sirve para que no se nos junte en la misma linea el texto que queremos imprimir y el mensaje de "pulse una tecla para continuar".
- system: función para comunicarse con el sistema operativo. En el caso concreto de "PAUSE" le pedimos al sistema operativo que se espere y nos muestre el mensaje de que presionemos una tecla para continuar.
- return: función que hace que la función actual finalice devolviendo como parametro de salida lo que le pongamos al return.
En el caso del main, este parametro de retorno significa si ha habido errores en la ejecución.

Espero que os haya gustado y os haya servido. Si alguna cosa no la habeís entendido, no os preocupeis, decidlo y lo intentaré explicar mejor.

Nos vemos

LordPakusBlog

Entradas populares