Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4...

19
12/12/2018 1 Facultad de Informática Culiacán Metodología para obtener Algoritmos Instructores: MC. Gerardo Gálvez Gámez Septiembre de 2018 UNIVERSIDAD AUTÓNOMA DE SINALOA 1 Metodología • FIUAS Objetivo del Tema Enseñar la lógica de la programación para computadoras, con ayuda de una metodología para la solución de problemas, que incluye técnicas para desarrollar la habilidad de programar con facilidad en cualquier lenguaje de programación. 2

Transcript of Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4...

Page 1: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

1

Facultad de Informática Culiacán

Metodología para obtener Algoritmos

Instructores: MC. Gerardo Gálvez Gámez

Septiembre de 2018

UNIVERSIDAD AUTÓNOMA DE SINALOA

1

Metodología • FIUAS

Objetivo del Tema

• Enseñar la lógica de la programación paracomputadoras, con ayuda de unametodología para la solución deproblemas, que incluye técnicas paradesarrollar la habilidad de programar confacilidad en cualquier lenguaje deprogramación.

2

Page 2: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

2

Metodología • FIUAS

Competencias del Tema

El alumno:

• Conocerá la importancia de aplicar unametodología adecuada (mejores prácticas) en elproceso de aprendizaje para la construcción deAlgoritmos susceptibles de ser computarizados.

• Aplicará la metodología propuesta junto contécnicas y herramientas adecuadas, para alcanzarhabilidades lógicas computacionales, en laconstrucción de algoritmos como solución deproblemas.

3

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.

▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración).

4

Page 3: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

3

Metodología • FIUAS

Importancia de la aplicación de técnicas y

herramientas metodológicas.

• ¿Podemos enseñar a resolver un problema?

• ¿Podemos enseñar a analizar el mismo?

• ¿Podemos enseñar a pensar?

¿Como enseñar a programar computadoras?

¿Cómo enseñar a desarrollar la lógica necesaria paradesarrollar problemas independiente de algún lenguaje deprogramación?

5

Metodología • FIUAS

Importancia de la aplicación de técnicas y

herramientas metodológicas.

Se desarrollan ejercitando la mente en forma apropiada.

Enseña a programar computadoras utilizandoun tipo de algoritmo, es decir, sin emplear lacomputadora.

Permite desarrollar las capacidades mentalesque una persona debe tener para programarcomputadoras y sienta las bases de disciplina ybuena estructura.

Programar es una actividad intelectual querequiere:

Mucha creatividad,

Capacidad de abstracción,

Capacidad de análisis y síntesis

6

Page 4: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

4

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración).

7

Metodología • FIUAS

Etapas de la solución de un problema

Osvaldo Cairo, Metodología de la programación

Leonardo López Román, Metodología de la programación orientada a objetos

L. Joyanes Aguilar, Algoritmos, Estructuras de Datos y Objetos

Rosario Bores/Román Rosales, Computación Metodología, Lógica Computacional y Programación

Problema

AnálisisConstrucción del algoritmo

Verificación (prueba y

depuración)Documentación

8

Page 5: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

5

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración).

9

Metodología • FIUAS

Definición del Problema

Etimológicamente, la palabra problema deriva del griegoproballein y significa “algo lanzado hacia delante”.

Un problema es un asunto o un conjunto de cuestionesque se plantean para ser resueltas.

La naturaleza de los problemas varía con el ámbito o con elcontexto donde están planteados; así, existen problemas:

Matemáticos,

Químicos,

Filosóficos,

etc.

10

Page 6: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

6

Metodología • FIUAS

Definición del Problema (continuación)

Se consideran aquellos problemas cuya solución se puede calcular utilizando una serie de reglas introducidas en una computadora.

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa.

Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

11

Metodología • FIUAS

Estrategias generales para resolver problemas

• Ensayo y error.- Actúa hasta que algo funcione.

• Heurística.-Basada en la utilización de reglas empíricas para llegar a una solución.▫ Arte y ciencia del descubrimiento y de la invención para resolver problemas

mediante la creatividad y el pensamiento lateral.

• Algoritmos.- Aplica adecuadamente una serie de pasos detallados que aseguran una solución correcta.

• Lluvia de Ideas.-Formula soluciones viables (todas las posibles) a un problema y al finalizar se formulan criterios para seleccionar la mejor.

• Pensamiento Lateral.- (pensamiento creativo), Requiere que se exploren y consideren la mayor cantidad posible de alternativas.

12

Page 7: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

7

Metodología • FIUAS

Maneras en que el pensamiento puede ser

obstruido

Puede faltar algo de información,

Puede existir un bloqueo mental o

Lo obvio obstruye la visión de una mejor opción (en este caso se tendría una solución con la lógica lateral).

13

Metodología • FIUAS

Ejemplo

14

Page 8: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

8

Metodología • FIUAS

Actividad (Pensamiento lateral)

Un hombre vive en un edificio en el décimopiso. Todos los días toma el ascensor hastala planta baja para ir a su trabajo. Cuandovuelve, sin embargo, toma el ascensorhasta el séptimo piso y hace el resto delrecorrido hasta el piso donde vive (décimo)por las escaleras. Si bien el hombre detestacaminar ¿por que lo hace?

15

Metodología • FIUAS

Ejemplo: Metodología Paso 1

• Definición del Problema:

▫ La Huerta La Capilla, cuenta conun sembrado de N árboles deMangos, de los cuales la mitadson mangos Finos y el restomangos Corrientes. Cadaplanta fina produce 8,500frutas.

▫ Elabore un Algoritmo quedetermine el total de mangosfinos producidos por la huerta.

16

Page 9: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

9

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración).

√√

17

Metodología • FIUAS

Análisis del Problema

Se inicia una vez que se ha comprendido la tareaque se desea que la computadora haga(Algoritmo), definiéndose lo siguiente:

Proceso (Se refiere a los métodos y fórmulas que se necesitan para procesar los datos(Conocidos y no conocidos), para encontrar la información de salida)

Restricciones Establecidas (¿Qué es lo que esta prohibido o permitido hacer?)

Los Datos de Entrada (¿Cuáles son los datos no conocidos y requeridos?)

Los Datos Conocidos (¿Cuáles son los datos disponibles y útiles?)

Información de Salida (¿Cuál es la información que se desea producir?)

18

Page 10: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

10

Metodología • FIUAS

Análisis del Problema (continuación)

• Una recomendaciónmuy práctica es:

▫ El que nos pongamos enel lugar de lacomputadora yanalicemos que es lo quenecesitamos que nosordenen y en quesecuencia para producirlos resultados esperados.

19

Metodología • FIUAS

Análisis:

1. Información de Salida▫ TotalProduccion

2. Datos Conocidos▫ ProduccionPlantaFina=8500

3. Datos de Entrada (los no Conocidos)▫ NumeroArboles

4. Restricciones▫ No se debe solicitar el número de plantas de cada tipo de árbol

▫ No existen arboles que producen los dos tipos de frutas

▫ No existen fracciones de arboles

5. Proceso

//Paso 1. Determinar cuantos arboles finos se tienen, empleando la siguiente formula:

NumeroPlantasFinas = (NumeroArboles - NumeroArboles MOD 2 ) / 2

//Paso 2. Calcular la producción total de mangos finos, mediante la aplicación de la siguiente formula:

Total Producción = NumeroPlantasFinas* ProduccionPlantaFina

Ejemplo: Metodología Paso 2

20

Page 11: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

11

Metodología • FIUAS

Proceso alternativo

Opción 2:

//Paso 1: Determinar el total de producción de mangos finos, mediante la aplicación de la siguiente formula general:

TotalProduccion=(NumeroArboles-NumeroArboles MOD 2) / 2 * ProduccionPlantaFina

21

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración).

√√

22

Page 12: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

12

Metodología • FIUAS

Construcción del Algoritmo

Serie de pasos organizados que describe el procesoque se debe seguir, para dar solución a unproblema especifico.

Las características de un buen algoritmo son:

Debe tener un punto particular de INICIO.

Debe ser definido, no debe permitir doblesinterpretaciones.

Debe ser general, es decir, soportar la mayoría de lasvariantes que se puedan presentar en la definición delproblema.

Debe ser FINITO en tamaño y tiempo de ejecución.

23

Metodología • FIUAS

Construcción del Algoritmo (continuación)

El pseudocódigo un lenguaje formal, varían de unprogramador a otro, es decir, no hay unaestructura semántica ni arquitecturaestándar.

//Objetivo: Descripción breve, clara y precisa del problema

//Programador: Nombre completo del programador

//Fecha: Fecha de elaboración del algoritmo

INICIO

Definición de Constantes y Variables

Lecturas de Datos no Conocidos (Entradas)

Procesamiento de los Datos (pasos y formulas)

Impresión de Resultados (Salidas)

FIN

Instrucciones

24

Page 13: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

13

Metodología • FIUAS

//Objetivo: Determinar el Total de Producción de Mangos Finos

//Programador: MC. Gerardo Gálvez G.

//Fecha:__ /Septiembre/2015

INICIO

//Definición de Constantes y Variables

CONST ENTERO ProduccionPlantaFina=8500

ENTERO NumeroArboles,TotalProduccion,NumeroPlantasFinas

//Lecturas de Datos de Entrada

IMPRIMIR “Teclee el Número de Árboles en la Huerta:”

LEER NumeroArboles

//Procesamiento de los Datos

NumeroPlantasFinas = (NumeroArboles - NumeroArboles MOD 2 ) / 2

TotalProduccion = NumeroPlantasFinas* ProduccionPlantaFina

//Impresión de Resultados

IMPRIMIR “Total de Mangos Finos Producidos: ”, TotalProduccion

FIN

Ejemplo: Paso 3 - El Algoritmo

25

Metodología • FIUAS

//Objetivo: Determinar el Total de Producción de Mangos Finos

//Programador: MC. Gerardo Gálvez G.

//Fecha:__ /Septiembre/2015

INICIO

//Definición de Constantes y Variables

CONST ENTERO ProduccionPlantaFina=8500

ENTERO NumeroArboles,TotalProduccion

//Lecturas de Datos de no Conocidos (Entrada)

IMPRIMIR “Teclee el Número de Árboles en la Huerta:”

LEER NumeroArboles

//Procesamiento de los Datos

// (calcular el total de producción de mangos finos

TotalProduccion=(NumeroArboles - NumeroArboles MOD 2) / 2 * ProduccionPlantaFina

//Impresión de Resultados

IMPRIMIR “Total de Mangos Finos Producidos: ”, TotalProduccion

FIN

Ejemplo: Metodología Paso 3 - El Algoritmo

Utilizando el proceso alternativo

26

Page 14: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

14

Metodología • FIUAS

Contenido del Tema

• Importancia de la aplicación de técnicas y herramientas metodológicas.

• Etapas de la solución de un problema.▫ Definición del Problema.

▫ Análisis del problema.

▫ Construcción del Algoritmo.

▫ Verificación (Prueba y Depuración). √

√√√

27

Metodología • FIUAS

Verificación (Prueba y Depuración)

• Proceso de identificar y eliminar errores,para dar paso a una solución sin errores.

• Los errores humanos dentro de laprogramación de computadoras son muchosy aumentan considerablemente con lacomplejidad del problema.

• Resulta una tarea tan creativa como elmismo desarrollo de la solución, por ello sedebe considerar con el mismo interés yentusiasmo.

28

Page 15: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

15

Metodología • FIUAS

Plan de Prueba o verificación del algoritmo

Valores de Entrada Salidas Esperadas Resultado

NumeroArboles =10 TotalProduccion= _42,500 Correcto

Algoritmo Algoritmo

Metodología • FIUAS

Pantalla de la PC

Ejemplo: Metodología Paso 4 Verificación

8500

Teclee el Número de Árboles en la Huerta: 10Total de Mangos Finos Producidos: 42500

3F5000AC ProduccionPlantaFina

NumeroArboles 5F5000AC

TotalProduccion7F5000AC

Estructura de 32 bits

10

42500

FIN

30

Page 16: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

16

Metodología • FIUAS

Preguntas

31

Metodología • FIUAS

Etapas de la solución de un problema

Osvaldo Cairo, Metodología de la programación

Leonardo López Román, Metodología de la programación orientada a objetos

L. Joyanes Aguilar, Algoritmos, Estructuras de Datos y Objetos

Rosario Bores/Román Rosales, Computación Metodología, Lógica Computacional y Programación

Problema

AnálisisConstrucción del

algoritmo

Verificación (prueba y

depuración)Codificación Documentación Mantenimiento

32

Page 17: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

17

Metodología • FIUAS

Codificación

• Es la operación de escribir la solucióndel problema (de acuerdo a la lógica delAlgoritmo), en una serie deinstrucciones detalladas, en un códigoreconocible por la computadora.

• La serie de instrucciones detalladas se leconoce como código fuente, el cual seescribe en un lenguaje de programación(lenguaje de alto nivel como: C#, Java,Visual Basic, entre otros).

33

Metodología • FIUAS

Documentación

• Es la guía o comunicación escrita es susvariadas formas, ya sea en enunciados,procedimientos, dibujos o diagramas.

• A menudo un programa escrito por unapersona, es usado por otra. Por ello ladocumentación sirve para ayudar acomprender o usar un programa o parafacilitar futuras modificaciones(mantenimiento).

34

Page 18: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

18

Metodología • FIUAS

Documentación (continuación …)

• Documentación Interna• Documentación Externa• Manual del Usuario

Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer mas claro el entendimiento de un proceso.

Documentación Externa: Se define en un documento escrito los siguientes puntos:

Descripción del ProblemaNombre del AutorAlgoritmo (diagrama de flujo o pseudocodigo)Diccionario de DatosCódigo Fuente (programa)

Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de que el usuario obtenga el resultado deseado.

35

Metodología • FIUAS

Mantenimiento

• Se lleva acabo después de terminado elprograma, cuando se detecta que esnecesario hacer algún cambio,ajuste o complementación alprograma para que siga trabajando demanera correcta.

• Para poder realizar este trabajo serequiere que el programa estecorrectamente documentado.

36

Page 19: Metodología para obtener Algoritmosgalvez.milibreta.com.mx/UAS/Algoritmia/4.- Capitulo 4 Metodologia.pdfNo se debe solicitar el número de plantas de cada tipo de árbol No existen

12/12/2018

19

Metodología • FIUAS

ExtraClases

Descripción de la tarea en el Material de Apoyo Educativo

ANEXO 05 – TAREA Elaboración de Algoritmos enpseudocódigo

ObjetivoEl alumno demostrara la habilidad alcanzada en clases, paraanalizar, construir y probar pseudocódigos de diversos problemas,utilizando procedimientos de solución secuenciales.

37

Metodología • FIUAS

Preguntas

F I N

38