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:
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.).
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.
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:

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:

El procedimiento de resolución puede ser:
Directo

Indirecto

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:

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:

Ejemplo:

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.