Вы находитесь на странице: 1из 9

EJERCICIO 5

Tiene el siguiente algoritmo, efecte la prueba de escritorio, verifique su correccin y explique


cmo trabaja el algoritmo, indique cuantas comparaciones realiza.

Algoritmo Corregido en Pseudocdigo:

INICIO
Dimensin A[11];
A[0]=11;A[1]=3;A[2]=6;A[3]=2;A[4]=9;A[5]=1;A[6]=8;A[7]=10;A[8]=4;A[9]=7;A[10]=5;
Desde i<-0 Hasta 10 Con Paso 1 Hacer
Escribir "Posicin: ", i, " y su Dato: ", A[i];
FinDesde
Limit<-11; cont<-0;
st<-(-1);
Escribir " ";
Repetir Mientras (st<limit) Hacer
flipped<-Falso;
st<-st+1;
limit<-limit-1;
Desde j = st hasta limit-1 Hacer
Si (A[j]>A[j+1]) Entonces
t<-A[j];
A[j] <-A[j+1];
A[j+1] <-t;
flipped<-Verdadero;
FinSi
cont<-cont+1;
FinDesde
Si (flipped = falso) entonces
salir;
FinSi
flipped<-Falso;
Desde j = limit hasta st+1 con paso -1 Hacer
Si (A[j]<A[j-1]) Entonces
t<-A[j];
A[j] <-A[j-1];
A[j-1] <-t;
flipped<-Verdadero;
FinSi
cont<-cont+1;
FinDesde
Si (flipped = falso) entonces
salir;
FinSi
FinRepetirMientras
Desde i<-0 Hasta 10 Con Paso 1 Hacer
Escribir "Posicin: ", i, " y su Dato: ", A[i];
Escribir Comparaciones: , cont;
FinDesde
FIN

EXPLICACIONES DEL ALGORITMO


El algoritmo funciona de la siguiente manera: se define una variable para el tamao del vector,
luego, se crea otro que sea menor al ndice del primer elemento. Se comparan en un bucle
principal llamado Repetir Mientras. Si se cumple la condicin (comparacin) entonces el ciclo se
repetir hasta que ya no cumpla. Dentro, se crea otra variable con valor falso tambin se crean
dos estructuras repetitivas llamadas Desde Hasta una empieza desde el primero hasta el final y
el otro desde el final hasta el primero, en los dos se irn comparando todos los elementos del
vector. Dentro de estas dos estructuras se encuentra una condicin para cada una ellas en donde
s se cumpliese, entonces los valores intercambian; adems que la variable con valor falso se
volvera verdadera. Al final de cada estructura se encuentra una estructura de control
condicional donde si la variable con valor booleano no cambia su valor entonces se saldr del
bucle principal ya que se tiene en cuenta que el vector esta ordenado. Y a continuacin se
muestran el nuevo vector ordenado.

CANTIDAD DE COMPARACIONES:
46 comparaciones.
PRUEBA DE ESCRITORIO

PRIMRE DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J+1] COMT
-1 11 0 0 0
FALSO 0 10 0 11 3
11 3 11
VERDAD 1
1 11 6
11 6 11
VERDAD 2
2 11 2
11 2 11
VERDAD 3
3 11 9
11 9 11
VERDAD 4
4 11 1
11 1 11
VERDAD 5
5 11 8
11 8 11
VERDAD 6
6 11 10
11 10 11
VERDAD 7
7 11 4
11 4 11
VERDAD 8
8 11 7
11 7 11
VERDAD 9
9 11 5
11 5 11
VERDAD 10
10

SEGUNDO DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J-1] COMP
FALSO 0 10 10 11 5
11
9 5 7
5 7 5
VERDAD 12
8 5 4
13
7 4 10
4 10 4
VERDAD 14
6 4 8
4 8 4
VERDAD 15
5 4 1
16
4 1 9
1 9 1
VERDAD 17
3 1 2
1 2 1
VERDAD 18
2 1 6
1 6 1
VERDAD 19
1 1 3
1 3 1
VERDAD 20
0

DE NUEVO PRIMER DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J+1] COMP
FALSE 1 9 1 3 6
21
2 6 2
6 2 6
VERDAD 22
3 6 9
23
4 9 4
9 4 9
VERDAD 24
5 9 8
9 8 9
VERDAD 25
6 9 10
26
7 10 5
10 5 10
VERDAD 27
8
DE NUEVO SEGUNDO DESDE HASTA:
FLIPPED ST LIMIT J T A[J] A[J-1] CONT
FALSO 1 9 9 7 10
7 10 7
VERDAD 28
8 7 5
29
7 5 9
5 9 5
30
6 5 8
5 8 5
VERDAD 31
5 5 4
32
4 4 6
4 6 4
VERDAD 33
3 4 2
34
2 2 3
2 3 2
35
1

DE NUEVO PRIMER DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J+1] CONT
FALSE 2 8 2 3 4
36
3 4 6
37
4 6 5
6 5 6
VERDAD 38
5 6 8
39
6

DE NUEVO EL SEGUNDO DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J-1] CONT
FALSO 2 8 8 7 9
7 9 7
VERDAD 40
7 7 8
7 8 7
VERDAD 41
6 7 6
42
5 6 5
43
4 5 4
44
3 4 3
45
2

DE NUEVO EL PRIMER DESDE HASTA:


FLIPPED ST LIMIT J T A[J] A[J+1] COMP
FALSO 3 7 3 4 5
46
4

FIN ALGORITMO.
ndice 0 1 2 3 4 5 6 7 8 7 10
cant
1 3 11 6 2 9 1 8 10 4 7 5
2 3 6 11 2 9 1 8 10 4 7 5
3 3 6 2 11 9 1 8 10 4 7 5
4 3 6 2 9 11 1 8 10 4 7 5
5 3 6 2 9 1 11 8 10 4 7 5
6 3 6 2 9 1 8 11 10 4 7 5
7 3 6 2 9 1 8 10 11 4 7 5
8 3 6 2 9 1 8 10 4 11 7 5
9 3 6 2 9 1 8 10 4 7 11 5
10 3 6 2 9 1 8 10 4 7 5 11
11 3 6 2 9 1 8 10 4 7 5 11
12 3 6 2 9 1 8 10 4 5 7 11
13 3 6 2 9 1 8 10 4 5 7 11
14 3 6 2 9 1 8 4 10 5 7 11
15 3 6 2 9 1 4 8 10 5 7 11
16 3 6 2 9 1 4 8 10 5 7 11
17 3 6 2 1 9 4 8 10 5 7 11
18 3 6 1 2 9 4 8 10 5 7 11
19 3 1 6 2 9 4 8 10 5 7 11
20 1 3 6 2 9 4 8 10 5 7 11
21 1 3 6 2 9 4 8 10 5 7 11
22 1 3 2 6 9 4 8 10 5 7 11
23 1 3 2 6 9 4 8 10 5 7 11
24 1 3 2 6 4 9 8 10 5 7 11
25 1 3 2 6 4 8 9 10 5 7 11
26 1 3 2 6 4 8 9 10 5 7 11
27 1 3 2 6 4 8 9 5 10 7 11
28 1 3 2 6 4 8 9 5 7 10 11
29 1 3 2 6 4 8 9 5 7 10 11
30 1 3 2 6 4 8 5 9 7 10 11
31 1 3 2 6 4 5 8 9 7 10 11
32 1 3 2 6 4 5 8 9 7 10 11
33 1 3 2 4 6 5 8 9 7 10 11
34 1 3 2 4 6 5 8 9 7 10 11
35 1 2 3 4 6 5 8 9 7 10 11
36 1 2 3 4 6 5 8 9 7 10 11
37 1 2 3 4 6 5 8 9 7 10 11
38 1 2 3 4 5 6 8 9 7 10 11
39 1 2 3 4 5 6 8 9 7 10 11
40 1 2 3 4 5 6 8 7 9 10 11
41 1 2 3 4 5 6 7 8 9 10 11
42 1 2 3 4 5 6 7 8 9 10 11
43 1 2 3 4 5 6 7 8 9 10 11
44 1 2 3 4 5 6 7 8 9 10 11
45 1 2 3 4 5 6 7 8 9 10 11
46 1 2 3 4 5 6 7 8 9 10 11
Algoritmo en Pseint

Su salida:
Algoritmo en Java:

Y su Salida:

Вам также может понравиться