Es posible que desee dar un ejemplo. Si su código se enfoca demasiado en aspectos específicos del lenguaje que no son parte del algoritmo, entonces es comprensible que se pudiera decir que no se mezcló algoritmo con su algoritmo, lo que resultó en un resultado incorrecto.
Siento el razonamiento, el objetivo del aprendizaje es mostrar que entiendes el concepto, no agacharte y marcar todos los cuadros adecuados.
Se puede enseñar a una computadora a aprobar la universidad, pero todavía no se puede enseñar a una computadora a pensar por sí misma y aplicar el conocimiento.
La mentalidad de comer y regurgitar es la razón por la que nunca me gradué.
Con respecto a su comentario reciente, es importante darse cuenta de pseudocódigo no está definido. En general, existen términos reutilizados en el mismo, pero no es un lenguaje estricto más de lo que es Inglés (de lo contrario sería ser un lenguaje de programación, lo que podría ser interpretada y ejecutada pie de la letra)
La importancia del pseudocódigo es dar cuerpo a la parte lógica del sistema y no tener que preocuparse demasiado por la sintaxis más allá de "tiene sentido".
A menudo, esto puede hacer que el pseudocódigo sea más escueto y más comprensible.
El seudocódigo tampoco depende de que el lector tenga una comprensión de la "sintaxis mágica" en el lenguaje para poder procesarlo, todo lo que necesitan entender son los términos utilizados.
Si le diera a la persona promedio un algoritmo en Perl, por ejemplo, la mayoría de las personas simplemente morirían de horror porque no ven más allá de las reglas del ruido de la línea.
Mientras:
sub foo {
my @args = @_ ;
my( $a, $b )=(@args[0],@args[1]);
for( @{ $a } ){
$b .= $_ ;
s/id//g;
}
return [$b,$a];
}
puede dar un sentido coherente a alguien versado en perl, para el lector de código promedio todo lo que obtienen es una respuesta "¿cómo diablos acabas de decir?". Documentarlo tampoco ayuda mucho.
| there is a subroute foo which can take a list of strings, and a default string,
\- which then iterates all items in that list,
| \- and for each item in that list
| 1. appends the contents of that item to the end of the default string
| 2. removes all instances of the string "id" in that item
|
\ and returns a list, which contains
1. the concatentated default string
2. the modified input list
De repente, se vuelve menos ambiguo y un mayor porcentaje de personas puede entenderlo.
Así que posiblemente, la mitad del ejercicio con la escritura del algoritmo sea un ejercicio de "No solo tienes que demostrar que lo entiendes, sino que también debes demostrar que puedes explicar tu razonamiento a otras personas que no saben nada del problema", que es vital. habilidad que necesitas Si no puede comunicar lo que ha hecho, nadie puede usarlo.
También hay un desagradable pequeño problema con el código, que no existe en un algoritmo, y es que el código puede parecer correcto, pero puede no hacer lo que crees que es, y si no funciona bien, y tú no lo haces. No se dan cuenta, las personas que leen el código de ingeniería inversa lo estropearán y copiarán un algoritmo roto . no está bien. el algoritmo en forma humana traduce mejor 'esto es lo que quiero que haga'