You are on page 1of 5

Unidades Tecnológicas de Santander

Tecnología en electrónica
Conceptos básicos
Ing. Daniel Alexander Velazco Capacho

Lógica
La lógica matemática estudia los sistemas formales en relación con el modo
en el que codifican conceptos intuitivos de objetos matemáticos como
conjuntos, números, demostraciones y computación

Algoritmo
Definición: En matemáticas, ciencias de la computación, y disciplinas
relacionadas, un algoritmo es una lista bien definida , ordenada y finita de
operaciones que permite hallar la solución a un problema. Dado un estado
inicial y una entrada, a través de pasos sucesivos y bien definidos se llega a
un estado final, obteniendo una solución.

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 cuestión o inclusive en las instrucciones que recibe un
trabajador por parte de su patrón. También existen ejemplos de índole
matemático, como el algoritmo de la división para calcular el cociente de
dos números, el algoritmo de Euclides para calcular el máximo común
divisor de dos enteros positivos, o el método de Gauss para resolver un
Sistema lineal de ecuaciones.

Introducción

La importancia de un algoritmo radica en mostrar la manera de llevar a


cabo procesos y resolver mecánicamente problemas matemáticos o de otro
tipo. Al igual que las funciones matemáticas, los algoritmos reciben una
entrada y la transforman en una salida, comportándose 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
(formalización 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 ambigüedades 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
especificación de un conjunto de pasos (operaciones, instrucciones,
órdenes,...) orientados a la resolución de un problema (método), el
segundo es ese conjunto de operaciones especificadas en un determinado
lenguaje de programación 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 programación, en un circuito eléctrico, en un aparato mecánico,
usando papel y lápiz, o en algún otro modelo de computación.

La mayoría de los algoritmos involucran métodos de organizar los datos que


intervienen en el cómputo. Estos objetos creados son llamados, de esta
manera la estructura de los datos, y también son objetos centrales del
estudio en la informática. 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, recíprocamente, los algoritmos
complicados pueden usar estructuras de los datos simples.

Cuando usamos una computadora para ayudarnos a resolver un problema,


nos enfrentamos típicamente con varios posibles esquemas. Para los
problemas pequeños, 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 dónde nosotros necesitamos resolver un
gran número de problemas pequeños), sin embargo, nos motivamos en
inventar métodos que usan tiempo eficazmente de forma rápida 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 descomponiéndolo
en partes más pequeñas que puedan resolverse más fácilmente. A menudo,
muchos de los algoritmos que se necesitan, después de la descomposición
son triviales al instrumento.

Características de los algoritmos

El científico de computación Donald Knuth ofreció una lista de cinco


propiedades, que son ampliamente aceptadas como requisitos para un
algoritmo:

1. Carácter finito. "Un algoritmo siempre debe terminar después de un


número finito de pasos".
2. Precisión. "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 más entradas: cantidades que le
son dadas antes de que el algoritmo comience, o dinámicamente
mientras el algoritmo corre. Estas entradas son tomadas de
conjuntos específicos de objetos".
4. Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen
una relación específica con las entradas".
5. Eficacia. "También se espera que un algoritmo sea eficaz, en el
sentido de que todas las operaciones a realizar en un algoritmo
deben ser suficientemente básicas como para que en principio
puedan ser hechas de manera exacta y en un tiempo finito por un
hombre usando lápiz y papel".
Knuth admite que, aunque su descripción 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 básicas", y así sucesivamente..

A partir del carácter finito y de la salida se deduce que ante una misma
situación inicial (o valores de entrada) un algoritmo debe proporcionar
siempre el mismo resultado (o salida), con excepción de los algoritmos
probabilistas.

Diagrama de flujo
Definición

Un diagrama de flujo es la representación gráfica del flujo o secuencia de


rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en
cuestión, las unidades involucradas y los responsables de su ejecución; en
pocas palabras es la representación simbólica o pictórica de un
procedimiento administrativo. Se les llama diagramas de flujo porque los
símbolos utilizados se conectan por medio de flechas para indicar la
secuencia de la operación.

Características 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 solución


(finalización 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 realización del diagrama de flujo:

• Identificar las ideas principales a ser incluidas en el diagrama de


flujo. Deben estar presentes el dueño o responsable del proceso, los
dueños 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 quién lo empleará y cómo.
• Establecer el nivel de detalle requerido.
• Determinar los límites 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 están
incluidos en el proceso a describir y su orden cronológico.
• Si el nivel de detalle definido incluye actividades menores, listarlas
también.
• Identificar y listar los puntos de decisión.
• Construir el diagrama respetando la secuencia cronológica y
asignando los correspondientes símbolos.
• Asignar un título al diagrama y verificar que esté completo y describa
con exactitud el proceso elegido.

Ventajas de los Diagramas de Flujo

• Favorecen la comprensión del proceso a través de mostrarlo como un


dibujo. El cerebro humano reconoce fácilmente los dibujos. Un buen
diagrama de flujo reemplaza varias páginas de texto.
• Permiten identificar los problemas y las oportunidades de mejora del
proceso. Se identifican los pasos redundantes, los flujos de los re-
procesos , los conflictos de autoridad, las responsabilidades, los
cuellos de botella, y los puntos de decisión.
• Muestran las interfaces cliente-proveedor y las transacciones que en
ellas se realizan, facilitando a los empleados el análisis de las
mismas.
• Son una excelente herramienta para capacitar a los nuevos
empleados y también a los que desarrollan la tarea, cuando se
realizan mejoras en el proceso.

Pseudocódigo
Pseudocódigo es la descripción de un algoritmo que asemeja a un lenguaje
de programación 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 pseudocódigo no está regido por ningún estándar. 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 pseudocódigo describe un algoritmo utilizando una mezcla de frases en


lenguaje común, instrucciones de programación y palabras clave que
definen las estructuras básicas. Su objetivo es permitir que el programador
se centre en los aspectos lógicos de la solución a un problema.

Programación
En informática, la programación es un proceso por el cual se escribe (en
un lenguaje de programación), se prueba, se depura y se mantiene el
código fuente de un programa informático. Dentro de la informática, 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 programación es una de las
principales áreas dentro de la informática.

Para el desarrollo de programas de cierta envergadura o complejos, con


ciertas garantías de calidad, es conveniente seguir alguno de los modelos de
desarrollo de software existentes, en donde la programación es sólo una de
las etapas del proceso de desarrollo de software. Los modelos de desarrollo
de software los aborda una disciplina específica del campo de la
informática: la ingeniería 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 programación
concreto) un algoritmo. Nótese que es la secuencia de instrucciones en sí
(la ejecución) la que debe ser finita, no el número de pasos realizados.

Los programas suelen subdividirse en partes menores (módulos), de modo


que la complejidad algorítmica de cada una de las partes sea menor que la
del programa completo, lo cual ayuda al desarrollo del programa.

You might also like