Está en la página 1de 4

http://www.prograweb.com.mx/pweb/0415Funciones.

php

Funciones recursivas

n factorial o factorial de n

<?php
function factorial($n = 1) {
if($n <= 1) {
return 1;
} else { //llamada así misma
return $n * factorial($n - 1);
}
} //Fin: Factorial

if( $_SERVER["REQUEST_METHOD"] == 'POST' ) {


$n = $_POST['n'];
echo "El factorial de $n = ".factorial($n);
}
?>

Determinar si un número es primo, par o impar.

<?php
function tipo($m) {
$n = abs($m);
if($n == 0) return '0 es par';
if($n == 1) return '1 es un primo impar';
if($n == 2) return '2 es el único primo par';
if($n % 2 == 0) return number_format($m, 0, '.', ',').' es par</p>';
$multiplo = floor(sqrt($n));
$i = 3;
while ( ($n % $i !== 0) && ( $i <= $multiplo )) $i += 2;
if( $i > $multiplo ) {
return "$m es primo";
} else {
return "$m es impar";
}
}
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$html= tipo($_POST['n']);
}
?>

Máximo común divisor.

<?php
function mcd($a, $b) {
$a = abs($a);
$b = abs($b);
if ($b == 0) $resultado = $a; else $resultado = mcd($b, $a%$b);
return $resultado;
} //mcd
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$a = $_POST['a'];
$b = $_POST['b'];
$mcd = mcd($a,$b);
$html = "mcd( $a, $b) = $mcd<br>";
$html.= "$a".'/'.$b. ' = '.$a/$mcd.'/'.$b/$mcd.'</p>';
echo $html;
}
?>

Mínimo común múltiplo

<?php
function mcd($a, $b) {
if ($b == 0) $resultado = $a;
else $resultado = mcd($b, $a%$b);
return $resultado;
} //mcd

function mcm($a, $b) {


$a = abs($a);
$b = abs($b);
return ($a * $b)/mcd($a, $b);
}

if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {


$a = $_POST['a'];
$b = $_POST['b'];
$mcm = mcm($a,$b);
echo " mcm( $a, $b) = $mcm</p>";
}
?>

La constante matemática e

<?php
function numeroEuler() {
$error = 0.000000000001;
$e = 2;
$anterior = 0;
$i = 2;
$f = 2;
while ( abs($e - $anterior) >= $error) {
$anterior = $e;
$e += 1/$f;
$f = $f * ++$i;
}
return $e;
}
echo 'Número de Euler o constante de Napier = '.numeroEuler();
?>

Función exponencial

<?php
function exponencial($x = 0) {
//máximo error permitido
$error = 0.000000000001;
if ($x != 0) { $e = 1;} else return 0;
$anterior = 0;
$i = 0;
$f = 1;
//Aproximación
while ( abs($e - $anterior) >= $error) {
$anterior = $e;
$f *= ++$i;
$e += pow($x, $i)/$f;
}
return number_format($e,4,'.',',');
}
if( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$x = $_POST['e'];
echo "Exponente($x) = ".exponencial($x);
}
?>

Imprimiremos la fecha actual mediante el uso de arreglos.

<?php
function imprimeFecha(){
$mesArray = array(
1 => 'Enero', 2 => 'Febrero', 3 => 'Marzo', 4 => 'Abril',
5 => 'Mayo', 6 => 'Junio',
7 => 'Julio', 8 => 'Agosto', 9 => 'Septiembre', 10 =>
'Octubre', 11 => 'Noviembre',
12 => 'Diciembre'
);

$semanaArray = array(
'Mon' => 'Lunes', 'Tue' => 'Martes', 'Wed' => 'Miercoles',
'Thu' => 'Jueves',
'Fri' => 'Viernes', 'Sat' => 'Sábado', 'Sun' => 'Domingo',
);

$mes = $mesArray[date('n')];
$nombreDia = $semanaArray[date('D')];

$dia = date('d');
$year = date ('Y');

return $nombreDia.' '.$dia.' de '.$mes.' de '.$year;


}
echo imprimeFecha();
?>

También podría gustarte