A帽o de la Inversi贸n para el Desarrollo Rural y La
Seguridad Alimentaria
DOCENTE: NERITA TARRILLO CURSO: EDUCACION PARA EL TRABAJO COLEGIO: I.E.P.N.P.FELIX TELLO ROJAS ALUMNOS: AGUILARFALEN AARON CASTRO PEREZ YEIX CHUQUIPOMA VILELA GEAN VILLEGAS VAZQUES JEINER
Índice 1).Algoritmo Definición: MEDIOS DE EXPRESIÓN DE UN ALGORITMO: ANÁLISIS DE ALGORITMOS
2).Diagrama de flujo de datos INTRODUCCIÓN DIAGRAMA DE FLUJO OBJETIVOS DE UN DIAGRAMA DE FLUJO TIPOS DE DIAGRAMA DE FLUJOS DIAGRAMA DE FLUJOS DE PROGRAMACIÓN SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO Reglas PARA ESTRUCTURAR UN DIAGRAMA DE FLUJO CONSIDERACIONES SOBRE DIAGRAMA DE FLUJO ¿QUÉ ES UN DIAGRAMA DE FLUJO DE DATOS? LOS COMPONENTES DE UN DIAGRAMA DE FLUJO SON: REGLAS PARA LA CREACIÓN DE DIAGRAMAS EXPLICACIÓN DEL DIAGRAMA DE FLUJO VENTAJAS DEL ENFOQUE DE FLUJOS DE DATOS SÍMBOLOS USADOS EN EL DIAGRAMA DE FLUJO DE DATOS SIGNIFICADO DE LOS SÍMBOLOS DE FLUJO USO DE DIAGRAMAS DE FLUJO DE DATOS CARACTERÍSTICAS DE LOS DIAGRAMAS DE FLUJO DE DATOS ¿Cuáles SO LAS VENTAJAS DE LOS DIAGRAMAS DE FLUJO DE DATOS?
¿CUÁLES SON LAS LIMITACIONES DE LOS DIAGRAMAS DE FLUJO DE DATOS?
3).Constantes: 4).Variable Clasificación de las Variables
Expresiones Precedencia de operadores
5).Pseudocódigo Aplicación Sintaxis Características y partes Definición de datos del pseudocódigo Funciones y operaciones Estructuras de control Estructuras secuenciales Estructuras selectivas Selectiva doble (alternativa) Selectiva múltiple Selectiva múltiple-Casos Estructuras iterativas Bucle mientras Bucle repetir Bucle hacer Bucle para algoritmo Bucle para cada algoritmo El anidamiento Desarrollo de algoritmos Funciones y procedimientos Ventajas del pseudocódigo sobre los diagramas de flujo
6).ESTRUCTURAS CONDICIONALES REPITITIVAS. 7).ESTRUCTURA CONDICIONAL 8).BIBLIOGRAFIA
PRESENTACION
ESTE TRABAJO ES CON MUCHO ESFUERZO, YA QUE TODOS LOS INTEGRANTES DE MI GRUPO HEMOS PUESTO DE NUESTRA PARTE Y NUESTRO TIEMPO PARA ELABORAR LA SIGUIENTE WEB QUEST YA QUE NUESTROS SABERES SE LOS TRANSMITIMOS A TODOS USTEDES. ESPERO LO LEAN CON MUCHO ENTUSIASMO.
Algoritmo En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones. Los diagramas de flujos sirven para representar algoritmos de manera gráfica.
Definición: En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos autores los señalan 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). Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca termine de calcular números primos no deja de ser un algoritmo.
A lo largo de la historia varios autores han tratado de definir formalmente a los algoritmos utilizando modelos matemáticos como máquinas de Turing entre otros. Sin embargo, estos modelos están sujetos a un tipo particular de datos como son números, símbolos o gráficas mientras que, en general, los algoritmos funcionan sobre una vasta cantidad de estructuras de datos. En general, la parte común en todas las definiciones se puede resumir en las siguientes tres propiedades siempre y cuando no consideremos algoritmos paralelos:
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–, definiendo así una secuencia de estados "computacionales" por cada entrada válida (la entrada son los datos que se le suministran al algoritmo antes de comenzar).
Estado
abstracto. Cada estado computacional puede ser descrito
formalmente utilizando una estructura de primer orden y cada algoritmo es independiente de su implementación (los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de primer orden son invariantes bajo isomorfismo.
Exploración acotada. La transición de un estado al siguiente queda completamente determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado actual.
En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda describir sin ambigüedad y sin hacer referencia a una computadora en particular, y además tiene un límite fijo en cuanto a
la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría, por ejemplo el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en principio, con números de precisión infinita; sin embargo no es posible programar la precisión infinita en una computadora, y no por ello dejan de ser algoritmos.10 En particular es posible considerar una cuarta propiedad que puede ser usada para validar la tesis de Church-Turing de que toda función calculable se puede programar en una máquina de Turing (o equivalentemente, en un lenguaje de programación suficientemente general):
Aritmetizabilidad. Solamente operaciones innegablemente calculables están disponibles en el paso inicial.
MEDIOS DE EXPRESIÓN DE UN ALGORITMO: Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, independientes de un lenguaje de programación específico.
se
mantienen
La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
Diagrama de flujo:
Diagrama de flujo que expresa un algoritmo para calcular la raíz cuadrada de un número .
ANÁLISIS DE ALGORITMOS Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos (memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada. El análisis y estudio de los algoritmos es una disciplina de las ciencias de la computación y, en la mayoría de los casos, su estudio es completamente abstracto sin usar ningún tipo de lenguaje de programación ni cualquier otra implementación; por eso, en ese sentido, comparte las características de las disciplinas matemáticas. Así, el análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación particular. Una forma de plasmar (o algunas veces "codificar") un algoritmo es escribirlo en seudocódigo o utilizar un lenguaje muy simple tal como Léxico, cuyos códigos pueden estar en el idioma del programador. Algunos escritores restringen la definición de algoritmo a procedimientos que deben acabar en algún momento, mientras que otros consideran procedimientos que podrían ejecutarse eternamente sin pararse, suponiendo el caso en el que existiera algún dispositivo físico que fuera capaz de funcionar eternamente. En este último caso, la finalización con éxito del algoritmo no se podría definir como la terminación de este con una salida satisfactoria, sino que el éxito estaría definido en función de las secuencias de salidas dadas durante un periodo de vida de la ejecución del algoritmo. Por ejemplo, un algoritmo que verifica que hay más ceros que unos en una secuencia binaria infinita debe ejecutarse siempre para que pueda devolver un valor útil. Si se implementa correctamente, el valor devuelto por el algoritmo será válido, hasta que evalúe el siguiente dígito binario. De esta forma, mientras evalúa la siguiente secuencia podrán leerse dos tipos de señales: una señal positiva (en el caso de que el número de ceros sea mayor que el de unos) y una negativa en caso contrario. Finalmente, la salida de este algoritmo se define como la devolución de valores exclusivamente positivos si hay más ceros que unos en la secuencia y, en cualquier otro caso, devolverá una mezcla de señales positivas y negativas.
Descripción de alto nivel: Dado un conjunto finito
de números, se tiene el problema de encontrar el
número más grande. Sin pérdida de generalidad se puede asumir que dicho conjunto no es vacío y que sus elementos están numerados como . Es decir, dado un conjunto que para todo elemento
se pide encontrar que pertenece al conjunto .
tal
Para encontrar el elemento máximo, se asume que el primer elemento ( ) es el máximo; luego, se recorre el conjunto y se compara cada valor con el valor del máximo número encontrado hasta ese momento. En el caso que un elemento sea mayor que el máximo, se asigna su valor al máximo. Cuando se termina de recorrer la lista, el máximo número que se ha encontrado es el máximo de todo el conjunto. Descripción formal: El
algoritmo
puede
ser
escrito
de
una
manera
más
siguiente pseudocódigo: Algoritmo Encontrar el máximo de un conjunto
Función máx.( //
)
es un conjunto no vacío de números// ←
//
es el número de elementos de
← para
←
si
hasta
hacer
entonces ←
devolver
//
formal
en
el
Diagrama de flujo de datos INTRODUCCIÓN El presente trabajo es denominado diagrama de flujo de datos. Ilustra una de las técnicas para representar soluciones a problemas del mundo real en forma visual, es decir en forma gráfica. Esta técnica mediante graficas de flujo ilustra cómo diseñar los procedimientos o sentencias con coherencia lógica, que representan la solución al problema planteado. Hasta la presente década para el desarrollo de cursos, tales como algoritmos y estructura de datos, no ha existido un software que permita implementar el diagrama de flujo y en especial permita su ejecución (compilación) y ver los resultados dentro del mismo diagrama de flujo, según el objetivo del problema; es decir, puede comprobar la lógica de su algoritmo o lenguaje de programación especifico (Turbo Pascal, Borland C++50, etc.). Usando el software DFD (Diagrama de Flujo de Datos).Este producto, cubre en forma eficiente la ejecución de programas usando Estructuras de control, vectores, matrices y programación modular dependiente, pero el software tiene limitaciones para implementar problemas usando Registros, Archivos, Punteros y Diseño de Programación Independiente.
DIAGRAMA DE FLUJO Es un gráfico lógico del plan de trabajo que se ejecutara para la solución de un determinado problema. A través de él, se planifica la solución del problema independiente del lenguaje de computación a usar. De esta manera se separa loas instrucción es un lenguaje determinado con todas las reglas. Las capacidades humanas necesarias para elaborar un diagrama de flujo correcto son: Lógico, Prácticas, y Atención. El empleo de la maquina en las funciones del procediendo de datos han hecho necesario un flujo ordenado de la información. La secuencia en que deberán ejecutarse las operaciones tendrá que definirse claramente, y cuando se combine con los datos a los que debe aplicarse, esa secuencia creara el flujo de información. No puede hacerse mucho hincapié en documentación, ósea el registro de Información .Sin Instrucciones escritas y sin representación gráfica del flujo de trabajo sería muy difícil de llevar una tarea de procediendo de datos en forma apropiada. Hay varios métodos más eficientes organizados y normalizados, es el de los diagramas de Flujo que el Futuro programador comprenda la necesidad de los diagrama de flujo.
OBJETIVOS DE UN DIAGRAMA DE FLUJO a. Estructura la solución del problema independiente del lenguaje a utilizar. b. Separar la solución lógica de programación de la parte de reglas y sintaxis de codificación con esta división del trabajo se obtiene mayor eficiencia. c. Dar una visión completa del problema al programador ya que pierde en un programa ya codificado. d. Permitir una compresión más rápida del programa a otros programadores.
TIPOS DE DIAGRAMA DE FLUJOS Diagrama de flujo de sistemas: muestra en qué forma se procesan los datos, entre as principales funciones o estaciones de trabajo .En este diagrama completo de computadora se presenta con un solo símbolo de procesamiento.
Ejemplo de Diagrama de Flujo de sistema:
DIAGRAMA DE FLUJOS DE PROGRAMACIÓN Son las operaciones y decisiones en la secuencia en que las ejecutará una computadora de procesamiento de datos. Los símbolos representan esas operaciones e indican el orden en que se ejecutaran. Por lo tanto, un diagrama de flujo de programa proporciona una descripción grafica del programa. Ejemplo de Diagrama e Flujo de Programa:
SIMBOLOGÍA DE LOS DIAGRAMAS DE FLUJO Las diversas organizaciones usan distintos símbolos, pero el comité sobre computadoras y procesadores de información de la Asociación Norteamericana de Normas ha hecho un gran esfuerzo para normalizar los símbolos de los diagramas de flujo. Esa normalización permite comprender cualquier diagrama de flujo que use los símbolos recomendados. Cada símbolo normal de diagrama de flujo tiene un significado especial.
Expresa Inicio o Fin de un Programa.
Expresa operación algebraica o de asignación.
Expresa condiciones y asociaciones alternativas de una decisión lógica.
Expresa condición y acciones alternativas de una decisión numérica.
Entrada / Salida: Representa cualquier tipo de Fuente de entrada y salida
Entrada: Lectura de datos por tarjeta perforadas.
Conector dentro de página.
Representa resultado mediante un reporte impreso
Conector fuera de página.
Expresa operación cíclica repetitiva.
Expresa proceso de llamada a una subalterna.
Representa datos grabados en una cinta magnética.
Almacenamiento en línea Disco Magnético.
REGLAS PARA ESTRUCTURAR UN DIAGRAMA DE FLUJO
El sentido de un diagrama de flujo generalmente es de arriba hacia abajo. Es un símbolo solo puede entrar una flecha de flujo si varias líneas se dirigen al mismo símbolo, se deben unir en una sola flecha.
Las líneas de flujo no deben cruzarse, para evitar los cruces se utilizan los conectores. De un símbolo excepto el de decisión, solo puede salir una línea de flujo. Los símbolos Terminal, Conector dentro de página y conector fuera de página solo pueden estar conectados al diagrama por una sola flecha, ya que por su naturaleza es imposible que tenga una entrada y una de salida. Los émbolos de decisión tendrán siempre una sola flecha de entrada y dos o tres flechas de salida según la cantidad de alternativas que se presentan.
Un diagrama de flujo debe estar complemente cerrado, teniendo una continuidad de principio a fin, no pueden quedar flechas en el aire ni símbolos sin conexión al diagrama pues el flujo seria interrumpido.
CONSIDERACIONES SOBRE DIAGRAMA DE FLUJO Un diagrama de flujo, puede tener tipos de errores diferentes: DE FORMA: Se genera por no seguir las reglas establecidas, puede hacer el diagrama difícil interpretación, confundir el diagrama y hasta convertirlo en errado en cuanto ser lógica. DE LÓGICA: Son errores de estructura del diagrama en cuanto al arden puede ser de distinta gravedad, desde dejar de mostrar el resultado. O falta un cálculo hasta un error que determine que un programa nunca llegue a su fin. DE OBJETIVO: Es cuando un diagrama de flujo esta correcto en cuanto a su estructura y forma pero no soluciona el problema propuesto sino otro. Una vez terminado el diagrama de flujo, es necesario asegurarse de que funcione correctamente cumpliendo el objetivo fundamental, las condiciones específicas y
las excepciones del problema propuesto a esto se le llama generalmente "corrida en frio" prueba de escritorio. Para ellos e selecciona algunos datos (creadas por el programador para fines de la prueba) que cubran todos los casos posibles en todas las condiciones. Tomando estos datos se recorre el diagrama de flujo símbolo a símbolo siguiendo la orden de cada uno de ellos, todo esto se hará a un lado del diagrama o en una hoja aparte dándole valores a variables y ejecutando operación que se indique .Ejemplo:
¿QUÉ ES UN DIAGRAMA DE FLUJO DE DATOS? Es una descripción grafica de un procedimiento para la resolución de un problema. Son frecuentemente usados para descubrir algoritmos y programas de computador. Los diagramas de flujos están compuestos por figuras conectadas con flechas. Para ejecutar un proceso comienza por el Inicio y se siguen las acciones indicadas por cada figura: El tipo de figura indica el tipo de paso que representa. Del Software, DFD es un software diseñado para contribuir y analizar algoritmos se puede crear diagramas de flujos de datos para la representación de algoritmos de programación estructurada a partir de las herramientas de edición que para este propósito suministra el programa .Después de hacer haber ingresado el representado por el diagrama, podrá, ejecutarlo analizarlo y depurarlo en un entorno interactivo diseñado para este fin. La interfaz gráfica de DFD facilita en
gran medida el trabajo con diagramas ya que simula la representación estándar de diagramas de flujo en hojas de papel.
LOS COMPONENTES DE UN DIAGRAMA DE FLUJO SON:
Proceso Flujo Almacén Terminador
PROCESO: El primer componente de diagrama de flujo de datos se conoce como Proceso. El proceso nuestra una parte del sistema que transforman Entradas y Salidas. Algunas analistas prefieren usar un ovalo o un rectángulo con esquinas redondeadas, otros prefieren usar un rectángulo. Las diferencias entre estas tres formas son puramente cosméticas, aunque obviamente es importante usar la misma forma de la manera consistente para representar todas las funciones de un sistema.
FLUJO: Un flujo se representa gráficamente por medio de una flecha que entra y sale de proceso; el flujo se usa para describir el movimiento, de bloques o paquetes de información de una parte del sistema a otra. Los flujos realmente representan Datos, es decir, Bits caracteres, mensajes, números, de puntos, flotante y los diversos tipos de información con los que las computadoras pueden tratar. Los flujos también muestran la dirección: Una cabeza de flecha en cualquier extremo(o posiblemente ambos) del flujo indica si los datos (o el material) se está moviendo hacia adentro a hacia fuera por ejemplo indica claramente que el número se está mandando hacia el proceso denominado validar numero
telefónicos, y el flujo denominado honorarios de entrega de chóferes. Los datos que se mueven a dicho flujo viajaran ya sea de un proceso a otro. Ejemplo:
ALMACÉN: Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por dos líneas paralelas, de modo característico el nombre que se utiliza para identificar para los paquetes que entran y salen del almacén por medios de flujo.
PEDIDOS: Para el analista con conocimiento de proceso de datos es tentador referirse a los almacenes como archivos o bases de datos; pro un almacén también pudiera consistir en datos almacenados también pudiera consistir en datos almacenados en tarjetas perforadas, microfilm, microfichas, discos ópticos, etc. y un almacén también puede ser en conjunto de fichas de papel en una caja de cartón , nombres de fichas de papel en un directorio, diversos archivos en un archivero, o varias formas no computarizadas. Los almacenes se conectan por flujos a los procesos. Así el contexto en el que se muestra en un DFD (Diagrama de Flujo de Datos) es uno de los siguientes: Un flujo desde un almacén. UN flujo hacia un almacén.
TERMINADOR: Se representa como un rectángulo como los terminadores ser representa en entidades externas con las cuales el sistema se comunica, continuamente, puede ser una persona, o un grupo. Por ejemplo: una organización externa n o una agencia gubernamental, o un grupo o departamento que este dentro de la misma compañía u organización, pero fuera del control del sistema que se esta modelando. En algunos casos, un terminador puede ser otro sistema, como algún otro sistema computacional con el cual se comunica este.
Existen tres cosas importantes que debemos recordar acerca de los terminadores. Son externos al sistema que se está modelando. Es evidente que ni el analista ni el diseñador del sistema están en posibilidades de cambiar los contenidos de un terminador o la manera en que esta trabaja. Las relaciones que existen entre lo terminadores no se muestran en el modelo DFD (Diagrama de Flujo de Datos).
REGLAS PARA LA CREACIÓN DE DIAGRAMAS 1. Los diagramas de flujo deben escribirse de arriba hacia abajo y/o de Izquierda a derecha. 2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica su dirección que fluye la información procesos, se deben utilizar solamente líneas de flujo horizontal o vertical (nunca diagonales). 3. 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 sean estrictamente necesario. 4. No deben quedar líneas de flujo sin conectar. 5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras. 6. Todos los símbolos pueden tener mas de una línea de entrada, a excepto del símbolo final. 7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.
Ejemplo de Diagrama de Flujo:
Diagrama de flujo que encuentra la suma de los primeros 50 números naturales.
El quinto bloque es un símbolo de suma de decisiones y ramificaciones lo q hay dentro del bloque es una pregunta que se le hace a las valores que actualmente incluyen en el proceso.
¿Es N=50?, obviamente la respuesta es No, ya que N todavía es 1.Por lo que el flujo de nuestro programa se dirigirá hacia la parte en donde se observa la palabra No. Tercer bloque, este le sumara1 (N=N+1) y vuelve a llegar a este bloque, donde preguntará ¿es N=50? No todavía es 2 ha pues regresa al tercer bloque y vuelve hacer lo mismo así la suma los primeros 50 números naturales.
Por ultimo indicaciones que le resultado será mostrado en la impresora.
EXPLICACIÓN DEL DIAGRAMA DE FLUJO
El primer bloque indica el inicio del diagrama de flujo.
El segundo bloque, es un símbolo de procesos.
En este bloque se asume que las variables suman y N ha sido declarada previamente y las inicializa en o para comenzar al conteo y la suma de valores.
Tercer bloque, es también un símbolo de procesos.
En este paso se incrementa en 1 la variable N(N=N+1), por lo que en la primera pasada esta valdrá 1, ya que estaba inicializada en 0.
Cuarto bloque, es exactamente lo mismo que el anterior.
Pero en este, ya se agrega el valor de N a la variable que contendrá la suma (en el primer caso contendrá 1, ya que N=1).
VENTAJAS DEL ENFOQUE DE FLUJOS DE DATOS El enfoque de flujo de datos tiene cuatro ventajas principales sobre la explicación narrativa de la forma en que se mueven los datos a través del sistema .Las ventajas son. 1. Libertad para realizar en forma muy temprana la implementación de técnicas de sistema. 2. Una mayor comprensión de las interrelaciones de los sistemas y subsistemas. 3. Comunicación del conocimiento del sistema actual a los usuarios por medio de diagramas de flujo de datos. 4. Análisis de un sistema propuesto para determinar si han sido definidas los datos y procesos necesarios.
SÍMBOLOS USADOS EN EL DIAGRAMA DE FLUJO DE DATOS
SIGNIFICADO DE LOS SÍMBOLOS DE FLUJO El cuadrado doble es representado y usado para una actividad externa (otro departamento, un negocio, una persona, o una maquina) que puedan enviar datos y recibirlas del sistema. La entidad externa es llamada una fuente de destino de datos y es considerada externa al estudio, cada entidad externa es etiquetada con un nombre adecuado. La flecha muestra el movimiento de datos de un punto a otro , está señalada hacia suceden simultáneamente pueden ser representadas simplemente mediante el uso de flechas paralelas, debido a que una flecha representada datos acerca de una persona lugar o casa, también :Debe ser descrita con un nombre. Un rectángulo con esquinas redondeadas es usado para mostrar la aparición de un proceso de transformación. Los procesos siempre denotan un cambio o transformación de los datos.
USO DE DIAGRAMAS DE FLUJO DE DATOS Los diagramas de flujo de datos son útiles a lo largo del proceso de análisis y diseños, .Existen compromisos para decidir que tanto deben ser explotados de los flujos de datos. Se desperdiciara tiempo y se sacrificara complusibilidad si los diagramas de flujo de datos son exclusivamente complejos. Por otro lado, si los diagramas de flujo de datos están muy poco explotados, pueden ocurrir errores u omisiones que pueden eventualmente afectar el sistema que está en desarrollo. Por último, recuerde que los diagramas del sistema de flujo pueden ser usados para documentar niveles altos o bajos del análisis y para ayudar a sustentar la lógica subyacente en los flujos de datos de la organización.
CARACTERÍSTICAS DE LOS DIAGRAMAS DE FLUJO DE DATOS
Muestran que debe hacer el sistema sin referencias. Son diagramas explícitos y comprensibles. Dan la posibilidad de representan el sistema a diferentes niveles de complejidad, desde lo más global a lo más detallado solo requieren de 4 símbolos. Son fácil de mantenimiento, pues los cambios afectan solo algunos de sus elementos y no al todo.
¿CUÁLES SO LAS VENTAJAS DE LOS DIAGRAMAS DE FLUJO DE DATOS?
Fácil lectura, con esto se constituye en un instrumento de mucha versatilidad. Facilitan la interacción Usuario-Analista.
¿CUÁLES SON LAS LIMITACIONES DE LOS DIAGRAMAS DE FLUJO DE DATOS?
No permite recoger el comportamiento de sistema que deben responder a eventos en tiempos acotados. Para ello se usa el diagrama de transición de Estados. No permite dar cuenta de la de las relaciones entre los datos que se precisan almacenar .Para ello se usan el diagrama Entidad-Relación. No permite reflejar situaciones en las cuales es preciso dejar de manifiesto la necesaria concurrencia de dos o más flujo de datos para un subproceso pueda iniciar efectivamente su tarea. Para ello se utiliza la especificación de procesos. No permite recoger el contenido de los flujos de datos ni el contenido de los archivos .Para ello se utiliza el diccionario de datos.
CONCLUSIÓN Muchas personas consideran a un algoritmo y a un diagrama de flujo de datos como herramienta de gran importancia para la programación de computadora y están en lo cierto para la resolución de problemas mediante algoritmos y diagramas de flujo se ha convertido hoy en día en un instrumento efectivo para el desarrollo de habilidades y destrezas lógicas de y creativas del pensamiento humano. Hoy diferentes formas de resolver un problema, esto es debido a la forma de razonar del ser humano, al igual que cada algoritmo, o diagrama de flujo de datos elaborado. El término lógica define la exposición de leyes, modos y formas aplicadas al razonamiento. El ser humano aplica la lógica para la resolución de problemas de diferentes tipos. Algunos instructores del área de computación no hace mucho hincapié sobre el desarrollo de algoritmo y diagramas de flujo de datos.
Creando diagrama de flujo de datos haciendo uso de DFD: 1. tres amigos hicieron una venta de libros y se reparten las ganancias acuerdo al siguiente porcentaje: el 25% para Miguel, el 35% para Antonio y el 40% para Roberto. Si las ganancias fueron en soles cuanto les corresponde a cada uno.
ď‚— 2. calcular cuĂĄnto va a pagar un estudiante por su Ăştiles escolares, si necesita 6 cuadernos cuyo precio es igual para todos, 2 libros del mismo valor y un millar de hojas.
3. Calcular cuánto dinero ahorrara Marina en una alcancía, durante un año si cada semana, ahorra en soles.
4. Martha deposita sus ahorros en el Banco de Crédito, le pagan un interés 3% mensual ¿Cuánto dinero tendrá a los 6 meses si no retira nada? El interés siempre se aplica sobre el depósito inicial.
5. Diseñar un DFD que te permita saber el peso y la estatura de una persona y el cálculo del índice de la masa corporal. Información que necesitas investigar es cual es la fórmula para calcular el índice de la masa.
Constantes: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416
Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: área = pi * radio ^ 2 Las variables son: el radio, el área y la constate es pi.
Clasificación de las Variables
Por su contenido
Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: IVA = 0.15 pi = 3.1416 costo = 2500 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
Variables Alfanuméricas: Está formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: letra = ’a’ apellido = ’López’ dirección = ’Av. Libertad #190’ Por su uso
Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:
Aritméticas Relacionales Lógicas
Precedencia de operadores La interpretación de cualquier expresión en C++ está determinada por la precedencia y asociatividad de los operadores en dicha expresión. Cada operador tiene una precedencia, y los operadores en una expresión se evalúan en orden de mayor a menor precedencia. La evaluación de operadores con la misma precedencia viene determinada por su asociatividad. Y, al igual que en matemáticas, los paréntesis anulan las reglas de precedencia. En la siguiente tabla se listan los operadores en C++, su precedencia y su
asociatividad. Los operadores se listan en orden de prioridad decreciente (los situados más arriba tienen mayor prioridad). Los operadores en la misma línea horizontal tienen la misma precedencia. Operador
Propósito
::
Scope (unario)
:: -> . [] () ++ -sizeof ++ -*&+-!~ new delete () ->* .* */% +<< >> < > <= >= == != &
Asociatividad
De derecha a izquierda Scope (binario) De izquierda a derecha Selección de miembros De izquierda a derecha Índices De izquierda a derecha Llamada a función De izquierda a derecha Postincremento De izquierda a derecha Postdecremento De izquierda a derecha Tamaño de un objeto De derecha a izquierda Pre incrementó De derecha a izquierda Pre decremento De derecha a izquierda Operadores unarios De derecha a izquierda Crea un objeto De derecha a izquierda Borra un objeto De derecha a izquierda Conversión de tipo (type cast) De derecha a izquierda Puntero a un miembro De izquierda a derecha Operadores multiplicativos De izquierda a derecha Operadores aditivos De izquierda a derecha Operadores bitwise De izquierda a derecha Operadores de relación De izquierda a derecha Operadores de igualdad De izquierda a derecha Y bitwise De izquierda a
^
bitwise O exclusivo
|
bitwise O inclusivo
&&
Y lógico
||
O lógico
?:
Operador condicional
= *= /= += -= >*gt;= Operadores de asignación &= ^= |= %= <<= , Operador coma
derecha De izquierda a derecha De izquierda a derecha De izquierda a derecha De izquierda a derecha De derecha a izquierda De derecha a izquierda De derecha a izquierda
En C++ las reglas de precedencia y asociatividad de operadores corresponden a las reglas matemáticas. Sin embargo, esto no funcionará, por ejemplo, con los operadores bitwise. Para tales operadores, se debe utilizar la tabla anterior, o bien paréntesis.
Pseudocódigo En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción informal1 de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero2 , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. Se utiliza comúnmente en los libros de texto y publicaciones científicas que se documentan varios algoritmos, y también en la planificación del desarrollo de programas informáticos, para esbozar la estructura del programa antes de realizar la efectiva codificación. No existe una sintaxis estándar para el pseudocódigo, aunque los ocho IDE's que manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el pseudocódigo no debe confundirse con los programas esqueleto que incluyen código ficticio, que pueden ser compilados sin errores. Los diagramas de flujo y UML pueden ser considerados como una alternativa gráfica al pseudocódigo, aunque sean más amplios en papel.
Aplicación Muchas veces, en los libros de texto y publicaciones científicas relacionadas con la informática y la computación numérica, se utilizan pseudocódigo en la descripción de algoritmos, de manera que todos los programadores puedan entenderlo, aunque no todos conozcan el mismo lenguaje de programación. Generalmente, en los libros de texto, hay una explicación que acompaña la introducción que explica las convenciones particulares en uso. El nivel de detalle del pseudocódigo puede, en algunos casos, acercarse a la de formalizar los idiomas de propósito general. Un programador que tiene que aplicar un algoritmo específico, sobre todo uno desfamiliarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúe correctamente con el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación, como ocurre en la estructuración de un enfoque de Top-Down y Bottom-up arriba hacia abajo.
Sintaxis En la actualidad y por lo general, el pseudocódigo, como su nombre lo indica, no obedece a las reglas de sintaxis de ningún idioma en particular ni es de forma estándar sistemática, a pesar de que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la sintaxis y el estilo, por ejemplo, de algún lenguaje de programación convencional. Pero en caso de que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp, y ALGOL. Por lo general, se omiten las declaraciones de variables. A veces, las llamadas a funciones, los bloques de código y el código contenido dentro de un loop se remplazan por una sentencia de una línea en lenguaje natural. Dependiendo del escritor, el pseudocódigo puede variar mucho en su estilo, yendo desde en un extremo, una imitación casi exacta de un lenguaje de programación real, hasta al acercarse a una descripción en prosa de formato de pseudocódigo en el otro extremo.
Características y partes Las principales características de este lenguaje son: 1. Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX, Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y Algor) 2. Es una forma de representación sencilla de utilizar y de manipular. 3. Facilita el paso del programa al lenguaje de programación. 4. Es independiente del lenguaje de programación que se vaya a utilizar. 5. Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de: 1. 2. 3. 4. 5.
Instrucciones primitivas. Instrucciones de proceso.... Instrucciones de control. Instrucciones compuestas. Instrucciones de descripción.
Estructura a seguir en su realización: 1. Cabecera. 1. 2. 3. 4. 5.
Programa. Módulo. Tipos de datos. Constantes. Variables.
2. Cuerpo. 1. Inicio. 2. Instrucciones. 3. Fin.
Definición de datos del pseudocódigo La definición de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y naturalmente cuando empleemos el pseudocódigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.
Funciones y operaciones Cada autor usa su propio pseudocódigo con sus respectivas convenciones. Por ejemplo, la instrucción "reemplace el valor de la variable por el valor de la variable " puede ser representado como:
asigne a
el valor de
Las operaciones aritméticas se representan de la forma usual en matemáticas:
Estructuras de control
En la redacción del pseudocódigo se utiliza tres tipos de estructuras de control: las secuenciales, las selectivas y las iterativas.
Estructuras secuenciales Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo. Las instrucciones se ejecutan dependiendo de la condición dada dentro del algoritmo.
Estructuras selectivas Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, según el cumplimiento de una condición.
Diagrama de flujo que muestra el funcionamiento de la instrucción condicional.
La condición es una expresión booleana. Instrucciones es ejecutada sólo si la condición es verdadera.
Selectiva doble (alternativa) La instrucción alternativa realiza una instrucción de dos posibles, según el cumplimiento de una condición.
Diagrama de flujo que muestra el funcionamiento de la instrucción condicional.
La condición es una variable booleana o una función reducible a booleana (lógica, Verdadero/Falso). Si esta condición es cierta se ejecuta Instrucciones1, si no es así, entonces se ejecuta Instrucciones2.
Selectiva múltiple También es común el uso de una selección múltiple que equivaldría a anidar varias funciones de selección.
En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una de ellas se cumple las demás tienen que ser falsas necesariamente, hay un caso si no que será cierto cuando las demás condiciones sean falsas. En esta estructura si Condición1 es cierta, entonces se ejecuta sólo Instrucciones1. En general, si Condición es verdadera, entonces sólo se ejecuta Instrucciones
Selectiva múltiple-Casos: Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a continuación.
En este caso hay un Indicador es una variable o una función cuyo valor es comparado en cada caso con los valores "Valor", si en algún caso coinciden ambos valores, entonces se ejecutarán las Instrucciones correspondientes. La sección en otro caso es análoga a la sección si no del ejemplo anterior.
Estructuras iterativas Las instrucciones iterativas representan la ejecución de instrucciones en más de una vez.
Bucle mientras El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.
Diagrama de flujo que muestra el funcionamiento de la instrucción mientras
Bucle repetir Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condición:
La estructura anterior equivaldría a escribir:
Bucle hacer El Bucle hacer se utiliza para repetir un bloque de código mientras se cumpla cierta condición.
Bucle para Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar un número conocido de veces, empleando como índice una variable que se incrementa (o decrementa): Plantilla: Definiciones La cual se define como:
Bucle para cada Por último, también es común usar la estructura de control para cada. Esta sentencia se usa cuando se tiene una lista o un conjunto y se quiere iterar por cada uno de sus elementos:
Si asumimos que los elementos de sentencia equivaldría a:
son
, entonces esta
Que es lo mismo que:
Sin embargo, en la práctica existen mejores formas de implementar esta instrucción dependiendo del problema. Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que diferentes autores podrían dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.
El anidamiento Cualquier instrucción puede ser sustituida por una estructura de control. El siguiente ejemplo muestra el pseudocódigo del ordenamiento de burbuja, que tiene varias estructuras anidadas. Este algoritmo ordena de menor a mayor los elementos de una lista .
En general, las estructuras anidadas se muestran indentadas, para hacer más sencilla su identificación a simple vista. En el ejemplo, además de la indentación, se ha conectado con flechas los pares de delimitadores de cada nivel de anidamiento.
Desarrollo de algoritmos Con este pseudocódigo se puede desarrollar cualquier algoritmo que:
Tenga un único punto de inicio. Tenga un número finito de posibles puntos de término. Haya un número finito de caminos, entre el punto de inicio y los posibles puntos de término.
Funciones y procedimientos Muchas personas prefieren distinguir entre funciones y procedimientos. Una función, al igual que una función matemática, recibe uno o varios valores de entrada y regresa una salida mientras que un procedimiento recibe una entrada y no genera ninguna salida aunque en algún caso podría devolver resultados a través de sus parámetros de entrada si estos se han declarado por referencia (ver formas de pasar argumentos a una función o procedimiento).
En ambos casos es necesario dejar en claro cuáles son las entradas para el algoritmo, esto se hace comúnmente colocando estos valores entre paréntesis al principio o bien declarándolo explícitamente con un enunciado. En el caso de las funciones, es necesario colocar una palabra como regresar o devolver para indicar cuál es la salida generada por el algoritmo. Por ejemplo, el pseudocódigo de una función que permite calcular (un número elevado a potencia ).
Un ejemplo de procedimiento seria el algoritmo de Ordenamiento de burbuja, por el que partiendo de una lista de valores estos se ordenan, nótese que en un procedimiento, no se calcula el valor de una función, sino que se realiza una acción, en este caso ordenar la lista.
Ventajas del pseudocรณdigo sobre los diagramas de flujo Los pseudocรณdigos presentan los siguientes beneficios: Ocupan mucho menos espacio en el desarrollo del problema. Permite representar de forma fรกcil operaciones repetitivas complejas. Es mรกs sencilla la tarea de pasar de pseudocรณdigo a un lenguaje de programaciรณn formal. Si se siguen las reglas de identaciรณn se puede observar claramente los niveles en la estructura del programa. En los procesos de aprendizaje de los alumnos de programaciรณn, รฉstos estรกn mรกs cerca del paso siguiente (codificaciรณn en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo). Mejora la claridad de la soluciรณn de un problema.
ESTRUCTURAS CONDICIONALES REPITITIVAS. Concepto: Estructura condicional Una instrucción condicional es aquella que nos permite "preguntar" sobre el entorno que nos rodea, pudiendo así actuar según la respuesta obtenida. Estas respuestas siempre serán Verdaderas o Falsas, pudiendo así tomar, en un principio, dos caminos diferentes.
Estructura básica de una condición.- En nuestro curso esta estructura condicional se representará de la siguiente manera: Si <CONDICIÓN> entonces <INSTRUCCIÓN 1> Si no <INSTRUCCIÓN 2> Fin Si
SIMPLE: Las estructuras condicionales simples se les conoce como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:
DOBLES: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
Dónde: Si: Indica el comando de comparación Condición: Indica la condición a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condición Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición si no: Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.
MÚLTIPLES: Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente:
Múltiples (En caso de): Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma es la siguiente:
EJERCICIOS. 1) Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indic谩ndolo. Expresarlo en Pseudoc贸digo y Diagrama de flujos.
2) Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprob贸 o reprob贸 el curso. Exprese el algoritmo usando Pseudoc贸digo y diagrama de flujos.
3) Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envĂe el mensaje: Persona de altura baja; si la altura estĂĄ entre 151 y 170 escriba el mensaje: Persona de altura media y si la altura es mayor al 171 escriba el mensaje: Persona alta. Exprese el algoritmo usando PseudocĂłdigo y diagrama de flujos.
4) 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Dado un número entre 1 y 7 escriba su correspondiente día de la semana así:
ESTRUCTURA REPETITIVA DO WHILE. Introducción: La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que podían no ejecutar el bloque. Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutará el bloque repetitivo. La condición de la estructura está abajo del bloque a repetir, a diferencia del while o del for que está en la parte superior.
Representación Grafica
El bloque de operaciones se repite MIENTRAS que la condición sea Verdadera. Si la condición retorna Falso el ciclo se detiene. En Java, todos los ciclos repiten por verdadero y cortan por falso. Es importante analizar y ver que las operaciones se ejecutan como mínimo una vez.
EJERCICIOS. 1) Realizar un programa que imprima en pantalla los nĂşmeros del 1 al 100. Sin conocer las estructuras repetitivas podemos resolver el problema empleando una estructura secuencial. Inicializamos una variable con el valor 1, luego imprimimos la variable, incrementamos nuevamente la variable y asĂ sucesivamente
Si continuamos con el diagrama no nos alcanzar铆an las pr贸ximas 5 p谩ginas para finalizarlo. Emplear una estructura secuencial para resolver este problema produce un diagrama de flujo y un programa en Java muy largo. Ahora veamos la soluci贸n empleando una estructura repetitiva while:
2) Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta el valor ingresado de uno en uno. Ejemplo: Si ingresamos 30 se debe mostrar en pantalla los n煤meros del 1 al 30. Es de FUNDAMENTAL importancia analizar los diagramas de flujo y la posterior codificaci贸n en Java de los siguientes problemas, en varios problemas se presentan otras situaciones no vistas en el ejercicio anterior.
ESTRUCTURA CONDICIONAL Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples.
Simples: Las estructuras condicionales simples se les conocen como “Tomas de decisión”. La estructura condicional
de selección simple ejecuta un bloque de instrucciones cuando la proposición (condición) es verdadera; si esta es falsa, no hace nada.
Pseudocódigo:
Diagrama de flujo:
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. La estructura condicional
de selección doble ejecuta un bloque de instrucciones (A) cuando la proposición (condición) es verdadera y un bloque diferente (B) cuando esta es falsa.
Donde se: Indica el comando de comparación Condición: Indica la condición a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condición Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición Pseudocódigo:
Diagrama de flujo:
si no: Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. Pseudocódigo:
Diagrama de flujo:
Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones específicas.
Pseudocódigo:
Diagrama de flujo:
Múltiples (En caso de): Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma es la siguiente: Veamos algunos ejemplos donde se aplique todo lo anterior: Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos.
Ejemplo de estructura simple Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: INICIO Not1, Not2, Not 3 :REAL Def: REAL LEA Nota1, Nota2, Nota3 Def ß (Not1 + Not2 + Not3) /3 Si Def < 3 entonces Escriba “Reprobó el curso” Sino Escriba “Aprobó el curso” Fin-Si FIN
Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: INICIO Altura: ENTERO ESCRIBA “Cuál es tu altura? ” LEA Altura Si Altura <=150 entonces ESCRIBA “persona de altura baja” Sino Si Altura <=170 entonces ESCRIBA “persona de altura media” Sino Si Altura>170 ENTONCES ESCRIBA “persona alta” Fin-Si Fin-Si Fin-Si FIN
Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7Domingo Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo INICIO Dia: ENTERO ESCRIBA “Diga un número para escribir su día” LEA Dia En-caso-de Dia haga Caso 1: ESCRIBA “Lunes” Caso 2: ESCRIBA “Martes” Caso 3: ESCRIBA “Miércoles” Caso 4: ESCRIBA “Jueves” Caso 5: ESCRIBA “Viernes” Caso 6: ESCRIBA “Sábado” Caso 7: ESCRIBA “Domingo” SINO: ESCRIBA “Escribió un numero fuera del rango 1-7” Fin-Caso
Primero y antes que nada, dar gracias a Dios, por estar conmigo en cada paso que doy, por fortalecer mi corazón e iluminar mi mente y por haber puesto en mi camino a aquellas personas que han sido mi soporte y compañía durante todo el periodo del estudio.
De igual forma, a mis Padres, a quien le debo toda mi vida, les agradezco el cariño y su comprensión, a ustedes quienes han sabido formarme con buenos sentimientos,
Agradecer hoy y siempre a mi familia por el esfuerzo realizado por ellos. El apoyo en mis estudios, de ser así no hubiese sido posible. A mis padres y demás familiares ya que me brindan el apoyo, la alegría y me dan la fortaleza necesaria para seguir adelante.
A mis maestros, gracias por su tiempo, por su apoyo así como por la sabiduría que me transmitieron en el desarrollo de mi formación profesional, en especial al Profesora NERITA, por haber guiado el desarrollo de este trabajo y llegar a la culminación del mismo.
http://es.slideshare.net/ninamille/estructura-condicional-2763177 http://www.desarrolloweb.com/articulos/2225.php http://www.javaya.com.ar/detalleconcepto.php?codigo=83&inicio http://www.javaya.com.ar/detalleconcepto.php?codigo=85&inicio= http://www.google.com.pe/search?q=estructura+condicional+simple&tbm=isch&tbo =u&source=univ&sa=X&ei=WonkUcehOcj54AOK8oDoDA&ved=0CCwQsAQ&biw= 960&bih=542#facrc=_&imgdii=_&imgrc=4izQ6DSQvbq67M%3A%3BIinOdbOl_LiRM%3Bhttp%253A%252F%252Fwww.desarrolloweb.com%252Farticulos%252Fi mages%252Falgoritmos%252Fordinograma_si_multiple.gif%3Bhttp%253A%252F %252Fwww.desarrolloweb.com%252Farticulos%252F2225.php%3B300%3B275 http://www.ingenieriasistemas.net/2013/04/estructura-condicional.html http://www.javaya.com.ar/detalleconcepto.php?codigo=81&inicio= http://www.google.es/search?noj=1&q=DIBUJOS%20ANIMADOS%20PARA%20T RABAJOS&biw=1366&bih=607&um=1&ie=UTF8&hl=es&tbm=isch&source=og&sa=N&tab=wi&ei=rOblUbWYDoev4API4oCABA#f acrc=_&imgdii=SBsrwM4dXEnwjM%3A%3BqEOX7UWdgoj5uM%3BSBsrwM4dXE nwjM%3A&imgrc=SBsrwM4dXEnwjM%3A%3BTUvDABeUJkemM%3Bhttp%253A%252F%252F1.bp.blogspot.com%252Fj_vgPXD7QHc%252FT8SuCOBb_zI%252FAAAAAAAAALU%252FfAtCozDaaw%252Fs200%252F7205727-un-estudiante-de-dibujos-animados-feliz-conbuenascalificaciones%25255B1%25255D.jpg%3Bhttp%253A%252F%252Fbbtksaltes.blo gspot.com%252F2012_11_01_archive.html%3B732%3B1200