Page 52 - revista 2019
P. 52
Revista de la Facultad de Ingeniería, Año 6, Número 1
Este algoritmo expresa la misma solución dada anteriormente por el estudiante, pero
ahora utilizando la sintaxis de pseudocódigo que trabajó previamente en clase de
Programación I, al inicio del curso. El algoritmo dice:
Mientras ((no encuentro nro. cédula) AND (hay puertas))
Golpeo puerta
Pregunto por cédula
Verifico si es la buscada
Si es
Paro
Sino
Sigo a la siguiente puerta
Fin
Fin
Nuevamente, el estudiante describe correctamente tanto los pasos a seguir como las
dos condiciones de parada, sólo que ahora utilizando un lenguaje un poco más
formal que su descripción inicial en lenguaje natural y menos formal que un lenguaje
de programación. Prácticamente la totalidad de los estudiantes que participaron del
experimento (incluido el que dio esta descripción) no lo escribieron correctamente al
primer intento. A veces omitieron algún paso importante (como, por ejemplo: sigo a
la siguiente puerta) o bien les faltó alguna de las dos condiciones de terminación (no
encuentro nro. Cédula o hay puertas). En todos los casos, la mecánica aplicada fue
siempre la misma: pedirle al estudiante que vuelva a la acción, ejecutando paso a
paso el algoritmo, como si fuese un robot, hasta lograr encontrar la falla en lo escrito
y poder corregirla. Tras varios intentos, todos los estudiantes lograron finalmente dar
una descripción correcta en pseudocódigo.
El tercer paso del experimento consiste en que el estudiante escriba en lenguaje C++
una versión formalizada del algoritmo que acaba de escribir en pseudocódigo. Para
ello, se le recuerda la sintaxis (en C++) de las distintas estructuras de control vistas
anteriormente en Programación I y también la sintaxis para manipulación de arreglos
(que acaba de ver recientemente en el curso, pero aún sin haber estudiado el
algoritmo de búsqueda lineal). Se le pide entonces que escriba su programa
respetando dicha sintaxis. Se muestra a continuación el programa escrito por el
mismo estudiante que escribió el algoritmo en pseudocódigo mostrado
anteriormente.
51