Você está na página 1de 9

Estructura de Control en PHP

Rooney Hurtado P
Programacion en computadores 1
Instituto IACC
29-07-2018
Desarrollo

1. Indique cuáles son –a su parecer– las principales diferencias entre las


estructuras de control While, Do-While y For. Establezca una comparación
de al menos dos puntos para cada una de ellas, explicándolas de la forma
más detallada posible.

2. Solucione el siguiente problema utilizando las estructuras de control de


selección e iteración (al menos una de cada una) que considere más adecuadas.
“Un amigo suyo necesita determinar cuánto podría ganar con la dictación de un
seminario que tiene pensado ofrecer a una sociedad profesional. Le solicita a usted
ayuda para diseñar un algoritmo implementado en PHP que permita, cambiando
manualmente o por pantalla el número de asistentes, determinar el monto total de
sus ingresos, sabiendo que la cuota a cobrar por cada asistente es de 173.895
pesos. Por otra parte, le indica que debe arrendar un local, cuyo costo fijo es de
945.600 pesos más IVA, con Coffe break incluido. El programa debe informar por
pantalla la cantidad de asistentes con la cual el
negocio se hace rentable y el monto total a ganar descontado el arriendo”.

Respuestas:

1.- No importa el lenguaje que estés utilizando, siempre y cuando éste tenga las
palabras reservadas FOR y WHILE; en este caso los ejemplos estarán escritos en
C aunque el uso debería ser exactamente igual en lenguajes como Java, PHP, Shell
Script y otros tantos.

Bucle FOR
El ciclo o bucle FOR se utiliza cuando tenemos claro un punto de inicio y un punto
de finalización. Por ejemplo, si deseamos imprimir los números pares entre el 20 y
el 36, haríamos algo como lo siguiente:

For (int k = 20; k <= 36; k++)


(k % 2 == 0)? Printf ("%d\n", k): continue;

En el código anterior vemos que, si el residuo de la división del número K entre 2 es


igual a cero, entonces el número es par y se imprime dicho número, caso contrario
decimos que el bucle FOR se ejecute con el siguiente valor de K. Por cierto, la
instrucción extraña que vemos ahí se le conoce como operador ternario (es lo
mismo que un IF de una línea).
Bucle WHILE
El bucle WHILE, a diferencia del FOR, se utiliza cuando no sabemos cuándo
finalizará una condición dada, un claro ejemplo puede ser cuando el usuario quiere
continuar haciendo algo en repetidas ocasiones hasta que pulse la tecla 'n'.

char val = 's';

while(val == 's')
{
printf("Deseas continuar? s/n: ");
scanf("%c", &val);
}
En este pequeño código el programa le preguntará al usuario si desea continuar, a
menos que éste presione la tecla 'n', el programa le preguntará infinitas veces.

Bucle DO WHILE
El bucle DO WHILE es casi igual al anterior, con la diferencia de que la condición
dada se ejecuta al menos una vez. Siguiendo con el ejemplo anterior, ¿qué pasaría
si la variable val tuviera otro valor, por ejemplo, char val = 'z'? Simplemente el ciclo
WHILE jamás se ejecutaría porque no se cumple la condición de que val tenga un
valor s; entonces con el bucle DO WHILE hacemos que el código entre llaves se
ejecute al menos una vez.

char val = 'z';

do
{
printf("Deseas continuar? s/n");
scanf("%c", &val);
}
while(val == 's');
Como vemos, el código se ejecutará solamente una vez si el usuario introduce un
valor distinto a 's', en otro caso el código se ejecutará indefinidamente hasta que el
usuario pulse una tecla que no sea 's'.
2.-respuesta:

<body>
<?php
// declaraciones de cantidad de personas, costo por persona, costo del local y el
porcentaje del IVA:
$personas=30;
$costopersona=173.895;
$local=945.600;
$iva=10;
// variables:
// no cambiar
$sumaiva=($local*$iva)/100;
$localt=$local+$sumaiva;
$a=1;
$tnt=0;
// for para conocer la cantidad de persona que necesitas para cubrir el local y
cantidad total por las personas necesarias:
for($i;$costopersona;$localt > $i + $cos
$a ++ ;
$tnt=$i);
}

// if para imprimir resultados dependiendo de la cantidad de personas inscrita en el


curso:

if($personas<$a){
echo"necesitas $a para cubrir el local.
";
}elseif($personas==$a){
$diferencia=$localt-$tnt;
echo"esta cubierto el local
";
echo"con $a persona solo ganas $diferencia pesos.
";
}else{
echo"tienes $personas personas inscritas.
";
$dp=$personas-$a;
echo"son $dp personas mas de las necesarias para cubrir el costo del local.
";
$gana=($personas*$costopersona)-$localt;
echo"tienes una ganancia de $gana pesos.
";
}
?>
</form>
</body>
</htlm>
Código
Bibliografía

Contenido Semana N°7 Instituto IACC 2018