18 febrero 2009

Condiciones en C: El gato

Como he dicho en varias ocasiones, uno de los pilares de la programación es hacer que el programa tome decisiones.  En otro ámbito, eso es lo que los papás esperamos de nuestros hijos: de que algún día puedan tomar las decisiones correctas.  Pero al tratar con la computadora es más fácil: nunca va a renegar ni a ignorar lo que le diga (como lo suelen hacer mis hijas) porque siempre va a hacer lo que le indique y siempre lo hará igual.  Claro que mis niñas pueden hacer millones de cosas que mi computadora no, y las amo millones de veces más que mi compu, pero esa es harina de otro costal.
Volviendo al mundo de la programación, casi todos los lenguajes tienen la instrucción IF que nos permite definir las instrucciones que se van a ejecutar en caso que se cumpla alguna condición.  C no es la excepción y en este mensaje voy a hablar brevemente de cómo se programan condiciones usando el IF con C (o C++ que para este caso, da lo mismo).
Antes de que pase otra cosa, mi intención no es dar una clase completa acerca de las sintaxis del IF en C/C++ porque hay miles de páginas que lo hacen muy bien.  Yo solo quiero presentarles un ejemplo para que veas como se puede poner en práctica.  Por esta razón, les presento aquí un pequeño proyecto que hicimos con mis alumnos de Programación Estructurada como un ejemplo que ejemplifique lo que intento ejemplificar.  Dejando a un lado la ejemplificadera, les describí lo que hace el proyecto y una breve explicación de la forma en que funciona en el archivo de audio que puedes escuchar a continuación (o descargar aquí).
Aquí pongo el código del programa y solo quiero hacer un par de notas, por si se te hace que algunos IFs están muy rebuscados (y lo están, por ejemplo fíjate en un IF grandototote que solito revisa si el jugador ganó el gato o no comparando todas las 3 filas, 3 columnas y 2 diagonales).  Es posible usar operadores booleanos para unir varias condiciones para generar un solo resultado lógico, como el AND (&&) para indicar que se tienen que cumplir ambas condiciones para que sea verdadero o el OR (||) para indicar que la condición es verdadera ya sea si cumple cualquiera de las dos condiciones.
Otra aclaración: sé que no es parte del C estándar, pero estoy usando las instrucciones cin y cout simplemente por facilidad.  Sé que estas dos funciones pertenecen a C++, pero cualquier compilador los entiende y me quiero centrar en las condiciones, no que anden lidiando con el printf y scanf.  Para más información y detalles sobre el cin, scanf, cout y printf, consulta esta página de Monografías.com.
Ahora sí, aquí está el código (si no lo alcanzas a ver bien, haz clic sobre la imagen para verlo más grande):
CodigoGato
Si tienes dudas con el IF, te sugiero que visites parte del curso de C hecha por Nacho Cabañas.  Está muy padre y si realmente estás interesado en aprender C, sería buena idea que consultaras todo el curso.
Espero que este ejemplo te sea útil.  ¡Hasta la próxima!
Publicar un comentario
Related Posts Plugin for WordPress, Blogger...