You are on page 1of 17

La Importancia de la Algoritmia en la Ingeniera

Por:
Ing. Jorge Vargas LLumpo
Director de la Escuela de Ingeniera de Sistemas
Director (e) de la Escuela de Ingeniera Civil
Director (e) de la Escuela de Ingeniera Industrial
Universidad Cesar Vallejo
Filial Chimbote


Iniciare el tema explicando el significado de la palabra
Algoritmo, sta se deriva de la traduccin al latn de la
palabra rabe alkhowarizmi, el cual es el nombre del
matemtico rabe que enunci las primeras reglas en las
cuales se indica paso a paso como de debe ejecutar las
operaciones aritmticas conocidas: suma, resta, multiplicacin
y divisin de nmeros decimales.

En si un Algoritmo es el producto del intelecto y la
creatividad del ser humano para resolver problemas,
problemas cotidianos, problemas tcnicos, problemas de
cualquier ndole; dependiendo mucho de la capacidad de
abstraccin anlisis y sntesis en la comprensin de un
problema para luego proponer una solucin.

Ante un PROBLEMA como producto de una SITUACION o CASO el ser humano hace uso de sus
facultades mentales procediendo al anlisis, sntesis, y propuesta de una posible solucin, de tal
manera que la secuencia de estas etapas determina un mtodo para la solucin de sus problemas.



En la etapa de ANALISIS desmenuzamos el PROBLEMA de manera tal que podamos verlo en
forma sencilla y comprender como interactan las partes comprometidas, as como percibir cuales
son los factores crticos que generan dicha situacin.


En la etapa de SINTESIS nuestra capacidad mental esboza un resumen sobre las partes (elementos
o ideas) y la forma en como se relacionan plasmndolos en esquemas textuales o grficos para su
mejor comprensin y cuidando siempre de guardar fidelidad con el problema en estudio.

Una vez hallados los factores crticos que inciden en lo que nosotros llamamos problema y de
haber comprendido y resumido la forma de cmo se desencadenan los hechos en el caso en
estudio, es donde nace el arte de idear, imaginar y bosquejar una posible solucin.

Al hecho de analizar, sintetizar, comprender y encontrar la solucin ideal a un problema
determinado, si le agregamos un orden y estructura en la secuencia de la solucin de los
problemas, esta secuencia termina convirtindose en un mtodo, a este mtodo podemos
llamarlo ALGORITMO.




Entonces un algoritmo es en s, una serie de procesos organizados que parten desde el anlisis,
sntesis, y descubrimiento de factores crticos, en donde utilizando fuentes de conocimiento
lograremos llegar a bosquejar una solucin; detallando ms este proceso, podramos decir que la
solucin hallada debe ser evaluada antes de ejecutarse a fin de garantizar el xito de la propuesta,
en este paso podramos encontrar errores en la propuesta los cuales deberemos corregir, es decir
regresaremos al proceso de Diseo de la Propuesta; una vez validada la propuesta es factible de
ejecutar y aplicar para lograr el xito en la solucin del problema estudiado.







La importancia de la Algoritmia radica en su aplicacin en cualquiera de las actividades del ser
humano ya sea en la vida cotidiana, en la etapa estudiantil o en la etapa profesional. El modelo
mostrado es valido para cualquiera de nuestras profesiones.



APLICACIONES

Por ejemplo podemos dar fe de cmo se usan algoritmos en otras profesiones de muy diferentes
formas.

APLICACIONES EN LA MEDICINA

En la prctica de la medicina podemos dar cuenta de cmo se formula ALGORITMOS para el
adecuado diagnostico y tratamiento de la ANEMIA FERROPNICA, pero antes leamos un extracto
tomado de una revista medica sobre el tratamiento de la enfermedad:

La anemia es la situacin patolgica definida por una disminucin de la masa eritrocitaria y de la
concentracin de hemoglobina (Hb) circulantes en el organismo por debajo de unos lmites
considerados como normales (Hb < 13 g/dl en el hombre adulto y Hb < 12 en la mujer adulta).

Existen varios tipos de anemia siendo la ferropnica la ms prevalente, cuya causa ms frecuente
son las prdidas hemticas ya sean digestivas (en hombres y mujeres postmenopusicas) o
menstruales (en mujeres en edad frtil). Mientras que el diagnstico sindrmico de anemia se
establece mediante la disminucin de la concentracin de hemoglobina, para el diagnstico de
ferropenia existen mltiples parmetros analticos, siendo la ferritina (<12 m g/dl) el ms sensible
y el primero que se altera; si bien es cierto que al ser un reactante de fase aguda, puede estar
falsamente aumentado en mltiples procesos patolgicos pudiendo enmascarar la ferropenia.
Dado que la ferropenia es el primer paso para el posterior desarrollo de anemia ferropnica (AF),
muchos autores consideran necesaria el estudio del paciente con ferropenia tenga o no asociada
una anemia.

La estrategia para establecer el diagnstico etiolgico en el paciente con anemia ferropnica
(algoritmo 1) debe seguir el esquema clsico que incluye la realizacin de una historia clnica, una
exploracin fsica bsica y posteriormente la solicitud racional de exploraciones complementarias.
La historia clnica es fundamental ya que por un lado, debe indagar posibles causas extradigestivas
(fundamentalmente prdidas hemticas de otros rganos o sistemas diferentes al tubo digestivo)
y por otro lado, debe investigar sobre causas potenciales digestivas de la misma; para ello se debe
preguntar sobre antecedentes personales (ciruga sobre el tracto digestivo; consumo da frmacos
como antiagregantes plaquetarios, antiinflamatorios no esteroideos o anticoagulantes),
antecedentes familiares (de enfermedades hematolgicas hereditarias; de neoplasia colorrectal,
etc) as como la presencia de sntomas tanto digestivos como extradigestivos.

Tras la historia clnica se realizar una exploracin fsica bsica y finalmente, si no existe causa
extradigestiva evidente de la anemia se pasara a la investigacin del tracto digestivo siendo
fundamental el estudio endoscpico tanto alto (esfago-gastro-duodenoscopia) como bajo
(colonoscopia).

No existe acuerdo sobre que exploracin realizar en primer lugar, pudiendo basarse la decisin en
funcin de la sospecha clnica. En lo que s existe unanimidad es en la necesidad de tomar biopsias
duodenales en el momento de realizar la gastroscopia con el objetivo de investigar enfermedad
celiaca, con la salvedad de los casos en los que ya se haya descartado tal posibilidad mediante
estudio serolgico. La nica lesin que debera decidir a no hacer la otra exploracin endoscpica
es el hallazgo de una neoplasia. En este punto, si no se ha establecido el diagnstico etiolgico de
la AF, y salvo que se tenga la firme sospecha de una lesin en intestino delgado, existan signos o
sntomas de alarma o la anemia requiera apoyo transfusional no deberan realizarse ms
exploraciones en espera a la respuesta al tratamiento con hierro oral (algoritmo 2). Si el paciente
no responde al tratamiento con hierro oral o recidiva la anemia tras su retirada se debera
reevaluar el tracto gastrointestinal; para ello cabe plantearse repetir la gastroscopia y/o
colonoscopia o iniciar el estudio del intestino delgado, siendo la cpsula endoscpica la
exploracin ms idnea en el momento actual. Si a pesar de todo, no se llega al diagnstico
etiolgico habra que valorar realizar otras exploraciones.

Una excepcin a esta estrategia general lo constituyen las mujeres en edad frtil (algoritmo 3), ya
que en estos casos la causa ms frecuente de la anemia ferropnica son las prdidas
menstruales. Por ello se ha propuesto que en mujeres menores de 45 aos slo se indicara
estudio endoscpico del tracto digestivo en funcin de la presencia de sntomas o ante la falta de
respuesta a la ferroterapia, siendo aconsejable en todos los casos realizar una prueba de cribado
para descartar la presencia de enfermedad celiaca.

Bueno lo tratado en estos prrafos pueden sintetizarse con el uso adecuado de diagramas de flujo
que representan los algoritmos de tratamiento, a continuacin se muestran estos:












APLICACIONES EN LA ESTETICA

El algoritmo de la belleza



La imagen de la derecha ha pasado por el algoritmo
embellecedor, un programa informtico,
desarrollado por cientficos de Israel y EE UU.,
basado en las respuestas de 68 hombres y mujeres,
de entre 25 y 40 aos, que observaron imgenes y
escogieron los ms atractivos.

Ingenieros y cientficos tomaron los datos y crearon
un algoritmo que trabaja con 234 medidas del
rostro, que incluyen la distancia entre labios y
mejillas o entre los ojos. Los cambios en los rostro
se realizan en la geometra de las caras, en ningn
caso se quitan las arrugas o se cambia el color de
pelo, como s sucede en los retoques digitales de las
revistas.

Tommer Leyvand, que trabaja en la central de Microsoft en Redmond, Washington, cre el
software embellecedor junto a tres colegas de la Universidad de Tel Aviv, Daniel Cohen-Or,
Gideon Dror y Dani Lischinski; los implicados en el proyecto mencionan que el objetivo no reside
en argumentar que una imagen es ms bella que la otra, sino en alterar los rostros en base a unos
estndares de lo que es ser atractivo.


APLICACIONES EN LA ENSEANZA

Uno de los puntos interesantes que podemos tratar es la diversidad de caminos con los que
podemos llegar a la solucin de un problema, podemos dar una infinidad de procedimientos o
algoritmos que nos lleven a la solucin del problema.





Pongamos un ejemplo sencillo de matemticas, alguna vez nos hemos preguntado si lo que
hemos aprendido en la escuela es la nica forma de aprender?, por ejemplo el proceso de
multiplicar dos valores; podemos crear otras formas de multiplicar que la conocida en el colegio?.
Claro que si, podemos idear una serie de algoritmos.

Veamos primero la forma convencional de cmo hemos aprendido.





Otras formas de Multiplicacin


Propiedad Distributiva: Siguiendo el viejo adagio que dice DIVIDE Y VENCERAS demostraremos
otra forma sencilla de multiplicar utilizando la Propiedad Distributiva





Modo Grafico: Siguiendo al dicho que reza UN GRAFICO VALE MUCHO MAS QUE MIL PALABRAS,
demostraremos otra forma sencilla de multiplicar utilizando un mtodo grafico.






Modo Matricial: Otra de las maneras de multiplicar en hacindolo mediante una matriz en donde
se distribuyen los valores, el proceso es de la siguiente manera:



Bien ya conocemos por lo menos 3 formas ms de aprender a multiplicar; cada uno de estos
algoritmos ha pasado por los pasos de escritorio: anlisis, sntesis, propuesta, pruebas y validacin
del mtodo planteado, si no fuese as, el mtodo planteado resultara infructuoso y nos llevara a
resultados inciertos que empeoraran el problema.


APLICACIN MATEMATICA EN EL CLCULO DE TRAYECTORIAS
CORTAS - EL ALGORITMO DE DIJKSTRA

Edsger Wybe Dijkstra naci en Rotterdam (Holanda) en 1930, de
padres intelectuales estudio Matemticas y Fsica en la
Universidad de Leiden.

Durante el verano de 1951 asisti a un curso de programacin en
la universidad de Cambridge, cuando termino su carrera se dedico
estudiar problemas relacionados con la programacin trabajando
en el centro Matemtico de msterdam, luego en 1956 anuncio
su algoritmo de caminos mnimos que haba desarrollado con el
ordenador ARMAC.

Aos despus en 1972 obtuvo el Premio Turing ACM.

El algoritmo presentado por Dijkstra consiste en encontrar la ruta ptima de un conjunto de
posibles rutas desde un punto a otro. Esto tiene una alta incidencia en los medios de transporte
urbano en donde la ruta optima del desplazamiento de un vehculo a su destino puede estar
sujeto a una serie de variables.

Ruta Optima (Trafico, Limite de Velocidad, Horas punta, etc.)


A modo de explicacin el algoritmo consiste en ir explorando todos los caminos ms cortos que
parten del vrtice origen y que llevan a todos los dems vrtices; cuando se obtiene el camino ms
corto desde el vrtice origen, al resto de vrtices que componen el grafo, el algoritmo se detiene.


Se imaginan como determinar las rutas mas optimas en una ciudad urbana con las pocas variables
que hemos citado?, aqu un ejemplo del mapeo de las rutas e la Ciudad de Mexico



El algoritmo inclusive es usado en la bsqueda de los menores costos, si deseamos trasladarlos a
otras reas del saber como es la contabilidad.



A continuacin presentamos un ejemplo del desarrollo del Algoritmo de Dijkstra


















Como hacemos que un algoritmo sea eficaz y eficiente?

Para ello debemos estar al tanto de las tecnologas, bien saben ustedes que uno de los mejores
inventos del hombre es el ORDENADOR, hacia el cual debemos trasladar nuestras ideas o
algoritmos haciendo uso de instrucciones que pueda interpretar y poner en ejecucin.

Un Ordenador ser eficaz en la medida de que este bien desarrollado el algoritmo y ser eficiente
en la medida de la velocidad en que se ejecuten las instrucciones haciendo del proceso de calculo
un arma eficaz en la solucin de problemas.

Los estudiantes estn perdiendo inters por la programacin de computadores, la consideran una
temtica complicada y poco motivadora. Es necesario incentivar la programacin a las nuevas
generaciones de una manera fcil, divertida y muy grfica, con herramientas que oculten la
complejidad y permitan conocer y aprender a utilizar esos elementos bsicos.

En los aos 80 los jvenes tenan la oportunidad de conocer el mundo de la programacin de
computadores, a travs de un lenguaje de programacin para aficionados, fcil de aprender y de
utilizar, de propsito general y con caractersticas avanzadas pero simples para los principiantes;
aunque los expertos lo criticaban por su lentitud y sencillez. Este lenguaje llamado BASIC, se
adecuaba muy bien a las computadoras personales de la poca, y era el lenguaje estndar usado
por los estudiantes como mecanismo para introducirse en el mundo de la programacin. Un
estudiante poda experimentar y conocer, de forma autodidacta, los elementos bsicos de la
programacin.

En los aos 90, la complejidad de los computadores personales y la llegada de los ambientes
grficos, exigan nuevas caractersticas a los lenguajes de programacin, que BASIC no tena.
Lenguajes ya no para aficionados como C, C++ y VisualBasic permitan desarrollar aplicaciones
complejas, que explotaban toda la potencialidad de las computadoras personales y de las
interfaces grficas de usuario. Los computadores personales se convirtieron en herramientas
usadas principalmente para ejecutar aplicaciones escritas por otros; la programacin empez a ser
menos importante para la creciente mayora de usuarios y de poco inters para los adolescentes.

Hoy en da, lenguajes como Java, C# y VBasic.NET, con sus populares entornos de desarrollo,
JDeveloper, Visual Studio.NET, etc., no son muy adecuados para que un adolescente, estudiante
de secundaria recin egresado, se inicie en el mundo de la programacin. Actualmente la carencia
de un lenguaje bsico estndar, ha conducido a la eliminacin de la enseanza de la programacin
en muchos colegios, y aquellos que lo hacen con lenguajes complejos como C, Java, etc. estn
logrando que muchos jvenes pierdan todo inters por la programacin.

Esta situacin qu efectos tiene en los estudiantes que desean programar?

Nuestros alumnos se han convertido slo en usuarios de paquetes como Office; algunos piensan
que un Ingeniero de Sistemas se dedica a estudiar Office y otros paquetes en profundidad,
perciben la informtica como el uso de aplicaciones, pues desconocen el poder de la programacin
para comunicarse con los computadores y lograr que hagan lo que uno quiere.

La diferencia entre dar instrucciones a una persona y dar instrucciones a un computador est en la
complejidad de cada instruccin y en el lenguaje utilizado, las instrucciones que le damos son ms
elementales, precisas, en un estricto orden y sometidas a reglas de un lenguaje ms restrictivo que
los lenguajes utilizados por los humanos. No estamos acostumbrados a dar instrucciones en forma
tan lgica, precisa, ordenada y con un lenguaje tan restrictivo; este es un excelente ejercicio
mental para un alumno que desee aprender a programar.

Aprender a programar permite tambin desarrollar la capacidad de abstraccin para entender un
problema, disear una solucin algortmica e implementarla en una computadora. Este
mecanismo de solucin de problemas es algo de mucho valor en el desarrollo intelectual de un
estudiante; no importa si es un ingeniero de sistemas, industrial o civil; estas habilidades y
conocimiento lo beneficiarn por el resto de su vida, pues tendr que desenvolverse en un mundo
inmerso en la tecnologa. Por otra parte, el conocimiento de los elementos bsicos de la
programacin debe ser del dominio de todo estudiante que desee explotar la potencialidad de
herramientas de productividad personal como la Hoja de Clculo (Microsoft Excel, Calc, etc).

Ahora partiendo de la algoritmia, existen ya definidos determinados elementos grficos o
textuales para escribir nuestros algoritmos y luego transformarlos en un programa de computador

Para iniciar nuestros grficos tenemos por ejemplo herramientas como los diagramas de flujo








Es la representacin en papel de una serie de pasos organizados que describe el camino y las
operaciones que se deben seguir para dar solucin a un problema especfico.

La palabra algoritmo se deriva de la degeneracin de la palabra rabe Al Jwarizmi, la cual es el
pseudnimo de Mohammed Ben Musa, matemtico padre del lgebra y astrnomo rabe que
escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX.

Existen diferentes tcnicas de representar los algoritmos:

Grficos: Es la representacin del algoritmo por medio de varios smbolos grficos, donde
cada smbolo representa una operacin distinta.

No Grficos: Es la representacin del algoritmo por medio de texto el cual es entendible
por nosotros.

Hbrido: Es la representacin del algoritmo en un modo que combina los 2 mtodos
anteriores.





Debemos tener en cuenta que en el da de hoy el xito de una empresa depende de la
rapidez, calidad, control de los recursos, exactitud y otros muchos factores.

Hace un tiempo atrs, las empresas grandes o pequeas, hacan sus procesos en
forma manual o con ayuda de maquinas. Pero a raz de la aparicin de las primeras computadoras,
las grandes empresas obtuvieron unas de estas y comenzaron a tener mayor ventaja sobre las
dems organizaciones. Con el paso del tiempo, se crearon computadoras ms pequeas, de menos
costo, ms rpidas, lo cual ha provocado que cualquier persona o empresa pueda adquirir una o
ms de estas computadoras.

En la actualidad, muchas empresas realizan sus operaciones por medio de
computadoras, por ejemplo en las empresas comerciales las operaciones manuales como son el
registro de las ventas, emisin de facturas y muchos otros procesos ahora estn computarizados,
vemos en nuestro medio como las farmacias tienen computadores para la atencin al publico; en
los supermercados se utilizan las computadoras para registrar las compras de los clientes, adems
de que les ayuda para llevar el control de su inventario y de sus ingresos entre otras cosas; en los
hospitales, se estn utilizando computadores para evaluar los sntomas de los pacientes y
diagnosticar posibles problemas as como para sustentar citas de los pacientes ; en fin, podramos
continuar enumerando una serie de ejemplos en donde se utilizan las computadoras y nunca
terminaramos.

Que es lo que hace funcionar a las computadoras ?. Pues lo que hace funcionar a
las computadoras son los programas, los programas son el alma de una computadora, los
programas nos permiten interactuar con ellas y poder aprovecharlas. Este curso tiene la finalidad
de introducirte al mundo de la programacin de las computadoras mediante la elaboracin de
algoritmos y utilizando diferentes tcnicas algortmicas. La persona que se dedica a la elaboracin
de algoritmos es llamado programador, un programador es la persona que disea sistemas
computacionales, antes de comenzar a interactuar con la computadora tiene que tener una
manera de pensar diferente a las dems personas, debe pensar de una manera especial, como lo
hace un computador, para poder analizar problemas y resolverlos mediante la creacin de
programas de computadora.


Los cursos de programacin en la Universidad, debe enfatizar ms la construccin de algoritmos y
utilizar el paradigma de programacin orientado a objetos. Este cambio de objetivo y de
paradigma hace que los estudiantes que han estudiado programacin en el colegio tengan
mayores dificultades en la universidad con los cursos de algoritmos y programacin.


La programacin se puede utilizar para resolver problemas matemticos, o problemas
relacionados con el manejo de informacin en una organizacin, o para animar imgenes en la
pantalla del computador al construir aplicaciones educativas o juegos de video, o en muchos otros
campos.
Todos estos dominios de aplicacin requieren los mismos elementos bsicos de programacin.
Empleamos los juegos de video para aprender a programar, puesto que este es un tema de mucho
inters para los adolescentes; adems, les permite ver resultados grficos e inmediatos de sus
programas y estimula su creatividad, a la vez que se les ensea elementos bsicos como el
concepto de variable, operador, tipo de datos, instruccin de seleccin y de repeticin, arreglo,
estructura, mtodo, funcin y clase.

You might also like