Vous êtes sur la page 1sur 7

Conceptos Bsicos

Computadora: Es un dispositivo electrnico utilizado para procesar informacin y obtener resultados. Los datos y la informacin se pueden introducir en la computadora como entrada (input) y a continuacin se procesan para producir una salida (output). Proceso de informacin en la computadora: Datos de Entrada --> Proceso --> Datos de Salida Programa: Es el conjunto de instrucciones escritas con algn lenguaje de programacin y que ejecutadas secuencialmente resuelven un problema especifico. Algoritmo: Conjunto de operaciones que se utilizan para resolver un problema espec fico. En este conjunto de instrucciones se indica la secuencia de operaciones que se deben realizar para! a partir de los datos de entrada! obtener el resultado buscado. El concepto de algoritmo es anterior a los ordenadores! y ampliamente utilizado en el mundo de la ciencia para la resolucin metdica de problemas. "in embargo! con la aparicin de los ordenadores se comprob que era una #erramienta ideal! ya que cualquier algoritmo puede transformarse en un programa inform$tico. Caractersticas del algoritmo% &iene que ser 'inito (con un final)! (reciso (detallar el orden de las operaciones a realizar) y )efinido (al aplicar el algoritmo a los

mismos datos de entrada! siempre se obtendr$ el mismo resultado a la salida). Metodologa para la solucin de problemas por medio de computadora. En general! se escriben algoritmos para resolver problemas que no son tan f$ciles de resolver a primera vista! y de los que necesitamos especificar el conjunto de acciones que se llevar$n a cabo para su resolucin. *dem$s! como lo que interesa es resolver problemas utilizando la computadora! los algoritmos tendr$n como finalidad ser traducidos en programas! por lo que es conveniente mencionar el proceso general de resolucin de problemas! desde que se dispone de un algoritmo! #asta que la computadora lo ejecuta. El proceso es el siguiente% )efinicin y an$lisis del (roblema% definicin y delimitacin (macroalgoritmo).Considerar los datos de entrada! el proceso que debe realizar el ordenador y los datos de salida. )ise+o del *lgoritmo% se utiliza diferentes #erramientas de representacin pseudocdigo! escritura natural de algoritmo ! diagramas de flujo etc. (rueba de escritorio% seguimiento manual de los pasos descritos en el algoritmo."e realiza con valores bajos y tiene como finalidad detectar errores. Codificacin((rograma Lenguaje alto nivel)."eleccin de un lenguaje de programacin y digitacin del pseudocdigo #aciendo uso de la sinta,is y escritura gramatical del lenguaje seleccionado. Compilacin o -nterpretacin del programa% El soft.are elegido convierte las instrucciones escritas en el lenguaje comprendidas por el computador. Ejecucin del (rograma% El programa es ejecutado por el ordenador para llegar a los resultados esperados.

(rueba y )epuracin% /peracin de detectar! localizar y eliminar errores del mal funcionamiento del programa. Evaluacin de los resultados% /btenidos lo resultados se los evala para verificar si son correctos. 0n programa puede arrojar resultados incorrectos aun cuando su ejecucin no muestra errores. E,isten diferentes formas de traducir un algoritmo a un programa. "e #a escogido la representacin en un lenguaje de alto nivel! debido a que los lenguajes de este tipo proporcionan un mayor nivel de abstraccin y familiarizacin con el lenguaje natural (ingl1s). *qu tambi1n es importante recordar que las computadoras tienen su propio lenguaje (binario)! por lo que es necesario un proceso de traduccin (realizado por el compilador) para que se traduzca el conjunto de sentencias escritas en un lenguaje de programacin de alto nivel (cdigo fuente)! a un conjunto de instrucciones que sean compresibles para la computadora (cdigo de m$quina). 'inalmente! y aunque el proceso involucrado es m$s complejo que lo que aqu se #a descrito! si todo est$ bien! el resultado de este proceso ser$ la ejecucin del programa basado en el algoritmo. &eniendo en consideracin lo anterior! deber a ser claro que el papel del algoritmo es fundamental! ya que sin algoritmo no puede #aber programas! y sin programas! no #ay nada que ejecutar en la computadora. Es importante mencionar y enfatizar tambi1n que! un algoritmo es independiente tanto del lenguaje de programacin en que se e,prese! como de la computadora en la que se ejecute! por lo que no deber an ser dise+ados en funcin de ello. /tro aspecto muy importante dentro de los algoritmos! es el del an$lisis y dise+o de algoritmos. El an$lisis y dise+o formal de algoritmos es una actividad intelectual considerable y no trivial en general! ya que el dise+o de buenos algoritmos requiere creatividad e ingenio! y no e,isten reglas para dise+ar algoritmos en general! esto es! todav a no e,iste un algoritmo para dise+ar algoritmos y que adem$s 1stos sean buenos! por lo que! aunque es importante mencionarlo y tenerlo en cuenta. Cinco importantes condiciones de un algoritmo Los algoritmos! adem$s de ser un conjunto finito de reglas que dan lugar a una secuencia de operaciones para resolver un tipo

espec fico de problemas! deben cumplir con cinco importantes condiciones las mismas que son descriptas a continuacin%. Las cinco condiciones ! reducen significativamente el espectro tan amplio que #asta a#ora se #a manejado como algoritmo. *s por ejemplo! aunque una receta de cocina podr a considerarse como un algoritmo! es comn encontrar e,presiones imprecisas en ella que dan lugar a ambig2edad (violando la condicin 3)! tales como 4a+$dase una pizca de sal5! 4batir suavemente5! etc.! invalidando con ello la formalidad de un algoritmo dentro del conte,to que nos interesa. 6. initud% 0n algoritmo tiene que acabar siempre tras un nmero finito de pasos. (0n procedimiento que tiene todas las caracter sticas de un algoritmo salvo que posiblemente falla en su finitud! se conoce como m1todo de c$lculo.) 3. Definibilidad% Cada paso de un algoritmo debe definirse de modo preciso7 las acciones a realizar #an de estar especificadas para cada caso rigurosamente y sin ambig2edad. 8. Con!unto de entradas% )ebe e,istir un conjunto especificado de objetos! cada uno de los cuales constituye los datos iniciales de un caso particular del problema que resuelve el algoritmo. * este conjunto se le denomina conjunto de entradas del algoritmo. 9. Con!unto de salidas% )ebe e,istir un nmero especificado de objetos! cada uno de los cuales constituye la salida o respuesta que debe obtener el algoritmo para los diferentes casos particulares del problema. * este conjunto se le denomina conjunto de salidas del algoritmo. (ara cada entrada del algoritmo! debe e,istir una salida asociada que constituye la solucin al problema particular determinado por dic#a entrada. :. Efecti"idad% 0n algoritmo debe ser efectivo. Esto significa que todas las operaciones a realizar por el algoritmo deben ser lo bastante b$sicas para poder ser efectuadas de modo e,acto! y en un lapso de tiempo finito por el procesador que ejecute el algoritmo.

Estructura de un algoritmo *unque no e,iste una nica forma de representar un algoritmo! la estructura general de un algoritmo deber a ser %cada uno tiene formas diferentes aunque esencialmente iguales de representar un algoritmo Elementos de la programacin estructurada% algoritmos! pseudo cdigo y diagramas de flujo Estructura general de un algoritmo *lgoritmo ;nombre_del_algoritmo< -nicio definicin de constantes declaracin de variables Sentencia 1 Sentencia 2 . . . Sentencia n 'in *unado a la estructura general del algoritmo propuesta ! se considera recomendable que! partiendo de la descripcin del problema y de un an$lisis inicial! se determine la entrada! la salida y el proceso general de solucin del algoritmo. #engua!es de Programacin: Es un conjunto de s mbolos! caracteres y reglas (programas) que le permiten a las personas comunicarse con la computadora. Los lenguajes de programacin tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada=salida! c$lculo! manipulacin de te,tos! lgica=comparacin y almacenamiento=recuperacin. Los lenguajes de programacin se clasifican en% Lenguaje Maquina: "on aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan

traduccin posterior para que la C(0 (0nidad Central de (roceso) pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquina se e,presan en t1rminos de la unidad de memoria mas peque+a el bit (d gito binario > o 6).

Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las

instrucciones se escriben en cdigos alfab1ticos conocidos como mnemot1cnicos para las operaciones y direcciones simblicas.

Lenguaje de Alto Nivel: Los lenguajes de programacin de alto

nivel (?*"-C! pascal! cobol! fortran! @isual?!C etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes #umanos (en general en ingles)! lo que facilita la escritura y comprensin del programa.

$%cnicas para la formulacin de algoritmos Las dos #erramientas utilizadas comnmente para dise+ar algoritmos son% )iagrama de 'lujo (seuducodigo

Diagrama de lu!o. 0n diagrama de flujo es la representacin gr$fica de un algoritmo. &ambi1n se puede decir que es la representacin detallada en forma gr$fica de como deben realizarse los pasos en la computadora para producir resultados. Esta representacin gr$fica se da cuando varios s mbolos (que indican diferentes procesos en la computadora)! se relacionan entre si mediante l neas que indican el orden en que se deben ejecutar los procesos. Los s mbolos utilizados #an sido normalizados por el instituto norteamericano de normalizacin (*A"-).

Becomendaciones para el dise+o de )iagramas de 'lujo "e deben se usar solamente l neas de flujo #orizontales y=o verticales. "e debe evitar el cruce de l neas utilizando los conectores. "e deben usar conectores solo cuando sea necesario. Ao deben quedar l neas de flujo son conectar. "e deben trazar los s mbolos de manera que se puedan leer de arriba #acia abajo y de izquierda a derec#a. &odo te,to escrito dentro de un s mbolo deber$ ser escrito claramente! evitando el uso de muc#as palabras. Pseudocodigo. Lenguaje de especificacin! mezcla de lenguaje de programacin y espa+ol (o ingles o cualquier otro idioma) que se emplea! dentro de la programacin estructurada! para realizar el dise+o de un programa. En esencial! el pseudo cdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El pseudo cdigo utiliza palabras que indican el proceso a realizar.

Vous aimerez peut-être aussi