Saltar al contenido

Algoritmo

09/12/2020

Plan de lecciones:

Los algoritmos que usamos

Artistas, Sistema de Comando para Artistas (ACCS)

Propiedades del algoritmo

Clasificación de los algoritmos

Tipos de registro de algoritmos

Algoritmo de ejemplo en Turbo Pascal

Comencemos la lección con una simple tarea. ¿Qué tienes que hacer si quieres beber té?

Una persona inmediatamente enciende la tetera, y comienza a buscar tazas, cerveza, azúcar.

El segundo está actuando según lo planeado:

  1. Comprueba si hay cerveza y azúcar.
  2. Si no están ahí, cómpralos.
  3. Si lo tienes todo, encuentra la copa, comprueba su pureza.
  4. Ponga la tetera a calentar.
  5. Enjuague la taza con agua hirviendo.
  6. Vierta la cerveza, vierta el agua hirviendo.
  7. Añade un poco de azúcar.

La primera persona corre inmediatamente hacia el objetivo, rompiéndose la cabeza, y la segunda persona se determina con el objetivo, divide el complejo proceso en pasos simples y paso a paso hasta el resultado. Este algoritmo lineal de la vida permite no confundirse, no perderse algo importante. El segundo enfoque es más racional, lógico y conveniente, permitiendo dividir una tarea compleja en otras más simples.

Un sistema de comando o algoritmo no sólo es más conveniente, sino que permite realizar una tarea incluso para alguien que no lo hace a menudo, es decir, un principiante.

Los algoritmos que usamos

Algoritmo – secuencia final de acciones, plan paso a paso, instrucción, forma de acción que permita alcanzar el resultado deseado. Consiste en los comandos más simples.

Usamos esas instrucciones tan útiles todo el tiempo, sin darnos cuenta.

Recordemos qué instrucciones detalladas usamos:

  • recetas de cocina paso a paso;
  • clases magistrales de artesanía;
  • instrucciones para el equipo;
  • un plan de acción de emergencia.

Con el objetivo en mente, procesamos los datos de entrada y obtenemos un resultado o una explicación de por qué no se puede obtener el resultado. Esto es similar a una función, pero en el caso de los algoritmos, se dan recomendaciones claras sobre qué hacer y cómo hacerlo.

Un ejemplo en forma de una colorida instrucción y una seca recomendación paso a paso:

1 algoritmo
Trabajar en un ordenador Fuente. Instrucciones de configuración Fuente.

Y en la informática, no se puede prescindir de ellos, son los algoritmos la base de la programación.

Al escribir una secuencia de comandos de este tipo, es importante desglosar el proceso en las acciones más simples que son comprendidas inequívocamente tanto por el desarrollador como por quienes las utilizarán.

Si las acciones son del mismo tipo, por ejemplo “coger un cucharón de agua y verterlo” o “coger una manzana y comprobar si hay un agujero de gusano”, se registra una vez y se repite el número final de veces.

Cuando todas las tareas/etapas se completen, deberían conducir al resultado deseado.

Artistas, Sistema de Comando para Artistas (ACCS)

El algoritmo se desarrolla teniendo en cuenta a un determinado ejecutante. Esto significa que el manual de usuario de la antena parabólica y las recomendaciones para el ingeniero de sintonía serán completamente diferentes, aunque en ambos casos cada paso será elemental.

Ejecutor – el sujeto/objeto que puede ejecutar los comandos de este algoritmo.

El ejecutante puede ser una criatura viva y un mecanismo inanimado. Un ser humano, un animal que entiende las órdenes, un robot, una máquina, un ordenador… todos pueden ser actores.

Ordenador (PC) – ejecución de comandos automatizados. Algoritmos para PC escriben en lenguajes de programación (C++, Basic, Pascal, Delphi, Assembler, Fortran).

Para cada tipo y nivel de artistas hay un diferente Sistema de Comando del Artista (ACCS).

Propiedades del algoritmo

Independientemente de si el curso de preparación de los huevos o el lanzamiento de la nave espacial se está desarrollando, deben tener 5 propiedades básicas:

  1. Determinismo – todas las descripciones deben ser inequívocas, comprensibles.

Claridad. el procedimiento debe estar en un idioma que sea comprensible para la categoría de artistas intérpretes o ejecutantes para la que está escrito.

Para un niño de 2 años aprender a usar el juguete será en palabras sencillas, con un mínimo de pasos (toma, pulsa este botón, ponlo en el suelo). Y para un niño de 10 años, la instrucción ya incluye revisar y reemplazar las baterías, instalando la parte que se ha caído.

  1. Discreción – órdenes estrictas que van en una cierta secuencia.

La precisión… los equipos deben ser específicos, claros, sin ambigüedades.

Recordamos un ejemplo de una tarea poco clara e imprecisa de un cuento de hadas: “Ve allí, no sé dónde. Trae lo que no sé qué”.

  1. Misa… el plan de acción se ajusta a situaciones similares con diferentes datos de origen. Es decir, la instrucción para hacer un sándwich de salchicha permite tomar diferentes tipos de pan y productos cárnicos o sustituirlos por queso.
  2. Eficiencia – la ejecución de los comandos debe llevar a un resultado. No debería haber errores. Cuando se utilizan parámetros iniciales aceptables, el algoritmo siempre debe dar el resultado correcto.
  3. Límite – cada comando y procedimiento en su conjunto debe ser ejecutado en un número finito de pasos, es decir, no debe ser infinito, en bucle.

Ejemplo de un algoritmo infinito

Lavado de manos:

  • …abrir el agua;
  • …para mojarse las manos y enjabonarse;
  • cerrar el agua;
  • Enjabónate las manos;
  • …abrir el agua.

En este ejemplo, no hay órdenes finales: lávate las manos y cierra el agua. El usuario se lavará las manos y afinará el agua sin cesar de acuerdo con esta instrucción.

Clasificación de los algoritmos

Si las acciones realizadas van una tras otra, la instrucción será consecutiva, lineal. Si las operaciones se repiten en condiciones diferentes, el orden de acción se modificará. Debería utilizar diferentes tipos de algoritmos.

Tipos de algoritmos:

  • lineal – las etapas se realizan una vez, una tras otra;
  • algoritmo repetitivo o cíclico – las acciones se repiten tantas veces como sea necesario o hasta que se consiga un resultado. La repetición de acciones se llama un ciclo;
  • que se ramifica… – se selecciona una secuencia de comandos u otra basada en la condición especificada;
  • subsidiaria – un procedimiento que es una parte separada y puede realizarse de forma independiente, pero que suele utilizarse como parte de otros algoritmos, después de especificar el nombre.

Los algoritmos de repetición con una condición se usan más a menudo, ya que las condiciones ideales son raras.

2 algoritmo
Fuente.

Modelo lineal adecuado para tareas simples donde no hay condiciones o repeticiones. Para ella. la secuencia de comandos del algoritmo es importante. Por ejemplo, calculando la media aritmética, el área de una figura. En la vida normal, esta es una lista de acciones a realizar para comprar pan, hervir un huevo o hacer un sándwich.

Escribamos el esquema del algoritmo lineal (comprando té):

  1. Consigue una bolsa y una cartera con dinero.
  2. Ve a cualquier mercado de alimentos.
  3. Elija el tipo de té adecuado.
  4. Paga por la mercancía.
  5. Pon el té en la bolsa, vete a casa.

Para muchas tareas, es importante el cumplimiento de una cierta condición.

Un ejemplo de algoritmo de ramificación – si la variedad deseada no está disponible, el proceso de compra de té se hace más complicado:

  1. Consigue una bolsa y una cartera con dinero.
  2. Ve a cualquier mercado de alimentos.
  3. Mira a ver si hay algún té de “Elite”.
  4. Si es así, entonces averigua el precio, devuelve el dinero.
  5. Ponga la compra en la bolsa, vaya a casa.
  6. Si no, encuentra la variedad blanca, china, consigue un precio, da el dinero.
  7. Ponga el paquete en la bolsa, vuelva a casa.
  8. Si no hay “Elite” o “Blanco, Chino”, entonces vaya a otra tienda y repita todo desde el punto 3.

La misma tarea puede describirse utilizando de un algoritmo cíclico, si está disponible repetición de una operación específica.

Este ejemplo incluye la ramificación “si” y la repetición de comandos:

  1. Consigue una bolsa y una cartera con dinero.
  2. Ve a cualquier mercado de alimentos.
  3. Toma una caja de té en la mano, a ver si es Elite.
  4. Si es así, entonces averigua el precio, paga el precio.
  5. Toma la compra, ve a casa.
  6. Si no, tome el siguiente paquete y repita los puntos 3-6.
  7. Si se bebe todo el té, pero no hay “Elite”, entonces vaya a otra tienda y repita todo desde el punto número 3.

Las instrucciones cíclicas deben ser escritas de tal manera que no haya ciclo perpetuo o bucles – repetición interminable de la operación sin lograr un resultado.

Tipos de registro de algoritmos

La forma más fácil de escribir el algoritmo línea por línea es escribirlo verbalmente. Pero la forma de registro de instrucciones detalladas similares no siempre es clara y conveniente debido a la considerable cantidad de palabras auxiliares.

Es más fácil ver tal plan si se complementa con imágenes.

3 algoritmo
Fuente.

Es especialmente inconveniente describir con palabras los procesos matemáticos, físicos y químicos. No puedes prescindir de símbolos y fórmulas especiales. Por lo tanto, se utilizan las siglas y designaciones de la industria.

Pero todas estas formas de registrar algoritmos son inferiores a los formales, esquemáticos. Es este enfoque generalizado el que permite a los usuarios y a los artistas de todo el mundo entenderse mejor.

El diagrama de bloques es una forma gráfica de representación de algoritmos que utilizan objetos geométricos y flechas.

4 algoritmo

Diagrama de bloques del algoritmo lineal para calcular el área del rectángulo:

5 algoritmo

Un algoritmo es una instrucción para resolver una determinada tarea. Y sobre esta base se puede escribir un programa de cálculo de algoritmos, que implementa esta variante de la solución, además de que puede ser instalado, probado y ejecutado en un PC.

6 algoritmo

Algoritmo de ejemplo en Turbo Pascal

La programación en lenguajes de computación usa el mismo enfoque que escribir instrucciones manualmente.

Por ejemplo, intentemos programar algoritmos lineales usando el lenguaje Turbo Pascal.

Ejecute el entorno de programación en los siguientes pasos:

Menú de inicio → Todos los programas → Turbo Pascal

En la pantalla del monitor aparecerá una concha que le permitirá aprender los fundamentos de la programación e incluso implementar proyectos complejos.

La carcasa está diseñada para el DOS, lo que explica la inusual implementación de la interfaz.

7 algoritmo

Escribimos el algoritmo más simple del programa para mostrar las palabras de bienvenida.

En la disposición latina, marcamos estos comandos en la ventana azul:

programa Test;

comienza

escribe (“¡Buenos días!”)

El fin.

Tenemos en cuenta puntos importantes cuando usamos Turbo Pascal:

  • todo se escribe en letras latinas;
  • el registro es irrelevante;
  • cada línea es un comando, al final de la línea es Enter y “;”;
  • después de “fin” debería haber “.”

Como puedes ver, el programa tiene sus propios comandos de palabras, como en los algoritmos escritos. La palabra programa es como un título, el nombre de un objeto y el nombre del programa mismo.

El comienzo es el comando comienzo, el final es el final, y entre ellos hay operadores o comandos de acción (“escribir” – escribir en la pantalla). Y el texto que se muestra en la pantalla se toma entre paréntesis y ‘….’.

Para lanzar el programa, presione Ctrl+F9 o el conjunto de comandos Run Run.

Si no hay errores en los equipos, aparecerá este resultado:

8 algoritmo

Puedes pulsar cualquier tecla del teclado para volver a salir.

Cada lanzamiento tendrá un nuevo registro en la misma línea. Si reemplazas “write” por “writeln”, el texto se mostrará en una nueva línea:

9 algoritmo

El estudio de los algoritmos no sólo permite su aplicación en todos los ámbitos de la vida, desde las tareas domésticas diarias hasta el estudio. Este es el primer y uno de los pasos más importantes para entender cómo funciona la tecnología programable, incluyendo el PC. La comprensión de los algoritmos lineales más simples, la capacidad de crearlos permite aprender cómo la computadora procesa los datos, encuentra el resultado correcto y lo da. Entonces deberías dominar las opciones con ramificación o repetición.

Sin la capacidad de crear algoritmos en forma de diagrama de flujo, el conocimiento de sus tipos y principios de creación es imposible comenzar a aprender lenguajes de programación.