“Conocimiento software>Ingeniería del Software

¿Cuál es la diferencia entre un algoritmo y un programa?

2016/1/15
La diferencia entre un algoritmo y un programa se puede resumir de la siguiente manera:

Algoritmo:

* Definición: Un procedimiento paso a paso, bien definido o un conjunto de instrucciones para resolver un problema específico o lograr una tarea en particular. Es un plan lógico o un plan.

* Enfoque: El "que" hacer. Describe el * método * o * lógica * para resolver un problema.

* Representación: Se puede expresar en varias formas:

* Lenguaje natural (como el inglés)

* Pseudocódigo (código informal, legible por humanos)

* Diagramas de flujo (diagramas)

* Notación matemática

* Ejecutable? No. Un algoritmo es conceptual. No es algo que puedas ejecutar directamente en una computadora.

* abstracción: Más abstracto. Se centra en los pasos centrales de la solución sin preocuparse por la sintaxis del lenguaje de programación específico o los detalles de hardware.

* Ejemplo:

* Algoritmo para encontrar el número más grande en una lista:

1. Suponga que el primer número en la lista es el más grande.

2. Iterer a través del resto de la lista.

3. Para cada número, compárelo con el actual "más grande".

4. Si el número actual es más grande, actualice "más grande".

5. Después de iterar a través de toda la lista, "más grande" es el resultado.

Programa:

* Definición: Una implementación concreta de un algoritmo en un lenguaje de programación específico (por ejemplo, Python, Java, C ++). Es un conjunto de instrucciones que una computadora puede entender y ejecutar.

* Enfoque: El "cómo" hacerlo. Describe los pasos * exactos * a tomar, utilizando la sintaxis y la semántica de un lenguaje de programación.

* Representación: Escrito en un lenguaje de programación específico.

* Ejecutable? Sí. Un programa se compila (o se interpreta) en el código de la máquina que una computadora puede ejecutar.

* abstracción: Menos abstracto. Se ocupa de los detalles específicos del lenguaje de programación, las bibliotecas y el hardware.

* Ejemplo:

* programa Python para encontrar el número más grande en una lista (implementando el algoritmo anterior):

`` `Python

Def Find_Largest (números):

Si no son números:# manejar la caja de la lista vacía

no devuelve ninguno

más grande =números [0]

Para el número en los números:

Si el número> más grande:

más grande =número

regreso más grande

my_list =[10, 5, 20, 8, 15]

más grande_number =find_largest (my_list)

print (f "El número más grande es:{más grande_number}")

`` `` ``

Analogía:

Piense en ello así:

* Algoritmo: Una receta para un pastel. Describe los ingredientes y los pasos a tomar (mezclar, hornear, etc.).

* Programa: El pastel real que se realiza siguiendo la receta y utilizando herramientas e ingredientes de cocina específicos.

Diferencias clave en una tabla:

| Característica | Algoritmo | Programa |

| --------------- | -------------------------------------------- | ------------------------------------------------- |

| Definición | Procedimiento paso a paso de resolución de problemas | Implementación de un algoritmo en el código |

| Focus | Qué hacer (lógica) | Cómo hacerlo (implementación) |

| Representación | Lenguaje natural, pseudocódigo, diagramas de flujo | Código de lenguaje de programación |

| Ejecutable? | No | SÍ |

| abstracción | Alto | Bajo |

| Dependencia | Lenguaje independiente | Dependiente del idioma |

En resumen:

Un algoritmo es la * idea * o * plan * para resolver un problema. Un programa es la * realización concreta * de ese plan, escrito en un lenguaje específico que una computadora puede entender y ejecutar. Necesita un algoritmo antes de poder escribir un programa para implementarlo.

Ingeniería del Software
¿Cuáles son los factores de tamaño en la ingeniería de software?
Cómo escribir Unicodes en VB6
Cómo quitar atributos de AutoCAD
¿AutoCAD LT Run VBA
Cómo crear una Mesa General en SolidWorks
Cómo calcular el área de pistas en AutoCAD
Cómo transferir archivos de AutoCAD a DS SolidWorks
Cómo convertir 3DM a DWG
Conocimiento de la computadora © http://www.ordenador.online