lunes, 16 de enero de 2012

Estructuras Lógicas Selectivas en PHP - Parte 3/4

Anteriormente ya hemos visto las estructuras lógicas selectivas simples y las estructuras lógicas selectivas dobles, a este tipo de estructuras también se las conoce como estructuras condicionales. En éste artículo trataremos una combinación de las anteriores, algo que se conoce como anidamiento de estructuras condicionales.

3. Anidamiento de Estructuras Condicionales.

A menudo tendrá la necesidad de anidar una o más estructuras condicionales, ya sean simples o dobles, o combinaciones de ellas.

Se dice que las estructuras están anidadas, cuando hay unas dentro de ellas, esto lo veremos muy a menudo. Por ejemplo veamos el siguiente pseudocódigo.

Si Condición1 Entonces
Si Condición2 Entonces
Acciones1
Fin_si
Fin_Si

Aquí observamos que primero se debe cumplir la Condición1, para luego evaluar la Condición2, solo al cumplirse esta última, se procederá a la ejecución de Acciones1.

Si Condición1 Entonces
Acciones1
Si Condición2 Entonces
Acciones2
Si no
Acciones3
Fin_si
Fin_Si

En este ejemplo, una vez cumplida la Condición1, realizamos Acciónes1 y luego evaluamos la Condición2, dependiendo del resultado de la Condición2, se procederá a realizar Acciones2 o Acciones3.

3.1. Ejemplo 9: Validar el aumento de un empleado.

Construya un pseudocódigo que, al sueldo de un empleado se le aplique un aumento del 2.5% si su sueldo es menor o igual a 1400 Bs, y si es mayor que esa cantidad se el aumente el 1.7%. Pero que muestre un mensaje "Cantidad NO Aceptada" si ingresa un sueldo mayor o igual que 2000 Bs, caso contrario procesar el aumento.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO: Entero
NSUELDO: Entero
3. LEER SUELDO
4. Si SUELDO >= 2000 Entonces
4.1 Escribir "Cantidad NO Aceptada"
5. Sino
5.1 Si SUELDO <= 1400 Entonces
5.1.1 NSUELDO = SUELDO + (SUELDO * 0.025)
5.2 Sino
5.2.1 NSUELDO = SUELDO + (SUELDO * 0.017)
5.3 ESCRIBIR NSUELDO
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$SUELDO = 700;

if ($SUELDO >= 2000) {
print "Cantidad NO Aceptada";
} else {
if ($SUELDO <= 1400) {
$NSUELDO = $SUELDO + ($SUELDO * 0.025);
} else {
$NSUELDO = $SUELDO + ($SUELDO * 0.017);
}
print "Nuevo Sueldo: ";
print $NSUELDO;
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizando con ";", ejemplo:
$SUELDO = 700;

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si es mayor igual >= con el valor 2000, si coincide mostramos entre {} el resultado del mensaje.

if ($SUELDO >= 2000) {
print "Cantidad NO Aceptada";
} else {
//...
}

Sino coincide (ELSE) evaluamos la segunda condición y si coincide procesamos la cantidad ingresada:

if ($SUELDO <= 1400) {
$NSUELDO = $SUELDO + ($SUELDO * 0.025);
} else {
$NSUELDO = $SUELDO + ($SUELDO * 0.017)
}

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "Nuevo Sueldo: ";
print $NSUELDO;

3.2. Ejemplo 10: Aplicar y validar aumentos.

Basado en el ejemplo anterior construya un pseudocódigo que, al sueldo de un trabajador se le aplique un aumento del 3.0% si su sueldo es menor o igual a 2000 Bs y en caso contrario se le aumento el 4.0% con las siguientes validaciones:
  • Si el sueldo es igual o menor a 1400 se de un aumento especial de 8.0%
  • Muestre un mensaje "Aumento No Aplicado" si ingresa un sueldo mayor o igual que 3500, caso contrario procesar el aumento.
Véase que en este ejemplo se está utilizando 3 tipos de aumentos.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
SUELDO: Entero
NSUELDO: Entero
3. LEER SUELDO
4. Si SUELDO >= 3500 Entonces
4.1 Escribir "Aumento No Aplicado"
5. Sino
5.1 Si SUELDO <= 1400 Entonces
5.1.1 NSUELDO = SUELDO + (SUELDO * 0.08)
5.2 Sino
5.2.1 Si SUELDO <= 2000
5.2.1.1 NSUELDO = SUELDO + (SUELDO * 0.03)
5.2.2 Sino
5.2.2.1 NSUELDO = SUELDO + (SUELDO * 0.04)
5.3 ESCRIBIR NSUELDO
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$SUELDO = 700;

if ($SUELDO >= 3500) {
print "Aumento No Aplicado";
} else {
if ($SUELDO <= 1400) {
$NSUELDO = $SUELDO + ($SUELDO * 0.08);
} else {
if ($SUELDO <= 2000)
$NSUELDO = $SUELDO + ($SUELDO * 0.03);
else
$NSUELDO = $SUELDO + ($sueldo * 0.04);
}
print "Nuevo Sueldo: ";
print $NSUELDO;
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

Con IF iniciamos la condición, luego encerramos entre paréntesis () la variable y comparamos si es mayor igual >= con el valor 3500, si coincide mostramos entre {} el resultado del mensaje.

if ($SUELDO >= 3500) {
print "Aumento no Aplicado";
} else {
//...
}

Sino coincide (ELSE) evaluamos la segunda condición y si coincide procesamos la cantidad ingresada:

if ($SUELDO <= 1400) {
$NSUELDO = $SUELDO + ($SUELDO * 0.08);
} else {
if ($SUELDO <= 2000) {
$NSUELDO = $SUELDO + ($SUELDO * 0.03);
} else {
$NSUELDO = $SUELDO + ($SUELDO * 0.04);
}
}

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "Nuevo Sueldo: ";
print $NSUELDO;

3.3. Ejemplo 11: Ordenar cantidades.

Construya un pseudocódigo, donde se ingresen tres cantidades y estas se ordenen de mayor a menor.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
A, B, C: Entero
3. LEER A,B,C
4. Si A > B Entonces
Si A > C Entonces
Si B > C Entonces
Escribir A, B, C
Sino
Escribir A, C, B
Fin_Si
Sino
Escribir C, A, B
5. Sino
Si B > C Entonces
Si A > C Entonces
Escribir B, A, C
Sino
Escribir B, C, A
Sino
Escribir C, B, A
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$A = 4;
$B = 9;
$C = 6;

if ($A > $B) {
if ($A > $C) {
if ($B > $C) {
print "$A <break>";
print "$B <break>";
print "$C";
} else {
print "$A <break>";
print "$C <Break>";
print "$B";
}
} else {
print "$C <break>";
print "$A <break>";
print "$B";
}
} else {
if ($B > $C) {
if ($C >= A) {
print "$B <break>";
print "$C <break>";
print "$A";
} else {
print "$B <break>";
print "$A <break>";
print "$C";
}
} else {
print "$C <break>";
print "$B <break>";
print "$A";
}
}

?>
En el anterior código, reemplazar "break" por "br".

Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si A es mayor > que B.

if ($A > $B) {
//...
} else {
//...
}

Sino coincide (ELSE) evaluamos la segunda condición y si coincide procesamos el valor ingresado, de esta manera se trata de comparar cual es mayor.

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "$A <br>";
print "$B <br>";
print "$C <br>";

3.4. Ejemplo 12: Mostrar mensaje de acuerdo a una nota.

Construya un pseudocódigo, que lea una nota de un alumno universitario y que muestre un mensaje de acuerdo al promedio de su nota:
  • Reprobado (Nota<=50),
  • Aprobado (51<=Nota<=70),
  • Bueno (71<=Nota<=80),
  • Muy Bueno (81<=Nota<=90),
  • Excelente (91<=Nota<=100)
Algoritmo:
1. Iniciar proceso
2. Declarar Variables
Nota: Entero
3. LEER Nota
4. Si Nota <= 50 Entonces
4.1 Escribir "Reprobado"
5. Sino
5.1 Si Nota >= 51 y Nota <= 70 Entonces
5.1.1 Escribir "Aprobado"
5.2 Sino
5.2.1 Si Nota >= 71 y Nota <= 80 Entonces
5.2.1.1 Escribir "Bueno"
5.2.2 Sino
5.2.2.1 Si Nota >= 81 y Nota <= 90 Entonces
5.2.2.1.1 Escribir "Muy Bueno"
5.2.2.2 Sino
5.2.2.2.1 Si Nota >= 91 y Nota <=100 Entonces
5.2.2.2.1.1 Escribir "Excelente"
5.2.2.2.2 Fin Si
5.2.2.3 Fin Si
5.2.3 Fin Si
5.3 Fin Si
6. Fin Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$NOTA = 99;

if ($NOTA <= 50) {
print "Reprobado";
} else {
if ($NOTA >= 51 and $NOTA <= 70) {
print "Aprobado";
} else {
if ($NOTA >=71 and $NOTA <= 80) {
print "Bueno";
} else {
if ($NOTA >=81 and $NOTA <= 90) {
print "Muy Bueno";
} else {
if ($NOTA >=91 and $NOTA <=100) {
print "Excelente";
}
}
}
}
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$NOTA = 99;

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si Nota es menor igual que 50.

if ($NOTA <= 50) {
//...
} else {
//...
}

Sino coincide (ELSE) evaluamos la segunda condición y si coincide mostramos el correspondiente mensaje, nótese que estámos utilizando AND para verificar si la nota está en un rango numérico.

else {
if ($NOTA >= 51 and $NOTA < 70)
}

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "Excelente";

3.5. Ejemplo 13: Validar y mostrar un mensaje de acuerdo a si el número es par/impar.

Construya un pseudocódigo, que muestre un mensaje si un número es par o impar, y si el valor ingresado no es numero mostrar otro mensaje que diga "Ingrese un número".

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
NUMERO: Entero
3. LEER NUMERO
4. SI NUMERO > 0 Entonces
Si (NUMERO MOD 2) = 0 Entonces
Escribir 'El número ingresado es par'
Sino
Escribir 'El número ingresado es impar'
Fin_Sí
5. Sino
Escribir 'Ingrese un número'
6. Fin_Si
8. Terminar
Diagrama de flujo
Codificación en PHP
<?PHP

$NUMERO = 18;

if ($NUMERO > 0) {
if ($NUMERO % 2 == 0) {
print "El número ingresado es par";
} else {
print "El número ingresado es impar";
}
} else {
print "Ingrese un número";
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable entre comillas y finalizando con ";", ejemplo:

$NUMERO = 18;

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si NUMERO es mayor que 0, si el valor ingresado no es numérico mostrará un mensaje de alerta.

if ($NUMERO > 0) {
//...
} else {
//...
}

Si coincide calculamos el resto de la división % entre 2 y lo comparamos si es igual a 0, si el resto de la división es igual a 0 es par caso contrario es impar.

($NUMERO % 2 == 0)

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "Ingrese un Número";

3.6. Ejemplo 14: Validar edades de niños.

Construya un pseudocódigo que lea las edades de 2 niños y determine cuál es el mayor y cual es el menor. Debe validar que si la edad es mayor que 10 no es considerado niño.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
EDAD1, EDAD2: Entero
3. LEER EDAD1, EDAD2
4. Si EDAD1<10 EDAD2<10 Entonces
Si EDAD1 <> EDAD2 Entonces
Si EDAD1 > EDAD2 Entonces
Escribir 'El mayor es EDAD1'
Escribir 'El menor es EDAD2'
Sino
Escribir 'El mayor es EDAD2'
Escribir 'El menor es EDAD1'
Fin_Si
Sino
Escribir 'Las edades son iguales'
Fin_Si
5. Sino
Escribir 'Una de las edades es mayor a 10'
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$EDAD1 = 5;
$EDAD2 = 3;

if ($EDAD1 < 10 AND $EDAD2 < 10) {
if ($EDAD1 <> $EDAD2) {
if ($EDAD1 > $EDAD2) {
print "Edad mayor $EDAD1 <BREAK>";
print "Edad menor $EDAD2";
} else {
print "Edad mayor $EDAD2 <BREAK>";
print "Edad menor $EDAD1";
}
} else {
print "Edades iguales";
}
} else {
print "Una de las edades es mayor a 10";
}

?>
En el anterior código, reemplazar "BREAK" por "BR".

Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$EDAD1 = 5;
$EDAD2 = 3;

Iniciamos con IF, luego encerramos entre paréntesis () la variable y comparamos si las edades son menores a 10.

if ($EDAD1 < 10 AND $EDAD2 < 10) {
//...
} else {
//...
}

Utilizamos OR para verificar que ambas edades sean menores a 10.

if ($EDAD1 < 10 OR $EDAD2 < 10)

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "Edad mayor $EDAD1 <BR>";
print "Edad menor $EDAD2 <BR>";

3.7. Ejemplo 15: Mostrar mensaje si existe un número repetido.

Construya un pseudocódigo que permita ingresar 3 números y mostrar un mensaje cuando uno de ellos se repitan y otro mensaje si no existen repetidos.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
NUM1, NUM2, NUM3: Entero
3. LEER NUM1, NUM2, NUM3
4. Si NUM1 = NUM2 o NUM1 = NUM3 o NUM2 = NUM3 Entonces
Escribir 'Exite un par de números iguales';
5. Sino
Escribir 'Ninguno Repetido';
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$NUM1 = 5;
$NUM2 = 3;
$NUM3 = 3;

if ($NUM1 == $NUM2 OR $NUM1 == $NUM3 OR $NUM2 == $NUM3) {
print "Existe un par de números repetidos";
} else {
print "Ninguno Repetido";
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina con ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$NUM1 = 5;
$NUM2 = 3;
$NUM3 = 3;

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si algunos de los números son iguales.

if ($NUM1 == $NUM2 OR $NUM1 == $NUM3 OR $NUM2 == $NUM3) {
//...
} else {
//...
}

Utilizamos el OR para verificar si algunos de los pares de números son iguales.

$NUM1 == $NUM2 OR $NUM1 == $NUM3 OR $NUM2 == $NUM3

El print permite imprimir los valores o comentarios encerrados entre comillas que desea mostrar en la pantalla, ejemplo:

print "Existe un par de números repetidos";

3.8. Ejemplo 16: Ordenar números de mayor a menor.

Construya un pseudocódigo que lea tres números enteros por teclado y emita un mensaje indicando si están o no ordenados de menor a mayor y validar que solo ingresen números.

Algoritmo:
1. Iniciar proceso
2. Declarar Variables
NUM1, NUM2, NUM3: Entero
3. LEER NUM1, NUM2, NUM3
4. Si NUM1>0 y NUM2>0 y NUM3>0 Entonces
Si NUM1<NUM2 y NUM2<NUM3 Entonces
Escribir 'Ordenados de menor a mayor'
Sino
Escribir 'No están ordenados'
Fin_Si
5. Sino
Escribir 'Ingrese solo números'
6. Fin_Si
7. Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP

$NUM1 = 5;
$NUM2 = 6;
$NUM3 = 7;

if ($NUM1>0 and $NUM2>0 and $NUM3>0) {
if ($NUM1<$NUM2 and $NUM2<$NUM3) {
print "Ordenados de menor a mayor";
} else {
print "No ordenados";
}
} else {
print "Ingrese solo números";
}

?>
Resultado PHP en WEB
Explicación PHP

PHP inicia con la etiqueta <?PHP y termina ?>, cuando escribimos las variables le anteponemos el signo "$" y luego ingresamos el valor para cada variable y finalizamos con ";", ejemplo:

$NUM1 = 5;
$NUM2 = 6;
$NUM3 = 7;

Iniciamos la condición con IF, luego encerramos entre paréntesis () la variable y comparamos si algunos de los números son mayores a 0.

if ($NUM1 > 0 and $NUM2 > 0 and $NUM3 > 0) {
//...
} else {
//...
}

Utilizamos AND para verificar que todos cumplan la condición, caso contrario mostrará un mensaje, sino realizara la segunda condición y verificara si están ordenados de menor a mayor comparando si el último número es mayor y el primero es menor:

if ($NUM1 < $NUM2 and $NUM2 < $NUM3) {
//...
} else {
//...
}

El print permite imprimir los valores o comentarios encerrados entre comillas, que desea mostrar en la pantalla, ejemplo:

print "No ordenados";

Eso es todo por ahora, en el próximo artículo estaremos viendo la estructura de selección múltiple, lo que en lenguajes como C, C++ y Java se conoce como switch o en Delphi como case of.

4 comentarios :

  1. Bueno esto no tiene nada que ver con el tema pero, queria consultarte si sabes como poner no editable a un jtable, pero que este enabled es decir que se puedan seleccionar las filas, estoy trabajando en netbeans haber si puedes explicarmelo ....

    ResponderEliminar
    Respuestas
    1. Debiste haber hecho ésa pregunta en el post de jTable: Cómo seleccionar una fila en un JTable de Java"
      Pero ya que estamos aquí qué más da. Para hacer lo que quieres sigue éstos pasos:
      1. Da clic derecho sobre el jTable.
      2. Del menú desplegable selecciona "Table Contents..."
      3. De la ventana que se abre selecciona la pestaña "Columns"
      4. De la tabla que se muestra, desactiva todas las opciones de la columna "Editable"
      5. Cierra la ventana y ¡listo!

      Con eso tendrás un jTable no editable, pero con la opción enable activada, para que los usuarios puedan seleccionar las filas que quieran sin sobreescribir su contenido. Saludos!!!

      Eliminar
  2. buenas necesito desarrollar este ejercico en php y colo lo hago no funciona no se por que crear un programa que ingrese 5 nombres de trabajadores y su salario y posteriormente me muestre en pantalla el nombre del trabajador salrio mas bajo y slario mas alto faflorez16@gmail.com quien me puede ayudar es en php y etiquetas HTML en el mismo script

    ResponderEliminar
  3. crear un programa que ingrese 5 nombres de trabajadores y su salario y posteriormente me muestre en pantalla el nombre del trabajador salrio mas bajo y slario mas alto

    ResponderEliminar

Encuesta: ¿Quién es el mejor catedrático de la carrera de Ing. Informática de la UAGRM?