Anda di halaman 1dari 22

Etapas del desarrollo de

algoritmos
DEFINICION

 ¿Qué es Algoritmo?

 Se deriva de la traducción al latín de la palabra árabe Alkhowarismi,


nombre de un matemático y astrónomo árabe que escribió un tratado
sobre manipulación de números y ecuaciones en el siglo IX.
 Un algoritmo es un método para resolver un problema mediante una serie
de pasos precisos, definidos y finitos.
 Conjunto de sentencias/instrucciones en lenguaje nativo, las cuales
expresan la lógica para la resolución de un problema.

Ing. Denisse Barrientos


Algoritmos de Programación
CARACTERISTICAS

 Preciso, tiene que indicar el orden de realización en cada paso.


 Definido (confiable), es decir, si el algoritmo se prueba dos veces, en estas
dos pruebas, se debe obtener el mismo resultado.
 Finito, es decir, que el algoritmo tiene que tener un número determinado
de pasos.
 Debe producir un resultado en un tiempo finito.

Ing. Denisse Barrientos


Algoritmos de Programación
EJEMPLO

Ver una película


 1. Buscar el disco de la película
 2. Si el televisor y el blu ray se encuentran apagados, encenderlos
 3. Sacar el disco del estuche
 4. Introducirlo en el blu ray.
 5. Tomar el control del televisor y del blu ray.
 6. Dirigirme a el sofá
 7. Ponerme cómodo
 8. Disfrutar la película

Ing. Denisse Barrientos


Algoritmos de Programación
ESTRUCTURA DEL ALGORITMO Y DEL
PROGRAMA

 Diseño del algoritmo .- Describe los pasos a seguir para la resolución de un


problema dado (análisis y desarrollo del algoritmo)
 Programa en computadora .- El algoritmo se expresa mediante un
lenguaje de programación en un programa.

Ing. Denisse Barrientos


Algoritmos de Programación
TIPOS DE ALGORITMOS

 Algoritmo Cualitativo
 Son los algoritmos descritos mediante palabras.
Ejemplo:
 La elaboración de una receta de cocina
 El tejido a mano de una chompa.
 Búsqueda de un numero telefónico.
 El cambio de una llanta
 El cambio de un foco quemado.

Ing. Denisse Barrientos


Algoritmos de Programación
 Cuantitativo
 Son los algoritmos que se basan en cálculos numéricos.
Ejemplo:
 Pasos a seguir para resolver una ecuación de segundo grado.
 Pasos a seguir para calcular los sueldos de los empleados de una
empresa.
 Instrucciones para calcular los impuestos a pagar de los vecinos de un
municipio.

Ing. Denisse Barrientos


Algoritmos de Programación
 Cuantitativo:
 Leer la base y altura de un rectángulo y mostrar el área en pantalla.
 Entrada (Lectura de datos):
 Se conocen los valores de la Base y la Altura
 Proceso (Calculo de Área):
 Área = Base * Altura
 Salida (Muestra los resultados):
 Muestra valor del Área

Ing. Denisse Barrientos


Algoritmos de Programación
 Cualitativo: Un socio de una biblioteca solicita un libro para lectura, si el libro se encuentra se le
presta el libro, SINO se devuelve la ficha de pedido.
 LEER Ficha de pedido
 EXAMINAR el Estante
 SI el libro esta en Estante
 ENTONCES
 Se acepta el pedido
 Se recepciona Carnet de socio.
 SINO
 Se niega el pedido
 Se devuelve Ficha de Pedido
 FIN SI

Ing. Denisse Barrientos


Algoritmos de Programación
HERRAMIENTAS DE DESARROLLO DE
ALGORITMOS

Ing. Denisse Barrientos


Algoritmos de Programación
DIAGRAMA DE FLUJO (DF)

 Un diagrama de flujo es una representación esquemática de los distintos


pasos de un programa. Constituyen pues, otra forma de representar
algoritmos distinta al pseudocódigo, pero que nos sirve de forma
complementaria en el proceso de creación de la estructura del programa
antes de ponernos delante del ordenador.

Ing. Denisse Barrientos


Algoritmos de Programación
 El diagrama de flujo goza de ventajas como el ser altamente intuitivo, fácil de
leer, claro y preciso. Su interés para nosotros, sin desdeñar su utilidad
profesional, radica en su valor didáctico. Lo consideraremos una herramienta
muy potente de cara a comenzar a programar ya que su contenido gráfico lo
hace menos árido que el pseudocódigo.
 Las limitaciones principales de los diagramas de flujo derivan precisamente de
su carácter de dibujo. No resultan tan fáciles de crear o de mantener como el
texto del pseudocódigo (que podemos trabajar en un procesador de textos
cualquiera) y pueden requerir utilizar papeles tipo plano (más grande de lo
normal) cuando los programas son de cierta longitud. Gráficamente podemos
verlo de la siguiente manera: si tenemos por ejemplo siete páginas de
pseudocódigo bastará con numerarlas y ponerlas una detrás de otra.

Ing. Denisse Barrientos


Algoritmos de Programación
 Para la creación de diagramas de flujo utilizaremos unos símbolos y
normas de construcción determinados. En nuestro caso, un modelo
simplificado de los estándares internacionales, con el objeto de poder
interpretar y ser interpretados por otros programadores.
 Terminal. Indica comienzo o final de un programa, subprograma o
módulo.
 Captura y emisión de datos. Entrada o salida de información desde o
hacia el ordenador.
 Proceso. Cualquier proceso interno realizado por el ordenador
como asignación de valor a variables, operaciones matemáticas, etc.

Ing. Denisse Barrientos


Algoritmos de Programación
 Decisión múltiple. El dato o condición planteada presenta distintas
alternativas (casos), siguiendo el programa distinta vía en función del
caso.

 Línea de flujo. Sentido del flujo de procesos. Indica qué proceso viene a
continuación del otro.

Ing. Denisse Barrientos


Algoritmos de Programación
 Decisión múltiple. El dato o condición planteada presenta distintas
alternativas (casos), siguiendo el programa distinta vía en función del
caso.

 Conector. Indica a través de una referencia (número, letra o texto)


dónde debe continuar un diagrama de flujo que se interrumpe.

Ing. Denisse Barrientos


Algoritmos de Programación
 Módulo independiente. Recibe distintos nombres como
subprograma, subrutina, proceso, procedimiento, etc. Al llegar a esta
llamada el programa pasa a ejecutar todas las instrucciones contenidas
en la subrutina para una vez terminadas continuar el flujo.

Ing. Denisse Barrientos


Algoritmos de Programación
Ing. Denisse Barrientos
Algoritmos de Programación
PSEUDOCODIGO (PS)

 Pseudocódigo Es un lenguaje artificial e informal que ayuda a los


programadores a desarrollar algoritmos. El Pseudocódigo es similar
al lenguaje cotidiano; es cómodo y amable con el usuario,
aunque no es realmente in verdadero lenguaje de computadora.
No se ejecutan en las computadoras mas bien sirven para ayudar
al programadora razonar un programa antes de intentar escribirlo
en algún lenguaje. Un programa ejecutado en Pseudocódigo
puede ser fácilmente convertido en un programa en C++, si es
que esta bien elaborado.

Ing. Denisse Barrientos


Algoritmos de Programación
 Por ejemplo supongamos que la nota para aprobar un examen es de 60. El enunciado en
Pseudocódigo sería:
 Si calificación >= 60 entonces
 Mostrar "Aprobado"
 FinSi
 El mismo enunciado se puede escribir en C++ como:

 if ( calif >= 60 )
 cout << "Aprobado";

 La operación de trasladar el Pseudocódigo a código fuente, se lo realiza con el mínimo


esfuerzo, no se necesita de un mayor análisis.

Ing. Denisse Barrientos


Algoritmos de Programación
DIAGRAMA NASSI-SHNEIDERMAN

 Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama
también es conocido como estructograma, ya que sirve para representar la
estructura de los programas. Combina la descripción textual del
pseudocódigo con la representación gráfica del diagrama de flujo.
 Basado en un diseño top-down (de lo complejo a lo simple), el problema que
se debe resolver se divide en subproblemas cada vez más pequeños - y
simples - hasta que solo queden instrucciones simples y construcciones para el
control de flujo. El diagrama Nassi-Shneiderman refleja la descomposición del
problema en una forma simple usando cajas anidadas para representar cada
uno de los subproblemas. Para mantener una consistencia con los
fundamentos de la programación estructurada, los diagramas Nassi-
Shneiderman no tienen representación para las instrucciones GOTO.

Ing. Denisse Barrientos


Algoritmos de Programación
Diagrama Nassi-Shneiderman (DNS)

 Los diagramas Nassi-Shneiderman se utilizan muy raramente en las


tareas de programación formal. Su nivel de abstracción es muy
cercano al código de la programación estructurada y ciertas
modificaciones requieren que se redibuje todo el diagrama.
 Los diagramas Nassi-Shneiderman son (la mayoría de las
veces) isomorficos con los diagramas de flujo. Todo lo que se
puede representar con un diagrama Nassi-Shneiderman se puede
representar con un diagrama de flujo. Las únicas excepciones se
dan en las instrucciones GOTO, break y continue.

Ing. Denisse Barrientos


Algoritmos de Programación
Ing. Denisse Barrientos
Algoritmos de Programación

Anda mungkin juga menyukai