¿Cuáles son las diferencias entre algoritmos y pseudocódigo?

A2A. No puedo entender por qué preguntarías esto, de verdad. Supongo que estás confundido sobre el significado de la palabra algoritmo. Un algoritmo es básicamente un conjunto de procedimientos que deben seguirse para resolver un problema específico. Por ejemplo, los pasos que debe seguir para calentar su comida congelada en el microondas podrían constituir un algoritmo. No necesariamente tiene que ser un problema para el que pueda escribir un programa de computadora. Hoy en día, sin embargo, la palabra algoritmo se usa generalmente en connotación con problemas de programación.

No existen pautas estrictas para el nivel de detalle que un algoritmo debe especificar. Un documento formal sobre un nuevo algoritmo bien podría ser muy matemático y confuso para el programador promedio, mientras que tampoco se correlaciona muy bien con las herramientas de los lenguajes de programación existentes. Como tal, la traducción de un algoritmo informático al código fuente no suele ser una tarea trivial. Aquí es donde entra el pseudocódigo. El pseudocódigo intenta especificar un algoritmo de una manera que

  1. es fácil de seguir para un programador, independientemente del idioma / plataforma que sea su campo de especialización, y
  2. intenta imitar las estructuras de los lenguajes de programación predominantes para que la tarea de implementarlo en un lenguaje / plataforma dado se convierta en una tarea mucho más simple.

No existen pautas oficiales sobre la sintaxis de pseudocódigo y el resultado generalmente depende de los caprichos y fantasías de su autor. Normalmente, las personas que escriben pseudocódigo prefieren tomar prestadas partes de la sintaxis de los idiomas populares de su época, pero tienden a no especificar en exceso para que se adapte bien a la multitud de idiomas disponibles. Sin embargo, generalmente sueles llamar a algo pseudocódigo solo cuando no existe un compilador / intérprete que pueda comprender todo el texto.

Un algoritmo es una construcción teórica y matemática que es una descripción de los pasos que se deben seguir para ejecutar una tarea o resolver un problema. El pseudocódigo es una construcción semántica que se aproxima a los pasos necesarios para ejecutar un algoritmo en una plataforma en particular.

Las definiciones anteriores están muy simplificadas.

Además, los algoritmos generalmente también se ocupan de los fundamentos teóricos y matemáticos de los métodos que se utilizan. El pseudocódigo tiende a estar más orientado a proporcionar una plantilla de cómo implementar el algoritmo.

Cualquier libro de texto de algoritmos decentes incluirá una descripción del algoritmo y las matemáticas detrás de él, así como muestras de pseudocódigo. Esto no es solo por conveniencia; ambas son herramientas de aprendizaje importantes: el pseudocódigo es menos abstracto y puede ser más fácil de asimilar para los principiantes.

Tampoco hay muy buenas aproximaciones de cómo se ejecutaría exactamente el código real en una máquina real. Por ejemplo, QuickSort (con un límite superior de tiempo de ejecución de O (n ^ 2)) a menudo supera a otros algoritmos de clasificación como MergeSort (con límite superior de tiempo de ejecución de O (n * log n)) porque su ciclo interno se puede implementar de manera más eficiente .

El algoritmo es una receta. Pasos para hacer algo o hacer algo. Puede escribir un algoritmo (pasos) en diferentes idiomas, pero los pasos no cambian. El algoritmo sigue siendo el mismo.

El pseudocódigo es una versión escrita de la receta (Pasos) en su idioma nativo escrita para mayor claridad y comprensiblemente sin preocuparse por las reglas gramaticales y el vocabulario correcto.

El programa es una versión escrita de la receta con la gramática correcta y siguiendo todas las reglas del idioma. ejecutable en una computadora.

Es otro de estos viejos castaños que sigue apareciendo como un mal meme en las clases de enseñanza de mierda.
El pseudocódigo es algo que los maestros les dicen a los estudiantes que es una forma de especificar el código para otra persona sin tener que escribirlo en detalle. Pero es algo que lleva casi tanto tiempo escribir como hacerlo de todos modos, y los programadores reales no se molestan con eso.

Aproximadamente el único momento en que podría usarse es cuando el escritor de especificaciones es altamente prescriptivo sobre un algoritmo, pero eso es muy poco probable.

Es más probable que dibujen notas en una hoja de papel y dibujen algunas flechas. En realidad, a veces me parece útil un diagrama de estructura de la vieja escuela, especialmente para los programadores principiantes que aprenden conceptos de anidamiento de procedimientos.

El seudocódigo es algo así como un código sin estructura. Tiene una idea básica de cómo se ve el código y lo escribe, pero no utiliza ninguna notación real (ya sea java, c, c ++, pythin, etc.).

Un algoritmo es simplemente un procedimiento que hace cálculos.

Típicamente en los libros de texto de algoritmos, los algoritmos descritos se escriben en pseudocódigo. Esto se debe a que los algoritmos de aprendizaje son como aprender ‘ideas’, que no dependen del medio que use para crearlo. El seudocódigo es solo una manera fácil de describir la idea.

Hay varias respuestas a preguntas como esta ya disponibles en Quora, tales como:

  • ¿Cuál es la diferencia entre algoritmo y pseudocódigo?
  • ¿Cuál es la diferencia entre algoritmos y programación?

El pseudocódigo es una de las numerosas formas de expresar un algoritmo. El algoritmo es el término utilizado para describir la solución paso a paso a un problema y el pseudocódigo es una de las formas de escribirlo.

Eso es un poco como preguntar cuál es la diferencia entre un mapa de una ciudad y la ciudad misma.

El seudocódigo se refiere a fragmentos de programas que parecen un lenguaje de programación, pero en realidad no son ningún lenguaje de programación específico. Está destinado a capturar la esencia de un algoritmo, sin quedar atrapado en detalles específicos del lenguaje de programación.

Un algoritmo es una secuencia de pasos a seguir para realizar alguna acción. Un algoritmo toma un conjunto de entradas, realiza sus pasos, produce su salida y termina.

Por ejemplo, supongamos que necesita sumar un montón de números en una lista para producir la suma. Un algoritmo realmente simple para eso podría ser:

  1. Inicialice una variable para mantener la suma a un valor inicial de 0.
  2. Recorre la lista y agrega cada elemento a la suma.
  3. Cuando llegue al final de la lista, deténgase.

Esa es una descripción del algoritmo en inglés. El mismo algoritmo descrito en el pseudocódigo podría verse así:

suma: = 0
para cada elemento e en la lista hacer:
suma: = suma + e
suma de retorno

El seudocódigo parece un programa, pero no está en ningún lenguaje de programación en particular. Sin embargo, captura la estructura y la esencia del algoritmo.

Yendo a mi analogía inicial, el pseudocódigo actúa como un mapa de una ciudad: le muestra los detalles que necesita para navegar por la ciudad, sin ser la ciudad misma. Resume los detalles sobre la ciudad que vería si realmente visitara la ciudad. Le muestra la estructura y organización de la ciudad para que cuando visite la ciudad, pueda orientarse.

Casi la misma diferencia entre el idioma inglés y una historia.

Básicamente, son lo mismo: reglas.

Pero el pseudocódigo no se puede compilar directamente en un código binario que algunas computadoras puedan ejecutar.

Un pseudocódigo puede ser de bajo nivel y es una representación textual de un algoritmo. Los algoritmos también se pueden representar de otras maneras.

¿Por qué tiene esto el tema de los pianos? Lo quitaré, wtf