Operadores en la Programación de videojuegos #6-2
En la anterior entrega comenzamos a estudiar los operadores, vimos el de asignación y los aritméticos, ahora pasaremos a los de comparación. No los vimos todos en una entrega porque se hubiera hecho demasiado extensa.
Operadores de comparación:
Los operadores de comparación sirven para crear condiciones que regulen nuestro programa. Las estructuras de control (regidas por comparaciones) las veremos un poco más adelante. Los operadores de comparación devuelven el valor 0 si la condición no se cumple y un valor distinto si se cumple.A continuación indicaré los operadores de comparación que veremos en esta guía:
Imaginaos que x = 2, y = 4, numero = 6 y a = 1
== igual que Ejemplo: 4 == 5; /* Devolvería 0 ya que no se cumple */
¡= distinto que Ejemplo x ¡= 0; /* Devolvería un valor distinto de 0 */
> mayor que Ejemplo 5 > 3; /* Devolvería un valor distinto de 0 */
< menor que Ejemplo 3 < 5; /* Devolvería un valor distinto de 0 */
<= menor o igual que Ejemplo x <= y; /* Devolvería un valor distinto de 0 */
>= mayor o igual que Ejemplo a >= numero; /* Devolvería 0 */
Voy a escribir un programa y deberéis tratar de averiguar si aparecerá 0 o un valor distinto en cada printf. Una vez lo penséis podéis averiguarlo compilando el programa:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a = 3, b = 5, c = 3; d = -1, e = 0;
printf(“a es igual a c: %i \n”, a == c);
printf(“a es igual a b: %i\n”, a == b);
printf(“b es distinto de c: %i\n”, b ¡= c);
printf(“e es menor o igual que d: %i\n”, e <= d);
system(“pause”);
return 0;
}
Podéis probar con otras comparaciones para intentar averiguar los resultados antes de probarlo en el PC.
Operadores and y or:
A veces necesitaremos comprobar que se cumple una condición y otra o que se cumple una condición u otra. Hay que darse cuenta de que son cosas distintas. No es lo mismo comer patatas Y filete que patatas O filetes, de la segunda manera nos podremos quedar con hambre. Para eso usaremos los operadores and y or.
Podéis comprobar qué valores devuelven las siguientes sentencias, colocándolas en el programa anterior (se colocaría donde están las expresiones algebraicas en los printf).
(a < b) && (c > d) a es menor que b Y c es mayor que d
(a == c) || (e >= d) a es igual a c O e es menor o igual que d
Daros cuenta de que los paréntesis actúan como en matemáticas, dándole preferencia a unos operadores u otros. En C la prioridad de los operadores es importante, normalmente funcionan como en matemáticas (paréntesis, producto, cociente, suma y resta de izquierda a derecha). Más o menos así, en caso de duda utilizar algún paréntesis de más.
Dentro de un par de entregas haremos un programa que resumirá lo que habremos visto hasta entonces. Desarrollaremos una pequeña calculadora. Espero que esto motive a la gente para seguir practicando. Deberíais hacer algunos ejercicios con este tipo de operadores. Los operadores de comparación no sirven para mucho por sí mismos pero si en las estructuras de selección. A alguno os sonara lo de: si se cumple esto, entonces hacer lo siguiente. Eso es lo que veremos en los siguientes capítulos, además de recibir datos del usuario por medio del teclado.
Números anteriores de “Programación de videojuegos”.
Todo sobre















Autor:
(David Saltares) , 06/10/2008 



Disculpa, en el de distinto que me marca un error, dice expected `)' before "i", es la unica que me marca como error ya que quite la instrucción y funciono con las demás.
UNA OBSERVACION PARA DAVID Y ACLARACION PARA ALFAREON. EN LA COMPARACION "¡=" ESTA MAL TU OPERADOR, SE DEBE PONER EL SIGNO DE ADMIRACION PERO EL QUE CIERRA "!", ENTONCES LA EXPRESION QUEDARIA DE ESTE MODO: b != c CON ESTO YA TE VA A COMPILAR SIN NINGUN PROBLEMA
Lo siento muchísimo, una pequeña errata. Lo siento de verdad, espero que no se me cuele ninguna más, ha sido un pequeño error tipográfico. Saludos.
Muchas gracias ANTARES, fue de mucha ayuda, y gracias también David, no te preocupes, un error lo comete cualquiera
¿Cada cuanto tiempo sale un tutorial? Estoy muy interesado en hacer videojuegos, pero ya se programar, asi que me gustaria engancharme al tutorial, pero creo que tendra que ser unos cuantos tutoriales mas adelante :)
Cada dos días habrá un nuevo tutorial. Dejo un espacio de tiempo para que la gente procese la información. Aún hay que mirar muchas cosas de programación.
Una Pregunta David Dime la Funcion de stdio.h y stdlib.h Para saber mas ((Y cuando Digas Practicar Pon Algo de ejercicio O si no que vamos a practicar))
Nivrek: stdio.h y stdlib.h son librerías. Contienen lo que hacen las funciones printf, system y muchas más que aún no hemos usado. Digamos que son la slibrerías básicas. Eso viene explicado en el número dos. Por ahora no puedo mandar ningún ejercicio para practicar porque no habíamos dado ni siquiera los operadores, cosa que es imprescindible para realizar cálculos. A partir de ahora, mandaré cosas mas concreta. Lo de practicar lo decía por probar cosas distintas de las que pongo como ejemplo, simplemente eso, cambiar cosas para entender mejor como funciona y como reacciona el programa ante los cambios. Saludos.