|
191
|
Programación / PHP / Re: Libreria math.php
|
en: 25 Julio 2009, 20:12 pm
|
No quiero una función ya hecha, ya se que existe, pero quiero crear mi propia función, igual que las potencias, existe pow, pero yo cree la de elevar();
function raiz_q($n,$c=2){ // raices }
¿dónde está definida pow? No, pero es util para mi aprendizaje y tener una optativa a las funciones standard de PHP que en casos remotos puede saltar error
Na na na, nene, si la función standar de PHP llega a fallar, estamos bastante en el horno, colapsa la internet , por motivos de aprendizaje está bien, nada más, otra cosa, las funciones que trae PHP son probadas (y sobre todo las matemáticas) y mucho más rápidas. Más que nada es por practica, y además las funciones como mcd, mcm... son utiles
|
|
|
195
|
Programación / PHP / ERROR al crear el boletín
|
en: 25 Julio 2009, 11:18 am
|
Mirad, otra vez soy yo xd. Bueno, en mi iNews tengo un problema que me persigue de hace tiempo, consigo crear 3 de 4 tablas, pero esta ultima no se por que no me va :S. Os dejo el code del install2.php de la versión 1.1 que es la más reciente y funcional.$mysqlactive = "CREATE TABLE `mensajes` ( `id` INT NOT NULL AUTO_INCREMENT , `autor` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `mensaje` TEXT NOT NULL , `titulo` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `tags` VARCHAR(255) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, PRIMARY KEY ( `id` ) ) TYPE = MYISAM ;"; $mysqlactiveusers = "CREATE TABLE `usuarios` ( `id` INT( 11 ) NOT NULL AUTO_INCREMENT , `usuario` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `password` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `rango` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, PRIMARY KEY ( `id` ) ) TYPE = MYISAM ;"; $mysqlactivecoments = "CREATE TABLE `comentarios`( `id` INT primary key auto_increment, `ref` INT NOT NULL, `autor` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `comentario` TEXT CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL ) TYPE = MYISAM ;"; $mysqlactiveboletin = "CREATE TABLE `boletin`( `id` INT primary key auto_increment, `titulo` VARCHAR( 255 ) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL, `mensaje` text NOT NULL, PRIMARY KEY ( `id` ) ) TYPE = MYISAM;"; if(!mysql_query($mysqlactive)){ echo "ERROR: No se pudieron crear las tablas<br>";} if(!mysql_query($mysqlactiveusers)){ echo "ERROR: No se pudieron crear las tablas<br>";} if(!mysql_query($mysqlactivecoments)){ echo "ERROR: No se pudieron crear las tablas<br>";} if(!mysql_query($mysqlactiveboletin)){ echo "ERROR: No se pudieron crear las tablas<br>";}
Esto es una parte donde creo las tablas, lo otro si lo quereis ver, pedirmelo.EDIT: Arreglado, un colega me ayudo, falle en que puse multiples veces primary key
|
|
|
197
|
Programación / PHP / Re: Libreria math.php
|
en: 25 Julio 2009, 00:55 am
|
Bueno, tenedremos que usar en las funciones de raiz cuadrada un sistema pre-fabricado como es pow, a mi aun no me han explicado nada sobre algoritmos, ahora empezare 3º ESO. Espero que me empiecen a explicar algebra avanzada y algoritmos y logaritmos de cifrado y creación de ordenes matematicas
|
|
|
199
|
Programación / PHP / Re: Libreria math.php
|
en: 24 Julio 2009, 23:27 pm
|
Hola, Pues muy fácil, la raíz cuadrada es igual a: Número de la raíz elevado a 1/2. Es decir, que te quedaría: function raiz_q($n){ return elevar($n,0.5); }
La podrías adaptar para raízes cúbicas y tal: function raiz_q($n,$c){ // $n raíz a calcular, $c tipo (cuadrada sería 2) return elevar($n,1/$c); }
Saludos! Resultado total: <?php function mcd($x, $y){ // saber el mcd de dos cifras $aux = $x; if($x<$y){ $x=$y; $y=$aux; } while(($r=$x%$y)!=0){ $x=$y; $y=$r; } return $y; } function mcm($x, $y){ // se requiere mcd() - Saber el mcm de dos cifras return (($x*$y)/(mcd($x,$y))); } function nPrimo($n){ // saber si un numero es primo $ret=1; for($i=2; $i<$n && $ret==1;$i++){ if(($n%$i)==0) $ret=0; } return $ret; } function nxPrimo($i){ // saber el primo que va detras de otro $ret=$i+1; while(nPrimo($ret)==0) $ret++; return $ret; } function cateto($h, $c){ // saber el cateto de una hipotenusa $c1 = $c * $c; $h1 = $h * $h; $a = $c1 - $h1; return raiz_q($a); } function hipotenusa($c1, $c2){ $cc1 = $c1*$c1; $cc2 = $c2*$c2; $a = $cc1+$cc2; return raiz_q($a); function elevar($n, $c){ // elevar un numero a otro $ret = 1; for($i = 0; $i < $c; $i++){ $ret = $ret*$n; } return $ret; } function raiz_q($n){ // raiz cuadrada, (por SnakeDrak) return elevar($n,0.5); } function raiz_q2($n,$c){ // raices cubicas (por SnakeDrak) return elevar($n,1/$c); } ?>
Muchas gracias, porfin puedo finalizar las otras funciones que necesitaba este recurso Actualizo el primer post.
|
|
|
|
|
|
|