[ Foro de Pascal ]

Alternativa

01-May-2010 00:15
lvaro Cceres Muoz
2 Respuestas

Buenas noches.

Siento si les interrumpo con una cuestión que probablemente sea muy simple, pero tenía curiosidad.

Verán, en el ejercicio que colgaron en el "Tema2: Ejercicios resueltos", figuraba un ejercicio con la siguiente sintáxis:


program SumaDosNumeros;

var
numero1, numero2, suma: integer;

begin
writeln('Introduce el primer número');
readln( numero1 );
writeln('Introduce el segundo número');
readln( numero2 );
suma := numero1 + numero2;
writeln('La suma de los dos números es: ', suma);
end.


Pues bien, estuve mirándolo unos segundos para analizar la estructura, y me encontré con que podría no utilizar la variable suma, y relizar la operación directamente en la línea 9:


program SumaDosNumerosDiferente;

var
 numero1, numero2: integer;

begin
 writeln('Introduzca el primer número.');
 readln(numero1);
 writeln('Introduzca el segundo número.');
 readln(numero2);
 writeln('La suma de los dos números es: ', numero1 + numero2('.');

end.



NOTA: EN la línea 12, se ve un fragmento de la línea 11, pero en el programa, va todo en una misma línea.

Como podrán observar (si no he tenido ningún error al escribir), el programa sigue siendo funcional y, en mi opinión, de esta forma se puede ahorrar un poco de espacio. PERO cabe la opción de que ustedes lo diseñaran para que se utilizara la variable integer dirigida a una suma, así que... puede que, en ese sentido, me esté yendo del objetivo, si bien estoy desarrollando una alternativa, y eso, en cierto modo, es bueno para mí.
Lo siento si he sido muy extenso, pero quería concocer sus opiniones.

Un saludo,
  Álvaro Cáceres


01-May-2010 11:38
Antonio P.G.

Hola Álvaro.

Lo cierto es que es como explicó. ¿Qué es lo que ocurre? Bueno, pues que en un programa tan pequeño,  que abarca menos de una página, y tan sencillo, es muy fácil entender las operaciones y los resultados.

Sin embargo, le recomiendo (como tío que lleva programando un poco en Pascal), que introduzca siempre que pueda la variable "suma", me refiero a "nombrar" los resultados, por dos razones:

 - Si uno tiene que utilizar ese resultado (no calcularlo varias veces).
 - Para que otra persona que vaya a leer el código fuente lo pueda comprender mejor.

Yo recuerdo que cuando me inicié en esto hice un programita muy simple pero que me ayudó bastante. Se trataba de una "calculadora". Te decía que qué querías calcular (un producto, una suma, un logaritmo,...) y te pedía los dos o tres números pertinentes.

En fin, espero haber sido de ayuda.

¡Ciao!


03-May-2010 22:11
Nacho Cabanes (+31)

Efectivamente, Álvaro y Antonio, los dos estais en lo cierto.

Por una parte: la solución que propone Álvaro es válida, y es más simple.

El hecho de que en ejemplo se use una tercera variables es para hacer énfasis en el hecho de que los valores para las variables se puede obtener pidiéndoselos al usuario (con "readln") o calcuándolos a partir de otros datos (como en la suma).

Además, como bien comenta Antonio, a medida que vas desarrollando programas más grandes, es vital procurar que sean legibles, o, de lo contrario, acabas dedicando más tiempo a intentar entenderlos y poder corregirlos cuando algo falla, que a crearlos.

Por eso, suele ser preferible usar variables adicionales que hagan que el significado de cada operación sea evidente. El gasto en memoria y en velocidad de ejecución es despreciable, pero hace que sea más difícil cometer errores y más fácil encontrarlos, en caso de que ocurra (pero no es necesario en un programa tan pequeño cmo este).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)