Algoritmos y programas: definiciones y elementos básicos
1. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
Algoritmo: Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un
problema. La palabra "algoritmodel nombre latinizado del gran matemático árabe Mohamed Ibn Moussa Al Kow
Rizmi. En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín, dixit
algorithmus y éste a su vez del matemático persa Al Kow Rizmi) 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. Los algoritmos son objeto de
estudio de la algoritmia.
Descripción precisa de una sucesión ordenada de instrucciones no ambiguas que permiten resolver un problema
en un número finito de pasos.
Es la especificación de un conjunto de pasos (operaciones, instrucciones, órdenes,...) orientados a la resolución
de un problema (método).
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 patron. 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 Euclide para calcular el máximo común divisor de dos enteros positivos, o el métodos
de Gauss para resolver un Sistema lineal de ecuaciones.
Programas: Es un conjunto de operaciones especificadas en un determinado lenguaje de programación y para
un computador concreto, susceptible de ser ejecutado (o compilado o interpretado).
Conjunto de ordenes que transforman los datos de entrada en una salida de resultados comprensibles.
Es un conjunto de instrucciones que producirán la ejecución de una determinada tarea. En esencia, un programa
es un medio para llegar a un fin.
Lenguaje de Programación: Es un conjunto de símbolos y reglas sintácticas y semánticas que definen su
estructura y el significado de sus elementos y expresiones. Es utilizado para controlar el comportamiento físico y
lógico de una máquina.
Lenguaje Algoritmico: Es aquel por medio el cual se realiza un análisis previo del problema a resolver y
encontrar un método que permita resolverlo. El conjunto de todas las operaciones a realizar y el orden en que
2. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
deben efectuarse, se le denomina algoritmo. Es un método para resolver un problema mediante una serie de
datos precisos, definidos y finitos.
Elementos de un Algoritmo:
Entrada Es la fuerza de arranque del algoritmo, información (datos) necesarios para que se pueda llevar
a cabo la resolución de un algoritmo.
Proceso Es el mecanismo de conversión de entradas en salidas.
Salida Es la finalidad por la que se procesaron las entrada. Es el resultado de procesar la entrada.
Partes de un Algoritmo
Los algoritmos deberían tener siempre una estructura en tres partes: Cabecera, Declaraciones y Acciones.
La cabecera: Contiene el nombre del programa o algoritmo.
Contiene las declaraciones de variables y constantes que se usan en el
Las declaraciones:
algoritmo.
Las acciones: Son el cuerpo en sí del algoritmo, es decir, las instrucciones
Que describe la secuencia ordenada de pasos que conducen a la solución de
Diseño de algoritmo
un problema dado. (Análisis del problema y desarrollo del algoritmo).
El algoritmo como un programa de lenguaje de programación adecuado.
Expresar
(Fase de codificación.)
Ejecución y validación Es la corrida del programa del programa por la computadora.
Caracteristicas de un Algoritmo
·Un algoritmo debe ser Preciso e indicar el orden de realización de cada paso.
· Un algoritmo debe ser Definido, es decir, si se sigue un algoritmo dos veces, se debe obtener el mismo
resultado.
·Un algoritmo debe ser Finito, es decir, si se sigue el algoritmo se debe terminar el algún momento.
3. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
Formas de Representar un Algoritmo
• Lenguaje Natural:
Forma de expresión a través del lenguaje (español, ingles. Etc).
• Diagramas de flujo:
Son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de
instrucciones. Son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su
construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción
de un lenguaje y descripción de procesos a personas ajenas a la computación.
Simbología para los Diagramas de Flujo
Ejemplo.
Calcular el Área del rectángulo
Recomendaciones para el diseño de Diagramas de Flujo
· Se deben se usar solamente líneas de flujo horizontales y/o verticales.
· Se debe evitar el cruce de líneas utilizando los conectores.
4. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
· Se deben usar conectores solo cuando sea necesario.
· No deben quedar líneas de flujo son conectar.
· Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.
· Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
• 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.
Ejemplo
Programa CalculoAreaRectangulo
Inicio
leer; base, altura
area_base x altura
escribir; base, altura, area
Fin
Traza de un Algoritmo
Ejecución manual de forma secuencial de las sentencias que lo componen. Así, la traza del siguiente algoritmo es
el valor que van adoptando las variables a medida que se va ejecutando un programa.
Consultar los siguientes aspectos
Estandares de calidad de un algoritmo
Forma de trazabilizar un algoritmo
Formas y técnicas de documentar algoritmos y programas.
Clasificación de Variables
5. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
Variables Según su Contenido:
Variables Numéricas
Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números
del 0 al 9, signos (+ y -) y el punto decimal.
Ejemplo:
iva = 0.15 pi = 3.1416 costo = 2500
Variables lógicas
Cuando una variable es declarada lógica, ésta almacena únicamente valores lógicos, ya sea TRUE o FALSE
(cierto ó falso).
Variables Alfanuméricas
Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).
Ejemplo:
letra = ’a’ apellido = ’lopez’ direccion = ’Av. Simón Bolívar #190’
Variables Según su Uso:
De Trabajo
Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de
un programa.
Ejemplo:
Suma = a + b /c
Contadores
Es una variable (casi siempre de tipo entero) cuyo valor se incrementa ó decrementa en cada repetición de un
ciclo ó bucle. Es habitual llamar a esta variable “cont” (de contador) ó “i” de índice.
El contador suele usarse de este modo:
1. Se inicializa antes de que comience el bucle. Es decir, se le da un valor inicial. Por ejemplo: cont = 5
2. Se modifica dentro del cuerpo del bucle. Lo más habitual es que se incremente su valor en una unidad .
Ejemplo:
cont = cont + 1
ó
cont = cont – 1
6. Unidad I.
Profa. Ing. Msc. Lennys Camargo. Algoritmo
Acumuladores
Las variables acumuladoras tienen la misión de almacenar resultados sucesivos, es decir, de acumular resultados,
de ahí su nombre. Las variables acumuladores también deben ser inicializadas. Si llamamos “acum” a un
acumulador, escribiremos antes de iniciar el bucle algo como esto: acum. = 0
Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del problema. Luego en el cuerpo del
bucle, la forma en la que nos la solemos encontrar es:
acum = acum + N
siendo “N” otra variable