Estructura general de un programa

Según Luis Joyanes Aguilar un programa de computadora es un conjunto de instrucciones (órdenes dadas a la máquina) que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin será probablemente definido como la información necesaria para solucionar un problema. El proceso de programación es, por consiguiente, un proceso de solución de problemas; y el desarrollo de un programa  tiene las siguientes etapas:

1. definición y análisis del problema; 

2. diseño de algoritmos: 

• diagrama de flujo, 

• diagrama N-S, 

• pseudocódigo; 

3. codificación del programa; 

4. depuración y verificación del programa; 

5. documentación; 

6. mantenimiento


PARTES CONSTITUTIVAS DE UN PROGRAMA:

Tras la decisión de desarrollar un programa, el programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada, salida y algoritmos de resolución, que incluirán las técnicas para obtener las salidas a partir de las entradas. Conceptualmente un programa puede ser considerado como una caja negra. La caja negra o el algoritmo de resolución, en realidad, es el conjunto de códigos que transforman las entradas del programa (datos) en salidas (resultados). El programador debe establecer de dónde provienen las entradas al programa. Las entradas, en cualquier caso, procederán de un dispositivo de entrada —teclado, disco...—. El proceso de introducir la información de entrada —datos— en la memoria de la computadora se denomina entrada de datos, operación de lectura o acción de leer. Las salidas de datos se deben presentar en dispositivos periféricos de salida: pantalla, impresoras, discos, etc. La operación de salida de datos se conoce también como escritura o acción de escribir. 

INSTRUCCIONES:

Ventajas:

  1. Organización: Una estructura bien definida hace que el código sea más legible y fácil de entender para los desarrolladores, lo que facilita la colaboración y el mantenimiento.

  2. Reutilización de código: Una estructura modular permite la reutilización de componentes de código en diferentes partes del programa o en otros proyectos, lo que ahorra tiempo y esfuerzo en el desarrollo.

  3. Escalabilidad: Una estructura flexible facilita la expansión y modificación del programa para adaptarse a nuevas funcionalidades o requisitos sin afectar negativamente al resto del sistema.

  4. Depuración simplificada: Una estructura organizada facilita la identificación y corrección de errores, ya que los problemas tienden a estar confinados a módulos específicos en lugar de estar dispersos por todo el código.

  5. Facilita el mantenimiento: Una estructura bien diseñada facilita la incorporación de cambios y actualizaciones en el programa, lo que prolonga su vida útil y reduce el riesgo de obsolescencia.

ELEMENTOS BÁSICOS DE UN PROGRAMA:

En programación se debe separar la diferencia entre el diseño del algoritmo y su implementación en un lenguaje específico. Por ello, se debe distinguir claramente entre los conceptos de programación y el medio en que ellos se implementan en un lenguaje específico. Sin embargo, una vez que se comprendan cómo utilizar los conceptos de programación y, la enseñanza de un nuevo lenguaje es relativamente fácil. Los lenguajes de programación —como los restantes lenguajes— tienen elementos básicos que se utilizan como bloques constructivos, así como reglas para las que esos elementos se combinan. Estas reglas se denominan sintaxis del lenguaje. Solamente las instrucciones sintácticamente correctas pueden ser interpretadas por la computadora y los programas que contengan errores de sintaxis son rechazados por la máquina. Los elementos básicos constitutivos de un programa o algoritmo son: 

• palabras reservadas (inicio, fin, si-entonces..., etc.),

• identificadores (nombres de variables esencialmente, procedimientos, funciones, nombre del programa, etc.), 

• caracteres especiales (coma, apóstrofo, etc.), 

• constantes, 

• variables, 

• expresiones, 

• instrucciones.

 Además de estos elementos básicos, existen otros elementos que forman parte de los programas, cuya comprensión y funcionamiento será vital para el correcto diseño de un algoritmo y naturalmente la codificación del programa. Estos elementos son: 

• bucles, 

• contadores, 

• acumuladores, 

• interruptores, 

• estructuras:

 1. secuenciales,

 2. selectivas, 

3. repetitivas.

El amplio conocimiento de todos los elementos de programación y el modo de su integración en los programas constituyen las técnicas de programación que todo buen programador debe conocer

Desventajas:

  1. Complejidad inicial: El diseño de una estructura eficiente puede requerir tiempo y esfuerzo significativos al principio del desarrollo, lo que puede aumentar la complejidad y el costo del proyecto.

  2. Rigidez: Una estructura demasiado rígida puede dificultar la adaptación del programa a cambios futuros, lo que puede resultar en la necesidad de reescribir grandes partes del código para introducir nuevas funcionalidades.

  3. Dificultad para entender: Una estructura mal diseñada o excesivamente complicada puede dificultar la comprensión del programa, especialmente para desarrolladores nuevos o externos al proyecto.

  4. Sobrecarga de mantenimiento: Una estructura excesivamente modular puede generar una sobrecarga de mantenimiento si no se gestiona adecuadamente, ya que cada módulo adicional aumenta la complejidad del sistema.

  5. Desperdicio de recursos: Una estructura demasiado granular puede resultar en la creación de componentes de código innecesarios o redundantes, lo que consume recursos de desarrollo y memoria sin aportar beneficios significativos al programa.

EJEMPLO:

# Definición de la función principal

def main():

# Solicitar al usuario que ingrese dos números

num1 = float(input("Ingrese el primer número: "))

num2 = float(input("Ingrese el segundo número: "))

# Llamar a la función para sumar los números ingresados

resultado = sumar_numeros(num1, num2)

# Mostrar el resultado de la suma

print("El resultado de la suma es:", resultado)

# Definición de la función para sumar dos números

def sumar_numeros(a, b):

return a + b

# Verificar si este archivo es el programa principal

if __name__ == "__main__":

# Llamar a la función principal si este archivo es el programa principal

main()


En este ejemplo:

  1. La función main() es la función principal del programa. Es donde ocurre la lógica principal del programa.
  2. Se definen otras funciones, como sumar_numeros(), que realizan tareas específicas dentro del programa.
  3. El bloque if __name__ == "__main__": garantiza que el código dentro de este bloque se ejecute solo si este archivo es el programa principal que se está ejecutando, y no si se importa como un módulo en otro programa.
  4. Este es un ejemplo muy simple y básico de la estructura de un programa. En proyectos más grandes y complejos, esta estructura se puede expandir y modularizar aún más para facilitar el desarrollo, la mantenibilidad y la escalabilidad.

REFERENCIAS:

Fundamentos de programación: algoritmos, estructura de datos y objetos (4a. ed.). 

 Metodología de la Programación. Enfoque práctico. Cáceres: UEX. CRIADO, M.ª Asunción (2005). Programación en lenguajes estructurados



¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar