1) Podría adjuntar un ejemplo y describir el cuelgue?
2) Si el perfil dice "No permitir utilizar variables o posiciones de arreglos sin inicializar", entonces está bien que de error con no es primo. El criterio es el mismo para todos los tipos, no hay nada de particular con los lógicos. Inicializarlo en falso sería equivalente a inicializar en 0 lo números y en "" las cadenas, lo cual pasa si desactiva esa opción del perfil. Pero si está activada, es el comportamiento esperado, no un error.
3) Está mal el algoritmo. Los argumentos 2 y 3 de Subcadena son desde y hasta, así que lo correcto sería usar "subcadena(z,p,p+k)"
4) Frase es un arreglo de 1000 cadenas de caracteres, y solo está inicializando una posición con la lectura (la 999, que puede ser la última o anteúltima según qué base defina el perfil para los arreglos). Es un error del algoritmo invocar "longitud(frase)" porque longitud recibe una cadena, no un arreglo de cadenas; pero es un error del intérprete intentar ejecutarlo sin detectar el error del pseudocódigo.
5) De nuevo está mal el pseudocódigo. Por un lado pareciera que pensara que las cadenas son arreglos de caracteres, como sí ocurre en otros lenguajes, pero no en PSeInt. No hay un tipo de dato especial para un caracter, sino que todo son cadenas, y una variable de tipo caracter(es) guarda una cadena, y un arreglo muchas cadenas. Además, hay cuestiones de lógica, como que el subproceso MostrarCaracteres no recibe ningún argumento (entonces qué muestra); o que el para va hasta a[contador]<>"", pero la variables de control del para es un contador numérico y tiene que llegar entonces hasta un límite numérico, pero la expresión que mencioné es lógica, entonces los tipos no coinciden, habría que usar un repetir o mientras para eso.
Respecto a la potencia del lenguaje, coincido en que es poca en términos de los problemas que se pueden resolver o las aplicaciones reales, pero recuerde que es un lenguaje con fines exclusivamente didácticos, así que la mayoría de las limitaciones son adredes por diseño.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) Bajé los ejemplos y los pude correr bien (con la versión de hoy), ¿cual era el problema que veia?
2) sí hace lo que debe. Para ver la pirámide debería ser Subcadena(z,P,p+k) en lugar de Subcadena(z,K,p+k), y k empezar en 0 para que la primer linea tenga un solo caracter (el 0, si es que usa arreglo y cadenas en base 0 en su perfil).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2024-03-02
Post awaiting moderation.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1) Podría adjuntar un ejemplo y describir el cuelgue?
2) Si el perfil dice "No permitir utilizar variables o posiciones de arreglos sin inicializar", entonces está bien que de error con no es primo. El criterio es el mismo para todos los tipos, no hay nada de particular con los lógicos. Inicializarlo en falso sería equivalente a inicializar en 0 lo números y en "" las cadenas, lo cual pasa si desactiva esa opción del perfil. Pero si está activada, es el comportamiento esperado, no un error.
3) Está mal el algoritmo. Los argumentos 2 y 3 de Subcadena son desde y hasta, así que lo correcto sería usar "subcadena(z,p,p+k)"
4) Frase es un arreglo de 1000 cadenas de caracteres, y solo está inicializando una posición con la lectura (la 999, que puede ser la última o anteúltima según qué base defina el perfil para los arreglos). Es un error del algoritmo invocar "longitud(frase)" porque longitud recibe una cadena, no un arreglo de cadenas; pero es un error del intérprete intentar ejecutarlo sin detectar el error del pseudocódigo.
5) De nuevo está mal el pseudocódigo. Por un lado pareciera que pensara que las cadenas son arreglos de caracteres, como sí ocurre en otros lenguajes, pero no en PSeInt. No hay un tipo de dato especial para un caracter, sino que todo son cadenas, y una variable de tipo caracter(es) guarda una cadena, y un arreglo muchas cadenas. Además, hay cuestiones de lógica, como que el subproceso MostrarCaracteres no recibe ningún argumento (entonces qué muestra); o que el para va hasta a[contador]<>"", pero la variables de control del para es un contador numérico y tiene que llegar entonces hasta un límite numérico, pero la expresión que mencioné es lógica, entonces los tipos no coinciden, habría que usar un repetir o mientras para eso.
Respecto a la potencia del lenguaje, coincido en que es poca en términos de los problemas que se pueden resolver o las aplicaciones reales, pero recuerde que es un lenguaje con fines exclusivamente didácticos, así que la mayoría de las limitaciones son adredes por diseño.
1) Bajé los ejemplos y los pude correr bien (con la versión de hoy), ¿cual era el problema que veia?
2) sí hace lo que debe. Para ver la pirámide debería ser Subcadena(z,P,p+k) en lugar de Subcadena(z,K,p+k), y k empezar en 0 para que la primer linea tenga un solo caracter (el 0, si es que usa arreglo y cadenas en base 0 en su perfil).