Está en la página 1de 13

ALGORITMOS

COMPLEJOS
Universidad Columbia del Paraguay
Ingeniería Informática
Tercer curso – 2019
Profesor: Ing. Adolfo Arteta

1
Suma de vector
void Suma_Vector(
double x[] /* in */,
double y[] /* in */,
double z[] /* out */,
int n /* in */) {
int i;
for (i = 0; i < n; i++)
z[i] = x[i] + y[i];
} /* Suma_Vector */
Ordenar vector/Alg. Par/Impar
• El algoritmo consiste en una secuencia de fases, de dos tipos
diferentes.
• Durante la fase par, la comparación-intercambio se ejecuta con los
pares.
• Durante la fase impar la comparación-intercambio se ejecuta con los
pares:
Ejemplo Fase 0 1 2 3
0 5 9 4 3
Inicio: 5, 9, 4, 3 5 9 3 4
1 5 9 3 4
Fase Par: comparación-intercambio (5,9) y (4,3)
5 3 9 4
obteniendo la lista 5, 9, 3, 4 2 5 3 9 4
Fase Impar: comparación-intercambio (9,3) 3 5 4 9
obteniendo la lista 5, 3, 9, 4 3 3 5 4 9
3 4 5 9
Fase Par: comparación-intercambio (5,3) y (9,4)
obteniendo la lista 3, 5, 4, 9
Fase Impar: comparación-intercambio (5,4)
obteniendo la lista 3, 4, 5, 9
Multiplicación Matriz por Vector

(i, j)=(2, 1)

Se almacena por fila como

Fórmula en el vector
i*N+j=2*4+1=9 (Posición del vector)
A={4, 9, 1, 7, 8, 11, 2, 12}
1. procedure MIN_RECURSIVO (A, n)
2. begin
3. if (n = 1) then /*Caso Base*/
4. min := A[0];
5. else
6. minIzq := MIN_RECURSIVO (A, n/2);
7. minDer := MIN_RECURSIVO ((A[n/2]), n - n/2);
8. if (minIzq < minDer) then
9. min := minIzq;
10. else
11. min := minDer;
12. endelse;
minIzq minDer
13. endelse;
14. return min;
15. end MIN_RECURSIVO
La Regla del trapecio
La Regla del trapecio
Un trapecio
int main(void) {
double integral; /* resultado de la integral*/
double a, b; /* límites izq. y der. */
int n; /* Números de trapecios*/
double h; /* Altura de los trapecios*/
cout<<“Ingrese a, b, y n”<<endl;
cin>>a; cin>>b; cin>>n;
h = (b-a)/n;
integral = Trapecios(a, b, n, h);
cout<<“Con n = “<< n<<“ trapecios, la estimación“<<endl;
cout<<“de la integral desde”<<a<<“ hasta ”<<b<< “ es ”<< integral);
return 0;
} /* main */

También podría gustarte