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á:
16 Introducción a la Informática
Dar el valor del radio y guardar ese valor con el nombre R
Calcular el área como pi * R * R
Calcular el perímetro como 2 * pi * R
Informar los resultados de área y perímetro
Sin embargo, el proceso (algoritmo) expresado en forma coloquial no puede ser entendido por
la computadora. Por lo cual habrá que escribirlo siguiendo reglas especiales que la computadora
entienda.
Vale la pena observar que la relación entre entrada, proceso y salida no es algo que necesaria-
mente se realice en este orden: primero ingresar todos los datos, luego procesarlos, y por último
exhibir todos los resultados. P. ej. un algoritmo puede solicitar la entrada de algunos datos,
obtener ciertos resultados, y en base a esto pedir nuevos datos y mostrar otros resultados sobre la
marcha del proceso.
1.1.5 Datos e información
Por último, describiremos la diferencia que existe entre Datos e Información, términos que
se pueden pensar como sinónimos.
En el ambiente de la Informática, el término información puede aplicarse a casi cualquier cosa
que pueda comunicarse, tenga o no valor.
Los datos, en principio, son información no elaborada, que una vez procesados (compara-
dos, ordenados, sumados, etc.) constituyen información útil.
Según esto, las palabras, los números, las imágenes de este libro son símbolos que representan
datos. Si subrayase una frase, se añadirá información a la página.
En una dada situación problemática se puede disponer de muchos datos, de los cuales sólo
algunos pueden ser útiles para la resolución del problema, es decir, considerados información
útil.
Entonces podemos decir que la información es el conocimiento producido como resultado
del procesamiento de los datos.
Otro término que se utiliza es Tratamiento de la información, referido al conjunto de op-
eraciones que se realizan sobre una dada información. Esto es “lectura de datos”, “preservar
datos”, “comparar datos”, “procesar aritméticamente datos”, “presentar resultados”. Una adecua-
da combinación de estas operaciones lleva a resolver los problemas.En el subcapítulo siguiente
comenzaremos a formalizar lo vertido en esta sección.
1.2 Algoritmos
En el presente capítulo desarrollaremos el concepto de algoritmo, base de la temática de este
libro.
1.2.1 Qué es un algoritmo?
El término algoritmo deriva del nombre del matemático persa Abu Ja’far Mohammed ibn
Musa Al-Khwarizm (Mohammed, padre de Ja’far, hijo de Moisés, nacido en Khowarizm), el cual
vivió alrededor del año 825 después de Cristo. Al-Khowarizm escribió tratados de Aritmética y