sábado, 18 de febrero de 2012

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

Ya anteriormente hemos visto las estructuras de selección simple, las estructuras de selección doble y las estructuras condicionales anidadas, en esta ocasión veremos las estructuras de selección múltiple o condicionales mútiples, conocidos en algunos lenguajes de programación como switchs o case ofs.

4. La estructura de selección múltiple.

La estructura de selección múltiple permite que el flujo del programa se bifurque por varias ramas en el punto de la toma de decisión(es), esto en función del valor que tome el selector. Así, si el selector toma el valor 1 se ejecutará la acción 1, si toma el valor 2 se ejecutará la acción 2, si toma el valor N se realizará la acción N, y si toma un valor distinto de los valores comprendidos entre 1 y N, se continuará con el flujo normal del diagrama realizándose la acción N+1.

4.1. Ejemplo 17: Calcular 2 valores en un menú de selección.

Construya un pseudocódigo que pida dos números enteros y muestre por pantalla el siguiente menú:

MENÚ
1. Sumar
2. Restar
3. Multiplicar
4. Dividir

Elija la opción:
El usuario deberá elegir una opción y el programa deberá mostrar el resultado y finalizar.

Algoritmo:
Iniciar proceso
Declarar variables
A, B: Opcion: Entero
H: Real
Leer A, B
Escribir MENU
1. Sumar
2. Restar
3. Multiplicar
4. Dividir
Elija opción:
Leer Opción
Leer A, B
En caso de Opcion
Caso 1: R = A + B
Caso 2: R = A - B
Caso 3: R = A * B
Caso 4: R = A / B
Fin_Caso
Escribir R
Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP
$A = 5;
$B = 6;
$OPCION = 3;
switch ($OPCION) {
case 1:
$R = $A + $B;
echo "Resultado $R";
break;
case 2:
$R = $A - $B;
echo "Resultado $R";
break;
case 3:
$R = $A * $B;
echo "Resultado $R";
break;
case 4:
$R = $A / $B;
echo "Resultado $R";
break;
}
?>
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:

$A = 5;
$B = 6;
$MENU = 3;

swtich evalúa y compara cada expresión de la sentencia case:

switch ($MENU) {
case 1:
//...
case 2:
//...
case 3:
//...
case 4:
//...
}

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

echo "Resultado $R";

4.2. Ejemplo 18: Validar fecha de nacimiento.

Construya un pseudocódigo, que valide la fecha de nacimiento de una persona, considere que el año válido sea mayor a 1900.

Algoritmo:
Iniciar proceso
Declarar variables
DD, MM, AA, NDias: Entero
Leer DD, MM, AA
En caso de MM
Caso 1: TDias = 31
Caso 2:
Si (AA Mod 4 = 0 Y AA MOD 400 = 0) O (AA MOD 400 = 0) Entonces
Hacer TDias = 29
Sino
Hacer TDias = 28
Fin_Si
Caso 3: TDias = 31
Caso 4: TDias = 30
Case 5: TDias = 31
Case 6: TDias = 30
Case 7: TDias = 31
Case 8: TDias = 31
Case 9: TDias = 30
Case 10: TDias = 31
Case 11: TDias = 30
Case 12: TDias = 31
Fin_Caso
Si AA>1900 Y (MM>0 Y MM<12) Y (DD>0 Y DD<=TDias)
Escribir 'Fecha válida'
Sino
Escribir 'Fecha no válida'
Fin_Si
Terminar el proceso
Diagrama de flujo
Codificación en PHP
<?PHP
$DD = 16;
$MM = 5;
$AA = 1778;
switch ($MM) {
case 1: $TDIAS = 31;
break;
case 2:
if (($AA % 4 == 0 and $AA % 400 == 0) or
($AA % 400 == 0)) {
$TDias = 29;
} else {
$TDias = 28;
}
break;
case 3: $TDIAS = 31
break;
case 4: $TDIAS = 30;
break;
case 5: $TDIAS = 31;
break;
case 6: $TDIAS = 30;
break;
case 7: $TDIAS = 31;
break;
case 8: $TDIAS = 31;
break;
case 9: $TDIAS = 30;
break;
case 10: $TDIAS = 31;
break;
case 11: $TDIAS = 30;
break;
case 12: $TDIAS = 31;
break;
}

if ($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and
$DD <= $TDIAS)) {
print "Fecha válida";
} else {
print "Fecha no válida";
}
?>
Resultado PHP en WEB
Explicación PHP

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

$DD = 16;
$MM = 5;
$AA = 1778;

switch evalúa y compara cada expresión de la sentencia case:

switch ($MM) {
case 1:
//...
case 2:
//...
case 3:
//...
case 4:
//....
}

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

print "Fecha válida";
print "Fecha no válida";

Para febrero tratamos de definir cuantos días tiene el mes con la siguiente condición:

if (($AA % 4 == 0 and $AA % 400 == 0) or ($AA % 400 == 0)) {
$TDias = 29;
} else {
$TDias = 28;
}

Al final validamos si el año es mayor que 1900 con al siguiente condición, nótese que también estamos validando el mes y el día:

if (($AA > 1900 and ($MM > 0 and $MM <= 12) and ($DD > 0 and
$DD <= $TDIAS)) {
print "Fecha válida";
} else {
print "Fecha no válida";
}

Y así terminamos ésta parte dedicada al estudio de las estructuras condicionales en PHP, en los próximos posts estaremos abordando las estructuras lógicas repetitivas o cíclicas en PHP, hasta entonces.

Códifog Fuente: download/descargar

No hay comentarios :

Publicar un comentario

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