Anda di halaman 1dari 26

Fundamentos de Programacin

UNIDAD II
METODOLOGAS QUE PERMITEN DESARROLLAR ACTIVIDADES BSICAS DE LA PROGRAMACIN.
La buena programacin no se aprende de generalidades, sino viendo como los programas significativos pueden hacerse claros, fciles de leer, fciles de mantener y modificar, pensados para los humanos eficientes y confiables; aplicando el sentido comn y buenas prcticas de programacin. El estudio cuidadoso y la imitacin de buenos programas dirige hacia una mejor escritura. Kernigham y Paluger

Ing. Jenny Flores

Ing. Jenny Elizabeth Flores Bonilla

Fundamentos de Programacin

INTRODUCCIN
A lo largo de la vida usted se enfrentara a conflictos de todo tipo en mbitos tan diversos como el laboral, profesional, acadmico. Para superar cada dificultad es necesario identificar el problema, las opciones de solucin y la forma o mtodo para resolverlo. Estos problemas se pueden resolver ayudndonos de las tecnologas de la informacin, especficamente por medio de programas de aplicacin

desarrollados por programadores expertos en anlisis y diseo de programas de cmputo. Pero, cmo dan solucin a estos problemas?, qu mtodo utilizan?.

Ing. Jenny Flores

Fundamentos de Programacin PARA PENSAR?

Qu entiende por metodologa?


Ing. Jenny Flores

Fundamentos de Programacin PARA PENSAR? Es una palabra compuesta por tres vocablos griegos: met ( ms all ), ods ( camino ) y logos ( estudio ). El concepto hace referencia al estudio de los mtodos (camino) que se siguen y que nos permiten lograr ciertos objetivos.

Ing. Jenny Flores

Fundamentos de Programacin PARA PENSAR?

1. De que manera le sirve a Ud. Usar un mtodo para resolver un problema? 2.Cul crees que sea la mejor manera de resolver algn problema? 3.Sueles ser ordenado para realizar algn procedimiento? Qu ventajas o desventajas ves en seguir un mtodo?

Ing. Jenny Flores

Fundamentos de Programacin En informtica la metodologa se encarga de elaborar estrategias de desarrollo de software; centradas en las personas o los equipos, orientadas hacia la funcionalidad y la entrega, de comunicacin intensiva y que requieren implicacin directa del cliente.

Ing. Jenny Flores

ANALISANDO TODO LO ANTERIOR TENEMOS LO SIGUIENTE: El proceso de la creacin de software requiere el uso de una metodologa sistemtica de desarrollo que permita un acercamiento gradual a la solucin del problema que se intenta resolver. Esta metodologa, llamada Ciclo de Desarrollo del Software, consta de una serie de pasos lgicos secuenciales denominados Fases

Fundamentos de Programacin

Ing. Jenny Flores

Fundamentos de Programacin
PARA PENSAR? Qu elemento necesita usted para aplicar una metodologa en informtica? La lgica de un programador La habilidad de pensar de manera razonada, sistemtica y ordenada que le har capaz de definir algoritmos abstractos y soluciones a problemas de negocios.

Ing. Jenny Flores

Fundamentos de Programacin
PARA PENSAR? Cules son los dos procesos fundamentales que se dan al usar la lgica en programacin?

a) El procesamiento: Someter ciertos datos de entrada a un proceso aritmtico/lgico que produzca ciertos datos de salida. Dato de entrada: es informacin que se le proporciona a un proceso para que produzca datos de salida, los datos de salida son la resultante de haber sometido datos de entrada a un proceso b) El Almacenamiento
Ing. Jenny Flores

Fundamentos de Programacin
Metodologa de solucin de problemas ?

1. Identificacin del problema 2. Planteamiento de alternativas de solucin 3. Eleccin de una alternativa 4. Desarrollo de la solucin 5. Evaluacin de la solucin

Ing. Jenny Flores

Fundamentos de Programacin
Traduciendo lo anterior al ambiente informtico tenemos?

Definicin del problema Anlisis del problema Diseo de la solucin Codificacin Prueba y Depuracin (Puesta a Punto o Testing) Documentacin Implementacin (Produccin) Mantenimiento

Ing. Jenny Flores

Fundamentos de Programacin Definicin del problema


El Diccionario de la Lengua Espaola define problema como conjunto de hechos o circunstancias que dificultan la consecucin de algn fin ; tambin se puede definir como una necesidad inicial, que tiene un objetivo o solucin a alcanzar mediante una serie de operaciones, actividades o mtodos bien definidos . Un problema consiste en una situacin que debe aclararse o resolverse y que puede tener un nmero determinado o indefinido de soluciones.

Ing. Jenny Flores

Fundamentos de Programacin PARA PENSAR Cundo se habla de resolver problemas informticos qu elementos deben utilizarse?

PROCESOS DE RAZONAMIENTO LOGICO

Ing. Jenny Flores

Fundamentos de Programacin Hgase las siguientes preguntas para la correcta definicin de un problema informtico: Qu entradas se requieren, de qu tipo, en qu orden y qu cantidad? Qu salidas se desean, de qu tipo, en qu orden y qu cantidad? Qu mtodo(s) o frmula(s) produce(n), o puede(n) producir las salidas deseadas?

Ing. Jenny Flores

Fundamentos de Programacin Anlisis del problema Es comprender el problema y sus detalles Es un requisito para lograr una solucin eficaz. En esta fase se definen concretamente: La Entrada que recibir el programa (datos o materia prima), La Salida que producir (informacin o resultados) Y el Proceso necesario para su solucin (el mtodo para convertir los datos de entrada en informacin de salida).
Cada uno de estos aspectos coincide respectivamente con las preguntas planteadas en la fase de Definicin del Problema. A este enfoque se le conoce comnmente como E-P-S (Entrada-Proceso-Salida).

Ing. Jenny Flores

Fundamentos de Programacin Diseo de la solucin Disear la lgica de la solucin a usar, es diagramar cmo har el programa la tarea que se desea automatizar usando los datos de entrada para generar los datos de salida, Se pueden plantear varias alternativas de solucin al problema y elegir la ms adecuada, la que produzca los resultados esperados en el menor tiempo y al menor costo.

Ing. Jenny Flores

Fundamentos de Programacin Diseo de la solucin El proceso de diseo se realiza creando el algoritmo.


Un algoritmo es: Conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema . El trmino algoritmo proviene del nombre del matemtico rabe Al-Khorezmi (780850), quien escribi un tratado sobre clculos matemticos hace 1 200 aos.

Ing. Jenny Flores

Fundamentos de Programacin Un algoritmo debe tener las siguientes caracteristicas


Ser algoritmo: Tiene que consistir en una secuencia de instrucciones claras y finitas, es decir debe estar compuesto por un nmero determinado de pasos que tiene fin sin importar el nmero de instrucciones a utilizar. Ser correcto: El algoritmo ha de resolver el problema planteado en todas sus facetas, teniendo en cuenta todas las posibles situaciones que puedan plantearse y no debe permitir dobles interpretaciones. Ser legible. Donde cada secuencia de un algoritmo debe ser definida en forma precisa, de tal manera que las acciones a ejecutar en cada uno, estn rigurosamente especificadas y no admitan ambigedad. Ser eficiente: todos los pasos, instrucciones u operaciones deben optimizarse de manera que se obtenga la solucin ms corta y eficiente de resolver el problema planteado.

Ing. Jenny Flores

Fundamentos de Programacin Un algoritmo debe tener las siguientes caracteristicas


Ser algoritmo: Tiene que consistir en una secuencia de instrucciones claras y finitas, es decir debe estar compuesto por un nmero determinado de pasos que tiene fin sin importar el nmero de instrucciones a utilizar. Ser correcto: El algoritmo ha de resolver el problema planteado en todas sus facetas, teniendo en cuenta todas las posibles situaciones que puedan plantearse y no debe permitir dobles interpretaciones. Ser legible. Donde cada secuencia de un algoritmo debe ser definida en forma precisa, de tal manera que las acciones a ejecutar en cada uno, estn rigurosamente especificadas y no admitan ambigedad. Ser eficiente: todos los pasos, instrucciones u operaciones deben optimizarse de manera que se obtenga la solucin ms corta y eficiente de resolver el problema planteado.

Ing. Jenny Flores

Fundamentos de Programacin Un algoritmo puede ser de tipo:


Cualitativo: Son aquellos en los que se describen cualquier accin o conjunto de acciones utilizando palabras pero siempre enmarcadas en tres estructuras fundamentales que son : Secuencias de acciones Decisin de accin Ciclos de acciones Secuencias de acciones: Para escribir una secuencia de rdenes o acciones todo lo que tiene que hacer es colocar una nueva orden o una nueva accin despus de la ltima que haya colocado. De esta manera se entiende la secuencialidad y la ordinalidad en la ejecucin de esas acciones. Ejemplo: Ejercicio para cambiar un foco quemado por uno nuevo. 1. Situar una escalera bajo el foco quemado 2. Elegir un nuevo foco 3. Subir la escalera hasta alcanzar el foco 4. Girar el foco en sentido anti horario hasta sacarlo 5. Colocar el nuevo foco en el mismo lugar 6. Girar en sentido horario 7. Bajar de la escalera

Ing. Jenny Flores

Fundamentos de Programacin Un algoritmo puede ser de tipo:


Cualitativo: Son aquellos en los que se describen cualquier accin o conjunto de acciones utilizando palabras pero siempre enmarcadas en tres estructuras fundamentales que son : Secuencias de acciones Decisin de accin Ciclos de acciones Secuencias de acciones: Para escribir una secuencia de rdenes o acciones todo lo que tiene que hacer es colocar una nueva orden o una nueva accin despus de la ltima que haya colocado. De esta manera se entiende la secuencialidad y la ordinalidad en la ejecucin de esas acciones. Ejemplo: Ejercicio para cambiar un foco quemado por uno nuevo. 1. Situar una escalera bajo el foco quemado 2. Elegir un nuevo foco 3. Subir la escalera hasta alcanzar el foco 4. Girar el foco en sentido anti horario hasta sacarlo 5. Colocar el nuevo foco en el mismo lugar 6. Girar en sentido horario 7. Bajar de la escalera

Ing. Jenny Flores

Fundamentos de Programacin Para Pensar: En el algoritmo anterior como estn ordenadas las acciones? En secuencia Qu pasara si se cambiara, el orden de las acciones con el resultado? El orden de los factores alterara el resultado daando la secuencia lgica del proceso:

Ing. Jenny Flores

Fundamentos de Programacin Decisiones de Accin: Son condiciones que nos permite que podamos decidir cul es el camino lgico correcto a tomar para resolver un problema eficientemente.

Ing. Jenny Flores

Fundamentos de Programacin Ejercicio: Desarrollemos el mismo algoritmo, pero ahora incorporemos lneas de decisin que nos permitan tener un algoritmo ms genrico y que nos permita lograr mejor el objetivo, as: 1. Situar una escalera bajo el foco quemado 2. Elegir un nuevo foco 3. Si la potencia no es igual a la del quemado Entonces ( Pregunta) 4. Descartar el foco elegido (accin verdadera) 5. Caso contrario 6. Elegir un nuevo foco. ( accin falsa) 7. Subir la escalera hasta alcanzar el foco 8. Girar el foco en sentido antihorario hasta sacarlo 9. Colocar el nuevo foco en el mismo lugar 10. Girar en sentido horario hasta que quede apretado 11. Bajar de la escalera
Ing. Jenny Flores

Fundamentos de Programacin Ciclos de acciones: Es la estructura que nos permite repetir una o varias acciones una cantidad definida de veces. Para identacin de acciones repetitivas usted puede representar con la palabra Mientras/ Hasta o Repetir/Hasta, bloques que establece en relacin con una condicin el inicio de un conjunto de acciones que se repiten precisamente Mientras esa condicin lo permita. La estructura Mientras (por efectos de clarificacin del algoritmo) debe tener un finalizador que indique hasta donde llega el bloque de acciones que debemos repetir.

Ing. Jenny Flores

Fundamentos de Programacin EJERCICIO? REALIZAR EL ALGORITMO

Ing. Jenny Flores

Anda mungkin juga menyukai