Sunteți pe pagina 1din 4

1

UNIVERSIDAD INDUSTRIAL DE SANTANDER


ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
PRIMER EXAMEN PREVIO DE ESTRUCTURAS DE DATOS Y ANÁLISIS DE ALGORITMOS

Nombre:Rances Rodriguez Lara _MAS 2019-INGENIERIA De


SISTE_______________f______________________________ Calif.:_______
1. Decir si son verdaderas (V) o falsas (F) las siguientes afirmaciones: (25%)

(V) o (F). Una estructura de datos es un conjunto de elementos de información dotado de


una organización.

a. (V) o (F). Un Tipo Abstracto de Datos (TAD) puede


definirse como un conjunto de valores – con su propia estructura lógica – y de
operaciones que establecen las reglas de manipulación de esos valores, diseñado
siguiendo los principios que refuerzan la abstracción.

b. (V) o (F). El Análisis de Algoritmos permite evaluar el


diseño de las estructuras de datos de un programa, midiendo la eficiencia con que
los algoritmos del programa son capaces de resolver el problema planteado, si la
información que se debe manipular se representa de una forma dada.

c. (V) o (F). De los cuatro factores que definen el tiempo


de ejecución de un programa el que más influye es: La naturaleza y rapidez de las
instrucciones de máquina empleadas en la ejecución del programa.

d. (V) o (F). La idea detrás del concepto de complejidad


es tratar de encontrar una función f(n), fácil de calcular y conocida, que acote el
crecimiento de la función de tiempo, para poder decir “f crece aproximadamente
como T(n)” o, más exactamente, “en ningún caso f se comporta peor que T(n) al
aumentar el tamaño del problema”.
2

2. Los tres programas siguientes evalúan el polinomio:

p(x) = a0 + a1x + a2x2 + . . . + an-1xn-1

a. Hallar el orden de complejidad temporal del peor caso del ciclo iterativo for (en
negrilla) de la primera versión: (25%)

void main( )

{
float coef[10],xn,x,resultado;
int i,n,termino;
cout<<"Entre numero de coeficientes del polinomio: ";
cin>>n;
cout<<"Entre coeficientes desde a sub cero hasta a sub n-1"<<endl;
for(i=0 ; i < n ; i++)
{
cout<<"Entre coef["<<i<<"] = ";
cin>>coef[i];
}
cout<<"Entre el valor de x: ";
cin>>x;
resultado=0;
for(termino = 0; termino < n; termino++) O(n)*O(n) = O(n*n)
{
xn=1.0; O(1)
for(i=0; i<termino; i++) xn=xn*x; O(n*1)
resultado = resultado + coef[termino] * xn; O(1)
}
cout<<"El polinomio de grado "<<n-1<<" para x igual a "<<x<<" es : "<<resultado<<endl;
system("pause");
}
3

b. Halle el orden de complejidad temporal del peor caso del ciclo iterativo for (en
negrilla) de la segunda versión: (25%)

float potencia(float x,int n)


{
float t;
if(n==0)return 1;
//si es potencia impar
if(n%2==1)return x*potencia(x,n-1);
//si x es potencia par
t=potencia(x,n/2);
return t*t;
}
void main( )
{
float coef[10],x,resultado;
int i,n,termino;
cout<<"Entre numero de coeficientes del polinomio: ";
cin>>n;
cout<<"Entre coeficientes desde a sub cero hasta a sub n-1"<<endl;
for(i = 0; i < n ; i++)
{
cout<<"Entre coef["<<i<<"] = ";
cin>>coef[i];
}
cout<<"Entre el valor de x: ";
cin>>x;
resultado=0.0;
for(termino = 0; termino < n ;termino) O(n) = O(n*log_2n)
{
resultado = resultado + coef[termino] * potencia(x,termino); O(n*log_2n)
}
cout<<"El polinomio de grado "<<n-1<<" para x igual a "<<x<<" es : "<<resultado<<endl;
system("pause");

}
4

c. Halle el orden de complejidad temporal del peor caso del ciclo iterativo for (en negrilla)
de la tercera versión: (25%)

void main( )
{
float coef[10],xn,x,resultado;
int i,n,termino;
cout<<"Entre numero de coeficientes del polinomio: ";
cin>>n;
cout<<"Entre coeficientes desde a sub cero hasta a sub n-1"<<endl;
for( i= 0; i < n; i++)
{
cout<<"Entre coef["<<i<<"] = ";
cin>>coef[i];
}
cout<<"Entre el valor de x: ";
cin>>x;
xn=1.0;
resultado=coef[0];
for(termino = 1; termino <n ;termino++)++) O(n-1) = O(n)
{
xn = xn * x; O(1)
resultado = resultado + coef[termino] * xn; O(1)
}
cout<<"El polinomio de grado "<<n-1<<" para x igual a "<<x<<" es : "<<resultado<<endl;
system("pause");
}

OBSERVACIONES GENERALES:

 Para el desarrollo de la solución del previo debe usar un color diferente al negro.
 La solución debe enviarla, en archivo Word no comprimido, al correo:
hninoq@outlook.com
 El previo debe enviarse por tarde a las 9:15 de la noche de hoy.

S-ar putea să vă placă și