Source: http://primerospasosparaprogramar.wordpress.com/2010/11/17/programacion-en-c-resolucion-de-problemas/
Timestamp: 2014-03-10 01:00:08+00:00

Document:
Programación en C++: Resolución de problemas | Primeros pasos para programar
← Intrucciones de alternativa if else, compréndalo en c++
El operador módulo en C++ →
Programación en C++: Resolución de problemas	Publicado en noviembre 17, 2010	de Javi Pizarro La metodología de la programación nos marca pautas para la resolución de problemas. Te voy a mostrar los pasos que debes de seguir para resolver pequeños y grandes problemas de programación, al final de este artículo serás capaz de analizar problemas y pensar en programación. Esto es un proceso que no se consigue sólo con estudiar las pautas sino que, se aprende con la experiencia y con la práctica.
La programación intenta resolver problemas cotidianos, dar solución a actividades que son mecánicas y monótonas, en definitiva, intentar satisfacer unos requisitos y hacerlo lo más eficiente posible. Muchas veces la resolución de un problema es inviable o ineficiente si se realiza mediante un programa. Por ello apareció el concepto de crisis del software, crisis en la cual se pensaba que un problema resuelto mediante programación sería mas eficiente y daría mejores resultados. Esta crisis se acentuó cuando se creaban programas que no seguían las pautas de desarrollo marcadas por la ingeniería del software y se realizaban programas que no satisfacían los requisitos de los clientes.
Voy a hacer que tú, desde el principio, aun siendo programas pequeños y simples, pienses como un ingeniero y te acostumbres a seguir una metodología de programación adecuada a la ingeniería del software y así, crear programas de mayor calidad. Los programas que iremos realizando serán consecuentes con los conocimientos que vayáis adquiriendo.
Para que comprendas mejor la metodología a seguir a la hora de resolver un problema, te lo voy a mostrar con un ejemplo sencillo. Voy a plantearte un pequeño problema y vamos a resolverlo siguiendo unas pautas que, a partir de ahora deberás de seguir para resolver los problemas.
Se quiere realizar un programa que obtenga la división de 2 números. El programa pedirá dos números al usuario y este devolverá por pantalla el resultado.
1.- ANÁLISIS. En esta fase, se hará un planteamiento del problema y se verá las condiciones y el control de las cosas que hemos de tener en cuenta. No debemos pensar ni en el lenguaje ni como lo vamos a resolver, sólo debemos hacer un análisis completo. En esta fase no debes de olvidar ningún detalle por pequeño que sea sino, el resultado final de tu programa no resolverá los requisitos pedidos.
Para el problema anterior, el usuario introducirá dos números, un numerador y un denominador, tenemos que tener en cuenta que si el denominador es cero el resultado de la división es infinito, y eso un computador no lo puede resolver, por tanto hemos de tener en cuenta esa restricción. También hay que tener en cuenta que los números introducidos deben de ser reales, ya que, en el resultado nos pueden dar decimales.
2.-DISEÑO. En esta fase pensamos la resolución de nuestro problema sin pensar en que lenguaje lo voy a resolver. Ya dije que el lenguaje es independiente a la resolución de los problemas de programación. Lo que si debemos ver es que medios vamos a utilizar.
Para nuestro problema, vamos a utilizar tres variables de tipo real, una será el numerador, otra el denominador y una que será el resultado. Todo lo vamos hacer mediante la salida estándar, la petición de datos y el resultado. (Se podría hacer mediante una ventana creada por nosotros pero, todavía no tenemos conocimientos por lo que utilizaremos, en principio, siempre la salida estándar.
3.- IMPLEMENTACIÓN. En esta fase es cuando te planteas en que lenguaje vas a solucionar el problema, unas veces es factible c++ otras veces no lo será, esto dependerá del tipo de problema. Después de elegir el lenguaje programamos, teniendo en cuenta el análisis y aplicando el diseño.
En nuestro caso, la implementación la vamos hacer en c++, y quedaría de la siguiente manera:
En la imagen anterior he implementado el problema según el análisis y el diseño realizado, al haberlo estudiado exhaustivamente la implementación es un proceso rápido, eso si, se tiene que dominar el lenguaje en el que se programe. En los grandes proyectos la implementación ocupa el 10% del total del tiempo de desarrollo.
4.-PRUEBAS. Las pruebas es la parte en el que se observa si el programa responde como queremos y satisface los requisitos del enunciado del problema. Dijimos que el programa debía de responder de la siguiente manera, si el denominador es 0 habría que tenerlo en cuenta, en caso contrario debiamos de sacar pon pantalla el resultado. Vamos a verlo:
Este es el resultado que obtenemos si el usuario introduce un 0 en el
denominador, obserbamos que nos muestra un mensaje de error o advertencia.
Aquí observamos que el programa responde a lo que hemos analizado.ñ Nos devuelve por pantalla el resultado de la división. Habría que hacer muchas más comprobaciones y pruebas. Depende de la envergadura del problema. Normalmente las pruebas ocupan un 50% del proyecto, por que también incluyen el mantenimiento.
Quiero que me dejes un comentario contándome que te ha parecido el artículo y consultando tus dudas. Probad el ejercicio y comentadme. Yo mismo os responderé.
Ingeniero informático dedicado a la docencia, con experiencia en creación de programas de gestión y desarrollo de aplicaciones web.	Ver todas las entradas por Javi Pizarro →	Esta entrada fue publicada en Programacion y etiquetada aprende a programar, ayudame a programar, como aprender a programar, curso de programacion basica, cursos de programacion, gana dinero programando, lenguajes de programacion, Primeros pasos para programar, programacion basica, programacion fácil, programacion para principiantes, programar en c, tecnicas de programacion. Guarda el enlace permanente.	← Intrucciones de alternativa if else, compréndalo en c++
11 respuestas a Programación en C++: Resolución de problemas
Wilman dijo:	diciembre 13, 2010 en 5:46 pm	Excelente introducción a la programación. ¡¡¡
Responder	Javi Pizarro dijo:	diciembre 14, 2010 en 11:27 am	Hola wilman, gracias por tu comentario. Espero que continues leyendo articulos y comentes los mismos. Tanto lo bueno como lo malo y lo que podría aportar para solucionar tus problemas. Un saludo.
Responder	raul galvez cachairo dijo:	enero 29, 2011 en 1:03 am	wenas
que es el matenimiento del programa??¿¿
Responder	Javi Pizarro dijo:	enero 31, 2011 en 3:17 pm	El mantenimiento es una de las fases de la vida de un software. Cuando tu creas un software y lo instalas en alguna empresa, en el 99% de los casos no va a ir de color de rosas. Siempre fallarán cosas habrá que cambiar cosas, habrá que arreglar errores. Esa es la fase de mantenimiento. Es como cuando compras un coche y periodicamente tienes que ir a realizar la revisión y si te falla, tienes que ir a repararlo.
Responder	raul galvez cachairo dijo:	febrero 2, 2011 en 6:31 pm	wenas javi
se me quedo muy caro GRACIAS
Responder	Javi Pizarro dijo:	febrero 3, 2011 en 10:08 am	Me alegro mucho, muchas gracias
Responder	Hannibal dijo:	febrero 22, 2011 en 12:01 am	Hola a todos .
En especial , darte las gracias , Javier , por el enorme aporte que ofreces .
Estudio 2º de CFGS de regulación y control y la verdad es que si no doy contigo …. me suicido.
Gracias de verdad , e intentaré hacer todos los ejercicios que pueda y así aprender.
Responder	Javi Pizarro dijo:	febrero 22, 2011 en 11:15 am	Gracias hannibal, me alegra poder ayudarte y me da fuerzas para continuar.
Responder	Juan dijo:	abril 15, 2011 en 12:44 am	muy buena la pagina.
por facor si me puede indicar como se puede con Dev-c++ manejar el port paralelo de una pc, direccionando a 378h,? como se expresa el import, y el outport.?
Responder	khaoula dijo:	noviembre 8, 2011 en 6:55 pm	hola por favor mi puede ayudar algien se sea posible ahora en resolver ese problema :Diseñar un programa que lea el ordinal de un mes y deduzca el número de días que
es q no me sale muchas gracias
Responder	khaoula dijo:	noviembre 8, 2011 en 6:57 pm	en c++ gracias Responder	Deja un comentario Cancelar respuesta
WordPress.com	Primeros pasos para programar	El tema Twenty Ten	Blog de WordPress.com.

References: Resolución 
 Resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 Resolución