Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden...

16
Algoritmos M. en C. Carolina Keiman Instituto de Astronomía UNAM

Transcript of Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden...

Page 1: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Algoritmos

M. en C. Carolina KeimanInstituto de Astronomía

UNAM

Page 2: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

¿Qué es un algoritmo?Un conjunto ordenado de instrucciones que se llevan a cabo de manera ordenada para resolver un problema.

O en otras palabras

Es un procedimiento para llevar acabo alguna accion-

Por tanto:

Debe ser finito y debe tener un objetivo

Page 3: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

¿Para que sirve un algoritmo?

• Algoritmo. Conjunto de instrucciones ordenadas, finitas que describen de forma sistemática la ejecución de una tarea. Escrito en cualquier lenguaje

• Programa. Secuencia lógica de instrucciones para ejecutar tareas específicas en una computadora. Escrito en lenguaje de programación.

Diferencia entre algoritmo y programa

• Resolver problemas• Ejecutar tareas • Realizar cálculos

Page 4: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

¿Qué es un diagrama de flujo?

Representación gráfica que describe:

Ø ProcesoØ Sistema Ø Algoritmo informático

Page 5: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

¿Porqué son útiles?

Permiten:

Ø EntenderØ ComprenderØ Organizar Ø Evaluar Ø Replantear secuencias

De actividades y procesos de diferente índole dado que son versátiles y sencillos.

Herramienta para poder entender correctamente las diferentes fases de cualquier proceso y su funcionamiento.

Page 6: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Símbolos básicos Formas especiales para representar acciones

Inicio/Final Representa el inicio / Final de un proceso

Indica el orden de ejecución de las operaciones (indica la siguiente)Línea de Flujo

Entrada/Salida

Representa: • La lectura de datos de entrada• La impresión de datos en la salida

Representa cualquier tipo de operaciónProceso

Page 7: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Símbolos básicos Formas especiales para representar acciones

Proceso predefinido

Indica secuencia de acciones de un proceso ya definido

Representa la opción de toma de decisión en base a valores verdadero (Si), Falsos (No)

Indica que el flujo continúa donde se ha colocado un símbolo idéntico con el mismo texto (letras o números)

Decisión

Conector

Page 8: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Diagramas de flujo para algoritmos/programación informática

Son útiles previo a escribir un programa o algoritmo porque:

Ø Ayudar a organizar el algoritmo o programa

Ø Ofrece una guía al momento de codificar

En informática, lo siguiente a desarrollar el diagrama de flujo es hacer un PSEUDOCÓDIGO

PSEUDOCÓDIGOCombinación de lenguaje natural y lenguaje informático que puede ser leído por personas

Page 9: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Diagramas de flujo para algoritmos/programación informática

Programa que cambia formato de segundos a hora, minuto, segundo

Diagrama de Flujo

Pseudocódigo

Page 10: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Diagramas de flujo para algoritmos/programación informática

Lenguaje unificado de modelado (UML): lenguaje de propósito general usado en la ingeniería de software para el modelado.

Page 11: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Diagramas de flujo para algoritmos/programación informática

Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada.

Page 12: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Diagramas de flujo para algoritmos/programación informática

Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado para crear diagramas de flujo.

Page 13: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Cómo hacer un diagrama de flujo1. Define tu propósito y alcance¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados?

2. Identifica las tareas en orden cronológico

3. Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas o salidas, etc

4. Crea tu diagrama Algunos programas: Microsoft Visio, Lucidchart, creately, smartdraw

5. Confirma tu diagrama de flujoVerifica todos los pasos y las secuencias y conexiones. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito

Page 14: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Problema.

Construir rampas de acceso para subir objetos.

• Queremos un programa que permita elegir la rampa mas adecuada.

• Longitud de la rampa. Cuanto más larga sea la rampa, más fácil será de subir. Del largo dependerá el ángulo de inclinación.

• Ancho de la rampa. Relacionado con lo que se quiere subir

• Peso máximo soportado. Involucra el material según su uso

Ejemplo.

Paso 1:Antes de escribir el algoritmo se debe identificar lo que se desea considerar:

Page 15: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas
Page 16: Algoritmos - UNAM...un punto inicial y final apropiados? 2.Identifica las tareas en orden cronológico 3.Organiza las tareas por tipo y figura Procesos, decisiones, datos, entradas

Tarea.

Hacer el diagrama de flujo del ejemplo mencionado. (programa para construir ramplas de acceso)

Enfocarse principalmente al largo y la inclinación de la rampa en función de la fuerza que quiera hacerse para subir el objeto.