martes, 10 de junio de 2014

solución de problemas con computadora

existen muchas aplicaciones de desarrollo con las cuales podrías crear tus propios programas y resolver problemas utilizando la computadora. dependiendo de tu campo de acción, puedes aprender a programar en el lenguaje de programación apropiado.



La solución de un problema por computadora, requiere de siete pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en su elaboración. Los siete pasos de la metodología son los siguientes:
       
1. Definición del problema.
2. Análisis de la solución.
3. Diseño de la solución.
4. Codificación.
5. Prueba y depuración.
6. Documentación.
7. Mantenimiento.

1.Definición de problema: Es el enunciado del problema, el cual debe ser claro y completo. Es fundamental conocer y delimitar por completo el problema, saber que es lo que se desea que realice la computadora, mientras esto no se conozca del todo, no tiene caso continuar con el siguiente paso.

2. Análisis de la solución: Consiste en establecer una serie de preguntas acerca de lo que establece el problema, para poder determinar si se cuenta con los elementos suficientes para llevar a cabo la solución del mismo.

3. Diseño de la solución: Una vez definido y analizado el problema, se produce a la creación del algoritmo (Diagrama de flujo o pseudocodigo) en el cual se da la serie de pasos ordenados que nos proporcione un método explicito para la solución del problema.

4.Codificación: Consiste en escribir la solución del problema (de acuerdo al pseudocodigo); en una serie de instrucciones detalladas en un código reconocible por la computadora; es decir un lenguaje de programación (ya sea de bajo o alto nivel), a esta serie de instrucciones se le conoce como PROGRAMA.

5.Prueba y depuración: Prueba es el proceso de identificar los errores que se presenten durante la ejecución de programa, es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos:

- Trata de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error.
- Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos.
- Considerar todas las situaciones posibles, normales y aun las anormales.

La depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una situación adecuada y sin errores.

6. Documentación: Es la guía o comunicación escrita que sirve como ayuda para usar el programa, o facilitar futuras modificaciones. A menudo, un programa escrito por una persona es usado por muchas otras, por ello la documentación es muy importante; esta debe presentarse en tres formas: EXTERNA, INTERNA y al USUARIO FINAL.

-Interna: Consiste en los comentarios o mensajes que se agregan al código de programa, que aplican las funciones que realizan ciertos procesos, cálculos o formulas, para el entendimiento del mismo.

-Externa: Está integrada por los siguientes elementos: Descripción del problema, nombre del autor, diagrama de flujo y/o pseudocodigo, listas de variables y constantes, y codificación del programa, esto con la finalidad de permitir su posterior adecuación a los cambios.

- Usuario Final: es la documentación que se le proporciona al usuario final, es una guía que indica al usuario como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de los mismos, no contiene información de tipo técnico. 

7. Mantenimiento: Se lleva a cabo después de  terminado el programa, cuando se ha estado trabajando un tiempo, y se detecta que es necesario hacer un cambio, ajuste y/o complementación al programa para que siga trabajando de manera correcta. Para realizar esta función el programa debe estar debidamente documentado, lo cual facilitará la tarea. 

estructuras de programacion

3.8. PROGRAMACIÓN ESTRUCTURADA

La programación estructurada es una teoría de programación que consiste en construir programas de fácil comprensión, es especialmente útil, cuando se necesitan realizar correcciones o modificaciones después de haber concluido un programa o aplicación. Al utilizar la programación estructurada, es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes secciones.
Se basa en una metodología de desarrollo de programas llamada refinamiento sucesivos: Se plantea una operación como un todo y se divide en segmentos más sencillos o de menor complejidad, una vez terminado todos los segmentos del programa, se procede a unificar las aplicaciones realizadas por el grupo de programadores. Si se ha utilizado adecuadamente la programación estructurada, esta integración debe ser sencilla y no presentar problemas al integrar la misma, y de presentar algún problema, será rápidamente detectable para su corrección.
La representación grafica de la programación estructurada se realiza a través de diagramas de flujo, el cual representa el programa con sus entradas, procesos y salidas.
La programación estructurada propone segregar los procesos en estructuras lo más simple posibles, las cuales se conocen como secuencia, selección e interacción, que están disponibles en todos los lenguajes modernos de programación imperativa en forma de sentencias, combinando esquemas sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil entendimiento.
La programación estructurada es un método disciplinado de escribir programas que sean claros, que se demuestre que sean correctos y fáciles de modificar.

constantes y variables

CONSTANTES:

los datos o valores constantes que se utilizan en el curso o la ejecución de un programa que se denominan constantes, porque no cambian su valor en este caso se encuentran constantes como Pi que siempre tiene el valor 3.1416 o el numero 3 que siempre sera 3 mientras no se asigne una variable.

VARIABLES:

los daros que se van a procesar se almacenan en una localidad en la memoria de la computadora estos datos reciben el nombre de variables y pueden cambiar su valor durante la ejecución de un programa. Existen variables para todo tipo de datos; por el momento únicamente las dividiremos en dos:

1.- VARIABLES DE TEXTO: son aquellas que se emplean para almacenar cadenas de caracteres. no se utilizan en operaciones aritméticas por ejemplo nombres de personas o números de teléfono etc.

2.-VARIABLES NUMERICAS: almacenan numeros reales, enteros o decimales, positivos o negativos los terminos que integran la formula que soluciona el problema se sustituyen por el nombre de las variables donde se almacenan los datos correspondientes.

operadores aritmeticos

la mayoria de los programas y lenguajes de programacion utilizan una notacion especial para ejecutar las operaciones aritmeticas que se desarrolllann de acuerdo con sus jerarquias.



programacion estructurada

la programación estructurada se basa en el método científico y utiliza estructuras de control. para resolver problemas complejos, se dividen en pequeños módulos que los resuelven por partes. la solución de problemas utilizando computadoras involucra también ciertos operadores aritméticos, diagramas de flujo y un lenguaje natural denominado seudocodigo.

 

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación.
Surgió en la década de 1960, particularmente del trabajo de Böhm y Jacopini,1 y una famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 19682 — y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricasestructuras de control.

lenguajes de programación

para resolver problemas con la |computadora mediante la programación, es necesario aprender un lenguaje de programación capaz de traducir las ordenes del usuario al lenguaje de la maquina. un lenguaje de programación es similar a un humano: se vale de un conjunto de símbolos, instrucciones (generalmente en ingles) y enunciados que están sujetos a una serie de reglas; se compone de:

. LÉXICO: conjunto de símbolos conocido como vocabulario

.SINTAXIS: reglas para construir el lenguaje

.SEMÁNTICA: conjunto de significados de un lenguaje.