Está en la página 1de 0

Curso: "Programacin Orientada a Objetos PHP5" 2013

Tipos de Datos en PHP5


Mdulo 1 / parte 2

Todos los logos y marcas utilizados en este
documento, estn registrados y pertenecen a
sus respectivos dueos.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 1

Curso: "Programacin Orientada a Objetos PHP5" 2013

Objetivo
El objetivo de esta prctica de laboratorio es aprender a usar los tipos de datos en php tales como el
String (Textos o cadenas), Integer, Boolean (valor de verdad), Float(decimal precisin simple conocido
como nmero de punto flotante, Double (decimal doble precisin), Long (Entero grande), Array
(Matrices o arreglos) etc.
Tambin veremos la funcin de php var_dump(): Esta funcin muestra informacin estructurada sobre
una variable incluyendo su tipo y valor, es decir nos entrega informacin de depuracin (debug) de la
variable, su estructura interna y valor.
PHP soporta ocho tipos de datos:
1. Cuatro tipos escalares o primitivos:
Boolean
Integer
Float(nmero de punto flotante, tambin conocido como double)
String
2. Dos tipos de referencias o compuestos:
Array
Object
3. Dos tipos especiales
Resource
NULL

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 2

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 1: Ejemplo Booleanos:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 3

Curso: "Programacin Orientada a Objetos PHP5" 2013


Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache, si estamos
usando Xampp debera estar dentro de C:\xampp\htdocs\ProyectoEjemploBooleano.
En el ejemplo usaremos el servidor de Zend por lo tanto nuestro Source Folder debe ser
C:\Zend\Apache2\htdocs\ProyectoEjemploBooleano
Clic Finish.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 4

Curso: "Programacin Orientada a Objetos PHP5" 2013


Observe que el proyecto ProyectoEjemploBooleano ha sido creado bajo la pestaa
Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php
el cual es desplegado en el editor de cdigo del IDE.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 5

Curso: "Programacin Orientada a Objetos PHP5" 2013



3. Modificar el contenido generado por el IDE en el index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 6

Curso: "Programacin Orientada a Objetos PHP5" 2013

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<pre>
<?php
$variableBoolean = true;

// Realizaremos depuraciones sobre diferentes expreciones
// para saber si tienen un valor de verdad o cumplen con
// cierta condicin true o false (SI o NO)
// La expresin (bool) es para convertir el tipo de una variable
// o exprecin hacia un tipo booleano con su valor o condicin de
// verdad, es decir fuerza o convierte a un booleano
var_dump($variableBoolean); // bool(true
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
var_dump((bool) 0); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true) , es una arreglo con un elemento
var_dump((bool) array()); // bool(false) , es una arreglo vacio
var_dump((bool) "false"); // bool(true)

// is_bool es una funcin para validar que la
// variable o expresin es del tipo booleano
var_dump(is_bool("true")); // bool(false)
var_dump(is_bool((bool) "true")); // bool(true)
var_dump(is_bool($variableBoolean)); // bool(true)
var_dump(is_bool(false)); // bool(true)
?>
</pre>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploBooleano y seleccionar Run.
Observe el resultado en el Navegador. (Figura de abajo)
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 7

Curso: "Programacin Orientada a Objetos PHP5" 2013



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 8

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 2: Ejemplo Enteros:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next

Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploEntero. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache. Si usamos
XAMPP: C:\xampp\htdocs\ ProyectoEjemploEntero, si usamos Zend Server
C:\Zend\Apache2\htdocs\ ProyectoEjemploEntero
Clic Finish.

Observe que el proyecto ProyectoEjemploEntero ha sido creado bajo la pestaa
Projects de NetBeans IDE y adems ha generado automticamente el archivo index.php

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 9

Curso: "Programacin Orientada a Objetos PHP5" 2013

3. Modificar el contenido generado por el IDE en el index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<pre>
<?php
$a = 1234; // nmero entero
$b = -123; // un nmero entero negativo
$c = 0123; // nmero octal (equivalente a 83 entero)
$d = 0x1A; // nmero hexadecimal (equivalente a 26 entero)
$e = (integer) "1234"; // nmero entero como producto de la conversin desde un string

$f = "25000"; // un string que contiene el numero 25000
var_dump($f);

settype($f, "int"); // convertimos usando funcion settype de string a entero, forma alternativa al cast usando los
parntesis.

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>
</pre>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploEntero y seleccionar Run.
Observe el resultado en el navegador
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 10

Curso: "Programacin Orientada a Objetos PHP5" 2013



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 11

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 3: Ejemplo Nmeros Reales:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploDecimales. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache.
Clic Finish.
Observe que el proyecto ProyectoEjemploDecimales ha sido creado bajo la pestaa
Projects de NetBeans IDE y adems ha generado automticamente el index.php el cual
es desplegado en el editor de cdigo del IDE

3. Modificar el contenido generado por el IDE en index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<pre>
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10; // Lo mismo que 0.0000000007
$d = "3.14159265"; // PI

var_dump($d); // es un string
settype($d, "double"); // convertimos a decimal double

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d); // convertido a decimal ;-)

// chequeamos los tipos de datos
var_dump(is_double($d)); // bool(true)
var_dump(is_string($d)); // bool(false)

$e = 0.0000000007;
var_dump($e === $c); // bool(true) ?></pre>
</body></html>
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 12

Curso: "Programacin Orientada a Objetos PHP5" 2013


4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploDecimales y seleccionar Run.
Observe el resultado de la salida en el navegador.




AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 13

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 4: Ejemplo Cadenas Comillas Dobles doble comillas:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploCadenasDobleComillas. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache) de nuestro servidor web apache.
Clic Finish.
Observe que el proyecto ProyectoEjemploCadenasDobleComillas ha sido creado bajo la
pestaa Projects de NetBeans IDE y adems ha generado automticamente index.php

3. Modificar el contenido generado por el IDE de index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que agregar reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$nombre = "John";
$apellido = 'Doe';
$edad = 40;

// Comillas dobles cancatena al vuelo, sin necesidad del punto y cierres de comillas
// es decir variables y secuencias de escape son reemplazadas por su valor
echo "El usuario: $nombre $apellido tiene $edad a&ntilde;os";?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploCadenasDobleComillas y
seleccionar Run.
Observe el resultado en el navegador:
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 14

Curso: "Programacin Orientada a Objetos PHP5" 2013



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 15

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 5: Ejemplo Cadenas Comillas Simples doble comillas:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploCadenasSimpleComillas.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache)
Clic Finish.
Observe que el proyecto ProyectoEjemploCadenasSimpleComillas ha sido creado bajo
la pestaa Projects de NetBeans IDE

3. Modificar el contenido generado por el IDE en la clase index.php
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$nombre = "John";
$apellido = 'Doe';
$edad = 40;


// No trabaja de la misma forma que las comillas dobles
// estas cadenas son mostradas tal cual son, NO reemplazan las variables por
// sus valores
echo 'El usuario: $nombre $apellido tiene $edad a&ntilde;os';
echo "<br />";

// Tenemos que usar la concatenacin explcita con el punto (.)
echo 'El usuario:' . $nombre . " " . $apellido . ' tiene ' . $edad . ' a&ntilde;os';
?>
</body>
</html>
4. Construir y ejecutar el programa
Clic derecho del mouse sobre el proyecto ProyectoEjemploCadenasSimpleComillas y
seleccionar Run.
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 16

Curso: "Programacin Orientada a Objetos PHP5" 2013



AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 17

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 6: Ejemplo de Heredoc string:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Observar que aparece la ventana de dialogo New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo la seccin Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploCadenasHeredoc.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache).
Clic Finish.

3. Modificar el contenido generado por el IDE en index.php.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$nombre = "Andrs";
$apellido = 'Guzmn';

$libro = "Libro sobre POO en PHP";
$articulo = "sobre Cadenas en PHP";

// Una tercera forma de delimitar strings es mediante la sintaxis heredoc: <<<.
// Despus de este operador, se deber ofrecer un identificador y despus una nueva lnea.
// Similar a las comillas dobles, pero permite mltiples lneas, y no necesita proteger las comillas
// El texto heredoc se comporta como un string entre comillas dobles, pero sin tener comillas dobles.
// Esto significa que las comillas en Heredoc no necesitan ser escapadas, pero los caracteres escapados
// indicados arriba se pueden seguir empleando. Las variables son expandidas, y se debe tener
// el mismo cuidado dentro de un Heredoc cuando se quieren expresar variables complejas,
// al igual que en los strings.

echo <<<EOT
Mi nombre es "$nombre". Estoy escribiendo un $libro.
Ahora, estoy escribiendo un poco {$articulo}.
Esto debe mostrar una 'A' mayscula: \x41
EOT;
?>
</body>
</html>

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 18

Curso: "Programacin Orientada a Objetos PHP5" 2013

4. Construir y ejecutar el programa
Clic derecho sobre el proyecto ProyectoEjemploCadenasHeredoc y Run.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 19

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 7: Ejemplo String con Clase y comillas dobles:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoEjemploCadenasDobleComillasAvanzado. Este es el nombre que se le dar al
proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache).
Clic Finish.

3. Modificar el contenido generado por el IDE.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$jugos = array("manzana", "naranja", "koolaid1" => "prpura");

echo "El tom algo de jugo de $jugos[0]." . "<br />";
echo "El tom algo de jugo de $jugos[1]." . "<br />";
echo "El tom algo de jugo {$jugos["koolaid1"]}." . "<br />";

class People {

private $_john = "John Smith";
private $_jane = "Jane Smith";
private $_robert = "Robert Paulsen";
private $_smith = "Smith";

public function getJohn() {
return $this->_john;
}

public function getJane() {
return $this->_jane;
}

public function getRobert() {
return $this->_robert;
}

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 20

Curso: "Programacin Orientada a Objetos PHP5" 2013

public function getSmith() {
return $this->_smith;
}
}

$people = new People();

echo "{$people->getJohn()} tom algo de jugo de $jugos[0]." . "<br />";
echo "{$people->getJohn()} entonces dijo hola a {$people->getJane()}." . "<br />";
echo "La esposa de {$people->getJohn()}'s salud a {$people->getRobert()}." . "<br />";
echo "{$people->getRobert()} salud a los dos {$people->getSmith()}.";
?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho sobre el proyecto ProyectoEjemploCadenasDobleComillasAvanzado y Run.

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 21

Curso: "Programacin Orientada a Objetos PHP5" 2013

Ejercicio 8: Ejemplo Manejo de strings:
1. Abrir Netbeans IDE
2. Crear un proyecto Netbeans: PHP Application
Seleccionar File desde el men superior y seleccionar New Project.
Seleccionar PHP bajo Categories, y Seleccionar PHP Application bajo Projects.
Clic Next
Bajo el panel Name and Location, para el Nombre del Proyecto (Project Name), ingrese
ProyectoManejoDeString. Este es el nombre que se le dar al proyecto.
Verificar (Muy importante) en Sources Folder que el proyecto se encuentre dentro del
Web Root (carpeta htdocs de apache).
Clic Finish.

3. Modificar el contenido generado por el IDE.
Modifique index.php como se muestra en el Cdigo de abajo. Los fragmentos de cdigo
que hay que reemplazar se resaltan en negrita y color azul.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$nombre = "Miguel";

// Total de caracteres
echo strlen($nombre); // 6
echo "<br />";
// Obtenemos el 2 caracter
echo $nombre{1}; // i
echo "<br />";
// Obtenemos el 5 caracter
echo $nombre{4}; // e
echo "<br />";
// Devuelve una parte del string definida por los parmetros start y length.
echo substr($nombre, 1, 4); // "igue"
echo "<br />";
// Convierte a minscula
echo strtolower($nombre); // "miguel"
echo "<br />";
// Convierte a mayscula
echo strtoupper($nombre); // "MIGUEL"
echo "<br />";
// Reemplaza el texto dentro de una porcin de un string
echo str_replace("Mi", "Ku", $nombre); // Kuguel
echo "<br />";
// Convertir una cadena a una matriz
var_dump(str_split("tragaldabas"));
echo "<br />";
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 22

Curso: "Programacin Orientada a Objetos PHP5" 2013

// Divide una cadena en varias cadenas, es decir
// Convertir una cadena a una matriz cortando en un texto o patrn
var_dump(explode( "a", "tragaldabas")); // array( "tr", "g", "ld", "b", "s" )
?>
</body>
</html>

4. Construir y ejecutar el programa
Clic derecho sobre el proyecto ProyectoManejoDeString y Run.
6
i
e
igue
miguel
MIGUEL
Kuguel
array(11) { [0]=> string(1) "t" [1]=> string(1) "r" [2]=> string(1) "a" [3]=> string(1) "g" [4]=> string(1) "a"
[5]=> string(1) "l" [6]=> string(1) "d" [7]=> string(1) "a" [8]=> string(1) "b" [9]=> string(1) "a" [10]=>
string(1) "s" }
array(5) { [0]=> string(2) "tr" [1]=> string(1) "g" [2]=> string(2) "ld" [3]=> string(1) "b" [4]=> string(1) "s" }

AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 23

Curso: "Programacin Orientada a Objetos PHP5" 2013

Resumen

En este workshop, hemos expuesto y analizado los distintos tipos de datos, funciones de conversin y
validacin y su manipulacin en PHP tales como las cadenas, los enteros, booleanos y decimales con
diversos ejemplos y finalmente vimos un completo ejemplo de manejo de cadenas o strings.









Enva tus consultas a los foros!
Aqu es cuando debes sacarte todas las dudas
haciendo consultas en los foros
correspondientes
AUTORES: andresguzf@gmail.com WEB: http://formacion-bdi.bolsadeideas.cl | | Tipos de Datos 24

También podría gustarte