Your SlideShare is downloading. ×
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Unidad II
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Unidad II

887

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
887
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. República Bolivariana de Venezuela Universidad del Zulia Núcleo Costa Oriental del LagoPrograma: Humanidades y Educación Sub-Programa: Informática Tutora: María Isabel Colina Cabimas, Septiembre 2012
  • 2. Unidad 2.- Algoritmos y Diagramas de Flujo1.- AlgoritmosEs el conjunto de instrucciones que especifican la secuencia de operaciones a realizar enorden, para resolver un sistema específico o clase de problemas.1.1.- PseudocódigoEs una descripción de un algoritmo informático de programación de alto nivelcompacto e informal que utiliza las convenciones estructurales de un lenguajede programación verdadero, pero que está diseñado para la lectura humana enlugar de la lectura en máquina, y con independencia de cualquier otro lenguajede programación.1.2.- Características-Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP,PilatoX o PSeInt).-Es una forma de representación sencilla de utilizar y de manipular.-Facilita el paso del programa al lenguaje de programación.-Es independiente del lenguaje de programación que se vaya a utilizar.-Es un método que facilita la programación y solución al algoritmo delprograma.1.3.- Análisis del ProblemaRequiere la clara definición del problema donde se indique que va hacer elprograma y cual ve a ser el resultado.1.4.- Componentes de un algoritmo:-Entrada: La entrada de los datos, corresponde a los insumos o datos necesarios paraofrecer los resultados esperados.
  • 3. -Proceso: Son los pasos necesarios para obtener la solución al problema o lasituación planteada.-Salida: Son los resultados arrojados por el proceso como la solución.1.4.1.- VariablesEs un nombre asociado a un elemento de datos que está situado en posicionescontiguas de la memoria principal, y su valor puede cambiar durante laejecución de un programa.Toda variable pertenece a un tipo de dato concreto. En la declaración de unavariable se debe indicar el tipo al que pertenece. Así tendremos variablesenteras, reales, booleanas, etc. Por otro lado, distinguimos tres partesfundamentales en la vida de una variable:-Declaración-Iniciación-Utilización-Declaración de variables: Está es la primera fase en la vida de cualquiervariable. La declaración se realiza en la sección que comienza con la palabravar.-Iniciación de variables: Esto no es más que darle un valor inicial a unavariable. Principalmente, existen dos maneras de otorgar valores iniciales avariables:-Mediante una sentencia de asignación-Mediante uno de los procedimientos de entrada de datos (read o readln).-Utilización de variables: Una vez declarada e iniciada una variable, es elmomento de utilizarla. Esta es la parte que presenta un mayor abanico deposibilidades
  • 4. 1.4.2.- ConstanteEs un dato cuyo valor no puede cambiar durante la ejecución del programa.Recibe un valor en el momento de la compilación y este permanece inalteradodurante todo el programa.Se puede hacer una división de las constantes en tres clases:-Constantes literales (sin nombre)-Constantes declaradas (con nombre)-Constantes expresión-Constantes literalesSon valores de cualquier tipo que se utilizan directamente, no se declaran yaque no tienen nombre.-Constantes declaradasTambién llamadas constantes con nombre, son las que se declaran en lasección constante asignándoles un valor directamente. Por ejemplo:-Constantes expresiónTambién se declaran en la sección constante, pero a estas no se les asigna unvalor directamente, sino que se les asigna una expresión. Esta expresión seevalúa en tiempo de compilación y el resultado se le asigna a la constante.1.4.3.- Asignaciones Este tipo de p r o g r a ma c i ó n se basa en los operadorescaracterísticos de cada lenguaje de programación que son losoperadores de asignación, que comúnmente a p a r e c e c o n u n s i g n o i g u a l( = ) . C a m b i a e l v a l o r d e l a v a r i a b l e q u e e s t á a l a izquierda por unliteral o el resultado de la expresión que se encuentra a la derecha. La sintaxisusada para ello es:<destino> = <origen>.Una asignación será correcta siempre
  • 5. que la anotación de tipo no haya enlazado la variable a un tipo de datosdeterminado en la instrucción.CARACTERÍSTICA-L a s a s i g n a c i o n e s s o n e xp r e s i o n e s y r e s p o n d e n e l r e s u l t a d od e e v a l u a r e l miembro de la derecha.-L a s a s i g n a c i o n e s p u e d e n e n c a d e n a r s e , r e s u l t a n d o q u e l aa s i g n a c i ó n d e l miembro derecho sea la respuesta de la asignación anterior.-Las asignaciones no copian datos, ligan nombres a objetos. Siemprevan al ámbito interno.-Una asignación es simplemente una instrucción mediante la que se indica unvalor a almacenar en un dato.Nota: Se debe tener en cuenta que a una variable sólo se le pueden asignarvalores que correspondan a su tipo de dato, así, por ejemplo, no se le puedeasignar un número flotante a una variable entera.1.4.4.- Entrada de DatosSon los que la computadora va a procesar.1.4.5.- Estructuras CondicionalesSe utilizan para lograr que un algoritmo analice los datos y tome ciertasdecisiones., con las estructuras condicionales se regula el comportamiento deun algoritmo, para que interactúe con los datos ingresados por el usuario, o condatos que ha obtenido de procesos internos.Para cumplir con estos objetivos existen tres categorías de estructurascondicionales, las cuales son:
  • 6. -Estructuras condicionales simples En este tipo de estructuras se limita la ejecución de un bloque de código dependiendo el resultado de una condición. -Estructuras condicionales dobles Son aquellas que ofrecen dos posibles alternativas para continuar la ejecución del código, una de ellas se ejecutará si la condición se cumple (verdadero) y la otra alternativa se ejecutará si la condición no se cumple (falso). -Estructuras Condicionales múltiples Entregan una decisión más especializada, debido a que representan una serie más amplia de parámetros o alternativas, con lo que se logra analizar de manera más correcta la variable.1.4.6.- Estructuras CíclicasEs aquella que le permite al programador repetir un conjunto o bloque deinstrucciones un número determinado de veces mientras una condición dadasea cierta o hasta que una condición dada sea cierta.1.5.- Elaboración de algoritmos utilizando PseudocódigosDiseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a unprograma que escribe el porcentaje descontado en una compra, introduciendopor teclado el precio de la tarifa y el precio pagado.PseudocódigoPROGRAMA: DescuentoINICIODATOS:VARIABLESTarifa Numérico Entero
  • 7. Precio Numérico EnteroDto Numérico EnteroPd Numérico RealALGORITMO:Leer TarifaLeer PrecioDto = Tarifa – PrecioPd = Dto * 100 / TarifaEscribir “Porcentaje de descuento:”, PdFINDiseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a unprograma que pida por teclado dos números enteros y muestre su suma, resta,multiplicación, división y el resto (módulo) de la división. Si la operación no esconmutativa, también se mostrará el resultado invirtiendo los operadores.PseudocódigoPROGRAMA: Operaciones aritméticasINICIODATOS:VARIABLESNum1 Numérico EnteroNum2 Numérico EnteroALGORITMO:Leer num1, num2Escribir “n1 + n2 = “, num1+num2Escribir “n1 - n2 = “, num1-num2Escribir “n2 - n1 = “, num2-num1Escribir “n1 * n2 = “, num1*num2Escribir “n1 / n2 = “, num1/num2Escribir “n2 / n1 = “, num2/num1Escribir “n1 mod n2 = “, num1 mod num2Escribir “n2 mod n1 = “, num2 mod num1FIN
  • 8. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a unprograma que exprese en horas, minutos y segundos un tiempo expresado ensegundos.PseudocódigoPROGRAMA: Tiempo_segundosINICIODATOS:VARIABLESSegundos Numérico EnteroMinutos Numéricos EnteroHoras Numéricas EnteroALGORITMO:Leer segundosHoras = segundos / 3600Segundos = segundos mod 3600Minutos = segundos / 60Segundos = segundos mod 60Escribir horas, “h “, minutos, “m “, segundos, “s”FIN1.6.- Diagramas de Flujo1.7.- Conceptos-Es la representación gráfica del algoritmo o proceso. Estos diagramas utilizansímbolos con significados bien definidos que representan los pasos delalgoritmo, y representan el flujo de ejecución mediante flechas que conectanlos puntos de inicio y de fin de proceso.-Son diagramas que emplean símbolos gráficos para representar los pasos oetapas de un proceso. También permiten describir la secuencia de los distintospasos o etapas y su interacción.1.8.- Características
  • 9. -Identificar las ideas principales a ser incluidas en el diagrama de flujo. Debenestar presentes el dueño o responsable del proceso, los dueños oresponsables del proceso anterior y posterior y de otros procesosinterrelacionados, otras partes interesadas.-Definir qué se espera obtener del diagrama de flujo.-Identificar quién lo empleará y cómo.-Establecer el nivel de detalle requerido.-Determinar los límites del proceso a describir.1.9.- Ventajas -Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto. -Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión. -Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas. -Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan mejoras en el proceso . -Al igual que el pseudocódigo, el diagrama de flujo con fines de análisis de algoritmos de programación puede ser ejecutado en un ordenador, con un IDE como Free DFD.
  • 10. 1.10.- Tipos -Formato vertical: En él, el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. -Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha. -Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aún para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. -Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujo gramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.1.11.- Simbología -Óvalo o Elipse: Inicio y término (Abre y/o cierra el diagrama). -Rectángulo: Actividad (Representa la ejecución de una o más actividades o procedimientos). -Rombo: Decisión (Formula una pregunta o cuestión).
  • 11. -Círculo: Conector (Representa el enlace de actividades con otra dentro de un procedimiento). -Triángulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente). -Triángulo boca arriba: Archivo temporal (Proporciona un tiempo para el almacenamiento del documento).1.12.- Reglas Básicas
  • 12. -Debe de indicar claramente dónde inicia y dónde termina el diagrama.-Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin.-Organizar los símbolos de tal forma que siga visualmente el flujo de arribahacia abajo y de izquierda a derecha.-No usar lenguaje de programación dentro de los símbolos.-Centrar el diagrama en la página.-Las líneas deben ser verticales u horizontales, nunca diagonales.-No fraccionar el diagrama con el uso excesivo de conectores.- Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegarmuchas líneas de flujo a otras líneas.-Las líneas de flujo deben de entrar a un símbolo pro la parte superior y/oizquierda y salir de él por la parte inferior y/o derecha.-Evitar que el diagrama sobrepase una página; de no ser posible, enumerar yemplear los conectores correspondientes.-Usar lógica positiva, es decir, realizar procesos cuando es verdadera lacondición y expresar las condiciones de manera clara (por ej., "no es a =/= deb" ==> "a=b").1.13.- Elaboración de algoritmos utilizando Diagramas de FlujoDiseñar el algoritmo correspondiente a un programa que obtiene la última cifrade un número introducido.
  • 13. Diseñar el algoritmo correspondiente a un programa que calcule el área y elperímetro de un triángulo rectángulo dada la base y la altura.
  • 14. Diseñar el algoritmo correspondiente a un programa que tras introducir unamedida expresada en centímetros la convierta en pulgadas (1pulgada = 2,54centímetros).Diseñar el algoritmo correspondiente a un programa que exprese en horas,minutos y segundos un tiempo expresado en segundos.

×