Você está na página 1de 4

Contenido Unidad: Algoritmo y Programas Concepto de Algoritmos y Programas. Lenguaje algortmico y de programacin. Partes de un algoritmo.

Caractersticas y elementos para construir un algoritmo. Formas de representar un algoritmo: Lenguaje Natural, pseudocdigo y diagrama de flujo. Definicin: Algoritmo Un algoritmo es un m todo con un conjunto de instrucciones utili!adas para resol"er un pro#lema especfico. Caractersticas de un algoritmo $ preciso %indicar el orden de reali!acin en cada paso&, definido %si se sigue dos "eces, o#tiene el'mismo resultado cada "e!&, finito %tiene fin( un n)mero determinado de pasos&. *jemplos de algoritmos son: instrucciones para montar en una #icicleta, o#tener el m+,imo com)n di"isor de dos n)meros, etc. Programas Un programa de computadora es una representacin concreta de un algoritmo en un lenguaje de programacin. LOS LENGUAJES DE Programacin Los lenguajes de programacin sir"en para escri#ir programas -ue permitan la comunicacin usuario.m+-uina. Unos programas especiales llamados traductores %compiladores o int rpretes& con"ierten las instrucciones escritas en lenguajes de programacin en instrucciones escritas en lenguajes m+-uina %/ y 0, bits) -ue sta pueda entender. Lenguajes m+-uina Los lenguajes m+-uina son a-uellos -ue est+n escritos en lenguajes directamente inteligi#les por la m+-uina %computadora&, ya -ue sus instrucciones son cadenas binarias %cadenas o series de caracteres 'dgitos' / y 0& -ue especifican una operacin, y las posiciones %direccin& de memoria implicadas en la operacin se denominan instrucciones de mquina o cdigo mquina). *l cdigo m+-uina es el conocido cdigo #inario. Las ventajas de programar en lenguaje m+-uina se refieren, fundamentalmente, a la posi#ilidad de cargar %transferir un programa a la memoria& sin necesidad de traduccin posterior, lo -ue supone una "elocidad de ejecucin superior a cual-uier otro lenguaje de programacin. Los inconvenientes ''en la actualidad' superan a las "entajas, lo -ue 1ace pr+cticamente no recomenda#les los lenguajes m+-uina al programador de aplicaciones. *stos incon"enientes son: 2 3ificultad y lentitud en la codificacin, 2 Poca fia#ilidad, 2 3ificultad grande de "erificar y poner a punto los programas, 2 Los programas solo son ejecuta#les en el mismo procesador %UPC. Unidad Central de Proceso). Lenguajes de #ajo ni"el

Los lenguajes de #ajo ni"el son m+s f+ciles de utili!ar -ue los lenguajes m+-uina, pero, al igual -ue ellos, dependen de la m+-uina en particular. *l lenguaje de #ajo ni"el por e,celencia es el ensamblador (assembly languaje ). Un programa escrito en lenguaje ensam#lador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje m+-uina', sino -ue re-uiere una fase de traduccin al lenguaje m+-uina. Los lenguajes ensam#ladores presentan la ventaja frente a los lenguajes m+-uina de su mayor facilidad de codificacin y, en general, su "elocidad de c+lculo. Los inconvenientes m+s nota#les de los lenguajes ensam#ladores son: 2 3ependencia total de la m+-uina, lo -ue impide la transporta#ilidad de los programas %posi#ilidad de ejecutar un programa en diferentes m+-uinas&. *l lenguaje ensam#lador del PC es distinto del lenguaje ensam#lador del Apple 4acintos1. 2 La formacin de los programadores es m+s compleja -ue la correspondiente a los programadores de alto ni"el, ya -ue e,ige no slo las t cnicas de programacin, sino tam#i n el conocimiento del interior de la m+-uina. 5oy da los lenguajes ensam#ladores tiene sus aplicaciones muy reducidas en la programacin de aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositi"os electrnicos, etc Lenguajes de alto ni"el Los lenguajes de alto nivel son los m+s utili!ados por los programadores. *st+n dise6ados para -ue las personas escri#an y entiendan los programas de un modo muc1o m+s f+cil -ue los lenguajes m+-uina y ensam#ladores. /tra ra!n es -ue un programa escrito en lenguaje de alto ni"el es independiente de la m+-uina( esto es, las instrucciones del programa de la computadora no dependen del dise6o del ard!are o de una computadora en particular. *n consecuencia, los programas escritos en lenguaje de alto ni"el son portables o transportables" lo -ue significa la posi#ilidad de poder ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras( al contrario -ue los programas en lenguaje m+-uina o ensam#lador, -ue slo se pueden ejecutar en un determinado tipo de computadora. Los lenguajes de alto ni"el presentan las siguientes ventajas# 2 *l tiempo de formacin de los programadores es relati"amente corto comparado con otros lenguajes. 2 La escritura de programas se #asa en reglas sint+cticas similares a los lenguajes 1umanos. 2 Las modificaciones y puestas a punto de los programas son m+s f+ciles. 2 7educcin del coste de los programas. 2 8ransporta#ilidad. Los inconvenientes se concretan en: 2 9ncremento del tiempo de puesta a punto, al necesitarse diferentes traducciones del programa fuente para conseguir el programa definiti"o. 2 No se apro"ec1an los recursos internos de la m+-uina, -ue se e,plotan muc1o mejor en lenguajes m+-uina y ensam#ladores. 2 Aumento de la ocupacin de memoria. 2 *l tiempo de ejecucin de los programas es muc1o mayor. Al igual -ue sucede con los lenguajes ensam#ladores, los programas fuente tienen -ue ser traducidos por los programas traductores, llamados en este caso compiladores e int$rpretes. Partes de un algoritmo

La definicin de un algoritmo de#e descri#ir tres partes: %ntrada" Proceso y &alida. *n un algoritmo de receta de cocina se tendr+: %ntrada# ingredientes y utensilios empleados. Proceso# ela#oracin de la receta en la cocina &alida# terminacin del plato %por ejemplo. cordero&. !ormas de re"resentar un algoritmo: Lengua#e Natural$ "seudocdigo % diagrama de flu#o
Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural.

'iagramas de flujo Un diagrama de flujo (flo!c an( es una representacin gr+fica de un algoritmo. Los sm#olos utili!ados 1an sido normali!ados por el 9nstituto Norteamericano de Normali!acin %AN:9&. Pseudocdigo *l pseudocdigo es una 1erramienta de programacin en la -ue las instrucciones se escri#en en pala#ras similares al ingl s o espa6ol, -ue facilitan tanto la escritura como la lectura de programas. *n esencia, el pseudocdigo se puede definir como U;9 lenguaje de especificaciones de algoritmos.

<li#iografia Algoritmos y *structuras de 3atos Una Perspecti"a *n C Luis ;oyanes Aguilar, 9gnacio =a1onero 4artne! Fundamentos de Programacin ' Luis ;oyanes >a

Você também pode gostar