You are on page 1of 5

Unidades Tecnolgicas de Santander Tecnologa en electrnica Conceptos bsicos Ing.

Daniel Alexander Velazco Capacho

Lgica
La lgica matemtica estudia los sistemas formales en relacin con el modo en el que codifican conceptos intuitivos de objetos matemticos como conjuntos, nmeros, demostraciones y computacin

Algoritmo
Definicin: En matemticas, ciencias de la computacin, y disciplinas relacionadas, un algoritmo es una lista bien definida , ordenada y finita de operaciones que permite hallar la solucin a un problema. Dado un estado inicial y una entrada, a travs de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solucin. En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestin o inclusive en las instrucciones que recibe un trabajador por parte de su patrn. Tambin existen ejemplos de ndole matemtico, como el algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para resolver un Sistema lineal de ecuaciones. Introduccin La importancia de un algoritmo radica en mostrar la manera de llevar a cabo procesos y resolver mecnicamente problemas matemticos o de otro tipo. Al igual que las funciones matemticas, los algoritmos reciben una entrada y la transforman en una salida, comportndose como una caja negra. Sin embargo, no toda caja negra que convierta una entrada en una salida se puede considerar un algoritmo: para que un algoritmo pueda ser considerado como tal, debe ser una secuencia ordenada, finita y definida (formalizacin de su comportamiento) de instrucciones. De este modo se puede seguir y predecir el comportamiento del algoritmo para cualquier entrada posible (salvo algoritmos probabilistas, que tiene usualmente una salida distinta), a partir del seguimiento de esa secuencia de instrucciones, que como es ordenada y definida, no da lugar a ambigedades y puede seguirse su traza. El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa. Mientras el primero es la especificacin de un conjunto de pasos (operaciones, instrucciones, rdenes,...) orientados a la resolucin de un problema (mtodo), el segundo es ese conjunto de operaciones especificadas en un determinado lenguaje de programacin y para un computador concreto, susceptible de

ser ejecutado (o compilado o interpretado). Un algoritmo, estrictamente hablando, no puede ejecutarse hasta que se implementa, ya sea en un lenguaje de programacin, en un circuito elctrico, en un aparato mecnico, usando papel y lpiz, o en algn otro modelo de computacin. La mayora de los algoritmos involucran mtodos de organizar los datos que intervienen en el cmputo. Estos objetos creados son llamados, de esta manera la estructura de los datos, y tambin son objetos centrales del estudio en la informtica. De esta forma, los algoritmos y estructuras de los datos van siempre de la mano. Los algoritmos simples pueden dar lugar a una estructura de datos complicada y, recprocamente, los algoritmos complicados pueden usar estructuras de los datos simples. Cuando usamos una computadora para ayudarnos a resolver un problema, nos enfrentamos tpicamente con varios posibles esquemas. Para los problemas pequeos, lo que apenas importa es que lo usemos, con tal de que se tenga uno que resuelva el problema correctamente. Para los problemas grandes (o aplicaciones dnde nosotros necesitamos resolver un gran nmero de problemas pequeos), sin embargo, nos motivamos en inventar mtodos que usan tiempo eficazmente de forma rpida como sea posible. Cuando un programa de computadora es grande o complejo, este ser desarrollado con mucho esfuerzo, ya que se debe comprender y definir el problema a ser resuelto, manejando su complejidad, y descomponindolo en partes ms pequeas que puedan resolverse ms fcilmente. A menudo, muchos de los algoritmos que se necesitan, despus de la descomposicin son triviales al instrumento. Caractersticas de los algoritmos El cientfico de computacin Donald Knuth ofreci una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: 1. Carcter finito. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos". 2. Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". 3. Entrada. "Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos especficos de objetos". 4. Salida. "Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las entradas". 5. Eficacia. "Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y papel".

Knuth admite que, aunque su descripcin pueda ser intuitivamente clara, carece de rigor formal, puesto que no est exactamente claro qu significa "precisamente definido", "de manera rigurosa y no ambigua", o "suficientemente bsicas", y as sucesivamente.. A partir del carcter finito y de la salida se deduce que ante una misma situacin inicial (o valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepcin de los algoritmos probabilistas.

Diagrama de flujo
Definicin Un diagrama de flujo es la representacin grfica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestin, las unidades involucradas y los responsables de su ejecucin; en pocas palabras es la representacin simblica o pictrica de un procedimiento administrativo. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operacin. Caractersticas que debe cumplir un diagrama de flujo En los diagramas de flujo se presuponen los siguientes aspectos:

Existe siempre un camino que permite llegar a una solucin (finalizacin del algoritmo). Existe un nico inicio del proceso. Existe un nico punto de fin para el proceso de flujo

Desarrollo del Diagrama de Flujo Las siguientes son acciones previas a la realizacin del diagrama de flujo:

Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueo o responsable del proceso, los dueos o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas. Definir qu se espera obtener del diagrama de flujo. Identificar quin lo emplear y cmo. Establecer el nivel de detalle requerido. Determinar los lmites del proceso a describir. Los pasos a seguir para construir el diagrama de flujo son : Establecer el alcance del proceso a describir. De esta manera quedar fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente. Identificar y listar las principales actividades/subprocesos que estn incluidos en el proceso a describir y su orden cronolgico.

Si el nivel de detalle definido incluye actividades menores, listarlas tambin. Identificar y listar los puntos de decisin. Construir el diagrama respetando la secuencia cronolgica y asignando los correspondientes smbolos. Asignar un ttulo al diagrama y verificar que est completo y describa con exactitud el proceso elegido.

Ventajas de los Diagramas de Flujo

Favorecen la comprensin del proceso a travs de mostrarlo como un dibujo. El cerebro humano reconoce fcilmente los dibujos. Un buen diagrama de flujo reemplaza varias pginas de texto. Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los reprocesos , los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisin. Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el anlisis de las mismas. Son una excelente herramienta para capacitar a los nuevos empleados y tambin a los que desarrollan la tarea, cuando se realizan mejoras en el proceso.

Pseudocdigo
Pseudocdigo es la descripcin de un algoritmo que asemeja a un lenguaje de programacin pero con algunas convenciones del lenguaje natural. Tiene varias ventajas con respecto a los diagramas de flujo, entre las que se destaca el poco espacio que se requiere para representar instrucciones complejas. El pseudocdigo no est regido por ningn estndar. pseudo viene de falso y por ende es un codigo al que aunque es entendible no se aplica al proceso que debe realizar la maquina. El pseudocdigo describe un algoritmo utilizando una mezcla de frases en lenguaje comn, instrucciones de programacin y palabras clave que definen las estructuras bsicas. Su objetivo es permitir que el programador se centre en los aspectos lgicos de la solucin a un problema.

Programacin
En informtica, la programacin es un proceso por el cual se escribe (en un lenguaje de programacin), se prueba, se depura y se mantiene el cdigo fuente de un programa informtico. Dentro de la informtica, los programas son los elementos que forman el software, que es el conjunto de las instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. Por lo tanto, la programacin es una de las principales reas dentro de la informtica. Para el desarrollo de programas de cierta envergadura o complejos, con ciertas garantas de calidad, es conveniente seguir alguno de los modelos de

desarrollo de software existentes, en donde la programacin es slo una de las etapas del proceso de desarrollo de software. Los modelos de desarrollo de software los aborda una disciplina especfica del campo de la informtica: la ingeniera del software. Programas y algoritmos Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programacin concreto) un algoritmo. Ntese que es la secuencia de instrucciones en s (la ejecucin) la que debe ser finita, no el nmero de pasos realizados. Los programas suelen subdividirse en partes menores (mdulos), de modo que la complejidad algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa.

You might also like