miércoles, 11 de diciembre de 2013

DEBER 22

FRANCISCO MUNOZ
CATEDRATICO Ing. Juan Espinoza

CLASE TRANSPORTE
<html>
<head>
<title>TRANSPORTE</title>
</head>
<body bgcolor="black" text="orange">

<h1>
<?php
class TRANSPORTE
{
var $tipo;
var $modelo;
var $marca;
//METODOS=FUNCTION
function acelerar($Modelo, $Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo "A comenzado a moverse";
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Su marca es:"." ".$this->marca;
}
function frenar($Modelo,$Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Es de marca:"." ".$this->marca;
echo"<br>";
echo " Y se a detenido";
}
function transporte($tipo){
$this->Tipo=$tipo;
echo"Su tipo de transporte es :".  $this->Tipo;
}
}
//SUBCLASE otrotpt
class otrotpt extends TRANSPORTE{
var $otrotrans;
function otroMedio($Otrotrans){
$this->otromedio=$Otrotrans;
echo "Otro tipo de trasnporte es :". $this->otromedio;
}
}

$transporte=new Transporte('AUTO');
echo"<br>";
$auto= $transporte->acelerar('2002','MAZDA');
echo"<br>";
$auto= $transporte->frenar('2002','MAZDA');
echo "<br>";
$otrotrans=new otroTpt();
ECHO"<BR>";
$caballo=$otrotrans->otromedio('CABALLO');
ECHO"<BR>";
//$caballo=$otrotrans;
?>
</body>
</html>

jueves, 5 de diciembre de 2013

DEBER 21

FRANCISCO MUNOZ
CATEDRATICO Ing Juan Espinoza

HERENCIAS (EXTENDS)

<html>
<head>
<title>TRANSPORTE</title>
</head>
<body bgcolor="black" text="orange">

<h1>
<?php
class TRANSPORTE
{
var $tipo;
var $modelo;
var $marca;
function acelerar($Modelo, $Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo "A comenzado a moverse";
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Su marca es:"." ".$this->marca;
}
function frenar($Modelo,$Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Es de marca:"." ".$this->marca;
echo"<br>";
echo " Y se a detenido";
}
function transporte($tipo){
$this->Tipo=$tipo;
echo"Su tipo de transporte es :".  $this->Tipo;
}
}

class otrotpt extends TRANSPORTE{
var $otrotrans;
function otroMedio($Otrotrans){
$this->otromedio=$Otrotrans;
echo "Otro tipo de trasnporte es :". $this->otromedio;
}
}

$transporte=new Transporte('AUTO');
echo"<br>";
$auto= $transporte->acelerar('2002','MAZDA');
echo"<br>";
$auto= $transporte->frenar('2002','MAZDA');
echo "<br>";
$otrotrans=new otroTpt();
ECHO"<BR>";
$caballo=$otrotrans->otromedio('CABALLO');
ECHO"<BR>";
//$caballo=$otrotrans;
?>
</body>
</html>

miércoles, 4 de diciembre de 2013

DEBER 20

FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza

EJEMPLO DE CLASES Y OBJETOS
<?php
class ANIMAL
{
var $tipo;
var $habitat;
var $alimento;
function nacer(){
echo "A comenzado a nacer";
}
function crecer(){
echo "A crecido";
}
function reproducir(){
echo"Se  ha reproducido";
}
function morir(){
echo"A muerto";
}


function animal($tipo){
$this->TIPO=$tipo;
echo"Su tipo es :".  $this->TIPO;
}
function animal1($habitat){
$this->HABITAT=$habitat;
echo"Su habitat :".  $this->HABITAT;
}
function animal2($alimento){
$this->ALIMENTO=$alimento;
echo"Su alimento es :".  $this->alimento;
}
}
$animal=new Animal('MAMIFERO');
echo"<br>";
$animal1=new Animal('EN CAUTIVERIO');
echo"<br>";
$animal2=new Animal('CARNE CRUDA');
echo"<br>";
$gato= $animal->nacer();
echo"<br>";
$gato= $animal->crecer();
echo"<br>";
$gato= $animal->reproducir();
echo"<br>";
$gato= $animal->morir();
?>

DEBER 19

FRANCISCO MUNOZ
CATEDRATICO.  Ing. Juan Espinoza


QUE SON CLASES
Una clase no es otra cosa que una especie de plantilla dentro de la cual se pueden definir una serie de variables llamadaspropiedades –que pueden contener valores predefinidos– y un conjunto de funciones denominadas métodos que pueden ser invocadasdesde cualquier parte del documento por un objeto o instancia de esa clase.
La sintaxis que permite definir una clase es siguiente:
class nombre {
....
... definición de variables y/o propiedades....
....
.. constructor (opcional)...
....
.. destructor (opcional)...
....
.. definición de métodos o funciones ...
....

La palabra reservada class es obligatoria y ha de ir seguida de un nombre mediante el que será identificada la clase. La definición de la clase comienza con un llave de apertura ({) y acaba con una llave de cierre (}). Entre ambas llaves podemos incluir sus variables o propiedades y también sus métodos o funciones.
A las variables o propiedades pueden serles asignados valores, aunque no es imprescindible hacerlo. Los métodos o funcionestienen una sintaxis muy similar a la utilizada en la programación estructurada.
Entre los métodos o funciones susceptibles de ser incluidos en una clase existen dos bastante especiales. Son los llamadosconstructor destructor. Ninguno de ellos tiene carácter obligatorio. Su peculiaridad estriba en que se ejecutan de forma automática en determinadas circunstancias. Hablaremos de ellas un poco más adelante.


DEFINICION DE LAS PROPIEDADES


Para definir una variable o propiedad en una clase es obligatorio anteponer a su nombre una de estas tres palabras reservadas:publicprivate o protected. Por compabilidad con versiones anteriores de PHP si se usa la palabra var será interpretada como un alias depublic. El nombre de la variable utiliza la sintaxis habitual de PHP y en el caso de que tratemos de asignarle un valor, bastará con poner detrás del nombre el signo = seguido de ese valor que en el caso de ser una cadena tienen que ir entre comillas.
A modo de ejemplo podemos decir que public $pepe="Jose" es una sintaxis válida, pero que $pepe="Jose" no lo es dado que le falta la palabra reservada (opción de visibilidad) que obligatoriamente debe llevar delante de su nombre y que de no ser incluida provocaría un error.
Lo que se conoce como encapsulamiento es uno de los pilares básicos de la Programación Orientada a Objetos. Permite establecer las condiciones y/o restricciones de visibilidad de los diferentes elementos (propiedades y métodos) de una clase. Cuando al definir una variable o propiedad anteponemos a su nombre la palabra public estamos estableciendo ese carácter público de visibilidad que significa que sus valores pueden ser vistos e incluso modificados desde cualquier parte del script en que sean invocadas.
Por el contrario, si establecemos la visibilidad como private (privada) estamos encapsulando la información de forma que sus valores sólo son accesibles a través de métodos o propiedades incluidos en la propia clase. La tercera de las posibilidades, protected (protegida), flexibiliza un poco la condición private al permitir que el método o propiedad sea ser visible desde la propia clase y desde sus clases extendidas (las trataremos un poco más adelante cuando nos refiramos a la herencia).

FUNCIONES O METODOS DE UNA CLASE

Los métodos o funciones definidas en las clases que tienen una sintaxis casi idéntica al resto de las funciones PHP
function nombre( ){
... instrucciones....
....
}
Las diferencias más sustanciales respecto a las funciones de la programación estructurada son:
  • – Los métodos siguen los mismos criterios de encapsulamiento que hemos comentado al hablar de las propiedades. Se establecen anteponiendo a la palabra function una de las tres palabras publicprivate o protected aunque en este caso si se omite no se genera error sino que el método es considerado como public.
  • – Siempre que desde un método se invoque una variable o propiedad definida en la misma clase ha de hacerse mediante la sintaxis: $this ->propiedad.
  • – Los métodos de la propia clase se invocan de esta forma: $this->nombre_de_la_funcion(). Como es lógico dentro del paréntesis pueden incluirse los parámetros o argumentos que sean necesarios.
Prestemos mucha atención. El $ va siempre delante de la palabra this y solo se escribe una vez y en esa posición. El nombre de la variable (que va siempre después de -> no lleva el $.
Este es un ejemplo de una clase muy sencilla. Como ves el nombre de la clase es MiClase. Como es lógico, si tratas de ejecutar el ejemplo no obtendrás ningún resultado. Será necesario que un objeto utilice esta clase.

<?php
class MiClase{
    public    $factor1=7; // esta es pública
    private   $factor2=8;  // variable privada
    protected $factor3=3; // variable protegida
    function calcula($a=3,$b=5){ // al no indicar visibilidad será public
        return $this->factor1-$b^2+$this->factor2*$a-$this->factor3;
       }
}
 ?>

QUE SON LOS OBJETOS


Las clases son solo plantillas y sus métodos no serán ejecutados en tanto no exista un objeto que requiera su aplicación. Dicho en forma coloquial, una clase es como una sartén. En tanto no tengamos algo que freir carece de utilidad alguna. Su razón de ser son los objetos susceptibles de se cocinados por ella. Lo mismo ocurre con las clases cuya auténtica razón de ser es servir para la creación y manejo de sus objetos.




CREACION Y DESTRUCCION DE OBJETOS


Para crear un nuevo objeto (instancia de la clase) que utilice una clase determinada debemos usar la siguiente sintaxis:
$objeto = new clase
donde objeto es una palabra cualquiera con la que identificar el objeto (como si se tratara de una variable), new es una palabra reservada obligatoria y clase es el nombre de una clase que puede estar escrita en el mismo documento o en un fichero externo. Si la clase está escrita en un documento distinto del que contiene el script que crea el objeto habremos de utilizar include o require para incluirla.
¡Cuidado! Fíjate que por el momento no hemos puesto los () requeridos para invocar las funcionesdetrás del nombre de la clase.
Cuando se trata de eliminar un objeto (liberar el área de memoria que contiene toda la información relativa a este) podemos utilizar la siguiente sintaxis:
$objeto = null  o unset(objeto )
si bien es cierto que se destruyen de forma automática una vez termina la ejecución del script que los crea y utiliza.

UTILIZACION DE LOS OBJETOS

Una vez creado un objeto ya se podrán utilizar (si su visibilidad lo permite) y modificar sus propiedades y también las funciones o métodos de su clase. Los métodos se invocan mediante la siguiente sintaxis:
$objeto->funcion()
o
$objeto->funcion(p,q)
o
$objeto->funcion(p)
dónde $objeto es el objeto creado en la instrucción anterior, el -> es obligatoriofuncion es el nombre de uno de los métodos o funciones definidos en la clase invocada y donde los () son obligatorios y además –como ocurría en las demás funciones PHP– puede contener valoresvariables, etcétera separadas por comas.
Las propiedades (siempre que su visibilidad lo permita) son accesibles mediante:
$objeto->propiedad
o
$objeto->propiedad=valor
En el primer caso estaríamos leyendo el valor de esa propiedad y en el segundo le estaríamos asignando el incluido después del signo igual.

EJEMPLO

<?php
/* incluimos el fichero que contiene la clase que pretendemos utilizar */
include('ejemplo299.php');
/* creamos un objeto utilizando el nombre exacto de la clase*/
$MiObjeto1=new MiClase; //no lleva paréntesis
/* leeremos los valores de las propiedades */
print "<br />Valor por defecto de la propiedad factor1: ";
/* solo podremos leer desde aquí la propiedad publica factor1
Las propiedades privadas y protegidas solo son accesibles desde la propia clase
y aquí estamos haciendo desde uno objeto que la instancia */
print $MiObjeto1->factor1;
print "<br />Aplicación del método calcula ";
print "<br />No pasamos argumentos. Por tanto calcula con 'a'=3 y 'b'=5: ";
print $MiObjeto1->calcula();
print "<br />Pasamos 15 como argumento por  tanto calcula con 'a'=15 y 'b'=5: ";
print $MiObjeto1->calcula(15);
print "<br />Pasamos 125 y -98 como argumentos por  tanto calcula con 'a'=125 y 'b'=98: ";
print $MiObjeto1->calcula(125,-98);
/* solo podemos modificar desde aquí la propiedad factor1. Las otras dos por su carácter
  privado y restringido solo podrían ser modificadas desde dentro de la propia clase
  o de una clase extendida */
print "<br />Modificamos el valor de la propiedad factor1: ";
$MiObjeto1->factor1=196;
print$MiObjeto1->factor1;
print "<br />Cálculo con los nuevos valores por defecto: ";
print $MiObjeto1->calcula();
print "<br />Cálculo con nuevos valores por defecto pero asignando a 'a' el valor 25: ";
print $MiObjeto1->calcula(25);
print "<br />Cálculo con nuevos valores por defecto con 'a'=15 y 'b'=-8: ";
print$MiObjeto1->calcula(15,-8);
/* creamos un nuevo objeto y comprobamos que la modificación de la propiedad factor1
no afectará al nuevo objeto (la modificación se hizo en el objeto anterior no en la clase) */
$MiObjeto2=new MiClase;
print "<br />Cálculo con valores por defecto del nuevo objeto: ";
print $MiObjeto2->calcula();
print "<br />Cálculo con valores por defecto del objeto anterior: ";
print $MiObjeto1->calcula();
/* destruimos el primero de los objetos aunque no sea necesario hacerlo.
   Al finalizar el script se destruiría de forma automática */
$MiObjeto1=null;
?>


BIBLIOGRAFIA

http://www.rinconastur.com/php/php87.php


jueves, 21 de noviembre de 2013

DEBER 18

FRANCISCO MUNOZ
CATEDRATICO Ing. Juan Espinoza

$COOKIES
 
CREAR COOKIE
 
Sesion_Cookies
<html>
<head>
<title>Cookies</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body
<?php if (isset($_COOKIE['color'])) echo " bgcolor=\"$_COOKIE[color]\""
?>

<form action="Establecer_Cookie.php" method="post">
Seleccione de que color desea que sea la página de ahora en más:<br>
<input type="radio" value="rojo" name="radio">Rojo<br>
<input type="radio" value="verde" name="radio">Verde<br>
<input type="radio" value="azul" name="radio">Azul<br>
<input type="submit" value="Crear cookie">
</form>
</body>
</html>

Establecer_Cookie
<?php
if ($_REQUEST['radio']=="rojo")
setcookie("color","#ff0000",time()+60*60*24*365,"/");
elseif ($_REQUEST['radio']=="verde")
setcookie("color","#00ff00",time()+60*60*24*365,"/");
elseif ($_REQUEST['radio']=="azul")
setcookie("color","#0000ff",time()+60*60*24*365,"/");
?>
<html>
<head>
<title>Cookies</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
Se creó la cookie.
<br>
<a href=" Sesion_Cookies.php">Ir a la otra página</a>
</body>
</html>


BORRAR COOKIE

Sesion_Cookie2
<html>
<head>
<title>BorrarCookie</title>
</head>
<body>
<form action="Borrar_Cookie2.php" method="post">
Ingrese su mail:
<input type="text" name="mailusuario"
value="<?php if (isset($_COOKIE['mail'])) echo $_COOKIE['mail'];?>">
<br>
<input type="radio" name="opcion" value="recordar">
Recordar en esta computadora el mail ingresado.
<br>
<input type="radio" name="opcion" value="norecordar">
No recordar.
<br>
<input type="submit" value="confirmar">
</form>
</body>
</html>


Borrar_Cookie2
<?php
if ($_REQUEST['opcion']=="recordar")
setcookie("mail",$_REQUEST['mailusuario'],time()+(60*60*24*365),"/");
elseif ($_REQUEST['opcion']=="norecordar")
setcookie("mail","",time()-1000,"/");
?>
<html>
<head>
<title>BorrarCookie</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
<?php
if ($_REQUEST['opcion']=="recordar")
echo "cookie creada";
elseif ($_REQUEST['opcion']=="norecordar")
echo "cookie eliminada";
?>
<br>
<a href="Sesion_Cookie2.php">Ir a la otra página</a>
</body>
</html>

INICIAR SESION DE USUARIO

Usuario_Sesion
<html>
<head>
<title>Variables de Sesion</title>
</head>
<body>
<form action="Variables_Sesion.php" method="post">
Ingrese nombre de usuario:
<input type="text" name="campousuario"><br>
Ingrese clave:
<input type="password" name="campoclave"><br>
<input type="submit" value="confirmar">
</form>
</body>
</html>


Variables_Sesion
<?php
session_start();
$_SESSION['usuario']=$_REQUEST['campousuario'];
$_SESSION['clave']=$_REQUEST['campoclave'];
?>
<html>
<head>
<title>Variables de Sesion </title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
Se almacenaron dos variables de sesión.<br><br>
<a href="Recuperar_Variables.php">Ir a la tercer página donde se recuperarán
las variables de sesión</a>
</body>
</html>


Recuperar_Variables
<?php
session_start();
?>
<html>
<head>
<title>Variables de sesion</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo "Nombre de usuario recuperado de la variable de sesión:".$_SESSION['usuario'];
echo "<br><br>";
echo "La clave recuperada de la variable de sesión:".$_SESSION['clave'];
?>
</body>
</html>

martes, 12 de noviembre de 2013

DEBER 17

FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza

CONVERTIR NUMERO A LETRAS Y ROMANOS

CODIFICACION

<html>
<head>
<title>LETRAS Y ROMANOS</title>
<style type="text/css">
[required]
{
border-color:black;
box-shadows=0px 0px 10px green;
}
</style>
</head>
<body bgcolor="black" text="orange">
  <font face=Arial> <h1> <marquee> LETRAS Y ROMANOS</marquee> </h1>
</font>
<caption align="top"><B> NUMERO </B></caption>  
<form action ="numerosALetras.php"method="POST">
<p><H1>Escribe un número:
<input type="text" size="5" maxlength="4" name= "num">

</p>
<tr>
<td><input type="submit" value="GENERAR"></td>
</tr>
</form>

<?php
$num=$_POST['num'];


class EnLetras
{
  var $Void = "";
  var $SP = " ";
  var $Dot = ".";
  var $Zero = "0";
  var $Neg = "Menos";
  
function ValorEnLetras($x, $Moneda ) 
{
    $s="";
    $Ent="";
    $Frc="";
    $Signo="";
        
    if(floatVal($x) < 0)
     $Signo = $this->Neg . " ";
    else
     $Signo = "";
    
    if(intval(number_format($x,2,'.','') )!=$x) 
      $s = number_format($x,2,'.','');
    else
      $s = number_format($x,0,'.','');
       
    $Pto = strpos($s, $this->Dot);
        
    if ($Pto === false)
    {
      $Ent = $s;
      $Frc = $this->Void;
    }
    else
    {
      $Ent = substr($s, 0, $Pto );
      $Frc =  substr($s, $Pto+1);
    }

    if($Ent == $this->Zero || $Ent == $this->Void)
       $s = "Cero ";
    elseif( strlen($Ent) > 7)
    {
       $s = $this->SubValLetra(intval( substr($Ent, 0,  strlen($Ent) - 6))) . 
             "Millones " . $this->SubValLetra(intval(substr($Ent,-6, 6)));
    }
    else
    {
      $s = $this->SubValLetra(intval($Ent));
    }

    if (substr($s,-9, 9) == "Millones " || substr($s,-7, 7) == "Millón ")
       $s = $s . "de ";

    $s = $s . $Moneda;

    if($Frc != $this->Void)
    {
       $s = $s . "  " . $this->SubValLetra(intval($Frc)) . "";
       //$s = $s . " " . $Frc . "/100";
    }
    return ($Signo . $s . "");
   
}


function SubValLetra($numero) 
{
    $Ptr="";
    $n=0;
    $i=0;
    $x ="";
    $Rtn ="";
    $Tem ="";

    $x = trim("$numero");
    $n = strlen($x);

    $Tem = $this->Void;
    $i = $n;
    
    while( $i > 0)
    {
       $Tem = $this->Parte(intval(substr($x, $n - $i, 1). 
                           str_repeat($this->Zero, $i - 1 )));
       If( $Tem != "Cero" )
          $Rtn .= $Tem . $this->SP;
       $i = $i - 1;
    }
    $Rtn=str_replace(" Mil Mil", " Mil", $Rtn );
    while(1)
    {
       $Ptr = strpos($Rtn, "Mil ");       
       If(!($Ptr===false))
       {
          If(! (strpos($Rtn, "Mil ",$Ptr + 1) === false ))
            $this->ReplaceStringFrom($Rtn, "Mil ", "", $Ptr);
          Else
           break;
       }
       else break;
    }
    $Ptr = -1;
    do{
       $Ptr = strpos($Rtn, "Cien ", $Ptr+1);
       if(!($Ptr===false))
       {
          $Tem = substr($Rtn, $Ptr + 5 ,1);
          if( $Tem == "M" || $Tem == $this->Void)
             ;
          else          
             $this->ReplaceStringFrom($Rtn, "Cien", "Ciento", $Ptr);
       }
    }while(!($Ptr === false));

    $Rtn=str_replace("Diez Uno", "Once", $Rtn );
    $Rtn=str_replace("Diez Dos", "Doce", $Rtn );
    $Rtn=str_replace("Diez Tres", "Trece", $Rtn );
    $Rtn=str_replace("Diez Cuatro", "Catorce", $Rtn );
    $Rtn=str_replace("Diez Cinco", "Quince", $Rtn );
    $Rtn=str_replace("Diez Seis", "Dieciseis", $Rtn );
    $Rtn=str_replace("Diez Siete", "Diecisiete", $Rtn );
    $Rtn=str_replace("Diez Ocho", "Dieciocho", $Rtn );
    $Rtn=str_replace("Diez Nueve", "Diecinueve", $Rtn );
    $Rtn=str_replace("Veinte Un", "Veintiun", $Rtn );
    $Rtn=str_replace("Veinte Dos", "Veintidos", $Rtn );
    $Rtn=str_replace("Veinte Tres", "Veintitres", $Rtn );
    $Rtn=str_replace("Veinte Cuatro", "Veinticuatro", $Rtn );
    $Rtn=str_replace("Veinte Cinco", "Veinticinco", $Rtn );
    $Rtn=str_replace("Veinte Seis", "Veintiseís", $Rtn );
    $Rtn=str_replace("Veinte Siete", "Veintisiete", $Rtn );
    $Rtn=str_replace("Veinte Ocho", "Veintiocho", $Rtn );
    $Rtn=str_replace("Veinte Nueve", "Veintinueve", $Rtn );

    If(substr($Rtn,0,1) == "M") $Rtn = "" . $Rtn;
   
    for($i=65; $i<=88; $i++)
    {
      If($i != 77)
         $Rtn=str_replace("a " . Chr($i), "* y " . Chr($i), $Rtn);
    }
    $Rtn=str_replace("*", "a" , $Rtn);
    return($Rtn);
}


function ReplaceStringFrom(&$x, $OldWrd, $NewWrd, $Ptr)
{
  $x = substr($x, 0, $Ptr)  . $NewWrd . substr($x, strlen($OldWrd) + $Ptr);
}
function Parte($x)
{
    $Rtn='';
    $t='';
    $i='';
    Do
    {
      switch($x)
      {
         Case 0:  $t = "Cero";break;
         Case 1:  $t = "Uno";break;
         Case 2:  $t = "Dos";break;
         Case 3:  $t = "Tres";break;
         Case 4:  $t = "Cuatro";break;
         Case 5:  $t = "Cinco";break;
         Case 6:  $t = "Seis";break;
         Case 7:  $t = "Siete";break;
         Case 8:  $t = "Ocho";break;
         Case 9:  $t = "Nueve";break;
         Case 10: $t = "Diez";break;
         Case 20: $t = "Veinte";break;
         Case 30: $t = "Treinta";break;
         Case 40: $t = "Cuarenta";break;
         Case 50: $t = "Cincuenta";break;
         Case 60: $t = "Sesenta";break;
         Case 70: $t = "Setenta";break;
         Case 80: $t = "Ochenta";break;
         Case 90: $t = "Noventa";break;
         Case 100: $t = "Cien";break;
         Case 200: $t = "Doscientos";break;
         Case 300: $t = "Trescientos";break;
         Case 400: $t = "Cuatrocientos";break;
         Case 500: $t = "Quinientos";break;
         Case 600: $t = "Seiscientos";break;
         Case 700: $t = "Setecientos";break;
         Case 800: $t = "Ochocientos";break;
         Case 900: $t = "Novecientos";break;
         Case 1000: $t = "Mil";break;
         Case 1000000: $t = "Millón";break;
      }
      If($t == $this->Void)
      {
        $i = $i + 1;
        $x = $x / 1000;
        If($x== 0) $i = 0;
      }
      else
         break;    
    }while($i != 0);
    $Rtn = $t;
    Switch($i)
    {
       Case 0: $t = $this->Void;break;
       Case 1: $t = " Mil";break;
       Case 2: $t = " Millones";break;
       Case 3: $t = " Billones";break;
    }
    return($Rtn . $t);
}
}

function to_romanos($num) {
if ($num <0 || $num >9999) {return -1;}
$r_ones = array(1=>"I", 2=>"II", 3=>"III", 4=>"IV", 5=>"V", 6=>"VI", 7=>"VII", 8=>"VIII", 
9=>"IX");
$r_tens = array(1=>"X", 2=>"XX", 3=>"XXX", 4=>"XL", 5=>"L", 6=>"LX", 7=>"LXX", 
8=>"LXXX", 9=>"XC");
$r_hund = array(1=>"C", 2=>"CC", 3=>"CCC", 4=>"CD", 5=>"D", 6=>"DC", 7=>"DCC", 
8=>"DCCC", 9=>"CM");
$r_thou = array(1=>"M", 2=>"MM", 3=>"MMM", 4=>"MMMM", 5=>"MMMMM", 6=>"MMMMMM", 
7=>"MMMMMMM", 8=>"MMMMMMMM", 9=>"MMMMMMMMM");
$ones = $num % 10;
$tens = ($num - $ones) % 100;
$hundreds = ($num - $tens - $ones) % 1000;
$thou = ($num - $hundreds - $tens - $ones) % 10000;
$tens = $tens / 10;
$hundreds = $hundreds / 100;
$thou = $thou / 1000;
if ($thou) {$num .= $r_thou[$thou];} 
if ($hundreds) {$num .= $r_hund[$hundreds];} 
if ($tens) {$num .= $r_tens[$tens];} 
if ($ones) {$num .= $r_ones[$ones];} 
return $num;
}

 $V=new EnLetras();
 echo "<h2>".'En letras: '. $V->ValorEnLetras($num,"") ."</h2>";
 
if(is_numeric($_POST['num'])){
 echo"<h2>". 'En romanos '. to_romanos($_POST['num'])."</h2>";
}  
?>
</body>
</html>

jueves, 7 de noviembre de 2013

DEBER 16

FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza

FUNCIONES DE REFERNCIA

INCLUDE
La sentencia include incluye y evalúa el archivo especificado.
La siguiente documentación también se aplica a require.
Los archivos son incluidos con base en la ruta de acceso dada o, si ninguna es dada, el include_path especificado. Si el archivo no se encuentra en elinclude_pathinclude finalmente verificará en el propio directorio del script que hace el llamado y en el directorio de trabajo actual, antes de fallar. El constructorinclude emitirá una advertencia si no puede encontrar un archivo, éste es un comportamiento diferente al de require, el cual emitirá un error fatal..
EJEMPLO
vars.php
<?php

$color 
'verde';$fruta 'manzana';
?>
test.php
<?php
echo "Una $fruta $color"// Una
include 'vars.php';

echo 
"Una $fruta $color"// Una manzana verde
?>


INCLUDE_ONCE
La sentencia include_once incluye y evalúa el fichero especificado durante la ejecución del script. Es un comportamiento similar al de la sentencia include, siendo la única diferencia que si el código del fichero ya ha sido incluido, no se volverá a incluir. Como su nombre lo indica, será incluido sólo una vez.
include_once puede ser usado en casos donde el mismo fichero podría ser incluido y evaluado más de una vez durante una ejecución particular de un script, así que en este caso, puede ayudar a evitar problemas como la redefinición de funciones, reasignación de valores de variables, etc.
EJEMPLO
<?phpinclude_once "a.php"// esto incluirá a.phpinclude_once "A.php"// esto incluirá a.php otra vez! (sólo PHP 4)?>
REQUIRE
require es idéntico a include excepto que en caso de fallo producirá un error fatal de nivel E_COMPILE_ERROR. En otras palabras, éste detiene el script mientras que include sólo emitirá una advertencia (E_WARNING) lo cual permite continuar el script.
REQUIRE_ONCE
La sentencia require_once es idéntica a require excepto que PHP verificará si el archivo ya ha sido incluido y si es así, no se incluye (require) de nuevo.



BIBLIOGRAFIA

DEBER 15

FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza

EJEMPLO DE PARAMETROS CON REFERENCIA
ORIGEN PHP
<html>
<head>
<title>Origen</title>
<body bgcolor="black" text="orange">

<?php
include("Cabecera.php");
include_once("Pie.php");
require("Contenido.php");
?>
</body>

</html>

CABECERA PHP
<html>
<head>
<title> <center>Cabecera </center></title>
</head>
<body bgcolor text="blue">
<table border=3>
<td rowspan=4> 
<img src="FOTO1.jpg" </td> 
<td aling="center">
<img src="FOTO2.jpg"</td>
</tr> 
<td aling="center"> CABECERA </td>
</tr>
</td>
</table>
</body>

</html>

CONTENIDO PHP
<html>
<head> 
<title> Contenido </title>
<style type="text/css">
  img { width:auto;height:300px; }
</style>
</head>
<body bgcolor text="eclipce">
</body>
<h3> <center><b> Que es un Objeto?  </b></center> </h3>
<p>Un objeto es una entidad independiente con sus propios datos y programación. Las ventanas, menúes, carpetas de archivos pueden ser identificados como objetos; el motor de un auto también es considerado un objeto, en este caso, sus datos (atributos) describen sus características físicas y su programación (métodos) describen el funcionamiento interno y su interrelación con otras partes del automóvil (también objetos).
<br>
El concepto renovador de la tecnología Orientación a Objetos es la suma de funciones a elementos de datos, a esta unión se le llama encapsulamiento. Por ejemplo, un objeto página contiene las dimensiones físicas de la página (ancho, alto), el color, el estilo del borde, etc, llamados atributos. Encapsulados con estos datos se encuentran los métodos para modificar el tamaño de la página, cambiar el color, mostrar texto, etc. La responsabilidad de un objeto pagina consiste en realizar las acciones apropiadas y mantener actualizados sus datos internos. Cuando otra parte del programa (otros objetos) necesitan que la pagina realice alguna de estas tareas (por ejemplo, cambiar de color) le envía un mensaje. A estos objetos que envían mensajes no les interesa la manera en que el objeto página lleva a cabo sus tareas ni las estructuras de datos que maneja, por ello, están ocultos. Entonces, un objeto contiene información pública, lo que necesitan los otros objetos para interactuar con él e información privada, interna, lo que necesita el objeto para operar y que es irrelevante para los otros objetos de la aplicación. </p>
<h3> <center><b> Caracteristicas de un Objeto  </b></center> </h3>
<p> Un objeto es un tipo de datos compuesto que puede contener cualquier número de variables y funciones. 
<br>
Para inicializar un objeto, puede utilizar la nueva declaración para inicializar el objeto a una variable.   </p>
<h3> <center><b> Que es un Atributo? </b></center> </h3>
<p> Los atributos son las características, cualidades, propiedades distintivas de cada clase. Contienen información sobre el objeto. Determinan la apariencia, estado y demás particularidades de la clase. Varios objetos de una misma clase tendrán los mismos atributos pero con valores diferentes.
<br>
Cuando creamos un objeto de una clase determinada, los atributos declarados por la clase son localizadas en memoria y pueden ser modificados mediante los métodos.
<br>
Lo más conveniente es que los atributos sean privados para que solo los métodos de la clase puedan modificarlos.  </p>
<h3> <center><b> Que es una Clase? </b></center> </h3>
<p> Una clase es un molde del que luego se pueden crear múltiples objetos, con similares características.
<br>
Una clase es una plantilla (molde), que define atributos (lo que conocemos como variables) y métodos (lo que conocemos como funciones).
<br>
La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores y compartirán las mismas funciones.
<br>
Debemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto propiamente dicho.</p>
<h3> <center><b> Que es un Metodo? </b></center> </h3>
<p> Los métodos son como las funciones en los lenguajes estructurados, pero están definidos dentro de una clase y operan sobre los atributos de dicha clase.
<br>
Los métodos también son llamados las responsabilidades de la clase. Para encontrar las responsabilidades de una clase hay que preguntarse qué puede hacer la clase.
<br>
El objetivo de un método es ejecutar las actividades que tiene encomendada la clase a la cual pertenece.
<br>
Los atributos de un objeto se modifican mediante llamadas a sus métodos.  </p>
</body>

</html>

PIE PHP
<html>
<head> 
<title> Pie </title>
<style type="text/css">
  img { width:auto;height:300px; }
</style>
</head>
<body bgcolor text="eclipce">
</body>
<h3>Realizado por:  </center> </h3><p> Francisco Munoz  </p>
</body>

</html>

DEBER 14

FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza

PARAMETROS POR REFERENCIA

PHP nos permite pasar los parámetros por referencia, es decir, que los valores que pasemos hacia una función , se verán afectadas por las operaciones internas realizadas en la función. Para pasar un valor por referencia, se utiliza el simbolo “&” por delante de la variable, osea si tenemos $variable, por referencia sería &$variable.
Ejemplo:
      <?php
      function suma( $a )
      {
       $a+=23;
      echo 'Valor dentro la función: ' . $a;
      } 
       //se define variable
       $a = 10 ;

       echo 'Valor de $a original: ' . $a;
       echo '<br/>';
       suma( &$a );
       echo '<br/>';
       echo 'Valor de $a despues de la funcion: ' .$a;
       ?>
El código es el mismo que en el primer ejemplo, con la única diferencia que al llamar a la función lo hacemos con el simbolo “&” antes de la variable, y tenemos como resultado:
Valor de $a original: 10
Valor dentro la función: 33
Valor de $a despues de la funcion: 33
Como se ve, la variable $a es afectada con las operaciones realizadas dentro de la función.
 ¿Y esto para que sirve?
Bueno, como dije al principio cuando se pasa un parámetro por valor a una función, se crea una copia de esta para trabajar dentro de la función, imagine una web de alto tráfico con 1 millón de visitas y 1000 parámetros entrando y saliendo de funciones a cada momento, es mucho trabajo para el servidor, pero si se pasan los parámetros por referencia, el proceso de los datos se alivia un poco.

BIBLIOGRAFIA