Conceptos Esenciales de Programación: Lenguajes, Algoritmos y Ciclo de Desarrollo

Clasificado en Informática

Escrito el en español con un tamaño de 7,68 KB

Lenguajes de Programación

Lenguaje Máquina

El lenguaje máquina es el lenguaje que entiende directamente el PC. Es binario (0s y 1s) y resulta muy difícil para los humanos, siendo propenso a errores.

Lenguaje de Bajo Nivel

Más fácil que el lenguaje máquina. El lenguaje ensamblador fue el primer lenguaje de programación que intentó sustituir el lenguaje máquina por uno más sencillo. Utiliza instrucciones mnemotécnicas (ej. ADD para SUMAR). Su principal problema es que está muy ligado a la arquitectura de la máquina.

Lenguaje de Alto Nivel

Diseñados para que los programadores escriban y entiendan las instrucciones en menos tiempo. Son independientes de la máquina y se pueden ejecutar sin modificaciones significativas en diferentes PCs.

Creación de un Programa

¿Qué es un Programa?

Un programa es un conjunto de sentencias que se procesan en una determinada secuencia para formar órdenes que modifican datos y obtener un resultado específico. Las órdenes se dividen en:

  • Entrada de datos: Todas las instrucciones que recogen datos de un dispositivo y los almacenan en la memoria central.
  • Proceso o Algoritmo: Se escriben las instrucciones para procesar los datos recogidos. Los resultados se guardan en la memoria principal.
  • Salida de datos o Resultado: Son instrucciones que toman los resultados del proceso y los envían a los dispositivos de salida.

Las instrucciones son informaciones que indican al PC una acción a realizar.

Fases del Proceso de Programación

El desarrollo de un programa sigue una serie de fases:

  1. Definición del problema.
  2. Diseño de la solución.
  3. Codificación (escritura del código).
  4. Compilación (traducción a lenguaje máquina).
  5. Depuración (corrección de errores).
  6. Explotación (puesta en marcha y mantenimiento).

Procedimiento de Depuración

La depuración sirve para disminuir el coste de implementación, mejorar el rendimiento y garantizar un buen funcionamiento del sistema. Incluye los siguientes procedimientos:

  • Detección de errores de compilación: Busca errores sintácticos y los soluciona.
  • Detección de errores en el funcionamiento: Aunque no haya errores de sintaxis, se verifica si el programa cumple la finalidad para la que fue diseñado.
  • Optimización de la programación: Proceso para hacer el programa más rápido y eficiente.

Algoritmos y Diagramas de Flujo

¿Qué es un Algoritmo?

Un algoritmo es una sucesión de pasos lógicos y ordenados para resolver un problema o realizar una tarea específica.

Símbolos Comunes en un Diagrama de Flujo

Un diagrama de flujo es una representación gráfica de un algoritmo. Los símbolos más comunes son:

  • Terminal: Representa el inicio o fin del algoritmo (forma de óvalo).
  • Proceso: Indica una operación o acción a realizar (forma de rectángulo).
  • Decisión: Representa un punto donde se toma una decisión (forma de rombo).
  • Entrada/Salida de Información: Indica la entrada o salida de datos (forma de paralelogramo).
  • Pantalla: Representa la visualización de información en una pantalla (forma de óvalo cortado).

Tipos de Datos y Operadores

Tipos de Datos

Los datos son elementos que forman unidades de información para procesar dentro de un programa. Los programas deben definir los datos, especificando:

  • El Identificador: Es el nombre del dato.
  • El Tipo: Define la naturaleza del dato y su rango de valores (ej. entero, flotante, cadena de texto).
  • El Valor: Es el contenido actual del dato.

Los datos pueden ser constantes (su valor no cambia) o variables (su contenido puede modificarse durante la ejecución del programa hasta que una instrucción lo indique).

Operadores

Los operadores son símbolos que permiten conectar los datos entre sí para facilitar las operaciones y realizar cálculos o comparaciones (ej. +, -, *, /, ==, <, >).

Paradigmas de Programación

Programación Modular

La programación modular se basa en dividir un programa en varios módulos o subprogramas independientes que interactúan entre sí mediante llamadas y procedimientos. Un módulo principal coordina y llama al resto de los módulos, integrando el programa en su totalidad. Esto facilita la organización, el mantenimiento y la reutilización del código.

Programación Estructurada

En la programación estructurada, las sentencias incluidas en el código se ejecutan de forma lineal y sencilla, con una sola entrada y salida para cada bloque de código. Se clasifica en tres tipos de estructuras de control:

  • Secuenciales: Las instrucciones se ejecutan una tras otra en el orden en que aparecen.
  • Repetitivas o de Iteración: Permiten ejecutar un bloque de código múltiples veces (bucles).
  • Condicionales o Selectivas: Permiten ejecutar diferentes bloques de código según el cumplimiento de una condición.

Introducción a la Programación Orientada a Objetos (POO)

La Programación Orientada a Objetos (POO) es la evolución lógica de la programación estructurada. Se basa en dividir los programas en pequeñas unidades lógicas de código llamadas objetos, que se comunican entre sí mediante mensajes. Los conceptos clave de la POO incluyen:

  • Objetos: Instancias de una clase (ej. un coche específico).
  • Clases: Plantillas o moldes para crear objetos (ej. la serie de coches "Sedán").
  • Herencia: Permite que una clase (subclase) adquiera propiedades y comportamientos de otra clase (superclase).
  • Envío de Mensajes: Mecanismo por el cual los objetos interactúan entre sí, solicitando la ejecución de métodos.

Generaciones de Lenguajes de Programación

Los lenguajes de programación han evolucionado a través de distintas generaciones:

  • 1GL (Primera Generación): Se refiere al lenguaje máquina. En esta etapa, el hardware era prioritario sobre el software.
  • 2GL (Segunda Generación): Introduce el lenguaje ensamblador, que utiliza mnemónicos para representar las instrucciones de máquina.
  • 3GL (Tercera Generación): Son los lenguajes de alto nivel, como Fortran, COBOL, Pascal o C. Están diseñados para ser más legibles y portables.
  • 4GL (Cuarta Generación): Derivados de los anteriores, estos lenguajes ofrecen más herramientas y abstracciones para el desarrollo rápido de aplicaciones (ej. SQL para bases de datos).
  • 5GL (Quinta Generación): Orientados a la inteligencia artificial y la programación lógica/declarativa, buscan que los PCs sean capaces de realizar propósitos con reglas, sin necesidad de especificar el "cómo".

Entradas relacionadas: