Aquí se irán colocando aclaraciones
y comentarios que
orienten y ayuden en la realización del proyecto. La información ira
creciendo a medida que la gente plantee dudas o se
hagan consultas, así
que es conveniente consultar esta página periódicamente.
Consejos generales
- IMPORTANTE: No intentéis hacer el
proyecto, si antes no habéis hecho ejercicios de nivel semejante.
Antes de ello
haced ejercicios más sencillos; es vuestro proceso de aprendizaje,
hasta llegar a su nivel. Si no habéis hecho ejercicios con
subprogramas, no empecéis con el proyecto (ídem para secuencias con
subsecuencias, ...), haced antes ejercicios más sencillos para
aprender y probar
- Prestad atención a la
inicialización de las variables, identificando claramente cuales son
para la secuencia exterior, y cuales para la interior, inicializándolas
sólo antes de su bucle. Pensad qué ocurrirá con esas variables si las
inicializáis dentro o fuera de cada mientras.
- Introducción de datos: La
introducción manual, uno a uno, puede ser conveniente solo en
las primeras pruebas, para ver dónde falla. Se recomienda hacerlo
leyendo de ficheros (explicado en prácticas). Si no, copiar y pegar en
la ventana de ejecución (explicado en prácticas). En este último caso,
copiando y pegando, los
datos
de entrada, y los resultados que escribe el
programa aparecerán mezclados en la pantalla; esto se arregla
leyendo
de un fichero.
- Ficheros:
- Si al ejecutar da error
en la inicialización del fichero de lectura, mirad que Windows no esté
ocultando las extensiones de los ficheros, de modo que si vosotros lo
veis
como
"datos.txt", quizás realmente sea "datos.txt.txt".
- Si leéis dentro de los
subprogramas, poned la declaración de la variable fichero (con su
propio "var"
delante), justo antes de los subprogramas. Es la única excepción, el
resto de
declaraciones de variables
deben ir después de los subprogramas y antes del programa principal.
- Aclaraciones de Pascal:
- Cuando no sepáis a qué se debe
un
error de compilación, ¡¡LEED
el mensaje del error!! en rojo en el
cuadro inferior, os ayudará
- Los subprogramas, deben ir antes
de la declaración de variables (bloque "var"), si no, aunque
funcione, el programa se dará por fallido (la única excepción, son los
ficheros).
- Nunca debe ir un ';' detrás
de un "do" o un "then" (por
ejemplo while I<100 do;
- MAL). No dará error de compilación, pero ejecutará mal.
- Si el error es de ejecución,
poned
trazas: escribir mensajes intermedios para ver por dónde pasa, dónde se
cuelga, y qué
valores tienen las variables (explicado en prácticas)
- Si usáis los operadores lógicos
"not", "and" y "or", poned las expresiones de delante y detrás entre
paréntesis. P.e.: if (cont
> 5) and (c <> 'a') then
- IMPORTANTE: No implementéis el proyecto al
completo, sino que al pasar a pascal id por partes, empezando sólo por
la secuencia interna, e ir ampliándolo paulatinamente a medida
que vaya
funcionando. Sólo se atenderán consultas del programa
global cuando ya funcione en pascal el tratamiento de las secuencias
internas (si enviáis
consultas por email, primero informad de hasta dónde os ha funcionado).
Siempre empezad con lo más sencillo, y hasta
que
no funcione, no lo ampliéis.
- Y fundamental: para resolver
cualquier
problema lo primero es analizar cómo
resolverlo a mano, sin ordenadores, pensad cómo lo haríais paso
a paso, y entonces traspasar ese método a un algoritmo.
Consejos concretos
- 28-11-24 Remarcar de nuevo que
delante del carácter del cultivo hay un espacio en blanco que "se debe
leerse explícitamente", también como otro carácter más (los que vayan
delante de un número, no importan, se saltan automáticamente)
- 28-11-24 Escribir los reales en
formato legible con solo 2 decimales (explicado en prácticas)
- (se seguirán
poniendo más
sugerencias y mensajes a medida que la gente plantee dudas y problemas;
mirar esta página antes de hacer una consulta)