Pseudocódigo sencilla pregunta Código

votos
0

Soy un poco nuevo en pseudocódigo. Entiendo lo que el código está diciendo, pero teniendo dificultades para poner las piezas juntas. ¿Cómo debo tomar en cuenta para entender lo que está haciendo este código:

Supongamos que a1, a2,. . . , Ak es una matriz de números k. ¿Qué hace el siguiente fragmento de código? Explicar brevemente por qué. Suponga que todas las líneas sangradas pertenecen dentro del bucle.

1 for p := 1 to ⌊k/2⌋
2     t := ap
3     ap := ak−p+1
4     ak−p+1 := t
Publicado el 29/08/2010 a las 16:07
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
0

El bucle refleja la matriz a su elemento central a medida que cambia un [p] con un [k-p + 1] donde a [p] es siempre en el lado "izquierda" de la matriz y una [k-p + 1] está siempre en el lado "correcto". t es una variable temporal.

Respondida el 29/08/2010 a las 16:13
fuente por usuario

votos
2

Ookay,

1 for p := 1 to ⌊k/2⌋

medios, que van hasta la mitad de la matriz.

2 t := ap
3 ap := ak−p+1
4 ak−p+1 := t

Este patrón puede ser reconocido como un "swap con temporal t". Y lo que se intercambia?

Bueno, apy ak-p+1, uno de ellos el pelemento -ésimo desde el principio matriz , el otro el p-ésimo uno de la final .

Por lo tanto, para resumir :

Se cambia la nprimera -ésimo con el núltimo valor de matriz -ésima hasta la mitad de la matriz. ¿Y después? La matriz se invierte .

Tenga en cuenta que el pseudocódigo de formato se ve muy raro - y, lo más importante - ambigua.

Es ak-p+1equivalente a a[k-p+1]o para a[k]-p+1o a[k-p]+1? Si no es así, ¿cómo se expresan los otros.

Así que en un primer momento, voy a convertir este código a una fuente real de como Python, que es mucho más fácil de leer.

Editar .

I) Bueno, como usted envió, la matriz de rangos a1a ak.

II) Piense cómo podría intercambiar los valores de dos variables ( ay b):

1 temp := a
2 a    := b
3 b    := temp

Por supuesto, ya ha sobrescrito acon ben la línea 2 , había que almacenar el antiguo avalor en un temporal, que es temp.

Respondida el 29/08/2010 a las 16:19
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more