Introducción a los Algoritmos Amalia Dávila Objetivos • • • • Resolver problemas creativamente Ser eficientes en el intento Al mínimo costo Si no dispone de nuevos recursos, usar los disponibles Cómo Resolver un.

Download Report

Transcript Introducción a los Algoritmos Amalia Dávila Objetivos • • • • Resolver problemas creativamente Ser eficientes en el intento Al mínimo costo Si no dispone de nuevos recursos, usar los disponibles Cómo Resolver un.

Introducción a los Algoritmos

Amalia Dávila

Objetivos • • • • Resolver problemas creativamente Ser eficientes en el intento Al mínimo costo Si no dispone de nuevos recursos, usar los disponibles

Cómo Resolver un Problema real

Definirlo Generar Soluciones Decidir un curso de acción Implementarlo Evaluarlo

Solución de un Problema • Escriba el enunciado del problema

Solución de un Problema • Asegúrese de resolver el verdadero problema

Solución de un Problema • Dibuje un diagrama que represente el problema a resolver

Solución de un problema • Haga una lista con las suposiciones y aproximaciones involucradas en la solución del problema

Solución de un problema • Relacione el problema con otro, o una experiencia similar

Solución de un problema • Escriba un algoritmo

Solución de un problema • Examine y evalúe la respuesta para ver si tiene sentido

Definición de Algoritmo • Método que se realiza paso a paso, a fin de solucionar un problema en un número finito de pasos.

Algoritmo - Programa • • • • • Máquina debe ejecutar una tarea.

Algoritmo debe definir los pasos para la ejecución de la tarea.

Programa: Representación (compatible con la máquina) de un Algoritmo Programa <==> Software Máquina <==> Hardware

Importancia Algoritmo/Máquina • El estudio de los algoritmos y las máquinas (computadores) forman la “columna vertebral” de las Ciencias de la Computación

Algoritmo Definiciones: ▫ Consiste en una secuencia de pasos lógicos que hay que seguir para obtener resultados.

Ejemplo: ▫ Escribir los pasos de todo lo que usted realiza desde que comienza un día hasta que termina.

▫ Escribir los pasos que usted realiza par sumar 2 números o para hallar un promedio, para sacar notas de una materia, para hacer un desayuno, etc.

Algoritmo • Características: ▫ Debe ser preciso e indicar un orden de realización de cada paso.

▫ Debe ser definido, es decir, si se repite varias veces, debe de dar el mismo resultado.

▫ Debe ser finito, es decir, debe terminar en algún momento.

Algoritmo • Ejemplo: (A+B)*C Algoritmo que calcule SECUENCIA

1.-

Obtener A, B y C. (ENTRADA DE DATOS) 2.- Sumar A, B y asignarlo en resultado_suma.

3.- Multiplicar resultado_suma y C y guardar en resultado. (ASIGNACION) 4.- Mostrar resultado (SALIDA DE DATOS)

Resolución de un problema • Para resolver un problema se debe seguir los siguientes pasos:

Análisis del problema Diseño del Algoritmo Codificación (Programación) Ejecución y Validación

Estructuras de Control • Secuencial: ▫ Es aquella en la cual una acción sigue a otra en forma secuencial.

Inicio Acción 1 Acción 2 ….

Acción n Fin ▫ Ejemplo: 8.- Calcular la suma y el producto de 2 números.

Estructuras de Control • Selectivas: ▫ Permiten decisión en ) base realizar a una condición de selección (toma de una bifurcación del programa.

Estructuras de Control • Selectivas: ▫ Simple (si/entonces) V F Acciones Si condición entonces acción; fin si.

Estructuras de Control • Selectivas: ▫ Doble (si/entonces/sino) V Si condición entonces acción_1; sino acción 2; fin si.

acción_3 F Acciones 1 Acciones 2

Estructuras de Control • Selectivas: ▫ Múltiple: Cuando se desea que existan más de dos decisiones (según sea).

En caso que (Variable) hacer caso e1: acción 1; caso e2: acción 2; …..

caso en: acción n; fin en caso que.

e1 Acciones 1 e2 Acciones 2 en Acciones N

• Estructuras de Control Selectivas: ▫ Múltiple con cualquier otro caso: Cuando se desea que existan más de dos decisiones (según sea) y una por default.

e1 e2 Acciones 1 Acciones 2 En caso que (Variable) hacer caso e1: acción 1; caso e2: acción 2; …..

caso en: acción n; cualquier otro caso acción_otra fin en caso que.

en Acciones N Accion_otra

Estructuras de Control • Repetitivas: ▫ Permiten la ejecución de un conjunto iteración de pasos repetidas veces. Una iteración posee una condición de iteración que en algún momento finalizará la

Estructuras de Control • Repetitivas:  Mientras: Permite repetir una acción o un bloque de acciones hasta que la condición sea falsa.

V F Acciones Mientras (condición sea verdadera) hacer acciones fin_mientras

Estructuras de Control • Repetitivas:  Repetir: Permite repetir una acción o un bloque de acciones hasta que la condición sea verdadera.

Repetir acción_2 acciones; Hasta (condición sea verdadera); Acciones 1 F V

Estructuras de Control • Repetitivas:  Desde/Para: Cuando se conoce de antemano el número de veces que se quiere repetir el ciclo.

Para variable=inicio hasta valor final hacer acción_1; fin para; acción_2 V F Acciones