You are on page 1of 4

Guía de Laboratorio 04

Gestión y Administración Web [1]
Ing. Eduardo Chávez Vásquez

GUÍA DE LABORATORIO 04
1. OBJETIVOS
En esta guía de práctica se pretende:

 Adquiera un amplio dominio de la sintaxis de cada una de las sentencias repetitivas
disponibles en PHP.
 Identifique la sentencia repetitiva más adecuada para resolver cualquier tipo de problema.
 Haga uso de sentencias para modificar el número de veces y la forma en qué se ejecuta
un ciclo o lazo.
2. MATERIALES Y EQUIPO
Para la realización de la guía de práctica se requerirá lo siguiente:

No. Requerimiento Cantidad
1 Guía de laboratorio N°03 1
2 Computadora con XAMPP y Notepad++ 1
3 Carpeta en htdocs con nombre: practica04 1
3. PROCEDIMIENTO
Indicaciones: Asegúrese de digitar el código de los siguientes ejemplos que se presentan a
continuación. Tenga en cuenta que el Notepad++ no es compilador solamente un editor por lo
tanto los errores de sintaxis los podrá observar únicamente hasta que se ejecute el script al
cargar la página en el navegador de su preferencia.
Ejercicio #1: El siguiente ejercicio muestra cómo realizar la conversión de un número en sistema
decimal a uno en sistema binario utilizando para ello cadenas y un ciclo do-while.
Primer Archivo: decimalabinario.html
<html>
<head>
<title>Decimal a binario</title>
<link type="text/css" rel="stylesheet" href="decimalbinario.css" />
</head>
<body>
<div id="content">
<h1>Conversi&oacute;n de decimal a binario</h1><hr />
<form action="convertir.php" method="POST">
<fieldset>
<legend>Ingreso de n&uacute;mero </legend>
<label for="numero">N&uacute;mero decimal (base 10):</label>
<input type="text" name="numero" id="numero" size="5" maxlength="3"
class="numero"
/><br />
<input type="submit" name="convertir" value="Convertir"
class="apagado" />
</fieldset>
</form>
<div>
</body>
</html>

Segundo Archivo: decimalbinario.css
* {
border:0;
padding:0;}
body {
background:rgb(05,50,10) url(img/matrixbg.jpg) repeat-y;
}
hr {
width:28em;
height:6px;
background-color:rgb(05,50,10);
Guía de Laboratorio 04
Gestión y Administración Web [2]
Ing. Eduardo Chávez Vásquez
}
h1 {
text-align:center;
letter-spacing: 0.1em;
font:800 1.4em "Lucida Sans",Helvetica,sans-serif;
color:rgb(05,50,10);
}
legend, label, p{
font-family:"Century Gothic";
font-size:0.8em;
color:rgb(05,30,10);
}
#content {
width:30em;
position:relative;
left:50%;
margin-left:-400px;
background:rgb(220,250,225) url("img/binary.jpg") repeat-y top left;
padding-left:144px;
}
.numero {
text-align:right;
font:600 0.8em Verdana,Helvetica;
color:rgb(05,30,10);
}
.apagado {
background-color:rgb(20,60,30);
font:600 0.9em Verdana,Helvetica;
color:rgb(180,250,200);
}
.apagado:hover {
background-color:rgb(40,90,50);
font:600 0.9em Verdana,Helvetica;
color:rgb(250,250,90);
}
Tercer Archivo: convertir.php
<html>
<head>
<title>Decimal a binario</title>
<link type="text/css" rel="stylesheet" href="decimalbinario.css"
media="screen" />
</head>
<body>
<div id="content"><p>
<?php
if(isset($_POST['convertir'])){
$decimal = $_POST['numero'];
$msg = "El n&uacute;mero decimal es: ";
$msg .= "<b>$decimal</b><br>\n";
echo $msg;
$binario = '';
do{
$binario = $decimal % 2 . $binario;
$msg = "$decimal % 2 = ";
$msg .= "<b>$binario</b><br>\n";
echo $msg;
$decimal = (int)($decimal/2);
}while ($decimal > 0);
$msg = "N&uacute;mero en binario resultante ";
$msg .= "<b>$binario</b><br>\n";
echo $msg;
}
?>
</p></div>
</body>
</html>

Guía de Laboratorio 04
Gestión y Administración Web [3]
Ing. Eduardo Chávez Vásquez
Ejercicio #2: El siguiente ejemplo ilustra cómo utilizar ciclos o lazos do-while para acumular valores
y obtener datos como el valor menor y mayor de una serie de números así como el total de números
pares presentes en la misma..
Primer archivo: intervalos.php
<html>
<head>
<title>Bucle do-while</title>
<link type="text/css" rel="stylesheet" media="screen" href="intervalos.css"
/>
</head>
<body>
<?php
$min = 1;
echo "<div id=\"main\">";
echo "<h2>Ejemplos con el lazo o bucle <em>do-while</em></h2>";
echo "<hr />";
echo "<p>\n";
echo "Esta iteraci&oacute;n sencilla de ";
echo "<em>do-while</em> imprime una serie de ";
echo "20 n&uacute;meros enteros\n";
echo "</p>\n";
echo "<table>\n";
do {
echo "<td>$min</td>\n";
$min++;
}while ($min<=20);
echo "</table>\n";
$min=1;
$max=95070;
echo "<p>&nbsp;</p>\n<p>&nbsp;</p>\n";
echo "<p>\nLa siguiente iteraci&oacute;n muestra";
echo "el total de n&uacute;meros pares en un ";
echo "intervalo que va desde $min hasta $max\n</p>\n";
$contador=0;
if($max<$min){
$temp=$max;
$max=$min;
$min=$temp;
}
echo "<table>\n<tr>\n";
echo "<td>El valor m&iacute;nimo de la serie es:</td>\n";
echo "<td>$min</td>\n";
echo "<td>El valor máximo de la serie es:</td>\n";
echo "<td>$max</td>\n";
echo "</tr>\n</table>\n";
do {
if($min%2==0) $contador++;
$min++;
}while ($min <= $max);
echo "&nbsp;<table>\n";
echo "<tr>\n<td>\n";
echo "El total de n&uacute;meros ";
echo "pares en este intervalo es:\n</td>\n";
echo "<td>$contador</td>\n";
echo "</tr>\n</table>\n";
?>
</body>
</html>
Segundo archivo: intervalos.css

<body {
background-color:rgb(15,60,18);
}
h2 {
text-align:center;
font-family:"Arial Rounded";
font-weight:900;
Guía de Laboratorio 04
Gestión y Administración Web [4]
Ing. Eduardo Chávez Vásquez
font-size:20pt;
border:outset 8px ForestGreen;
background-color:Khaki;
}
p {
font-family:Garamond,Georgia;
font-weight:400;
font-size:12pt;
color:ForestGreen;
}
table {
border:outset 5px SaddleBrown;
}
th {
background-color:Sienna;
font-family:"Bookman Old Style";
font-weight:800;
font-size:11pt;
}
td {
border:solid 1px Sienna;
background-color:rgb(245,245,199);
font-family:Batang,Garamond,Georgia;
font-weight:300;
font-size:12pt;
color:ForestGreen;
}
#main {
background-color:rgb(255,255,66);
background-image:url(img/numbers.jpg);
background-position:left;
background-repeat:repeat-y;
padding-left:160px;
}

4. DISCUSIÓN DE RESULTADOS
a. Cree un script que permita calcular el factorial de un numero entero positivo.
b. Realice un script PHP que mediante un formulario que solicite dos números, el primero de
ellos entero o con parte decimal y el segundo necesariamente entero, calcule la potenci a de
elevar el primer número ingresado a la potencia dada por el segundo número. No puede
utilizar la función pow() para resolver este problema, debe resolverlo haciendo uso de un
procedimiento que utilice un ciclo o lazo en donde aproveche la característ ica de que un
número elevado a una potencia es igual a multiplicar ese número por si mismo tantas veces
como indique la potencia. Por ejemplo: 5 ^ 2 = 5 * 5 = 25, o 3 ^ 4 = 3* 3 * 3 * 3 = 81.
c. Cree un script que le permita ingresar un número del 1 al 12 a través de un formulario, que
solamente deberá contener un campo de texto, su etiqueta y un botón de envío. El script PHP
que realizará deberá mostrar la tabla de multiplicar de ese número de forma ordenada y
utilizando hojas de estilo para una buena apariencia visual