Fundamentos de Programación: Conceptos, Lenguajes y Herramientas Esenciales

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

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

Conceptos Fundamentales de Programación

Programación
Acción de programar.
Programar
Ordenar acciones para realizar un proyecto.
Lenguaje de Programación
Lenguaje formal que proporciona la capacidad de escribir instrucciones o secuencias de órdenes para controlar el comportamiento de un PC.
Programa
Órdenes escritas mediante un lenguaje de programación.
Software de Programación
Programas utilizados para crear, depurar y mantener otros programas o aplicaciones.

La Instrucción y sus Componentes

Una Instrucción es un conjunto de datos insertados en una secuencia específica que el procesador interpreta y ejecuta.

  • Código de Operación: Indica al procesador qué operación debe realizar.
  • Operando: Indica los datos necesarios para realizar las operaciones, o las direcciones de memoria donde se encuentran dichos datos.

Tipos de Operaciones

Lógicas
Operaciones lógicas.
Aritméticas
Operaciones aritméticas.
Ruptura de Secuencia
Salto condicional o incondicional.
Transferencia de Datos (E/S)
Transferencia de información entre dispositivos del sistema (Entrada/Salida).
Control
Controla el desarrollo del programa.

Clasificación de Lenguajes de Programación

Lenguajes de Bajo Nivel

Se ejecutan directamente en el microprocesador. Están formados por palabras binarias. Sus características principales son:

  • Programas no intercambiables entre sistemas microprogramables.
  • Velocidad de ejecución alta.

Lenguaje Ensamblador

Las instrucciones están representadas mediante nemónicos (etiqueta/nemónico/operando), lo que facilita su escritura y lectura.

  • Ensamblaje: Proceso de traducción del lenguaje ensamblador a lenguaje máquina.
  • Ensamblador: Programa que realiza dicha traducción.

Lenguajes de Alto Nivel

Son lenguajes más evolucionados y cercanos al usuario. Son independientes de la máquina, es decir, no dependen de las instrucciones específicas del microprocesador.

El Proceso de Programación y Traducción

El proceso comienza al escribir el programa (Código Fuente), el cual debe transformarse a Código Máquina, entendible por el sistema microprogramable.

Herramientas de Traducción

  • Ensambladores: Transforman el lenguaje ensamblador a lenguaje máquina.
  • Compiladores: Transforman el resto de lenguajes (alto nivel) a lenguaje máquina.

Métodos de Ejecución

Compilador y Ensamblador
Leen dos veces el programa, generan el código máquina y lo ejecutan.
Intérprete
Lee una línea, la convierte a código máquina y la ejecuta inmediatamente. Es un proceso más lento.
Enlazador (Linkador)
Enlaza el código generado con librerías externas necesarias para la ejecución.

Metodologías de Desarrollo

Programación Estructurada

Conjunto de técnicas que incluyen el diseño descendente, la descomposición de acciones complejas en simples, y el uso de estructuras básicas de control:

  • Secuenciales
  • Selectivas
  • Repetitivas

Programación Modular

Consiste en la división del programa en módulos o tareas. Los módulos deben ser independientes entre sí.

Ventajas de la Programación Modular y Estructurada

Los programas resultan más fáciles, sencillos y rápidos de desarrollar. Facilita el debugging (seguimiento y corrección de fallos).

Algoritmos y Representación

Un Algoritmo es un conjunto de operaciones ordenadas para hallar la solución de un problema. Son independientes del lenguaje de programación y se representan mediante fórmulas, diagramas de flujo y pseudocódigo.

Fases del Algoritmo

  • Entrada: Instrucciones que toman datos de un dispositivo periférico externo.
  • Proceso: Instrucciones encargadas de procesar la información.
  • Salida de Datos: Instrucciones que envían los resultados del proceso a un dispositivo.

El Programa es la expresión de un algoritmo en un lenguaje de programación.

Herramientas de Representación Gráfica

Diagrama de Flujo

Símbolos estandarizados unidos por flechas que muestran la secuencia lógica de operaciones o acciones.

  • Organigrama: Representación gráfica del flujo de datos e información entre soportes físicos de un programa (típico de la fase de análisis).
  • Ordinograma: Representación gráfica de la secuencia lógica y detallada de las operaciones a realizar en la ejecución del programa.

Pseudocódigo

Método para escribir la solución de un problema empleando un lenguaje intermedio entre el lenguaje natural y el lenguaje de programación. Es una descripción de un algoritmo independiente del lenguaje de programación. No es un lenguaje real, sino una estructura de lenguaje de programación diseñada para ser leída por personas.

Entornos y Herramientas de Desarrollo (Lenguajes de Alto Nivel)

Editor de Texto
Tras seleccionar el lenguaje de programación, permite escribir el programa y generar el código fuente.
Compilador
Traduce el código fuente a código máquina, generando el programa objeto (.OBJ).
Enlazador (Linker)
Enlaza el programa objeto a librerías externas, generando el programa ejecutable (.exe).
Depurador (Debugger)
Herramienta que permite encontrar y corregir fallos (bugs).
Entorno de Desarrollo Integrado (IDE)
Un software que agrupa el editor de texto, compilador, enlazador, depurador, etc. Suelen incluir funcionalidades avanzadas como el autocompletado inteligente de código (IntelliSense).

Caso de Estudio: El Lenguaje C

El Lenguaje C es un lenguaje de programación procedimental, desarrollado por Dennis Ritchie entre 1969 y 1972. Sus características principales son:

  • No está ligado a un software o sistema operativo específico.
  • Es sencillo y ejecutable en cualquier máquina que pueda compilar C.
  • Es la base de muchos lenguajes de programación modernos.

Entradas relacionadas: