Anda di halaman 1dari 24

Tecnológico de Estudios Superiores de Cuautitlán

Izcalli

Curso Propedéutico

Algoritmia e Ingeniería de Sistemas

Presenta:
Viviana Ávila Bastida
Efraín López Hernández
Marcos Salinas Badillo

Mtra. Daisy Escamilla Regis


1
Definición y análisis del Problema

Diseño de Algoritmos

Bibliografía
2
Definición y análisis del Problema

Tipos de Algoritmos

Volver al Menú
3
Definición y análisis del Problema

Antes de entrar en la codificación de la resolución


de un problema, hemos de contar con una idea
bastante precisa de como podemos llegar a una
solución.

Resolución de
un problema

Análisis del Diseño del Programación


problema algoritmo del algoritmo

4
Definición y análisis del Problema

El matemático G. Poyla propuso, a finales de 1940 una metodología


general para la resolución de problemas matemáticos, que ha sido
adaptada para el caso en que se cuente con un ordenador como
recurso. Esta sistemática, de forma muy esquematizada, se puede
dividir en tres fases:

3.
1. Análisis del 2. Diseño del
Programación
Problema Algoritmo
del Algoritmo

5
Análisis del Problema

El objetivo del análisis del problema, es ayudar al programador a


llegar a una cierta comprensión de la naturaleza del mismo.

Este análisis supone, en particular, la superación de una serie de


pasos

Análisis del
Problema

Definición del Especificaciones Especificaciones


problema de entrada del Salida

6 Menú
Diseño del algoritmo

En la etapa del diseño se determina como hace el programa la


tarea solicitada. Los métodos más eficaces para el proceso de
diseño se basan en el conocimiento divide y vencerás.

El proceso de romper
el problema en cada
Diseño Descendente etapa y expresar cada
(Top Down) o paso en forma más
Modular. detallada se
denomina
refinamiento sucesivo

7
Diseño del algoritmo

Cada subprograma es resuelto mediante un módulo


(subprograma) que tiene un solo punto de entrada y uno de
salida.

Todo programa bien diseñado consta de un programa principal y


de sus subprogramas y estos a la vez pueden llamar a mas
subprogramas, a estos se les refiere como diseño modular y el
método de romper el programa principal en módulos más
pequeños se le llama programación modular.

8
Diseño del algoritmo

Este proceso implica la ejecución de estos pasos:

Programar
un módulo

Comprobar
el módulo y
depurar

Combinar el
módulo con
módulos
anteriores

9
Tipos de Algoritmos

Algoritmos cualitativos

Son aquellos en los que se colocan elementos verbales. Un ejemplo


de este tipo de algoritmos son las instrucciones o los «paso a paso»
que se dan de formal oral.
Tal es el caso de las recetas de cocina o las instrucciones para hacer
un trabajo de bricolaje.

10
Tipos de Algoritmos

Algoritmos cuantitativos

Son lo contrario de los algoritmos cualitativos, porque se colocan


elementos numéricos. Este tipo de algoritmos se utilizan en las
matemáticas para realizar cálculos. Por ejemplo, para encontrar una
raíz cuadrada o resolver una ecuación.

11
Tipos de Algoritmos

Algoritmos computacionales

Son los algoritmos que se hacen con una computadora; muchos de


estos algoritmos son más complejos y por eso necesitan ser
realizados a través de una máquina. También pueden ser algoritmos
cuantitativos que se optimizan.

12
Tipos de Algoritmos

Algoritmos No computacionales

Estos algoritmos son aquellos que no pueden realizarse con una


computadora; por ejemplo, la programación de un televisor.

13
Tipos de Algoritmos

Algoritmos de Marcaje

Este algoritmo utiliza la automatización para fijar los precios de forma


dinámica, basándose en factores como el comportamiento del cliente.

14
Tipos de Algoritmos

Algoritmos Probabilísticos

Es un algoritmo donde el resultado o la manera en que se obtiene el


resultado depende de la probabilidad. A veces también son llamados
algoritmos aleatorios.

15
Tipos de Algoritmos

Programación Dinámica

La palabra dinámico se refiere al método en el cual el algoritmo


computa el resultado. A veces la solución de un elemento del
problema depende de la solución de una serie de problemas más
pequeños.

16
Tipos de Algoritmos

Algoritmos Heurísticos

Estos algoritmos son aquellos que encuentran soluciones entre todas


las posibles, pero no garantizan que la mejor de estas será
encontrada. Por ese motivo son considerados como algoritmos
aproximados o no precisos.

17
Tipos de Algoritmos

Algoritmos de vuelta atrás

Son algoritmos que han sido revocados al observar su


comportamiento. Típicamente son aproximaciones del algoritmo
original que son construidos para propósitos como competición o
estudios.

18
Tipos de Algoritmos

Algoritmo Voraz

En muchos de los problemas, realizar decisiones voraces lleva a


soluciones óptimas. Este tipo de algoritmos es aplicable a problemas
de optimización

19
Ejemplo 1
Elaborar el análisis para obtener el área y la longitud de una
circunferencia.

1.-Utilizar las fórmulas del área y la circunferencia en función del radio.


2.-Las entradas de datos se reducen al dato correspondiente al radio del
círculo. Dada la naturaleza del mismo y el procesamiento al cual lo
someteremos, su tipo de dato debe ser un número real.
3.-Las salidas serán dos variables también reales: área y circunferencia.

La finalización de la fase de análisis del problema nos llevaría al siguiente


resultado:

Entradas: Radio del círculo (variable RADIO).


Salidas: Superficie del círculo (variable AREA).
Circunferencia del círculo (variable CIRCUNFERENCIA).
Variables: RADIO, AREA, CIRCUNFERENCIA: tipo real.

20
Ejemplo 2

Algoritmo para elegir unos zapatos de fiesta:


INICIO
Entrar a la tienda y buscar la sección de zapatos de
caballero.
Tomar un par de zapatos.
¿Son zapatos de fiesta?
SI: (ir al paso 5) – NO: (volver al paso 3)
¿Hay de la talla adecuada?
SI: (ir al paso 6) – NO: (volver al paso 3)
¿El precio es pagable?
SI: (ir al paso 7) – NO: (volver al paso 3)
Comprar el par de zapatos elegido.
FIN
21
Ejemplo 3
Hacer un algoritmo que imprima los números del
0 al 100

package edu.upe.practica.ejercicios;
public class Ejercicios01
{
public static void main(String[] args)
{
int c=-1;
while (c<100)
{
c++;
System.out.println(“Imprimir:”+c);

}
}
}
22
Ejercicio 1

Desarrolle un algoritmo que funcione como caja registradora.

Ejercicio 2

Determinar la hipotenusa de un triángulo rectángulo conocidas las


longitudes de sus dos catetos. Desarrolle el algoritmo
correspondiente.

23
Bibliografía

Programación en C++, Algoritmos, estructura de datos y objetos, Luis


Joyanes Aguilar, Mc Graw Hill, 2000.

Brassard G. y Bratley P(2000): Fundamentos de Algoritmia, Prentice


may.

Torrealba Javier (2004): Computación I, Universidad Nacional Abierta,


Caracas

Volver al Menú
24

Anda mungkin juga menyukai