Lógica

Esta palabra define el "alma mater" de la programación en informática. Un ordenador sin lógica no pasaría de ser una simple calculadora.

La toma de decisiones de las máquinas tiene una pauta que permite determinar el camino a seguir en base al valor de los campos. Si la muestra de valores es muy grande y sin pautas precisas podemos decir que la lógica es "difusa", aunque en cualquier caso sea factible.

A nivel gráfico las decisiones simples se representan mediante un rombo, de la siguiente forma:

Decisión con dos opciones

Siempre hay dos opciones posibles.

A nivel más complejo la representación es similar pero puede haber mas de 2 opciones, por ejemplo:

Decisión con tres opciones

En este caso se imprime siempre el dato menor de dos valores, pero no se imprime ninguno si los datos son iguales.

La representación gráfica es de gran ayuda para el diseño lógico de un programa, una aplicación o todo un sistema. Aunque este curso no profundizaremos en la representación grafica, es importante entender fundamentos sencillos.

¿Como se materializa la lógica?

En esencia todo se reduce a la instrucción  if  (si en inglés) empleada masivamente de forma simple, combinada o anidada.

La forma de funcionamiento interno de esta instrucción es también utilizada por los bucles repetitivos para determinar cuando deben terminar.

El formato de esta instrucción es el siguiente:

if ( cuestion ) { accion/es a realizar si cierto; } else { accion/es a realizar si falso;}

que puede entenderse como "si la cuestión se cumple (es cierta) entonces haz estas acciones, si no (es falsa) entonces haz estas otras". La parte del else es opcional.

cuestion es cualquier expresión lógica que de como resultado TRUE (cierto o verdadero) o FALSE (falso).

Pueden combinarse varias cuestiones con operadores lógicos: OR (o), AND (y), ! (no) para obtener un solo resultado final.

El primer ejemplo gráfico podría programarse así:

<?php
if ( ! empty( $campo )) { echo 'El campo contiene: ' . $campo; }
?>

** Nota: la función empty() (vacío) devuelve el valor verdadero si el campo está vacío o falso en caso contrario.

Un ejemplo con datos podría ser este:

<?php
$campo = 'COMENTARIOS DE TEXTO'; // Simulación de un campo de entrada
if ( ! empty( $campo )) { echo 'El campo contiene: ' . $campo; }
?>

El segundo ejemplo gráfico se podría programar así:

<?php
if ( $campo_a < $campo_b ) { echo 'Campo A: ' . $campo_a; }
else
if ( $campo_a > $campo_b ) { echo 'Campo B: ' . $campo_b; }
?>

Conociendo como se estructura la lógica podremos entender mejor como funcionan los bucles (operaciones repetitivas).