1. resolucion de problemas

Preview:

Citation preview

Elaborado por: Ing. Alberto Perez 1

Herramientas de programación

*Resolución de problemas

2

*Fases de la solución

*El proceso de resolución de un problema con la computadora conduce a la escritura de un programa y a su ejecución de la misma.

*Aunque el proceso de diseñar el programa es esencialmente UN PROCESO CREATIVO.

Elaborado por: Ing. Alberto Perez

3

*Fases de la solución

*Esto se puede considerar una serie de pasos o de fases, que generalmente deberían de seguir TODOS los programadores.

Elaborado por: Ing. Alberto Perez

4

*Fases de la solución

*Las fases son:

*Análisis del problema

*Diseño del algoritmo

*Codificación

*Compilación y ejecución

*Verificación

*Depuración

*Mantenimiento

*Documentación

Elaborado por: Ing. Alberto Perez

Elaborado por: Ing. Alberto Perez 5

*Fases de la solución

* Análisis: El problema se razona teniendo en mente la especificación de los requisitos.

* Diseño: Una vez analizado se diseña una solución, que conducirá al algoritmo de solución.

* Codificación: Es la implementación del diseño por medio de un lenguaje de programación.

Elaborado por: Ing. Alberto Perez 6

*Fases de la solución

*Compilación, ejecución y verificación: El programa se ejecuta, se comprueba y eliminan bugs.

*Depuración y mantenimiento: El programa se actualiza y modifica cada vez que sea necesario.

*Documentación: Se escritura cada una de las fases del software, manuales, etc.

Elaborado por: Ing. Alberto Perez 7

*¿ALGORITMO?

*Es un método para resolver un problema mediante una serie de pasos precisos, definidos y finitos.

Elaborado por: Ing. Alberto Perez 8

*ALGORITMOS

*Características:

*Preciso: indica el orden de realización en cada paso

*Definido: Si se sigue 2 veces se obtiene el mismo resultado cada vez.

*Finito: Tiene fin, dura un número determinado de pasos.

Elaborado por: Ing. Alberto Perez 9

*ALGORITMOS

*Ejemplos:

*Montar en bicicleta.

*Hacer una receta de cocina.

*Obtener el máximo común divisor.

Elaborado por: Ing. Alberto Perez 10

*ALGORITMOS

*Se pueden expresar en:

*Fórmulas.

*Diagramas de flujo.

*Pseudocódigos.

Esta última es la más utilizada en lenguajes estructurados como C.

Elaborado por: Ing. Alberto Perez 11

*ALGORITMOS

*La premisa de los algoritmos es DIVIDE Y VENCERÁS.

*Este método se conoce como método descendente o TOP DOWN.

Elaborado por: Ing. Alberto Perez 12

*ALGORITMOS

*Regularmente un programa tiene:

*Un programa principal (llamará a subprogramas) .

*Los subprogramas pueden llamar a otros programas.

*El método de romper los programas en módulos mas pequeños se llama PROGRAMACIÓN MODULAR.

Elaborado por: Ing. Alberto Perez 13

*Herramientas de programación

*Diagrama de flujo(flowchart):

Es una representación gráfica de un algoritmo.

Elaborado por: Ing. Alberto Perez 14

*Herramientas de programación

*Pseudocódigo: Es una herramienta en la que las instrucciones se escriben en palabras similares al ingles o español.

Elaborado por: Ing. Alberto Perez 15

*Ejemplo

*Calcular el pago de un trabajador conociendo el número de horas trabajadas, la tarifa por hora y la tasa de impuestos.

Elaborado por: Ing. Alberto Perez 16

*Ejemplo

*Algoritmo

1. Leer horas, tarifa, impuestos.

2. Calcular pagaBruta = horas * tarifa.

3. Calcular impuestos = pagaBruta * tasa.

4. Calcular pagaNeta = pagaBruta – impuestos.

5. Visualizar pagaBruta, impuestos, pagaNeta.

Elaborado por: Ing. Alberto Perez 17

*Conceptos y características

*Debemos siempre tener en mente que el PROGRAMADOR de computadoras es antes que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático.

Elaborado por: Ing. Alberto Perez 18

*Conceptos y características

*La resolución de un problema EXIGE!!! El diseño de un algoritmo que resuelva la situación propuesta.

Elaborado por: Ing. Alberto Perez 19

*Conceptos y características

*Los pasos para resolver un problema son:

1. Diseño del algoritmo: describe la secuencia ordenada de pasos SIN AMBIGÜEDADES.

2. Expresar el algoritmo: Implementar el algoritmo en un lenguaje de programación.

3. Ejecución y validación.

Elaborado por: Ing. Alberto Perez 20

*Conceptos y características

*Los algoritmos son independientes del lenguaje de programación en el que se implementen, así como de la máquina en la que se ejecutan.

Elaborado por: Ing. Alberto Perez 21

*Características de los Algoritmos

* Preciso, definido, finito.

La definición de un algoritmo debe describir 3 partes:

* Entrada: Datos que necesitamos de una fuente externa.

* Proceso: Uso de datos y lógica para el desarrollo de la solución.

* Salida: Solución del problema.

Elaborado por: Ing. Alberto Perez 22

*Características de los Algoritmos

*Ejercicio:

*Diseñar el algoritmo para realizar la suma de todos los numero pares entre 2 y 1000.

Elaborado por: Ing. Alberto Perez 23

*Características de los Algoritmos

* Solución:

1. Inicio

2. Establecer SUMA a 0.

3. Establecer NÚMERO a 2.

4. Sumar NÚMERO a SUMA. El resultado será el nuevo valor de la suma (SUMA).

5. Incrementar NÚMERO a 2 unidades.

6. Si NÚMERO =< 1000 ir al paso 4; en caso contrario escribir el ultimo valor de SUMA y terminar el proceso.

7. Fin