Está en la página 1de 5

FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y

LOS RECURSOS NATURALES NO RENOVABLES


Carrera de Ingeniería en Sistemas / Carrera Computación

PRÁCTICA DE LABORATORIO Nro. 1


Carrera Computación

A. DATOS INFORMATIVOS
Asignatura: Ciclo / Semestre: Paralelo:
Estructura de datos Tercero A
Docente: Período Académico:
José Oswaldo Guamán Quinche Octubre 2023 - Abril 2024
Integrantes:
Leonardo Aldair Orozco Oviedo

B. INFORMACIÓN GENERAL
Unidad:
ESTRUCTURAS DE DATOS ESTÁTICAS (ARREGLOS, CONJUNTOS, REGISTROS, ARCHIVOS) Y ESTRUCTURAS DE DATOS
DINÁMICAS (LISTAS, PILAS Y COLAS).
Tema:
Evaluación de algoritmos
Fecha: Loja, 20 de octubre de 2023 Nro. Horas: 2
Objetivos:
• Realizar evaluación de algoritmos
Corresponde al resultado de aprendizaje:
R1. Implementa algoritmos simples de búsqueda y explica las diferencias en el orden de complejidad computacional, bajo
los principios de solidaridad, transparencia, responsabilidad y honestidad. R4. Automatiza problemas que necesita la
aplicación de listas, pilas y colas, bajo los principios de solidaridad, transparencia, responsabilidad y honestidad
Recursos y/o materiales:

• Computador.
• Material bibliográfico o recurso indicado en el EVA.

C. DESARROLLO
Instrucciones:
Primera parte
Se requiere evaluar los siguientes algoritmos y sacar el orden de cada uno de ellos, estos están en la materia de evaluación
de algoritmos que están en las diapositivas (solo los ejercicios impares). Además, se requiere sacar el orden de magnitud de
estos algoritmos:

Algortimo 1
function(x0, n, N=10000000, d=2){
x = numeric(0)
for(I in 1:n){
x[i] = ifelse(i==1, x0^d%%N, x[i-1]^d%%N)
}
x = x[x!=0]
list(“R” = x/N, “x” = x)
}

Algortimo 2

Ciudad Universitaria “Guillermo Falconí Espinosa” Casilla letra “S”


Teléfono: 2547 – 252 Ext. 101: 2547-200
Ciudad Unive
FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y
LOS RECURSOS NATURALES NO RENOVABLES
Carrera de Ingeniería en Sistemas / Carrera Computación

int main (void)


{
char palabra[255];
int I = 0, j;
printf (“Ingrese una palabra: “);
scanf (“%s”, palabra);
j = strlen (palabra) – 1;
while (I < j && tolower (palabra[i]) == tolower (palabra[j]))
{
i++;
j--;
}
printf (“\nLa palabra ‘%s’ “, palabra);
if (I >= j)
printf (“s\241”);
else
printf (“no”);
printf (“ es pal\241ndrome.\n\n”);
system (“pause”);
return EXIT_SUCCESS;
}

Algortimo 3
void funcion(const int nodo, int nodoAct){
mark[nodoAct] = true;
if(mark[nodo]==true) return;
if (nodoAct == nodo){
printf(“’%d’n”,nodo);
return;
}else if(mark[nodo]==true) return;
else{
printf(“%d “,nodoAct);

int T = (int)graph.G[nodoAct].size();
for(int I = 0; I < T; ++i)
{
if (!mark[graph.G[nodoAct][i].node]) DFS(nodo, graph.G[nodoAct][i].node);
}
}
}
Nota: Todos los códigos deben guardarse en un repositorio git (gitlab, github o bitbucket)
Resolución:
Toda lo relacionado con la parte de instrucciones, se debe ubicar fragmentos de código y demostraciones en caso que sea
necesaria.

Ejercicio 1.1:

1
n+1
i*n + n
j*i + i*n
j*i
j*i
i*n
n

Contador de frecuencias: 3(j*i) + 3(i*n) + 3n + 2 Orden: Lineal O(j*i + i*n).

Ciudad Universitaria “Guillermo Falconí Espinosa” Casilla letra “S”


Teléfono: 2547 – 252 Ext. 101: 2547-200
Ciudad Unive
FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y
LOS RECURSOS NATURALES NO RENOVABLES
Carrera de Ingeniería en Sistemas / Carrera Computación

Ejercicio 1.3:

1
1
Log2j
Log2j
Log2j
Log2j
Log2j
Log2j
Log2j
Log2j + 1

Contador de frecuencias: 8Log2j + 3 Orden: Logarítmico.

Ejercicio 1.5:

1
1
1
Log2n+1
Log2n
Log2n
Log2n
1

Contador de frecuencias: 4 Log2n + 5 Orden: Logarítmico.

Algoritmo 1:

1
n+1
n
n
1
1

Contador de frecuencias: 3n + 4 Orden: Lineal O(n).

Ciudad Universitaria “Guillermo Falconí Espinosa” Casilla letra “S”


Teléfono: 2547 – 252 Ext. 101: 2547-200
Ciudad Unive
FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y
LOS RECURSOS NATURALES NO RENOVABLES
Carrera de Ingeniería en Sistemas / Carrera Computación

Algoritmo 2:

1
1
1
1
1
J+1

J
J
J
1
1
1
1
1
1
1
1

Contador de frecuencias = 4j + 14 Orden: Lineal O(n).

Algoritmo 3:

1
1
1
1
1
1
1
1

1
N+1

N
N
1

Contador de frecuencias: 3N + 11 Orden: Lineal O(n).

Video de demostración: https://drive.google.com/file/d/1-1VEjgkGHwJ1Ct9L-CgopDQKhgJqE3mC/view?usp=sharing

Conclusiones:
• Es importante en cada proyecto de programación evaluar el desempeño de nuestros algoritmos
independientemente del lenguaje o dispositivo en el que se vaya a ejecutar, este proceso de análisis y evaluación
determina la eficiencia que este tendrá y nos permitirá tener una mejor comprensión del algoritmo y poder
identificar las posibles deficiencias y aspectos a mejorar en este.
• Poner en practica la evaluación de algoritmos en nuestros futuros proyectos puede representar un factor
determinante a la hora de crear un buen programa, pues al examinar y optimizar nuestro código obtendremos
un programa eficiente y amigable con la variedad de dispositivos en los que este puede ser ejecutado.

D. RÚBRICA DE EVALUACIÓN
Nota: En caso de no cumplir con alguno de los parámetros establecidos se calificará la nota igual a 0
Si se encuentra copia con algún compañero o prácticas realizadas de otros años, o bajados del internet, se aplicará el

Ciudad Universitaria “Guillermo Falconí Espinosa” Casilla letra “S”


Teléfono: 2547 – 252 Ext. 101: 2547-200
Ciudad Unive
FACULTAD DE LA ENERGÍA, LAS INDUSTRIAS Y
LOS RECURSOS NATURALES NO RENOVABLES
Carrera de Ingeniería en Sistemas / Carrera Computación

reglamento de deshonestidad estudiantil y se calificará sobre 0.


No se aceptará trabajos atrasados ni incompletos, se calificará sobre 0.
Todo acerca de deshonestidad académica que no diga este documento.
Informe de trabajo: 2 ptos
• Contenido: pertinente y concreto; (obligatorio)
• Estructura y organización: Elementos vinculados y estructurados coherentemente. (obligatorio)
• Originalidad y creatividad: trabajo inédito, presentación de nuevas ideas.
Resolución de Ejercicios: 6 ptos
• Proceso de resolución de ejercicios: con originalidad y creatividad usando lo aprendido en clases
(obligatorio)
• Ejecución de programas y solución de la aplicación (debe estar todo solucionado al 100% obligatorio)
Conclusiones: 1 ptos
• Redacción
• Originalidad y creatividad: conclusiones inéditas en base a su experiencia y objetivos planteados
(obligatorio).
Video 1 ptos
 Se debe entregar un video con la demostración y explicando el código de su solución (obligatorio).
Total 10 ptos
(Ponderado en calificación final 25%)

E. FIRMAS DE RESPONSABILIDAD DE LO ACTUADO


Estudiante(s): Firma

Leonardo Aldair Orozco Oviedo 1150024139

Ciudad Universitaria “Guillermo Falconí Espinosa” Casilla letra “S”


Teléfono: 2547 – 252 Ext. 101: 2547-200
Ciudad Unive

También podría gustarte