ALGORITMOS
El término resolución de un problema se refiere al proceso completo que abarca desde la descripción
inicial del problema hasta el desarrollo deun programa de computadora que lo resuelva.La resolución de
un problema exige el diseño de un algoritmo que resuelva el problema propuesto.
Los pasos para la resolución de un problema son:
1.Diseño del algoritmo que describela secuencia ordenadadepasos —sin ambigüedades— queconducen
a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo).
2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase de
codificación).
3. Ejecución y validación del programa por la computadora. Para llegar a la realización deun programa es
necesario el diseño previo de un algoritmo indicando cómo hace el algoritmo la tarea solicitada,y eso se
traduce en la construcción de un algoritmo.
El resultado final del diseño es una solución que debe ser fácil de traducir a estructuras de datos y
estructuras de control de un lenguaje de programación específico.
Las dos herramientas más comúnmente utilizadas para diseñar algoritmos son: diagramas de flujo y
pseudocódigos.
Diagramas de flujo (flowchart)
Es una representación gráfica de un algoritmo.
Problema 1. Hacer un diagrama de flujo que representaun algoritmo que calcule elperímetro y el área
de un círculo. Se deberá proveer como entrada elvalor del radio del círculo (el programa deberá leer el
valor del radio del círculo).
Se declaran las variables reales r, longitud y área, así como la constante pi
constantes pi = 3.14
variables real: r, longitud, area
Pseudocódigo
En esencia el pseudocódigo se puede definir como un lenguajede especificación dealgoritmos.
Ejemplo 2. Realizar un algoritmo que lea tres números; si el primero es positivo calcule el producto de
los tresnúmeros, y en otro caso calcule la suma.
Se usan tres variables enteras Numero1, Numero2, Numero3 , en las que se leen los datos, y otras dos
variables Producto y Suma en las que se calcula, o bien el producto, o bien la suma. El algoritmo que
resuelve el problema es el siguiente.
Entrada Numero1,Numero2 y Numero3
Salida Suma o el Producto
inicio
leer los tres números Numero1, Numero2, Numero3
si el Numero1 es positivo
calcular el producto de los tres números
escribir el producto
si el Numero1 es no positivo
calcular la suma de los tres números
escribir la suma
fin
El algoritmo en pseudocódigo es:
algoritmo Producto__Suma
variables
entero: Numero1, Numero2, Numero3, Producto, Suma
inicio
Leer(Numero1, Numero2, Numero3)
si (Numero1 > 0) entonces
Producto � Numero1* Numero2 * Numero3
Escribe('El producto de los números es:', Producto)
sino
Suma � Numero1 + Numero2 + Numero3
Escribe('La suma de los números es: ', Suma)
fin si
fin
El algoritmo es la especificación concisa del método para resolver un problema con indicación de las
acciones a realizar. Un algoritmo es un conjunto finito de reglas que dan una secuencia de operaciones
para resolver un determinado problema. Es, por consiguiente, un método para resolver un problema que
tiene en general una entrada y una salida. Las características fundamentales que debe cumplir todo
algoritmo son:
 Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
 Un algoritmo debe estar bien definido. Si sesigueun algoritmo dos veces, aportando las mismas
entradas, se debe obtener el mismo resultado cada vez.
 Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; es
decir, debe tener un número finito de pasos.
El programa correspondiente al anterior algoritmo escrito en C es:

Clase 2 algorítmos - 16-04-201

  • 1.
    ALGORITMOS El término resoluciónde un problema se refiere al proceso completo que abarca desde la descripción inicial del problema hasta el desarrollo deun programa de computadora que lo resuelva.La resolución de un problema exige el diseño de un algoritmo que resuelva el problema propuesto. Los pasos para la resolución de un problema son: 1.Diseño del algoritmo que describela secuencia ordenadadepasos —sin ambigüedades— queconducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase de codificación). 3. Ejecución y validación del programa por la computadora. Para llegar a la realización deun programa es necesario el diseño previo de un algoritmo indicando cómo hace el algoritmo la tarea solicitada,y eso se traduce en la construcción de un algoritmo. El resultado final del diseño es una solución que debe ser fácil de traducir a estructuras de datos y estructuras de control de un lenguaje de programación específico. Las dos herramientas más comúnmente utilizadas para diseñar algoritmos son: diagramas de flujo y pseudocódigos. Diagramas de flujo (flowchart) Es una representación gráfica de un algoritmo. Problema 1. Hacer un diagrama de flujo que representaun algoritmo que calcule elperímetro y el área de un círculo. Se deberá proveer como entrada elvalor del radio del círculo (el programa deberá leer el valor del radio del círculo). Se declaran las variables reales r, longitud y área, así como la constante pi constantes pi = 3.14 variables real: r, longitud, area
  • 2.
    Pseudocódigo En esencia elpseudocódigo se puede definir como un lenguajede especificación dealgoritmos. Ejemplo 2. Realizar un algoritmo que lea tres números; si el primero es positivo calcule el producto de los tresnúmeros, y en otro caso calcule la suma. Se usan tres variables enteras Numero1, Numero2, Numero3 , en las que se leen los datos, y otras dos variables Producto y Suma en las que se calcula, o bien el producto, o bien la suma. El algoritmo que resuelve el problema es el siguiente. Entrada Numero1,Numero2 y Numero3 Salida Suma o el Producto inicio leer los tres números Numero1, Numero2, Numero3 si el Numero1 es positivo calcular el producto de los tres números escribir el producto si el Numero1 es no positivo calcular la suma de los tres números escribir la suma fin El algoritmo en pseudocódigo es: algoritmo Producto__Suma variables entero: Numero1, Numero2, Numero3, Producto, Suma inicio Leer(Numero1, Numero2, Numero3)
  • 3.
    si (Numero1 >0) entonces Producto � Numero1* Numero2 * Numero3 Escribe('El producto de los números es:', Producto) sino Suma � Numero1 + Numero2 + Numero3 Escribe('La suma de los números es: ', Suma) fin si fin El algoritmo es la especificación concisa del método para resolver un problema con indicación de las acciones a realizar. Un algoritmo es un conjunto finito de reglas que dan una secuencia de operaciones para resolver un determinado problema. Es, por consiguiente, un método para resolver un problema que tiene en general una entrada y una salida. Las características fundamentales que debe cumplir todo algoritmo son:  Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.  Un algoritmo debe estar bien definido. Si sesigueun algoritmo dos veces, aportando las mismas entradas, se debe obtener el mismo resultado cada vez.  Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; es decir, debe tener un número finito de pasos. El programa correspondiente al anterior algoritmo escrito en C es: