domingo, 21 de septiembre de 2014

Estructuras de control :If y For

Los programas que se pueden realizar utilizando solamente variables y operadores son una simple sucesión lineal de instrucciones básicas.
Sin embargo, no se pueden realizar programas que muestren un mensaje si el valor de una variable es igual a un valor determinado y no muestren el mensaje en el resto de casos. Tampoco se puede repetir de forma eficiente una misma instrucción, como por ejemplo sumar un determinado valor a todos los elementos de un array.
Para realizar este tipo de programas son necesarias las estructuras de control de flujo, que son instrucciones del tipo "si se cumple esta condición, hazlo; si no se cumple, haz esto otro". También existen instrucciones del tipo "repite esto mientras se cumpla esta condición".
Si se utilizan estructuras de control de flujo, los programas dejan de ser una sucesión lineal de instrucciones para convertirse en programas inteligentes que pueden tomar decisiones en función del valor de las variables.
Estructura if
La estructura más utilizada en JavaScript y en la mayoría de lenguajes de programación es la estructura if. Se emplea para tomar decisiones en función de una condición. Su definición formal es:
if(condicion) {
  ...
}
Si la condición se cumple (es decir, si su valor es true) se ejecutan todas las instrucciones que se encuentran dentro de {...}. Si la condición no se cumple (es decir, si su valor es false) no se ejecuta ninguna instrucción contenida en {...} y el programa continúa ejecutando el resto de instrucciones del script.
Estructura if-else
En ocasiones, las decisiones que se deben realizar no son del tipo "si se cumple la condición, hazlo; si no se cumple, no hagas nada". Normalmente las condiciones suelen ser del tipo "si se cumple esta condición, hazlo; si no se cumple, haz esto otro".
Para este segundo tipo de decisiones, existe una variante de la estructura if llamada if...else. Su definición formal es la siguiente:
if(condicion) {
  ...
}
else {
  ...
}
Si la condición se cumple (es decir, si su valor es true) se ejecutan todas las instrucciones que se encuentran dentro del if(). Si la condición no se cumple (es decir, si su valor es false) se ejecutan todas las instrucciones contenidas en else { }
Estructura For
Las estructuras if y if...else no son muy eficientes cuando se desea ejecutar de forma repetitiva una instrucción.
La estructura for permite realizar este tipo de repeticiones (también llamadas bucles) de una forma muy sencilla. No obstante, su definición formal no es tan sencilla como la de if():
for(inicializacion; condicion; actualizacion) {
...
}
La idea del funcionamiento de un bucle for es la siguiente: "mientras la condición indicada se siga cumpliendo, repite la ejecución de las instrucciones definidas dentro del for. Además, después de cada repetición, actualiza el valor de las variables que se utilizan en la condición".
  • La "inicialización" es la zona en la que se establece los valores iniciales de las variables que controlan la repetición.
  • La "condición" es el único elemento que decide si continua o se detiene la repetición.
  • La "actualización" es el nuevo valor que se asigna después de cada repetición a las variables que controlan la repetición.


Lógica booleana

¿Qué es la lógica booleana?

La lógica booleana es un sistema basado en la lógica matemática, que se denomina álgebra booleana. Esta designación hace referencia al matemático inglés George Boole. Sirve para crear reglas o expresiones lógicas. Con estas expresiones lógicas se analizan, seleccionan y procesan los datos que se introducen en el componente FI-SL.

En el componente de aplicación FI-SL, se puede utilizar la lógica booleana para crear expresiones que puedan utilizarse en Report Writer y en las funciones de selección de ledgers, rollups, validaciones y sustituciones.
Una expresión booleana puede contener:
  • Valores constantes
  • Nombres de set (un set de valores)
  • Una expresión TRUE o FALSE
  • Exits de usuario (rutinas ABAP definidas por el usuario)
  • Comparaciones de campo
  • Nombres de regla
  • Proceso matemático


El componente FI-SL primero analiza los datos mediante expresiones lógicas y, a continuación, determina si estos datos son aptos para el uso. Si la expresión lógica es verdadera, los datos se utilizarán, pero no se emplearán si la expresión es falsa.

Expresiones de lógica booleana

Una expresión de lógica booleana es una sentencia lógica, que puede ser verdadera o falsa. 

Las expresiones lógicas se pueden enlazar mediante operadores. Un operador enlaza expresiones lógicas y define el modo en que éstas deben procesarse. Una expresión combinada consta de dos o más expresiones lógicas enlazadas.

La lógica booleana utiliza los operadores siguientes:

AND (Y) (conjunción):
Con este operador, las dos expresiones que se enlazan deben ser verdaderas para que la expresión combinada lo sea.

OR (O: conjunción disyuntiva)
Con este operador, por lo menos una de las expresiones debe ser verdadera para que la expresión combinada sea verdadera.

NOT (NO: negación)
Con este operador, la expresión que sigue al operador NOT debe ser falsa para que la expresión sea verdadera.

NAND (NOT AND)
Con este operador, por lo menos una de las expresiones debe ser falsa para que la expresión combinada sea verdadera.

NOR (NOT OR)
Con este operador, las dos expresiones que se enlazan deben ser falsas para que la expresión combinada sea verdadera.

-
® (Implicación)
Con este operador, las dos expresiones dependen la una de la otra para determinar el valor verdadero de la expresión ("IF A, THEN B") (SI A, ENTONCES B). No obstante, si la segunda expresión es verdadera o la primera es falsa, el valor verdadero de la combinación es verdadero.

«
(Equivalencia)
Con este operador, las expresiones deben ser ambas verdaderas o ambas falsas para que la expresión combinada sea verdadera.


En conclusion
Podemos observar que con la información presentada anteriormente, tenemos conocimiento ahora de lo que es la lógica boolena y como esta nos ayuda al momento de plantear soluciones para problemas de programación, si bien mientras nos adentramos mas a la programacion es bueno ir conociendo las herramientas que nos ayudaran.

lunes, 8 de septiembre de 2014

Operadores logicos y artimeticos

Operadores lógicos

Los operadores lógicos son generalmente empleados con valores lógicos (booleanos); estos operadores devuelven un valor booleano. Sin embargo, los operadores && y || realmente devuelven el valor de uno de sus operandos, por esto si se emplean con valores no booleanos, podrían devolver un valor no booleano. Los operadores lógicos se describen en la siguiente tabla.


Un operador de comparación compara sus operandos y devuelve un valor lógico en función de si la comparación es verdadera. Los operandos pueden ser valores numéricos, de cadena de caracteres, lógicos u objetos. Las cadenas se comparan basándose en el orden lexicográfico estándar, usando los valores Unicode.  La siguiente tabla describe los operadores de comparación.


Operadores aritméticos

Los operadores aritméticos toman valores numéricos (tanto literales como variables) como operandos y devuelven un único valor numérico. Los operadores aritméticos estándar son el de suma (+), el de resta (-), el de multiplicación (*) y el de división (/).  
Algunos otros elementos aritméticos que podemos encontrar se muestran en la siguiente tabla:

Conclusión
En conclusion los operadores ya sean aritméticos o lógicos nos sirven para la realización de operaciones entro de un lenguaje o para la realización de un diagrama de flujo, ademas de facilitarnos en muchas ocasiones ahorrarnos uno o dos pasos para las operaciones.