Clasificación de Condicionantes y Métodos de Resolución en el Diseño de Programas de Ingeniería

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 6,04 KB

Resumen del Módulo

Entrega n.º 8 del curso *Bases de la Programación Nivel I*.

Codificación aprenderaprogramar.com: CU00109A

Sobre los Condicionantes en la Programación

Los **condicionantes** son todos los factores que afectan a la **resolución del problema**. Después de establecer un objetivo centrado y enfocado, debemos valorar qué condicionantes nos afectan y si poseemos un conocimiento suficiente de ellos.

Podemos hacer la siguiente clasificación:

  1. Condicionantes de Cálculo

    Aquellos que afectan a la **estrategia de resolución** del problema.

    Ejemplo: En un programa para calcular las pérdidas de carga en tuberías, admitir o no la presencia de accesorios (codos, válvulas, etc.).

  2. Condicionantes Tipo Parámetro

    Son los referidos a materiales, dimensiones o formas geométricas, tiempos, etc.

    Ejemplo: La **viscosidad** de un líquido o el **peso específico** de un material.

  3. Condicionantes Bifurcadores

    Serían los que, en función de un valor introducido por el usuario o un valor resultado intermedio, llevan a **distintas vías de resolución**.

    Ejemplo: Para el cálculo de pérdidas de carga en una tubería, el condicionante: "¿Se trata de régimen laminar?" supone la bifurcación:

    Diagrama de flujo de bifurcación
  4. Condicionantes Tipo Restricción

    Estos se subdividen en dos categorías:

    • Restricción para Admisión de Datos (Entrada)

      Pueden resultar no admisibles ciertos valores para datos de entrada, bien por motivos técnicos, comerciales u operativos, o bien por **imposibilidad física o matemática**, etc.

      Ejemplo: Para ordenar una serie de números es viable aceptar números positivos o negativos. En cambio, si pedimos la altura de un pilar, no tiene sentido admitir un valor negativo.

      Si tratamos de realizar ciertos cálculos relacionados con una nave industrial, podemos acotar el rango de luz o distancias entre pilares a distancias técnicamente viables. Podemos preparar el programa para que detecte cualquier valor que consideremos **anómalo** e impida la continuación de procesos hasta que se corrija.

    • Restricción para la Emisión de Resultados (Salida)

      Ciertos datos de entrada en principio viables pueden dar lugar a **resultados no admisibles**.

      Ejemplo: Se trata de determinar el número de farolas necesarias por kilómetro para la iluminación de una avenida, siendo la dimensión de la base de la farola *40x40 cm*. Si por cualquier circunstancia el programa llegara a un valor de más farolas de las que física o razonablemente se pueden disponer, deberíamos abortar la presentación del resultado e instar a corregir los datos de partida (como potencia, altura, etc.) para poder obtener un **resultado viable**. Podemos preparar el programa para que detecte cualquier resultado que pudiéramos considerar anómalo, impidiendo su presentación y mostrando un mensaje de error o advertencia.

Sobre el Método o Esquema de Resolución

Una vez determinado el objetivo y conocidos los condicionantes, valorar el **método o esquema de resolución** para el problema planteado será el siguiente paso en el proceso de conocer el problema. Será una etapa más a cumplir antes de empezar a trabajar en su programación.

Los métodos aplicables son muy diversos, por lo que es difícil hacer acotaciones teóricas respecto a los mismos. Haremos, pues, una **clasificación práctica** de distintas formas o tipos de resolución de problemas a los que nos enfrentaremos como programadores. Un programa extenso puede ser una mezcla de distintos tipos de problema.

Problema con Resolución Directa

Se trataría de todo tipo de problemas que solucionamos mentalmente, de forma sencilla, en uno o varios pasos. El esquema al que nos referimos sería del tipo:

Diagrama de flujo de resolución directa

El procedimiento de resolución puede ser:

  • Directo

    Diagrama de flujo de resolución directa simple
  • Indirecto

    Diagrama de flujo de resolución indirecta

En resumen, se trataría de programas o partes de programas en los que únicamente utilizamos **razonamientos más o menos directos**, operaciones básicas (sumas, restas, ...), reglas de tres, fórmulas poco complejas, etc.

Ejemplo:

Ejemplo de problema de resolución directa

Puede darse el caso de problemas largos (muchos pasos a dar) pero con operaciones sencillas. Más que la longitud, será la existencia de **múltiples bifurcaciones** lo que pueda complicar la programación.

Problema con Resolución Documentada

Se trataría de un problema con tipología similar al anterior, pero que no resolvemos directamente, sino mediante una consulta a prontuarios, manuales, libros o apuntes. El esquema sería del tipo:

Diagrama de flujo de resolución documentada

Ejemplo:

Ejemplo de problema de resolución documentada

Aparte de lo dicho para el caso anterior, convendrá tener cuidado con el uso de **fórmulas matemáticas** y su escritura. Lo estudiaremos más adelante.

Entradas relacionadas: