1.1 Del mundo real a la solución por computadora 15
procesador y que disponemos del tiempo suficiente para llevarlo a cabo. En realidad, encargamos
a la computadora la ejecución de los pasos que componen un algoritmo porque es capaz de
completarlo en un tiempo mucho menor del que nosotros emplearíamos, y porque la computadora
es menos proclive a cometer errores que nosotros, quienes por distracción o cansancio erramos
habitualmente.
Sin embargo, las computadoras sólo pueden ejecutar algoritmos que se componen de acciones
que puede entender. Por lo tanto, es necesario conocer bien cuáles son dichas acciones para
diseñar algoritmos bien escritos.
Saber cuál es el algoritmo que resuelve un problema dado, suele ser un paso difícil para todo
aquel que no tenga práctica en el tema. Para escribir algoritmos, el primer paso necesario
es plantear cuál sería la solución del problema en términos comunes, en palabras habituales,
haciendo uso de todo lo que esté a nuestro alcance, la imaginación, la matemática, el dibujo, el
intercambio de ideas, la lógica.
No existe una técnica establecida para encarar la solución de un problema. La íntima asociación
entre el proceso de descubrimiento de algoritmos y el de resolución de problemas, en general ha
hecho que los científicos de la computación se unan a otras disciplinas en la búsqueda de mejores
técnicas para resolverlos. Pero la capacidad para resolver problemas sigue siendo más una aptitud
artística que debe desarrollarse individualmente, que una ciencia precisa por aprender.
1.1.4 El modelo computacional
Para encarar la resolución de un problema por computadora hay que considerar como punto
de partida que el procesamiento de la información lleva en sí el hecho de tomar datos, elaborarlos
y emitir resultados de acuerdo a dichos datos y a la lógica del proceso que se está ejecutando
en ese momento. Por lo tanto, se puede pensar en un modelo computacional compuesto de tres
partes: ENTRADA, PROCESO y SALIDA, como se muestra en la Figura 2.
Una vez entendido el problema hay que desentrañar del enunciado los datos necesarios
para comenzar el proceso de resolución, abstrayéndose del proceso de resolución. Habría que
preguntarse “¿ Qué necesito para resolver el problema, si yo fuese el procesador?” “¿ Qué datos
necesito que me de otra persona para poder obtener la solución del problema?”, y anotarlos
como ENTRADA o DATOS.Una vez determinados los datos, se deberá determinar cuál es
el/los resultado/s, es decir, qué se obtiene con los datos de entrada y anotarlos como SALIDA o
RESULTADOS.
A veces pueden ser más fáciles de visualizar los resultados antes que los datos de entrada, en
dicho caso habría que preguntarse “¿Para obtener este resultado, qué información necesito?”.
Luego se preguntará “¿ Cuáles son los pasos para llegar al resultado partiendo de los datos?”,
con lo cual se podrá escribir el PROCESO o ALGORITMO asociado.
Por ejemplo, si se desea realizar un algoritmo para calcular el área y el perímetro de un círculo
en función de su radio, las diferentes partes del modelo computacional serán:
ENTRADA: radio
PROCESO: Area= π radio^2 Perímetro= 2 π radio
SALIDA: Area y Perímetro
El proceso (algoritmo) asociado a este problema será: