sábado, 14 de enero de 2012

Acercamiento A Los Condicionales


Una Pinceleadita

Una vez mas me encuentro aqui tratando de explicar aquellas cosas que muchos quizas no comprenden por una o varias razones, muchas personas viven leyendo textos que no comprenden y no comprenden seriamente y realmente lo que hacen las condicionales, este texto tratare de hacerlo ameno, lo mas ameno posible, con el fin de instruir un poco a los nuevos programadores.

La Introduccion

Bueno el tema que nos mueve por ahora es el de los condicionales, hago este post con la finalidad de que se puedan seguir futuros posts de otros temas mas avanzaditos pero eso no significa que no se explicara, todo se explicara en su momento.Bueno empezamos.

Que son los condicionales ???

Los condicionales son estructuras que nos sirven para verificar acciones en nuestros programas, estas verificaciones se hacen atravez de sentencias condicionales como el caso de if, cuando nosotros queremos hacer un programa que verifique si un numero es par, primero debemos llevar a cabo una operacion de verificacion del numero, para actuar si es o no par.
En cuanto a los condicionales tenemos 3 casos de condicionales ...
  • caso 1 : if ...
  • caso 2 : if ... else ...
  • caso 3 : if ... else if ... else if ... ... else ...
Cada caso en especial tiene una forma especial de tratamiento y una forma de entenderlo, tratare de hacerlo de la forma mas informal para que se entienda, segun se valla avanzando se puede ir tomando textos cada vez mas formales y tecnicos, con el fin de profundizar mas el tema.
Antes de empezar con los casos quiero hablar de los operadores condicionales. y las operaciones condicionales

Operadores y Operaciones Condicionales

Estos ejemplos que vamos a ver los vamos a ver con dos tipos de programacion que a mi me parece interesante c++ y python, los condicionales en c++ se usan de la misma forma que en c pero usaremos c++.y python(el mejor) sin comentarios :).
Primero los Operadores Condicionales
Los operadores condicionales son una forma de representar acciones que llevaremos a cabo con nuestra informacion en nuestros programas, por ejemplo si queremos saber si un numero es mayor o menor que otro, verificar la igualdad de valores, el rol de los operadores condicionales toma un papel muy importante en nuestros programas.Asi los programas dejan de ser unos frios algoritmos de una sola decicion y resultado para volverse algoritmos mas especiales con mas respuestas.
los operadores que tenemos para ser usados son :

OperadorNombreFuncion
<Menor queVerifica si un numero es menor que otro.
<=Menor o igual queVerifica si un numero es menor o igual que otro.
>Mayor queVerifica si un numero es mayor que otro.
>=Mayor o igual queVerifica si un numero es mayor o igual que otro.
==IgualdadVerifica si los 2 elementos son iguales.
!=DiferenciaVerifica si los 2 elementos son diferentes.

Ademas de este conjunto te operadores tenemos 2 mas que verifican conjuntos de operaciones :

SimboloNombreFuncion
 ||ORVerifica si se cumple aunque sea una de las 2 condiciones
&&ANDVerifica que se cumplan las 2 condiciones.

Gracias a los operadores podemos tener operaciones que son las que evaluara nuestro if
Ahora Toca las Operaciones Condicionales.
Cuando hacemos operaciones matematicas de toda la vida como :

4+5

Tenemos resultados, en este caso 9. si hacemos algo mas elaborado pero simple,tambien tenemos resultado :

 # Python Script 13 ENE 2012
 a=12
 b=15
 c=a+b
 print c

12+15=27

Ahora que pasa cuando hacemos una operacion condicional por ejemplo :

12 < 15

Tambien tenemos un resultado, el resultado de la operacion anterior es TRUE o VERDADERO. por que si logicamente hacemos la comparacion y nos hacemos la pregunta `es 12 menor que 15 ??` logicamente sabemos que si, entonces el resultado sera TRUE.Ahora :

180 < 150

Al ver esta operacion simplemente nos hacemos una pregunta ... `180 es menor que 150 ??`, sabemos que no, entonces el resultado es FALSE o FALSO.A ver otro ...

150 != 180

mmm dificil ???,pues nos preguntamos, `150 es diferente que 180 ??` si.... entonces el resultado es TRUE.y por ultimo para dar por terminado lo basico ...

(30*5) == 150

Uy, esta si esta dificil ... pues la verdad ni tanto vemos del lado izquierdo de nuestra comparacion que hay una operacion : 30*5, pues primero realizamos la operacion y el resultado de la operacion lo comparamos con el valor del lado derecho y tenemos :

150 == 150

Y pues el resultado es TRUE.
Comparaciones nivel 2 Parte 1 ==> OR
Una vez llegado a esta parte ya tenemos claro cuando las comparaciones devuelven TRUE y cuando devuelven FALSE ahora veremos combinar las comparaciones para tener comparaciones mucho mas elaboradas que podremos usar con el pasar del tiempo.
Vamos a empezar a agarrar aire con el siguiente ejemplo ...

15 < 18 || 15 != 15

Veamos que tenemos aqui dos comparaciones ...
  • 15 < 18
  • 15 != 15
separados por el operador || que significa esto?? pues esto signfica que una vez hecha las comparaciones tendremos 2 valores TRUE o FALSE, un valor de cada operacion y luego se hace un recorrido en la tabla de verdad de OR(||) para ver que resultado nos da ...
Tabla de VERDAD de OR


TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Vamos a ver que nos dice esta tabla, si le ponemos atencian a la tabla de verdad de OR nos vamos a dar cuenta de que con un valor que tengamos en TRUE el resultado sera TRUE.Ahora vamos con nuestro ejemplo :
  • 1) 15 < 18
  • 2) 15 != 15

La operacion 1 vamos ... 15 es menor que 18 ?? ... siii y en la operacion 2 ... 15 es diferente que 15 ?? ... nooo, por que son iguales ... pero tenemos en una operacion el resultado verdadero por lo que el resultado de nuestra operacion con con OR es verdadero...

Resultados :
  • 15 < 18 = TRUE
  • 15 != 15 = FALSE
( 15 < 18 || 15 != 15 ) = TRUE
 

En cuanto a esto no hay mucho que explicar, siempre cuando hagamos comparaciones con OR de este tipo,con un valor que sea TRUE La comparacion se Vuelve True.
Comparaciones nivel 2 Parte 2 ==> AND
Ahora pongamos un poquito de atencion al siguiente ejemplo, que es casi lo mismo que el anterior pero usando AND.

15 < 18 && 15 != 15

Para empezar notamos que los numero y las operaciones son las mismas que en el anterior solo que ahora estan separadas por && esto signodica que usaremos AND y por lo tanto necesitamos su tabla de verdad :


Tabla de VERDAD de AND
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

Al ver esta tabla vemos que solo hay una posibilidad de que la operacion nos de TRUE y para eso los 2 valores tienen que ser TRUE, en caso de que al menos un valor de la operacion de FALSE toda la operacion es FALSE. entonces :

Resultados :
  • 15 < 18 = TRUE
  • 15 != 15 = FALSE
( 15 < 18 && 15 != 15 ) = FALSE
 

Ahora ya hemos terminado con esta parte basica para comprender como funciona if, pues bien vamos a empezar con el verdadero articulo. XD

Condicional IF

La condicional if nos sirve para verficar nuestras operaciones condicionales, para el uso de if, if tiene 2 partes basicas, la parte de la operacion y las sentencias a ejecutar, las sentencias a ejecutar, valga la redundacia se ejecutan siempre y cuando el resultado de la operacion sea TRUE... que ya vimos en la seccion de arriba cuando una operacion condicional nos va a dar TRUE como resultado.

Ahora veremos como poner esto en practica con un ligero programa en python y c++


Python
if operacion:
    sentencias
C++
if(operacion){
sentencias
}

Segun el diagrama de arriba es como se usa la condicion en python y c++ vemos que la dferencia entre ellos es que en python no usamos llaves, simplemente marcamos el bloque del if con dos puntos `:`.
Para terminar este articulo que se extendio un poco pondre un sencillo programita :

Ej : Hacer un programa que pida un numero y que en caso de que el numero sea menor que 100, el programa debera alertar al usuario que el numero es menor que 100 y debera dar la cantidad que falta para llegar a 100 , en caso de que el numero sea mayor que 100 debera alertar al usuario que el numero es mayor que 100 y escribir la cantidad arriba de 100 y en caso de que el numero sea 100. decir al usuario que el numero es 100.
  • Python : programa.py
  • c++
Por ahora les dejos el programa en python y preparo para otro articulo la segunda parte mas desafiante.

No hay comentarios:

Publicar un comentario