programación

Objetos elementales del lenguaje algorítmico

Al diseñar un algoritmo trataremos con datos; necesitaremos, por lo tanto, referenciar estos datos y explicar qué comportamientos esperamos que hagan. Para conseguir este objetivo, es importante conocer el concepto de objeto, que será el soporte para mantener los datos que trate un algoritmo.

Un objeto tiene tres atributos:

  • Nombre o identificador
  • Tipo
  • Valor
  1. El nombre nos permite identificar unívocamente el objeto.
  2. El tipo indica el conjunto de valores que puede tener y qué operaciones se pueden aplicar sobre el objeto
  3. El valor de un objeto no tiene que ser necesariamente un número. El valor de un objeto será un elemento del conjunto al que pertenece y que viene indicado por su tipo correspondiente.

Por lo tanto, un objeto podrá ser:

  • Constante: su valor no es modificable.
  • Variable: su valor se puede modificar.

Los tipo elementales (2) pueden ser cuatro:

  • Booleano
  • Carácter
  • Entero
  • Real
  1. Boleano: es uno de los tipo más utilizados, su origen se encuentra en el álgebra de Boole. Sus dos valores sirven para indicar certeza o falsedad de un estado concreto del entorno. Por lo tanto, sólo tiene dos valores posibles: cierto y falso.
  2. Carácter: el tipo más elemental para que un algoritmo pueda gestionar información simbólica es el tipo carácter. Por ejemplo, ‘e’ es el valor de carácter correspondiente a la letra «e».
  3. Entero: en programación tenemos que distinguir los números enteros de los reales. Así, el 4 es un entero, -10 es otro entero.
  4. Real: desde un punto de vista informático, los enteros no tienen nada que ver con los reales. La sintaxis de reales se diferencia de la de los enteros por la presencia del punto».» para denotar la coma decimal. Si vemos escrito 5, sabemos que corresponde al entero 5, si vemos escrito 5.0 sabemos que corresponde al real 5.

programación

Algoritmo: conceptos y definiciones

Un algoritmo se define como una descripción no ambigua y precisa de las acciones que hay que realizar para resolver un problema bien definido en un tiempo finito. Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.

Para comprender el concepto de algoritmo, es preciso definir los conceptos de entorno, acción, proceso y procesador.

  • Entorno: es el conjunto de objetos necesarios para llevar a cabo una tarea determinada. El estado del entorno es un momento determinado en la descripción del estado de los objetos del entorno en aquel momento concreto. Un algoritmo actúa de manera que hace cambiar progresivamente el estado de su entorno.
  • Acción: es un suceso finito en el tiempo y que tiene un efecto definido y previsto. Una acción puede actuar sobre un entorno y lo puede modificar, es decir, se parte de un estado inicial y se llega a un estado final diferente.
  • Proceso: es la ejecución de una o varias acciones. El algoritmo expresa unas pautas que hay que seguir para llevar a cabo una tarea concreta. El encargado de llevar a cabo el proceso es el procesador.
  • Procesador: es una entidad capaz de comprender y ejecutar eficazmente un algoritmo. El destinatario del algoritmo es el procesador.

La computadora procesará nuestros algoritmos, pero para hacerlo es necesario que entienda nuestras lenguaje algorítmico. Es preciso, por lo tanto, transcribir nuestros algoritmos a un lenguaje de programación, es decir, a un lenguaje capaz de ser comprendido por la computadora. Así pues, un programa es sólo la codificación de un algoritmo en un lenguaje que la computadora entienda.

Lo realmente importante es, entonces, llegar a saber diseñar un algoritmo que resuelva un problema determinado. El hecho de codificarlo para obtener un programa consiste simplemente es realizar una traducción.

programación

Diseño de algoritmos

La etapa de diseño es una de las más costosas en el desarrollo de un programa. Un algoritmo adecuado presentará las siguientes características:

  • Corrección: el algoritmo hace lo que realmente se pide.
  • Inteligibilidad: el algoritmo debe ser claro y fácil de entender.
  • Eficiencia: el algoritmo debe llevar a cabo la tarea que se le ha encargado en tiempo razonable.
  • Generalidad: con pocos cambios, debe poder adaptarse a otros enunciados parecidos.

Cuando diseñemos algoritmos debemos tener siempre presente estos cuatro criterios.

Etapas de diseño de un algoritmo

  1. Entender el problema.
  2. Plantear y planificar la solución.
  3. Formular la solución.
  4. Evaluar la corrección de la solución propuesta.

Entender el problema: en esta etapa hay que saber qué se pide y de qué estado inicial partimos. En esta etapa se pretende ordenar ideas e identificar cuáles son las condiciones iniciales (pre-condición) y a partir de ahí establecer el objetivo que se quiere alcanzar (post-condición). Si no entendemos el problema difícilmente lo podremos resolver. La especificación formal de los algoritmos es una buena herramienta para alcanzar esta etapa rigurosamente y evitar ambigüedades.

Plantear y planificar la solución: en esta etapa hay que dedicar mucho tiempo y concentración.

Formulación de la solución: la notación algorítmica nos permitirá expresar de manera precisa y clara el algoritmo que proponemos. Para hacerlo hay que conocer perfectamente la sintaxis y la semántica de los elementos del lenguaje algorítmico.

Implementación del un programa: una vez que tengamos el diseño del algoritmo, lo codificaremos para obtener un programa. Las etapas de implementación de un programa son: traducir el algoritmo al lenguaje de programación, editar el programa, compilarlo, montarlo y ejecutarlo.

programación

La programación como disciplina de la ingeniería

La programación se considera una disciplina que, al igual que otras disciplinas de ingeniería, se fundamenta en una teoría, una propuesta metodológica y un conjunto de técnicas de diseño. Cada una de estas partes de la disciplina ha surgido de la investigación y experiencia adquiridas y contribuye a hacer que la programación sea una tarea eficaz y eficiente. Evidentemente, en un entorno industrial competitivo, la eficacia y la eficiencia son valores muy apreciados por las empresas.

Las etapas en el desarrollo de un programa son:

  • Análisis de requerimientos. Definición del problema.
  • Diseño del algoritmo.
  • Implementación del programa.
  • Pruebas.
  • Operación, mejoras y mantenimiento.

1.Análisis de requerimientos. Definición del problema

El resultado de esta primera etapa será un enunciado preciso y claro del problema que hay que resolver.

2.Diseño del algoritmo

A partir del enunciado debemos realizar un diseño que nos lleve a la solución deseada.

3.Implementación del programa

El resultado del diseño es un algoritmo. Pero para ejecutarlo deberá ser traducido a lenguaje de programación para que la computadora lo entienda.

4.Pruebas

En la etapa de pruebas se trata de probar el programa resultante con diferentes datos de entrada que reciben el nombre de juegos de prueba. El éxito de estas pruebas dependerá en gran medida de la calidad del diseño realizado antes.

5.Operación, mejoras y mantenimiento

De la misma manera que se diseñan y mejoran los coches ya existentes; los programas también cambian para mejorar y adaptarse a nuevas necesidades.

programación

¿Qué es un algoritmo?

En el ámbito de las tecnologías de la información y la comunicación (TICs) una de las tareas más importantes es el desarrollo de programas de computación. Podemos definir al algoritmo como un procedimiento de cálculo que consiste en seguir un conjunto ordenado y finito de instrucciones que conduce a la solución de un problema. El lenguaje algorítmico se trata de un lenguaje rígido con pocas instrucciones que sirven para expresar lo que queremos que la computadora haga.

Por lo tanto, podemos pensar en un algoritmo como una receta o guión que hay que seguir para resolver un problema determinado, normalmente a partir de una información que tenemos de entrada.

Un algoritmo nos indica las acciones que hay que seguir para resolver un problema concreto, pero necesitamos un autómata (procesador) que sea capaz de ejecutarlo en un entorno afectado. Un programa de computación es sólo la codificación de un algoritmo en un lenguaje que la computadora entiende.

Podríamos pensar en una lavadora como un autómata; es una máquina capaz de realizar una tarea de manera autómata, en este caso, lavar la ropa.

Si le pedimos a la lavadora que lave la ropa, la lavadora seguirá el siguiente proceso:

  • utilizar agua y jabón del cajón.
  • calentar el agua a 40 grados.
  • dar vueltas durante 20 minutos. Es decir, lavar.
  • expulsar el agua.
  • incorporar más agua.
  • dar vueltas durante 10 minutos.
  • dar vueltas durante 10 minutos (aclarado).
  • expulsar el agua.
  • centrifugar

Podríamos considerar, por lo tanto, que todo este conjunto de acciones que la lavadora ha llevado a cabo, es el algoritmo diseñado para lavar la ropa.