Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
JULIN CRUZ
ANDRS GIOVANNI LARA COLLAZOS
INFORME DE LABORATORIO
JULIN CRUZ
ANDRS GIOVANNI LARA COLLAZOS
ndice de contenido
1. Introduccin........................................................................................................................4
2. Lenguaje de programacin..................................................................................................5
3. Requisitos del sistema.........................................................................................................6
4. Mtodo para medicin de tiempo........................................................................................6
5. Serie Fibonacci....................................................................................................................7
5.1 Cdigo..........................................................................................................................7
5.2 Medicin de tiempo......................................................................................................7
5.3 Peores tiempos..............................................................................................................7
5.4 Mejores tiempos...........................................................................................................8
5.5 Media y Desviacin Estndar.......................................................................................8
5.6 Eficiencia del algoritmo...............................................................................................8
6. Factores primos...................................................................................................................9
6.1 Cdigo..........................................................................................................................9
6.2 Medicin de tiempo......................................................................................................9
6.3 Peores tiempos............................................................................................................10
6.4 Mejores tiempos.........................................................................................................10
6.5 Media y Desviacin Estndar.....................................................................................10
6.6 Eficiencia del algoritmo.............................................................................................10
7. Derivada............................................................................................................................11
7.1 Cdigo........................................................................................................................11
7.2 Medicin de tiempo....................................................................................................12
7.3 Peores tiempos............................................................................................................12
7.4 Mejores tiempos.........................................................................................................13
7.5 Media y Desviacin Estndar.....................................................................................13
7.6 Eficiencia del algoritmo.............................................................................................13
8. Serie 1................................................................................................................................14
8.1 Cdigo........................................................................................................................14
8.2 Medicin de tiempo....................................................................................................14
8.3 Eficiencia del algoritmo.............................................................................................15
9. Serie...................................................................................................................................16
9.1 Cdigo........................................................................................................................16
9.2 Medicin de tiempo....................................................................................................16
9.3 Eficiencia del algoritmo.............................................................................................16
1. Introduccin
El Anlisis de algoritmos computacionales, es muy importante para nuestro
entorno de sistemas, dado que es una parte importante para entender el
cmo funcionan las cosas en los programas avanzados.
Con este trabajo, queremos profundizar en cuestin de anlisis de algunos
algoritmos matemticos bsicos y usando como herramienta la recursividad y
el lenguaje PHP.
2. Lenguaje de programacin
En este caso usaremos como lenguaje de programacin PHP, dado que es
sencillo de usar y fcil de portar.
5. Serie Fibonacci
Realizar un algoritmo recursivo para el clculo del n-simo numero de la serie
Fibonacci, Variable de entrada: n.simo termino a calcular. Una vez se tengan
generados los trminos, se tendr una variable de entrada, la cual va a solicitar
un trmino cualquiera, de los trminos anteriormente generados.
Variable de entrada: posicin de un trmino cualquiera.
5.1 Cdigo
function fibo($n){
if($n==1) return 1; //0 si n=0
if($n==0) return 0; //1 si n=1
return fibo($n-1) + fibo($n-2);
}
Tiempo
7.1E-5 segundos.
10
9.1E-5 segundos.
15
0.001017 segundos.
20
0.006712 segundos.
25
0.056871 segundos.
30
0.608906 segundos.
35
0.608906 segundos.
36
10.826393 segundos.
37
17.675453 segundos.
38
28.983141 segundos.
Tiempo
36
10.826393 segundos.
37
17.675453 segundos.
38
28.983141 segundos.
Tiempo
7.1E-5 segundos.
10
9.1E-5 segundos.
15
0.001017 segundos.
6. Factores primos
Hacer un programa que descomponga un nmero en sus factores primos.
6.1 Cdigo
$num = 10; echo 'Los factores primos de ' . $num . ' son: ';
$num_copy = $num;
do{
if(($num_copy%2)==0){
$num_copy = $num_copy / 2;
echo '<h1>' . $num_copy . '</h1>';
}
if(($num_copy%3)==0){
$num_copy = $num_copy / 3;
echo '<h1>' . $num_copy . '</h1>';
}
if(($num_copy%5)==0){
$num_copy = $num_copy / 5;
echo '<h1>' . $num_copy . '</h1>';
}
}while($num_copy!=1);
Tiempo
4.4E-5 segundos.
10
5.1E-5 segundos.
100
6.0E-5 segundos.
200
7.1E-5 segundos.
900
4.7E-5 segundos.
1200
5.1E-5 segundos.
900000
0.001988 segundos.
9000000
9.3E-5 segundos.
90000000
7.5E-5 segundos.
90000000000
0.000129 segundos.
5
Tiempo
90000000000
0.000129 segundos.
900000
0.001988 segundos.
9000000
9.3E-5 segundos.
Tiempo
900
4.7E-5 segundos.
4.4E-5 segundos.
10
5.1E-5 segundos.
if(($num_copy%5)==0){ // Lnea 13
$num_copy = $num_copy / 5; // Lnea 14
echo '<h1>' . $num_copy . '</h1>'; // Lnea 15
} // Lnea 16
}while($num_copy!=1); // Lnea 17
7. Derivada
Hacer un programa que calcule la derivada de una funcin de la forma:
F(x)= ax n +b x n1 +cx , donde a, b, c son constantes y se pueden ingresar al
programa.
7.1 Cdigo
$a = 5; $b = 5; $x = 5;$n = 5;
$fx=(($a)*($x^$n)) + (($b)*($x^($n-1)));
$dfx=(($a)*($n)*($x^($n-1))) + (($b)*($n-1)*($x^($n-2)));
echo "El valor de la función en el punto X es: ".$fx ."<br/>";
echo "El valor de la derivada de la función: ". $dfx;
Tiempo
6.8E-5 segundos.
5.6E-5 segundos.
5.2E-5 segundos.
5.8E-5 segundos.
3.3E-5 segundos.
6.2E-5 segundos.
4.5E-5 segundos.
4.3E-5 segundos.
a=69696969696969,
b=69696969696969,
c=69696969696969,
x=69696969696969
4.4E-5 segundos.
a=267487189278,
b=555555555555555,
c=267487189278, x=555555555555
3.7E-5 segundos.
Tiempo
6.8E-5 segundos.
6.2E-5 segundos.
5.8E-5 segundos.
Tiempo
a=267487189278,
b=555555555555555,
c=267487189278, x=555555555555
3.7E-5 segundos.
3.3E-5 segundos.
4.3E-5 segundos.
una suma
Total: 20 operaciones.
8. Serie 1
Mostrar los primero 1000 nmeros de la serie
8.1 Cdigo
$n = 1000;
for($i=0;$i<=$n;$i++){
$resultado = ((pow (3,$i))*5);
echo "el resultado para $i es $resultado <br/>";
}
10
Tiempo total del cdigo: 0.004961 segundos (Sin incluir nmeros desde el 644).
Nmeros
Tiempo
635
4.6877749214589E+303 Segundos.
636
1.4063324764377E+304 Segundos.
637
4.218997429313E+304 Segundos.
638
1.2656992287939E+305 Segundos.
639
3.7970976863817E+305 Segundos.
640
1.1391293059145E+306 Segundos.
641
3.4173879177435E+306 Segundos.
642
1.0252163753231E+307 Segundos.
643
3.0756491259692E+307 Segundos.
644
9.2269473779075E+307 Segundos.
645
INF
646
9. Serie
Mostrar los primero 1000 nmeros de la serie
9.1 Cdigo
$n = 1000;
for($i=0;$i<=$n;$i++){
$resultado = ((pow (3,$i))*5);
echo "el resultado para $i es $resultado <br/>";
}
Este trabajo est con licencia Creative Commons, su uso es libre (Copia, modificacin y redistribucin);
siempre y cuando se nombre al autor (Andrs Giovanni Lara Collazos y Julin Cruz). Para ms informacin
visite:
http://co.creativecommons.org/
El conocimiento es libre, comprtelo
13