SlideShare a Scribd company logo
1 of 6
Download to read offline
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 
r.penarrieta.c@gmail.com 
2011
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).
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.
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.
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
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.

More Related Content

What's hot (15)

Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramas
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
Apuntes De Algoritmos
Apuntes De AlgoritmosApuntes De Algoritmos
Apuntes De Algoritmos
 
Act26
Act26Act26
Act26
 
Unmsm01 2008
Unmsm01 2008Unmsm01 2008
Unmsm01 2008
 
Glosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGlosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programas
 
Trabajo de tecnologia
Trabajo de tecnologiaTrabajo de tecnologia
Trabajo de tecnologia
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
Diagramacion
DiagramacionDiagramacion
Diagramacion
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Algoritmos y diagramacion clase 1
Algoritmos y diagramacion clase 1Algoritmos y diagramacion clase 1
Algoritmos y diagramacion clase 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Fundamentos programación
Fundamentos programaciónFundamentos programación
Fundamentos programación
 
Introducción a la programación
Introducción a la programaciónIntroducción a la programación
Introducción a la programación
 
Algoritmos y diagramas
Algoritmos y diagramasAlgoritmos y diagramas
Algoritmos y diagramas
 

Viewers also liked (13)

Manual de dfd 2
Manual de dfd 2Manual de dfd 2
Manual de dfd 2
 
Manual de raptor
Manual de raptorManual de raptor
Manual de raptor
 
Manual de dfd
Manual de dfd Manual de dfd
Manual de dfd
 
Resumen fases en el desarrollo de un programa
Resumen fases en el desarrollo de un programaResumen fases en el desarrollo de un programa
Resumen fases en el desarrollo de un programa
 
manual de netbeans
manual de netbeansmanual de netbeans
manual de netbeans
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
Netbeans ir.doc
Netbeans ir.docNetbeans ir.doc
Netbeans ir.doc
 
Manual c#
Manual c#Manual c#
Manual c#
 
Manual netbeans
Manual netbeansManual netbeans
Manual netbeans
 
C sharp
C sharpC sharp
C sharp
 
Diagramas de flujo1 dfd
Diagramas de flujo1 dfdDiagramas de flujo1 dfd
Diagramas de flujo1 dfd
 
Manual de raptor 1
Manual de raptor 1Manual de raptor 1
Manual de raptor 1
 
Manual de raptor
Manual de raptor Manual de raptor
Manual de raptor
 

Similar to Manual de java

Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
paty_cursocompu
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
Clariza
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2
Noé AG
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
restradal
 
Unidad I Algoritmos
Unidad I   AlgoritmosUnidad I   Algoritmos
Unidad I Algoritmos
Ender Melean
 

Similar to Manual de java (20)

Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Bloque 1 informatica 2
Bloque 1 informatica 2Bloque 1 informatica 2
Bloque 1 informatica 2
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad I Algoritmos
Unidad I   AlgoritmosUnidad I   Algoritmos
Unidad I Algoritmos
 
Unidad I Algoritmos
Unidad  I    AlgoritmosUnidad  I    Algoritmos
Unidad I Algoritmos
 
Diagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigoDiagrama estructurado-pseudocódigo
Diagrama estructurado-pseudocódigo
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Diagramas de flujo u. 2
Diagramas de flujo u. 2Diagramas de flujo u. 2
Diagramas de flujo u. 2
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Diagrama
DiagramaDiagrama
Diagrama
 

More from ariannalizeeth (20)

Como insertar un video en eclipse
Como insertar un video en eclipseComo insertar un video en eclipse
Como insertar un video en eclipse
 
Programa 15
Programa 15Programa 15
Programa 15
 
Imagen en la_plantlla
Imagen en la_plantllaImagen en la_plantlla
Imagen en la_plantlla
 
Imagen en el_icono
Imagen en el_iconoImagen en el_icono
Imagen en el_icono
 
Programa 14
Programa 14Programa 14
Programa 14
 
Tutoria
TutoriaTutoria
Tutoria
 
Reporte
ReporteReporte
Reporte
 
Construye. tipos de lideres
Construye. tipos de lideresConstruye. tipos de lideres
Construye. tipos de lideres
 
20 codigos
20 codigos20 codigos
20 codigos
 
Presentacion 13
Presentacion 13Presentacion 13
Presentacion 13
 
Presentación 12
Presentación 12Presentación 12
Presentación 12
 
Programa11
Programa11 Programa11
Programa11
 
Programa 10 individual
Programa 10 individualPrograma 10 individual
Programa 10 individual
 
Presentacion 9
Presentacion 9Presentacion 9
Presentacion 9
 
Presentacion 8
Presentacion 8 Presentacion 8
Presentacion 8
 
Precentacion 7
Precentacion 7 Precentacion 7
Precentacion 7
 
Presentacion 9
Presentacion 9Presentacion 9
Presentacion 9
 
Presentacion 8
Presentacion 8Presentacion 8
Presentacion 8
 
Presentacion 7
Presentacion 7Presentacion 7
Presentacion 7
 
Programa 6
Programa 6 Programa 6
Programa 6
 

Recently uploaded

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Recently uploaded (20)

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADOTIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
TIENDAS MASS MINIMARKET ESTUDIO DE MERCADO
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 

Manual de java

  • 1. 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 r.penarrieta.c@gmail.com 2011
  • 2. 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).
  • 3. 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.
  • 4. 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.
  • 5. 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
  • 6. 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.