Fundamentos de la Programación: Conceptos Clave y Etapas

¿Qué es Programar?

Programar es crear una serie de órdenes dirigidas a un ordenador para que lleve a cabo tareas con el objetivo de solucionar un problema. La programación permite la ejecución de tareas automatizadas en un sistema informático. Para conseguirlo, se utilizan **lenguajes de programación**.

¿Qué es un Programa?

Un programa es una secuencia de instrucciones entendibles por los ordenadores que permiten la realización de tareas para las que ha sido creado.

Código Fuente

Las instrucciones se escriben en lo que se denomina **código fuente**: las instrucciones que el programador indica que deben ser ejecutadas para realizar las acciones para las que el programa ha sido diseñado. Sin embargo, esto no se comprende directamente y primero tiene que ser traducido a **código binario**. Para ello, se utilizan traductores llamados **compiladores** e **intérpretes**.

Partes de la Programación

  1. Entrada de Datos: Instrucciones que recogen datos de un dispositivo para ser almacenados en la memoria principal a la espera de ser procesados.

  2. Proceso: Instrucciones encargadas de procesar los datos recogidos anteriormente. Los resultados se almacenan de nuevo en la memoria principal.

  3. Salida de Resultados: Instrucciones del programa que recogen los resultados obtenidos en la fase anterior y los envían a los dispositivos.

Lenguajes de Programación

Un **lenguaje de programación** es un conjunto de caracteres y reglas que permiten crear un programa para introducir y tratar la información en un ordenador. Son artificiales, con el objetivo de conseguir la comunicación entre el humano y la máquina.

Tipos de Lenguajes

  • Lenguaje Máquina: Entendido directamente por la computadora, utiliza el sistema binario (dígitos 0 y 1) y el microprocesador.

  • Lenguajes de Bajo Nivel: Creados intentando sustituir el lenguaje máquina por uno más similar al utilizado por el hombre.

  • Lenguajes de Alto Nivel: Más fáciles de aprender, ya que se parecen más al lenguaje natural, utilizando palabras del lenguaje. Son independientes de la máquina y necesitan un compilador.

Compiladores

Los **compiladores** son programas cuya finalidad es traducir instrucciones enviadas a una máquina en un lenguaje de alto nivel que el equipo pueda entender.

Ventajas de un Compilador

  • El programa ejecutable no incluye el código fuente, lo que hace que el código compilado sea más seguro.
  • Un programa compilado se ejecuta más rápidamente que un programa que está siendo interpretado, ya que la traducción se realiza con una máquina.

Desventajas de un Compilador

  • El código objeto necesita crearse para obtener el archivo ejecutable final.
  • El código fuente debe estar libre de errores para que el archivo ejecutable se genere.
  • El archivo ejecutable generado por el compilador solo funcionará en el sistema operativo en el que fue creado.

Intérpretes

Un **intérprete** es un programa que transcribe a lenguaje máquina y ejecuta una por una las instrucciones en la secuencia descrita en el programa fuente. Traduce y ejecuta las instrucciones del programa línea a línea.

Ventajas de un Intérprete

  • Al ejecutarse línea a línea, resulta más fácil de depurar y comprobar errores.
  • Si el programa es muy largo, un intérprete resulta más rápido que un compilador.

Desventajas de un Intérprete

  • El código fuente se requiere para poder ejecutar un programa.
  • Los intérpretes son más lentos que los programas ejecutables.

Clasificación de Lenguajes de Programación

Según el Propósito de Creación

  1. Lenguajes de propósito general
  2. Lenguajes de propósito específico

Según el Paradigma de Programación

  1. Lenguajes imperativos
  2. Lenguajes declarativos
  3. Lenguajes funcionales
  4. Lenguajes lógicos
  5. Lenguajes orientados a objetos

Código Fuente

El **código fuente** consiste en uno o más archivos que contienen las instrucciones de programación con las cuales un desarrollador de software ha creado determinado programa.

Algoritmo

Un **algoritmo** es una secuencia de pasos organizados a seguir para resolver un problema. Debe tener las siguientes características:

  1. Los pasos tienen que ser explícitos y no introducir errores.
  2. El número de pasos debe ser finito, de forma que el algoritmo se pueda ejecutar en un tiempo finito.
  3. Son independientes.

Resolución de un Problema Mediante la Creación de un Programa: Etapas de Programación

  1. Definición del Problema: El enunciado del problema debe ser claro y completo, es decir, qué se desea obtener al final del proceso.

  2. Análisis de los Datos: Para definir el problema, se requieren las especificaciones de entrada y salida descritas con detalle. Analizar los resultados, los datos de entrada disponibles y cómo alcanzar un resultado.

  3. Diseño del Algoritmo (Solución): Fase que busca dar solución al problema, para lo que se diseña el algoritmo correspondiente. El algoritmo resultante se representa en forma de diagrama de flujo.

  4. Codificación del Programa (Obtención del Código Fuente y del Código Objeto): Obtención de un programa que pueda ser comprensible para la máquina. Primera etapa de escritura del programa en el lenguaje de alto nivel y, en una segunda etapa (compilación), el lenguaje de alto nivel se traduce al lenguaje máquina, obteniéndose el código objeto.

  5. Prueba y Depuración: Se inicia la prueba introduciendo datos válidos e inválidos y observando cómo reacciona en cada ocasión. La depuración consiste en localizar los errores y corregirlos en caso de que existan. Si no existen errores, se pasa a la etapa de refinamiento, en la que se ajustan detalles para optimizar el desempeño del programa.

  6. Documentación: Sirve para ayudar a comprender o usar un programa o facilitar futuras modificaciones.

  7. Mantenimiento: Actualizaciones que deben aplicarse al programa cuando las circunstancias así lo requieren. Deberá ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operación y deberá reflejarse en su documentación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.