algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 ii algoritmos1 y diagramas...

6

Click here to load reader

Upload: dolien

Post on 06-Feb-2018

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

Algoritmos y Diagramas de Flujo 2

Programación Java – NetBeans 7.0

RPC

Contenido 2.1 Algoritmo .........................................................................................................................1

Fase de creación de un algoritmo ...........................................................................................1

Herramientas de un algoritmo .................................................................................................2

2.2 Diagrama de Flujo .........................................................................................................2

Símbolos para dibujar un Diagrama de Flujo ........................................................................3

Símbolos matemáticos y lógicos .............................................................................................3

Reglas para la creación de Diagramas ..................................................................................3

2.3 Ejemplo de Aplicación ...................................................................................................4

2.4 Cuestionario ...................................................................................................................5

Bibliografía..................................................................................................................................5

[email protected] 2011

Page 2: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

1

II Algoritmos1 y diagramas de flujo

2.1 Algoritmo

En un sentido amplio, dado un problema y un dispositivo donde resolverlo, es necesario

proporcionar un método preciso que lo resuelva, adecuado al dispositivo. A tal método se lo

denomina algoritmo (Guerequeta y Vallecillo, 2000). Algoritmo se define como listas de

instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos

convierten los datos de un problema (entrada) en una solución (salida). De manera más

particular, es el método que describe la solución teórica de un problema computacional

mediante una serie de procesos (pasos) definidos y finitos. Un algoritmo deberá cumplir:

- Preciso, indicar el orden de realización en cada caso;

- Definido, repetir los pasos n veces para obtener el mismo resultado;

- Finito, tiene un número determinado de pasos.

La solución de un algoritmo se define en tres etapas:

- Entrada, datos que se necesita para poder ejecutarse;

- Proceso, acciones y cálculos necesarios;

- Salida, resultado esperado.

Los algoritmos son la base de la programación de ordenadores estructurados en un orden

rígido: no se puede escribir lo que deseáramos; su escritura no debe dejar posibilidad de duda

pero deberá recoger la posibilidad más factible de solución a un determinado problema.

Características que deben cumplir un algoritmo:

- Debe resolver el problema para el que fuera formulado;

- Un algoritmo es independiente del lenguaje de programación;

- Debe ser preciso: los resultados de los cálculos deben ser exactos; no es válido un

algoritmo que aproxime una solución;

- Debe ser finito: empezar (entrada), procesar y terminar (salir).

- Debe ser repetitivo: deben permitir su ejecución tantas veces haga la falta resolver un

problema; no son válidos los algoritmos que al ejecutarse una vez, ya no se pueda re-

utilizarlo.

Fase de creación de un algoritmo

1. Análisis; se determina el problema a resolver y se colectan los datos de entrada del

algoritmo y qué datos deberán obtenerse a la salida;

2. Diseño; Elaboración del algoritmo;

3. Prueba; Comprobación y validación del resultado.

1 La palabra algoritmo procede de la latinización del nombre del matemático Persa Mohamed Ibn Al Kow Rizmi (Al juarismi) que en su obra Quitab Al-Mugabala recogió el sistema de numeración hindú y el concepto del cero que fuera traducida por el matemático Fibonacci al latín y la llamó: Algoritmi Dicit (Dixit Algorithmus).

Page 3: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

2

Herramientas de un algoritmo

- Diagramas de flujo (flow chart); Diagrama de Flujo, es una representación gráfica que

utiliza símbolos por ANSI2 y expresa las sucesivas instrucciones que se deben realizar

para resolver un problema. Las instrucciones no dependen de la sintaxis de ningún

lenguaje de programación, sino sirven únicamente para su codificación en un lenguaje

dado.

- Diagramas N-S (Nassi-Schneiderman); conocido también como diagrama de Chapín,

la estructura es similar a la de un diagrama de flujo pero sin visualizar las flechas, se

representa dentro de una sola caja.

- Pseudocódigo (falso lenguaje); Permite expresar las instrucciones en un lenguaje

común con la finalidad única de facilitar la escritura, lectura y solución de un problema

(en lo futuro programa). No existen reglas para escribir pseudocódigo. Es posible que

como única regla, el signo igualdad (=) es reemplazado por ←; p.e. a= b+c ; a ← b+ c.

2.2 Diagrama de Flujo

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de

sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y

en que secuencia se requieren para solucionar un problema dado.

Un diagrama de flujo u organigrama es una representación diagramática que ilustra la

secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los

diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a

la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la

gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de

un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos.

Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribir el programa en cualquier

idioma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al

momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de

flujo es una necesidad para la documentación mejor de un programa complejo.

2 Siglas del American National Institute.

Page 4: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

3

Símbolos para dibujar un Diagrama de Flujo

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin

embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean

requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar

programas de computadora se muestran a continuación:

Inicio o fin del programa

Disco magnético

Pasos, procesos o líneas de instrucción de programa de computo

Conector de pagina

Operaciones de entrada y salida

Líneas de flujo

Toma de decisiones y Ramificación

Anotación

Conector para unir el flujo a otra parte del diagrama

Pantalla, para mostrar datos

Cinta magnética

Envía datos a la impresora

Teclado o escritura manual

SubAlgoritmo

Símbolos matemáticos y lógicos

Dentro de los símbolos fundamentales para la creación de diagramas de flujo, los símbolos

gráficos son utilizados específicamente para operaciones aritméticas y relaciones

condicionales:

+ Suma > Mayor que

- Resta < Menor que

* Multiplicación >= Mayor o igual que

/ División <= Menor o igual que

\ División entera <> Diferente que

^ Exponenciación Y Y lógico

= Igualdad O O lógico

Mod Módulo (resto de una división)

No No lógico

Reglas para la creación de Diagramas

Los Diagramas de flujo3 deben escribirse de arriba hacia abajo, y/o de izquierda a derecha. Los

símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección

que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o

verticales (nunca diagonales).

Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un

sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se

van a utilizar conectores cuando sea estrictamente necesario. No deben quedar líneas de flujo

sin conectar.

3 Los Diagramas de Flujo han sido elaborados con la Aplicación Diaw.exe 0.97.1.

Page 5: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

4

Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas

palabras. Todos los símbolos pueden tener más de una línea de entrada, a excepción del

símbolo final. Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de

salida.

Diagrama flujo Diagrama N-S

2.3 Ejemplo de Aplicación

Dados dos números enteros (n1 y n2) encuentre la suma:

Diagrama de Flujo Pseudocódigo Código java

Inicio //Variables

n1, n2, s : Entero //Entrada Leer n1, n2 //Proceso

s ← n1 + n2 //Salida Escribir s Fin

Si introducimos n1= 5 y n2= 3 tenemos:

n: Entero

r: Cadena

Leer n

n: Mod 3=0 Y n Mod 5=0

r: Cadena

R ←“SI ES MULTIPLO DE 3 Y 5” R ←“NO ES MULTIPLO DE 3 Y 5”

Escribir r

F V

Page 6: Algoritmos y diagramas de flujo - javaagricola.wikispaces.comy... · 1 II Algoritmos1 y diagramas de flujo 2.1 Algoritmo En un sentido amplio, dado un problema y un dispositivo donde

5

2.4 Cuestionario

1 ¿Qué es un algoritmo?

2 ¿Porqué es importante planificar (haciendo uso de algoritmos) una aplicación?

3 Dados dos números a y b, elabore el algoritmo para hallar el resto.

Bibliografía

GUEREQUETA, R.; VALLECILLO, A. (2000) [en línea] “Técnicas de Diseño de Algoritmos” Universidad de Málaga,

España. p. 1-6. <http://www.lcc.uma.es/~av/Libro/> [Acceso: 10, mar. 2011].

FREE SOFTWARE FOUNDATION (2009) [en línea] “Diaw.exe 0.97.1: Programa para Dibujar Diagramas

Estructurados” <http://live.gnome.org/Dia> [Acceso: 6, mar. 2011].

VILLALOBOS, R. (2008) “Fundamentos de Programación Java” Ed. Macro, Lima, Perú. p. 28-40.