Condicionantes (de cálculo, parámetros...) y métodos para resolver problemas de programación I (CU00109A)

esumen: Entrega nº8 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00109A

 

 

SOBRE LOS CONDICIONANTES

 
Llamamos condicionantes a todos los factores que afectan a la resolución del problema. Después de tener un objetivo centrado y enfocado tendremos que valorar qué condicionantes nos afectan y si tenemos 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: viscosidad de un líquido, 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:
 
 
 
4.   Condicionantes tipo restricción:
 
 
4.1   Para admisión de datos: pueden resultar no admisibles ciertos valores para datos de entrada, bien por motivos técnicos, comerciales u operativos, o bien por imposibilidad física, 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 tanto no se corrija.
 
 
4.2   Para la emisión de resultados: 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 a que nos referimos sería del tipo:

 

 

El procedimiento de resolución puede ser directo como:
 
 
O bien indirecto como:

 

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

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación