Este documento presenta ejemplos de uso de estructuras de control condicionales if y switch en PHP. Incluye 12 ejercicios de programación que utilizan if, if anidados y switch para calcular sueldos, días de la semana, promedios, mayores de números, descuentos y más. El objetivo es que los estudiantes aprendan a elaborar programas que utilicen estas estructuras de selección.
1. PHP - 2009 Lab 3: POO Selección - Php
Laboratorio 3: PHP
POO - Selección
Objetivos
• Elaborar programas utilizando estructuras de control if.
• Utilizar expresiones relacionales y lógicas
• Utilizar if’s anidados y selección multiple switch
If
Cada definición de clase empieza con la palabra "class", seguida por un nombre de clase, el cual
puede ser cualquier nombre que no esté en la lista de palabras reservadas en PHP. Seguida por un
par de llaves, las cuales contienen la definición de los miembros de la clase y los métodos.
<? php
if (expr)
sentencia
?>
if’s anidados
<?php
if condicion
if condicion then
sentencias
else
sentencias
else
if condicion then
sentencias
else
sentencias
Switch
La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas
ocasiones, se quiere comparar la misma variable (o expresión) con nuchos valores diferentes, y
ejecutar una parte de código distinta dependiendo de a qué valor es igual. Para ello sirve la
sentencia switch.
Ing. Antonio Arroyo Paz L3 – Pág. 1
Carrera de Ingeniería de Sistemas
2. Lab 3: POO Selección- Php PHP
Ejercicio1: Sueldo de un empleado
1. Elaborar un programa que calcule el sueldo de un empleado teniendo como información el
número de horas trabajadas y el costo por hora. Se debe de tener en cuenta si el número
de horas trabajadas es mayor que 40, el excedente de 40 se paga al doble del costo por
hora. En caso de no ser mayor que 40 el numero de horas trabajadas el pago a es normal.
Algoritmo
En este problema el sueldo se calcula de dos formas distintas.
1. si el numero de horas trabajadas es menor o igual que 40:
Sueldo = numero de horas trabajadas x costo por hora
2. Si el número de horas trabajadas es mayor que 40
Sueldo =(40 x costo por hora) + ((numero de horas trabajadas – 40) x (costo por hora x 2 ))
<?php
class calculoSueldo{
public $_horastrab;
public $_costohora;
function calcular_sueldo() {
if ($this->_horastrab <=40 )
$sueldo=($this->_horastrab*$this->_costohora);
echo "El sueldo es=".$sueldo;
else
$sueldo=(40*$this->_costohora)+(($this->_horastrab-40)*($this-
>_costohora*2));
echo "El sueldo es=".$sueldo;
} // Fin calcular_sueldo
} // Fin Clase
$sueldoemp= new calculoSueldo();
$sueldoemp->_horastrab=41;
$sueldoemp->_costohora=10;
$sueldoemp->calcular_sueldo();
?>
Ejercicio 2: Día de la semana
1. Elaborar una programa que lea el número de dia (un valor entre 1 y 7) y visualize domingo
si es 1, lunes si es 2, …, sábado si es 7.
<?php
class diceDia{
public $_numdia;
function mostrar_dia() {
switch ($this->_numdia) {
case 1:
echo "Domingo";
break;
case 2:
echo "Lunes";
break;
case 3:
L3 – Pág. 2 Ing. Antonio Arroyo Paz
Carrera de Ingeniería de Sistemas
3. PHP - 2009 Lab 3: POO Selección - Php
echo "Martes";
break;
case 4:
echo "Miercoles";
break;
case 5:
echo "Jueves";
break;
case 6:
echo "Viernes";
break;
case 7:
echo "Sábado";
break;
default:
echo "No corresponde";
} //Fin switch
} // Fin mostrar_dia
} // Fin Clase
$diasemana= new diceDia();
$diasemana->_numdia=1;
$diasemana->mostrar_dia();
?>
Ejercicio 3: Promedio con mensaje
1. Elaborar un programa para calcular el promedio de calificaciones de un estudiante. Los
datos disponibles son nota1, nota2, nota3 y nota4. El programa debe de mostrar el
promedio de las calificaciones y un mensaje “Aprobado” si obtiene 11 o más, o
“Reprobado” en caso contrario.
Ejercicio 4: Mayor de dos números
1. Elaborar un programa que lea dos números y que calcule e imprima el mayor. Se supone
que son números diferentes. Utilizar if.
Ejercicio 5: Mayor de tres números
1. Elaborar un programa que lea tres números y que calcule e imprima el mayor. Se supone
que son números diferentes. Utilizar if.
(3 soluciones)
Ejercicios Propuestos
Ing. Antonio Arroyo Paz L3 – Pág. 3
Carrera de Ingeniería de Sistemas
4. Lab 3: POO Selección- Php PHP
1. Elabora un programa para calcular e imprimir el precio de un terreno del cual se tienen los
siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene más de 400
metros cuadrados se hace un descuento de 10%
2. Igual al ejercicio anterior, sólo que si el terreno tiene más de 500 metros cuadrados el
descuento es de 17% y si tiene más de 1000 el descuento es de 25%.
3. Elabora un programa para calcular e imprimir los valores de X y Y, teniendo como entrada
el valor de X y calculando el de Y de acuerdo con las siguientes condiciones Si X < 0 y=
3x + 6 , Si X>= 0 entonces Y= x2 + 6
4. Elabora un programa que imprima el costo de un pedido de un articulo del cual se tiene la
descripción, la cantidad pedida y el precio unitario. Si la cantidad pedida excede de 50
unidades, se hace un descuento de 15%
5. De acuerdo con la clase de sus ángulos, los triángulos se clasifican en:
Rectángulo tiene un ángulo recto igual a 90°
Obtusángulo tiene un ángulo obtuso mayor que a 90 pero menor que 180
Acutángulo los tres ángulos son agudos menores que 90°
6. En un almacén de venta de trajes, si compra uno se hace el 50% de descuento, si compra
2, el 55%, si compra 3, el 60% y si compra más de 3 el 65%. Elaborar un programa que
suministre la cantidad de trajes y el precio unitario (todos tienen el mismo precio) e imprima
el subtotal a pagar, el descuento y el total a pagar.
7. Dos triángulos son congruentes si tienen la misma forma y tamaño, es decir, sus ángulos y
lados correspondientes son iguales. Elaborar un algoritmo que lea los tres ángulos y lados
de dos triángulos e imprima si son congruentes.
8. Un trapecio es isósceles si sus dos ángulos de la base son iguales. Elaborar un programa
que lea los ángulos A y B de la base y que imprima si son isósceles o no.
9. En el hotel “Juliaca” se hace un descuento de 10% si el cliente se hospeda más de 5 días,
de 15% si se hospeda más de 10 días, y del 20% si se hospeda más de 15 días. Elaborar
un programa que le el número de días y el precio diario de la habitación e imprima el
subtotal a pagar, el descuento y el total a pagar.
10. Elaborar un programa que permita leer los datos de un automóvil, marga, origen y costo,
imprimir el impuesto a pagar y el precio de venta incluido el impuesto. Si el origen es
Alemania, el impuesto es 20%, si es de Japón el impuesto es 30%, si es de Italia, 15%, y si
es de USA, 8%.
11. Elaborar un programa que permita leer el nombre, tipo de empleado y sueldo de un
empleado; que imprima el incremento de sueldo y su nuevo sueldo de acuerdo con lo
siguiente; si es tipo de empleado 1 se le aumentará 5%; si es de tipo 2 se le aumentará 7%;
si es 3 el 9%, si es 4 el 12% y si es 5 el 15%.
12. Elaborar un programa que permita leer 4 números e imprima el mayor. Debe validar que
sean diferentes, es decir, si hay números iguales debe enviar un mensaje de error.
L3 – Pág. 4 Ing. Antonio Arroyo Paz
Carrera de Ingeniería de Sistemas
5. PHP - 2009 Lab 3: POO Selección - Php
El profesor:
Ing. Antonio Arroyo Paz
Ing. Antonio Arroyo Paz L3 – Pág. 5
Carrera de Ingeniería de Sistemas