Está en la página 1de 112

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

MISIÓN Y VISIÓN DE LA UMED MISIÓN La UMED tiene la misión de contribuir a la socialización de la educación, ofreciendo la oportunidad de acceder a la educación superior a aquellas personas que no pueden asistir al sistema escolarizado, poniendo a su disposición servicios educativos de calidad en la modalidad abierta a distancia, formando profesionales con perfiles de egreso acordes a las necesidades del campo de trabajo profesional, estimulando valores como la honestidad, el respeto, la confianza, el profesionalismo, la cooperación y la lealtad.

VISIÓN La UMED tiene como visión la de ser reconocida como la institución más prestigiada de México en el campo de la educación abierta a distancia, teniendo presencia en todas las entidades federativas del país, extendiendo sus servicios a otros países. Siendo además una universidad en toda la extensión de la palabra, que atienda tanto el aprendizaje de sus estudiantes como la producción del nuevo conocimiento a través de la investigación, y que difunda y extienda a la sociedad los bienes de la cultura.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

Primera Edición. 2007 Copyright © 2007 Por Luisa Telles Valdivia Cuernavaca, Morelos. Los derechos de esta obra son propiedad de: Fundación Morelense de Investigación y Cultura, S.C. Coronel Ahumada Nº 33 Col. Lomas del Mirador 62350 Cuernavaca, Morelos, México. Queda hecho el depósito que marca la Ley. Derechos Reservados. Impreso en México.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

FUNDACIÓN MORELENSE DE INVESTIGACIÓN Y CULTURA, S. C.

UNIVERSIDAD MEXICANA

DE EDUCACIÓN A DISTANCIA

GUÍA DE AUTOESTUDIO

ALGORITMOS
(INFORMÁTICA III)

L.I. LUISA TELLES VALDIVIA

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

................... 47 UNIDAD III ENTIDADES PRIMITIVAS PARA EL DISEÑO DE INSTRUCCIONES........ OBJETIVO GENERAL.............. 60 UNIDAD IV TÉCNICAS DE DISEÑO.................................................................................................. INTRODUCCIÓN............ BIBLIOGRAFÍA BÁSICA............................. GLOSARIO.......................... 75 UNIDAD V ESTRUCTURAS ALGORÍTMICAS..I......... III........... INSTRUCCIONES DE MANEJO.................. CONTENIDO TEMÁTICO........................................................................ IV........................................... LUISA TELLES VALDIVIA ................................................................................................ VII............ 84 V.................. ALGORITMOS 110 113 114 L..... ACTIVIDADES DE APLICACIÓN................... VI....... I... 17 UNIDAD II METODOLOGÍA PARA PLANTEAR Y RESOLVER PROBLEMAS...................................................................................FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA ÍNDICE Pág.............. UNIDAD I ALGORITMOS........................................................... 7 9 11 13 II...........

Los algoritmos pueden ser de forma gráfica o textual. INTRODUCCIÓN La programación es una disciplina de la informática que brinda soporte en el desarrollo de sistemas o programas de computadora. caso o de iteración. selectiva. un programa es un conjunto de instrucciones escritas en un lenguaje de computadora. diagramas N/S. para determinar que estructura se debe utilizar. estas son secuencias no ambiguas. es conveniente seguir una metodología que permita diseñar una solución de manera estructurada y ordenada. Por último. Al emplear una metodología se identifica la necesidad de implementar técnicas que permitan planear la solución a sistematizar. estos pueden ser datos simples o complejos. Los datos pueden ser tratados con operadores aritméticos. relacionales o lógicos. un ejemplo de metodologías es el ciclo de vida del desarrollo de sistema. los de estructura. diagramas de Warnier-Orr. vectores.I. ejemplo de ellos son los diagramas de flujo. Para desarrollar un programa.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 7 I. es conveniente analizar si usamos una técnica ascendente o descendente. una de dichas técnicas es el desarrollo de algoritmos. Los algoritmos se construyen mediante estructuras algorítmicas. que le indican las tareas a desarrollar. constantes o variables. finitas y ordenadas de instrucciones que han de seguirse para resolver un problema. etc. este método se caracteriza por dividir las tareas en fases o etapas. matrices. las cuales pueden ser llevadas acabo al mismo tiempo o en diferentes momentos. ALGORITMOS L. como pueden ser la secuencial. registros o archivos. LUISA TELLES VALDIVIA . El empleo de una u otra estructura determinará el funcionamiento del programa. numéricos o alfanuméricos. pueden almacenarse en variables. pseudocódigos. es importante analizar el tipo de datos que se utilizaran.

Cuadro de resumen.Objetivo de la Unidad. Al finalizar el desarrollo del Contenido Temático. iniciará en el estudio de las Unidades e irá avanzando de acuerdo a sus posibilidades. c) Bibliografía. En segundo lugar analizará cada una de las partes en que se divide a fin de familiarizarse con la Guía. LUISA TELLES VALDIVIA . INSTRUCCIONES DE MANEJO Siguiendo los lineamientos del material preparado por la institución.Autoevaluación. . A continuación. .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 9 II. en esta Guía se incluyen: a) Unidades. d) Actividades de Aplicación. Cada una de las unidades comprende: .I. se incluye un Glosario para que el alumno consulte en caso necesario los conceptos más usuales en el curso. ALGORITMOS L.Contenido.Presentación. Por lo anterior es necesario explicar al alumno la manera de utilizar la presente Guía de Autoestudio: En primer lugar deberá leer el índice con la finalidad de observar tanto el contenido como la organización del material. (5) b) Glosario. . La evaluación de cada Unidad se realizará a través de un cuestionario de autoevaluación con preguntas elaboradas a partir del material contenido en la Guía de Autoestudio. .

FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 10 La Bibliografía Básica abarca los textos indispensables básicos para el estudio de esta materia. Cabe destacar la importancia de que el alumno realice las lecturas y ejercicios sugeridos en las Actividades de Aplicación a efecto de consolidar los conocimientos. LUISA TELLES VALDIVIA . ALGORITMOS L.I.

LUISA TELLES VALDIVIA .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 11 III. OBJETIVO GENERAL AL FINALIZAR EL CURSO EL ALUMNO LA DE PLANTEARA SOLUCIÓN METODOLÓGICAMENTE DE PROBLEMAS PROGRAMACIÓN A TRAVÉS DEL MANEJO DE TÉCNICAS ESTRUCTURADAS DE DISEÑO Y FORMULACIÓN DE ALGORITMOS.I. ALGORITMOS L.

1. II.3.1 Reglas generales.I.3 Representación. I.3.1.3.3.2. II.5 Diagramas de N/S (Nassi/Shneiderman).3.3 Diagramas de flujo.7 Mantenimiento. I.1 Gráfica (diagramas).1.4 Codificación. II. Autoevaluación. I. Cuadro Resumen. I.3. I.4 Diagramas estructurados.2.3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 13 IV. I.2 Textual (seudocódigo).2 Ventajas e inconvenientes. lenguaje y lenguajes algorítmicos. Autoevaluación. ALGORITMOS L.2 Ventajas e inconvenientes. I.3 Palabras convencionales. I. I. II. I.2. II. Cuadro Resumen. II.3.1.2 Características. I. I. reservadas o clave.3. UNIDAD II METODOLOGÍA PARA PLANTEAR Y RESOLVER PROBLEMAS II.1 Definición de problema por medio de computadoras.5 Prueba y depuración.3.1 Reglas generales. LUISA TELLES VALDIVIA .1 Definición de algoritmo.6 Documentación.3 Diseño de la solución.1. CONTENIDO TEMÁTICO UNIDAD I ALGORITMOS I.2 Análisis de los datos.

LUISA TELLES VALDIVIA .1 Estructura de control.1.2 Bifurcaciones.4. V.2 Operadores y operandos.4 Operaciones. V. UNIDAD IV TÉCNICAS DE DISEÑO IV. III.1. V.2 Bottom up. IV. Autoevaluación.4.I. V.1 Tipos de datos.3 Iteraciones.3 Warnter.1.1 Arreglos. V.5 Aplicaciones. V.4.4 Identificadores como localidades de memoria.3 Expresiones. Cuadro Resumen.4 Problemas usuales. UNIDAD V ESTRUCTURAS ALGORÍTMICAS V.1.1. IV.1.2 Vectores.1.1.1.6 Archivos.1.3 Matrices. ALGORITMOS L. V.1.1.4. V.1.4. V.4.1.1.1 Top down. V.4. III. Cuadro Resumen.1. Autoevaluación.1 Tipos de campos. III.1.1 Subíndice.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 14 UNIDAD III ENTIDADES PRIMITIVAS PARA EL DISEÑO DE INSTRUCCIONES III. V.

1. V. V.2 Consulta.4.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 15 V.3 Control del proceso.2.8 Archivos transaccionales.7 Archivos maestros.2. V.4. V.3 Control de procesos.4.3.2 Registros.1.1. V. V.4.1. V.1.4.1.2.4.4.1. ALGORITMOS L.4. Cuadro Resumen. Autoevaluación. V.4 Aplicaciones. V.4.1.1.4. V.2.2.3 Mezcla.1.3.2.I.5 Aleatorios.2.6 Definición.1. V.1 Actualización.3.1 Definición.3.4.1.2. LUISA TELLES VALDIVIA .2 Secuenciales V.4.4.1.4 Aplicaciones.1. V.4.

se puede expresar de manera gráfica o textual. los algoritmos textuales son el pseudocódigo. los algoritmos ayudan al programador a proveer una solución. ALGORITMOS L. LUISA TELLES VALDIVIA . etc. tendrá una visión completa de las acciones que se llevaran acabo. Independientemente de su presentación. estos son realizados por programadores mediante el uso de lenguajes de programación. Entre varias actividades. diagramas estructurados y diagramas N/S o de Chapin son considerados como algoritmos gráficos. que tiene que ver con todo lo relacionado con el desarrollo de soluciones informáticas o programas. símbolos. es conveniente que el programador planee la forma en que resolverá la situación que se plantea. reglas sintácticas y semánticas mediante las cuales se instruye a la computadora.I. a través de estructuras algorítmicas como la secuencial. los diagramas de Warnier-Orr y Folklore. podrá hacer ajustes antes de iniciar e invertir. los algoritmos forman parte de la planeación de programas. de esa manera ahorra tiempo.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 17 UNIDAD I ALGORITMOS PRESENTACIÓN La programación de sistemas es una disciplina de la informática. Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solución a un problema. tales herramientas están compuestas por un conjunto de palabras. alternativa e iterativa. Antes de desarrollar cualquier programa. Los diagramas de flujo.

I. reservadas o claves.5 Diagramas N/S (Nassi/Shneiderman). I.3.3 Palabras convencionales.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 18 Al finalizar esta Unidad.3.3.2. ALGORITMOS L.1 Definición de algoritmo. I.3 Representación. I.1 Reglas generales.4 Diagramas estructurados. I.I.1.3.3.2 Ventajas e inconvenientes. Cuadro Resumen.2 Ventajas e inconvenientes.1.2 Textual (pseudocódigo).3 Diagramas de flujo.1 Gráficas (diagramas). I.3.3. Autoevaluación.1. I. de CONTENIDO I. lenguaje y lenguajes algorítmicos.1.2 Características. LUISA TELLES VALDIVIA .3. I.2. I. el alumno tendrá como: Objetivo Definir y conocer diferentes formas representar una solución informática.1.3. I.1 Reglas generales. I.3. I.2.

las computadoras requieren de un lenguaje que permita al humano instruirlas. sin embargo. señales. sin ellos ya nada sería igual. esta es la más sencilla. Las computadoras e Internet han facilitado la comunicación. a las personas que se encargan de instruir a las computadoras se le llama programador. entretenimiento y muchas cosas más. la transferencia de información. necesitan del ingenio humano para ejecutar las tareas asignadas. ya que el trabajo suele realizarse en menor tiempo y con mayor precisión. Los siguientes términos corresponden a unidades de medida o agrupación de datos: Bit Byte (b) Kilobyte (kb) ALGORITMOS Dígito binario 0 ó 1 Es el conjunto de 8 bits. las computadoras no trabajan por si solas. pues la mayoría de nuestras acciones tienen que ver cada día más con las computadoras. las personas nos comunicamos de diferentes formas.1 Definición de algoritmo. estos son manipulados en grupos por las computadoras para representar datos de cualquier tipo. LUISA TELLES VALDIVIA . ellos utilizan una serie de técnicas y métodos para desarrollar programas (software). Como sabemos. ya que solo existe el valor 0 y 1. usamos palabras. A un dígito binario se le conoce como bit. el cual tiene muchos dialectos y es razón suficiente para que un programa escrito en una iMac no sea reconocido por una PC y viceversa. el único que reconoce es el lenguaje binario. de igual manera. El lenguaje binario solo lo componen dos valores y en comparación con otras formas de comunicación de computadoras. lenguaje y lenguajes algorítmicos.I. estos equipos nos aportan grandes ventajas. Los equipos de cómputo son herramientas que el ser humano utiliza para ejecutar tareas de diversa índole. sonidos y signos. Son 1024 bytes L. Para desarrollar programas es necesario que el programador comprenda el funcionamiento de las computadoras y el lenguaje que emplea.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 19 I. además del enorme beneficio que representa el almacenar grandes volúmenes de información.

hoy día ya no escribimos programas en lenguaje máquina. en menor tiempo y de una manera sencilla. provoco que los investigadores diseñaran un lenguaje intermedio entre la computadora con su lenguaje binario y el humano. ya que puede ser sintácticamente correcto. Los lenguajes de programación están compuestos por un conjunto de palabras. que mediante instrucciones estructuradas escribe las sentencias que habrán de ejecutarse. una simple palabra conlleva un gran número de bits. por lo que la programación en código máquina se le considera compleja y difícil. ALGORITMOS L. LUISA TELLES VALDIVIA . las reglas semánticas indican si una sentencia tiene significado para el lenguaje de programación. programar en binario o lenguaje máquina fue una tarea que desarrollaron los primeros programadores y esta de sobra decir. reglas sintácticas y reglas semánticas mediante las cuales se instruye a la computadora. ahora los programadores se auxilian de un software especial llamado lenguaje de programación. pero carente de sentido y en consecuencia el programa no ejecutará o no mostrara los resultados deseados. que los resultados en varias ocasiones eran erróneos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 20 Megabyte (mb) Gigabyte (gb) Terabyte (tb) Petabyte (pb) Son 1024 Kilobytes Son 1024 Megabytes Son 1024 Gigabytes Son 1024 Terabytes La palabra algoritmo representada en el lenguaje binario es la siguiente: 01000001 01001100 01000111 01001111 01010010 01001001 01010100 01001101 01001111 Como se observa.I. La necesidad de desarrollar programas más sofisticados. Las reglas sintácticas indican la manera correcta de escribir programas. símbolos. porque es muy fácil confundirse entre tantos dígitos.

Lotos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 21 El lenguaje de programación no es el único lenguaje informático. Lenguaje que permite al usuario solicitar información de una base de datos. tales etiquetas o marcas contienen información adicional de la estructura del texto o de su presentación. mediante etiquetas se identifican estructuras. etc. Es una forma de codificar un documento. pero también existen otros como SGML y XML. Lenguaje formal que permite construir modelos de sistemas. Conjunto de reglas básicas que emplean los equipos de cómputo para dialogar entre sí. Lenguaje que transforma el contenido de un documento a otro formato. incluso de dos y tres dimensiones. sino las especificaciones o concepto del mismo. ejemplo de ellos son: SQL y XQuery. grabar. Lenguaje de consultas. Lenguaje de sonidos.I. LUISA TELLES VALDIVIA . incluso son muy útiles en el proceso de validación. de tal forma que se pueda establecer y mantener una comunicación libre de errores. Algunos ejemplos son: UML. Ejemplo de ellos son HTTP y FTP. con ellos se pueden crear sistemas para sintetizar. Protocolo de comunicaciones. reproducir. Lenguajes de transformaciones. por ejemplo de XSLT a XML. Ejemplos de ellos son Metapost y Open GL. el producto no es un código ejecutable. mediante expresiones se le indica a la base de datos los registros o datos que se desean consultar o recuperar. Lenguaje de marcas. Lenguaje que permite al usuario desarrollar aplicaciones en donde se creen y manipulen imágenes de alta calidad. Ejemplo de ellos es Supercollider y VoiceXML. B. el lenguaje de marcas más extendido es HTML. procesar. es decir. es decir. Lenguajes que permiten crear audio digital. también existe: Lenguaje de especificación. ALGORITMOS L. editar y hacer composiciones. Lenguaje gráfico.

Los Pseudocódigos o códigos falsos. etc. por lo que ya no es necesario listar paso a paso las operaciones del algoritmo. LUISA TELLES VALDIVIA . al dar una exposición. uno de ellos es la realización de algoritmos. se debe de planear la solución al problema o a la actividad que se pretende resolver a través del uso de un programa o sistema de información. así como la relación entre ambas etapas. el ser humano ejecuta algoritmos en todo momento. Tal vez la palabra algoritmo no sea del todo desconocida por nosotros. al usar una lavadora de ropa.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 22 Pseudocódigos. No existe una estructura estándar. al cambiar la llanta del coche. inconsciente o automáticamente. Según la Real Academia de la lengua española. un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solución a un problema. Existen diferentes métodos de planeación. Lo que realmente sucede es que la persona ejecuta el algoritmo de manera inadvertida. ALGORITMOS L.I. al arreglarse para asistir a una fiesta. también puede ser considerado como una herramienta computacional que permite planear la solución a un problema. en donde se tiene bien identificada la entrada y salida de datos. en ocasiones usamos algoritmos para dar solución a diversos problemas matemáticos. Sin pensarlo. por lo que varían de un programador a otro. al hacer un pago en el banco. Previo a la escritura del programa. son una serie de normas léxicas y gramaticales muy parecidas a la mayoría de los lenguajes de programación. al cursar el bachillerato. pero sin ser tan estricto en la sintaxis y en el flujo de las instrucciones. por lo tanto los algoritmos no son exclusivos de la programación y podemos encontrarlos y utilizarlos en diferentes disciplinas.

Esperar turno. 7. hacer un seguimiento con datos significativos verificando los datos obtenidos. Las actividades que se enunciaron en el párrafo anterior. Abandonar sucursal. Esperar a que el cajero realice la transacción. Ejemplo de un algoritmo para el pago de un servicio en banco. 2. LUISA TELLES VALDIVIA . Los algoritmos se realizan de manera gráfica (a través de diagramas) o de manera textual (mediante pseudocódigos). por último. 8. 3. 10. sin embargo existen problemas de mayor complejidad. 6. PROBLEMA ANÁLISIS DETALLADO DEL PROBLEMA REALIZACIÓN DEL ALGORITMO VERIFICACIÓN DEL ALGORITMO Etapas en la solución de un problema mediante el uso de algoritmos. Entregar ficha de depósito e importe. de manera secuencial definir todas las tareas a realizar. 11. para llevarlo acabo se recomienda primero analizar a detalle el problema o la actividad. 9. Llenar una ficha de depósito. son problemas simples que no necesitan de un análisis profundo o pensamiento estructurado. ALGORITMOS L. 5. Identificar la ubicación de la sucursal. Identificar el número de cuenta y el importe. 4.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 23 1. Inicio. en donde los algoritmos son de gran utilidad pues ayudan a planear la solución al conflicto. Fin. Acudir a la sucursal en un horario cómodo. Recibir comprobante de pago.I.

este siempre debe tener un número finito de operaciones. Salida. ALGORITMOS L. Independientemente de la complejidad del algoritmo. Proceso. Finito. LUISA TELLES VALDIVIA . Las tareas del algoritmo deben ser especificadas claramente e indicar el orden de realización de cada paso. Conjunto de operaciones secuénciales que tienen por objetivo transformar los datos de entrada en salidas.I. Si se sigue el algoritmo más de una vez y con los mismos datos de entrada. Legible.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 24 I. Definido. Representa el ingreso de los datos que se usaran como base para solucionar el problema. Básicamente el algoritmo se compone de 3 módulos o secciones: Entrada. El texto que lo describe o los símbolos que se presentan deben ser claros. de tal forma que permita entenderlo y leerlo fácilmente. todas en común presentan las siguientes características: Preciso. cada una con sus propias ventajas e inconvenientes. Conjunto de operaciones que permiten comunicar los resultados obtenidos. se debe obtener siempre el mismo resultado. sin embargo. Existen diversas formas de resolver un problema.2 Características.

para ello existen diversas herramientas que pueden ser de gran utilidad. algunos son fáciles de realizar pero muy extensos. La solución a un problema que se pretende sistematizar.I. ALGORITMOS L. 1. que mediante el uso de símbolos indica una secuencia de acciones y la manera en que se relacionan. Los diagramas tienen varios usos para el profesional de la informática.1 Gráficas (Diagramas). LUISA TELLES VALDIVIA . se puede representar de forma textual o gráfica. son usados como medio de consulta por el programador y como fuente para generar la documentación. algunos con pocos y otros con varios símbolos. Existen diferentes tipos de diagramas. Un diagrama es la representación gráfica de un conjunto de elementos.3. son empleados para planear una solución a un conflicto o atender una situación de mejora.3 Representación. otros son pequeños pero complejos en cuanto a su lectura y diseño. I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 25 PROBLEMA DATOS DE ENTRADA PROCESO DE DATOS IMPRESIÓN DE DATOS Módulos o secciones de un algoritmo.

verticales y horizontales. no cruzar líneas 3. decisión.1 Reglas generales. impresión.El diagrama debe ser diseñado de arriba hacia abajo y de derecha a izquierda.Todo diagrama de flujo debe tener un inicio y un fin.1.. Correcto Incorrecto. LUISA TELLES VALDIVIA .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 26 I. ALGORITMOS L. 1..Las líneas que representan flujos de datos deben estar conectadas a un símbolo que exprese lectura.I.. conexión o fin de diagrama. INICIO FIN 2. no usar líneas inclinadas Incorrecto. 4. proceso..3.Las líneas usadas para indicar el flujo de los datos deberán ser rectas.

.Si el diagrama es extenso y requiere el uso de más de una hoja. 8..Cuando sea conveniente es recomendable usar notas que expliquen o que proporcionen datos que ayuden a la comprensión del diagrama. 7.I. Incorrecto. LUISA TELLES VALDIVIA . • ALGORITMOS L.1.2 Ventajas e inconvenientes.La notación usada en el diagrama de flujo es independiente del lenguaje de programación que se use... Un diagrama es la manera más fácil de socializar una solución informática. 6. no puede llegar más de una línea Correcto I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 27 5.3. se recomienda usar conectores y numerar las páginas.No puede llegar más de una línea a un símbolo. Ventajas. • El diagrama nos da una visión rápida de la forma en que se operara el programa.

Ocupan gran espacio. • • Inconvenientes. La siguiente relación muestra los principales símbolos usados en el diseño de diagramas. de lo contrario se invertirá mucho tiempo en su desarrollo.I.3. Una computadora no es capaz de interpretar una representación visual. Un diagrama de flujo es una de las técnicas de representación de algoritmos más usado. • Es necesario contar con una herramienta que permita el diseño de diagramas. • • • I. Cualquier persona que conozca el significado de la simbología puede leer los diagramas sin la necesidad de ser programador. ALGORITMOS L. Es una forma de verificar y analizar fórmulas. Aunque los símbolos son universales. validaciones y demás acciones. entonces la traducción a un lenguaje de programación será sencilla.3 Diagramas de flujo.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 28 • Si el diagrama de flujo es diseñado correctamente.1. la cual consiste en usar símbolos que representan acciones unidas por líneas que indican los flujos de datos. comparaciones. el texto que se pueda incluir dentro de ellos se encuentra en lenguaje natural. LUISA TELLES VALDIVIA .

Se emplea en la estructura selectiva si entonces. asignaciones. en su interior se incluye una condición y dependiendo del resultado el flujo de datos puede continuar por cualquiera de sus ramas. en el interior se incluye un selector y dependiendo del valor. SÍMBOLO NO SI SI NO ALGORITMOS L. Símbolo que representa una decisión. si el resultado de la condición que se encuentra en el interior es verdadera entonces el flujo continúa por la derecha. etc. LUISA TELLES VALDIVIA . Símbolo usado para representar la entrada de datos. el flujo se puede dirigir a una o a varias ramas.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 29 DESCRIPCIÓN Símbolo usado para indicar el inicio o el fin del diagrama. Símbolo utilizado para representar una decisión múltiple. se usa en la estructura selectiva si múltiple. Símbolo usado para representar una estructura selectiva doble si entonces. declaraciones.I. Símbolo usado para representar un proceso. el cual puede ser una operación aritmética. dentro del símbolo se escribe el o los datos que se desean leer. Expresa lectura de datos. y en las estructuras repetitivas mientras y repetir. si es falsa por la izquierda. generalmente esta acompañado de la palabra INICIO o FIN.

En su interior generalmente se incluye una letra para relacionar al conector. Dentro se incluyen los valores o el nombre del documento a imprimir Símbolos utilizados para indicar el flujo de los datos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 30 Símbolo usado para representar trabajo en la impresora. además de ser el último símbolo de la página y el primero de la siguiente cuando el diagrama es muy extenso. de esta manera se tendrá claro el sentido del flujo de los datos. Símbolo usado para representar una conexión fuera de página o para conectar páginas.I. Es importante que las líneas empleadas para relacionar símbolos tengan la flecha. ALGORITMOS L. Símbolo usado para representar una conexión dentro de la misma página. En su interior generalmente se incluye un número. LUISA TELLES VALDIVIA . Símbolo usado para representar la salida de información en pantalla.

el primero calcula el área de un triángulo y el segundo calcula el sueldo más comisión de un trabajador.I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 31 Ejemplos de diagramas de flujo. ALGORITMOS L. LUISA TELLES VALDIVIA .

o textuales. así como algunas recomendaciones en su diseño y lectura. Los diagramas estructurados describen la interacción entre módulos independientes.5 abordaremos a detalle los diagramas N/S. se dice que gracias a su forma arborescente representa a través de módulos el control de un programa. Este tipo de diagramas es usado al emplear la técnica de modelado top-down. Hipo (incluyendo a la tabla visual de contenido.4 Diagramas estructurados.1. Existen otras técnicas que no son estructuradas.3. cada nivel representa una descomposición más detallada del módulo que le antecede.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 32 I. pero que de igual forma ayudan al profesional de la informática a planear. Generalmente son considerados como diagramas estructurados al diagrama de estructura. algunas de ellas son visuales como los diagramas de flujo convencionales descritos en apartados anteriores. diseñar. LUISA TELLES VALDIVIA . su simbología. En esta sección estudiaremos algunos ejemplos de diagramas estructurados.3. Permite modelar un programa como una jerarquía de módulos. identifican funciones y muestran relaciones. en el apartado 1. de igual manera se considera al diagrama de Warnier-Orr y al Pseudocódigo como estructurados. junto con los datos que un módulo pasa a otro cuando interaccionan. como manuales de procedimientos y el Folklore. ALGORITMOS L. diagramas de panorámica IPO y diagramas detallados IPO) y diagrama N/S o de Chapin. Un diagrama de estructura (DE). La descripción de programas extensos es una tarea tediosa y generalmente incomprensible para personas no familiarizadas con el desarrollo de sistemas. aunque estos últimos están orientados a la forma textual y no a la visual.1. para facilitar el trabajo de revisión usamos símbolos gráficos que describen características. programar y documentar programas y sistemas.I.

LUISA TELLES VALDIVIA . SÍMBOLO ALGORITMOS L. También es posible usar una cupla para representar la comunicación de datos de control o banderas. junto a ellas se encuentran las cuplas. ya sea de entrada.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 33 Los diagramas de estructura se leen de izquierda a derecha y de arriba hacia abajo. resultados o datos transformados. procurando que los módulos sean tan independientes que solo ejecuten una función. los datos transformados y nuevos valores. por ejemplo la posición de un puntero al final de un archivo. cada módulo ayuda a tener una idea clara de las funciones que se llevaran acabo en el programa y las invocaciones indican llamadas a los módulos. Cuplas: Mecanismo usado en los DE para comunicar datos. La simbología usada en estos diagramas básicamente se compone de: DESCRIPCIÓN Módulos: Parte de un programa que incluye instrucciones tanto para recibir datos (entrada). Invocaciones. Las invocaciones se representan usando flechas que salen del modulo llamador y que apuntan al módulo llamado. estas puedan mostrar los datos que se ocuparan en los módulos. es fragmentar los módulos complejos o extensos en fracciones pequeñas y simples.I. como para reportar el resultado del procesamiento de dicha entrada (salida) y tiene una función definida por el nombre que se encuentra en el interior de la caja (M). Uno de los puntos importantes al analizar o diseñar soluciones informáticas bajo un enfoque estructurado.

I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 34 Ejemplo de un diagrama de estructura ALGORITMOS L. LUISA TELLES VALDIVIA .

con el se representa una ALGORITMOS L. ya que en varias ocasiones es necesario volver a rehacer la gráfica.5 Diagramas N/S (Nassi/Shneiderman). estructuras y constantes. otro inconveniente. difíciles de leer y modificar un diagrama de este tipo puede resultar una tarea tediosa. es que generalmente no caben en el ancho de una hoja. el segundo es un triángulo divisor de columnas.I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 35 I. Se dice que se parece al pseudocódigo porque cada acción se escribe dentro de las cajas.1. • • • En comparación con los diagramas de flujo. por lo que se necesitan hojas grandes y aún así es probable que se requiera más espacio. con el se puede representar cualquier proceso. las acciones se colocan en cajas contiguas. por lo que las acciones a representar se deben estructurar con base a 3 símbolos. en su lugar. este tipo de diagrama usa símbolos pero no líneas que representan flujos. es una mezcla del diagrama de flujo con el pseudocódigo. En la tercera caja se registran las variables. LUISA TELLES VALDIVIA . El primer símbolo a estudiar es el rectángulo o caja. La segunda caja se usa para mostrar la palabra INICIO y la última caja para FIN. es decir. funciones. los diagramas N/S son pequeños.3. El diagrama solo debe ocupar una página. Todo diagrama N/S debe cumplir con las siguientes reglas: • La primera caja se usa para mostrar el encabezado o título del algoritmo. El diagrama N/S también es conocido como diagrama de Chapin. La principal ventaja de estos diagramas es el número reducido de símbolos que usa. nunca debe continuar un diagrama N/S en otra página (salvo un módulo o función).

esta a su vez puede tener una o varias sub funciones. Como se observa. DESCRIPCIÓN Proceso: se usa para representar cualquier tipo de acción. ALGORITMOS L. una doble o una múltiple.I. en la caja de la Izquierda se registra la acción que cumple con la condición que se exprese en la parte superior. en cada caja o rectángulo se escribe una función del programa. para tal caso se recomienda usar otra caja. También se puede expresar una condición múltiple incorporando tantas cajas sean necesarias en la parte izquierda. LUISA TELLES VALDIVIA . SÍMBOLO Decisión: este símbolo es usado para representar una decisión simple. por lo que en la columna de la derecha se registra la acción que se realizara en el caso de que no se cumpla la condición. el cuadro esta dividido en dos columnas.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 36 decisión. por último tenemos al símbolo de iteración representado por un cuadro dentro de otro cuadro.

ALGORITMOS L.I. otra que las ejecuta hasta que se cumpla una condición (hasta) y una que ejecuta sentencias mientras la condición sea verdadera.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 37 Iteración: las estructuras iterativas permiten ejecutar ciertas acciones de manera repetitiva. Existe una estructura que ejecuta un número determinado de veces (desde). LUISA TELLES VALDIVIA .

sin la necesidad de ocupar demasiado tiempo en su diseño. Como estudiamos anteriormente. las gráficas ayudan a representar soluciones informáticas. LUISA TELLES VALDIVIA .2 Textual (Pseudocódigo).3. el primero calcula el área de un rectángulo. son una técnica que permiten desarrollar una idea clara de la solución. Los algoritmos textuales. En este apartado estudiaremos al pseudocódigo como el principal algoritmo textual. Es la representación narrativa de los pasos que se deben seguir para dar solución a un problema determinado. Los algoritmos textuales pueden ser estructurados o no. el segundo el sueldo más comisión de un trabajador y el tercero muestra la tabla de multiplicar del número 9. ingles o cualquier otro lenguaje). usa palabras que indican la acción que se ejecutará. para ello.I. ya sean estructurados o no. ALGORITMOS L. El pseudocódigo es una herramienta que permite representar una solución informática mediante el uso del lenguaje natural (español.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 38 Ejemplos de diagramas N/S. ejemplo de algoritmos estructurados es el pseudocódigo y el diagrama de WarnierOrr y de no estructurados el folklore. I. pero también existen otras herramientas que sin tantos símbolos pueden tener el mismo efecto.

El objetivo de los pseudocódigos es permitir que el programador se centre en aspectos lógicos de la solución. se deberán traducir las especificaciones a un lenguaje de programación. pero evitando las reglas de sintaxis de los lenguajes de programación. ahora las modificaciones son más fáciles y rápidas de representar. ya que cabe señalar que el pseudocódigo no puede ser ejecutado por las computadoras. los pseudocódigos varían de un programador a otro y el trabajo no es estándar. al no ser un lenguaje formal.I. ALGORITMOS L. Sin embargo. Muchos lo llaman “código falso” porque lo consideran como el borrador del programa. este no es el único trabajo que debe realizar el programador.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 39 Se dice que el pseudocódigo se creo para superar las dificultades de los diagramas de flujo. una vez que los pseudocódigos estén listos. LUISA TELLES VALDIVIA . por lo tanto.

ESTRUCTURA Acción 1 Acción 2 Acción 3 Acción “n” PALABRA Secuencial Decisión SI condición ENTONCES acción 1 SI NO acción 2 FIN SI CASO valor igual Valor 1: acción 1 Valor 2: acción 2 Valor 3: acción 3 Cualquier otro caso: acción 4 FIN CASO HACER MIENTRAS condición Acción 1 Acción “n” FIN MIENTRAS Caso Iteración HACER DESDE VI HASTA VF Acción 1 Acción “n” FIN DESDE ALGORITMOS L. LUISA TELLES VALDIVIA .2.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 40 I.3.1 Reglas generales.I.

I. Ocupa menos espacio en la hoja de papel. cualquiera que lea las acciones del pseudocódigo las puede entender. de lo contrario solo se pueden usar las palabras aceptadas. • • Facilidad de comprensión.2 Ventajas e inconvenientes. Todo pseudocódigo debe mostrar un inicio y un fin. I. Exprese todas las acciones en los términos indicados en la tabla anterior. LUISA TELLES VALDIVIA . Toda acción representada en el pseudocódigo debe iniciar con un verbo en infinitivo.3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 41 Para desarrollar pseudocódigos siguientes puntos: • • • • • • • se recomienda considerar los Numere todas las acciones.2. Tenga cuidado al relacionar dos condiciones. de esta forma se mostrara la jerarquía de las actividades. Utilice una sangría cuando una actividad comprenda varias tareas. ALGORITMOS L. aquellas que sean parte de una estructura se pueden subnumerar. sino se definen adecuadamente el resultado puede ser incorrecto. Use mayúsculas en las palabras aceptadas para las estructuras de la tabla anterior. Ventajas.

ingles. Ambigüedad. se puede observar claramente los niveles o jerarquías del pseudocódigo. Como se menciono en apartados anteriores.). se presenta la siguiente tabla con el conjunto de palabras que frecuentemente se utilizan. el pseudocódigo se construye con base en palabras de determinado lenguaje natural (español. gracias a la numeración y sangrías. así como el significado que podemos darle: ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 42 • • Permite representar complejas.3. • No es universal. al emplear el lenguaje natural la solución solo podrá ser interpretada por aquellas personas que conozcan dicho lenguaje. ya que en la mayoría de los casos basta con intercambiar las palabras del pseudocódigo por las instrucciones con la sintaxis correspondiente. LUISA TELLES VALDIVIA .2. fácilmente operaciones repetitivas y Facilita la codificación de la solución en cualquier lenguaje de programación. reservadas o claves. para tratar de estandarizar las palabras que se empleen en los pseudocódigos.I. En ocasiones suele ser demasiado amplio. • Inconvenientes. por lo que una persona puede entender algo distinto con respecto a otra. • • I.3 Palabras convencionales. Si se toman en cuenta las reglas. lo cual puede conducir a errores. etc.

Almacena el o los datos que se especifican en una ubicación determinada.I. GUARDAR EN … RECUPERAR DESDE … LLAMAR A … ALGORITMOS L. instrucciones e ESCRIBIR IMPRIMIR Indica actividad para la impresora. LUISA TELLES VALDIVIA . FIN Se usa para indicar el fin del pseudocódigo. LEER Solicita la entrada de un dato desde el teclado. Muestra mensajes. Indica la ubicación de un dispositivo de almacenamiento desde el cual se va a leer información. Se utiliza para invocar a una función o módulo. el cual será recibido en una variable. información en pantalla.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 43 PALABRA INICIO SIGNIFICADO Indica el comienzo del pseudocódigo. ya sea datos simples o resultados del procesamiento.

siempre y cuando la condición que se presente se cumpla. si se trata de la estructura simple. la palabra DESDE marcara el inicio y HASTA el fin. La estructura cíclica REPETIR ejecutara por lo menos una vez el conjunto de acciones que agrupa. LUISA TELLES VALDIVIA . La estructura cíclica DESDE ejecutara el … conjunto de acciones que agrupa de manera definida. para listar las acciones que se ejecutaran en el caso de que la condición sea falsa. al final de la estructura se deberá incluir las palabras FIN CASOS. es decir. SI … ENTONCES CASOS PARA … HACER MIENTRAS … REPETIR HACER DESDE HASTA … ALGORITMOS L. si se trata de una estructura doble. después solo se ejecutaran HASTA que se cumpla la condición que se presenta. La estructura cíclica mientras ejecuta el grupo de acciones que se encuentren entre las palabras HACER MIENTRAS… y FIN MIENTRAS. se deberá incluir las palabras SI NO.I. Las estructuras condicionales múltiples serán representadas mediante las palabras CASOS PARA…. siempre se incluirá las palabras FIN SI para cerrar la estructura alternativa o condicional.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 44 Palabras que se usan para representar la estructura alternativa. solo aparecerán las palabras SI… ENTONCES más las acciones que se ejecutaran en el caso de que se cumpla la condición. En cualquiera de los casos.

// Autoevaluación 1. 6. ¿Qué es programación? ¿Cuál es el lenguaje que usan las computadoras? ¿Cuáles son los lenguajes que componen al lenguaje informático? ¿Por qué considera que es importante realizar algoritmo? ¿Qué es y de cuántas formas podemos desarrollar un algoritmo? ¿Cuáles son las ventajas de usar algoritmos gráficos? ¿Qué es un diagrama de flujo? ¿Cuáles son los diagramas estructurados? ¿Qué diferencia existe entre un diagrama de flujo y uno N/S o de Chapín? 10. 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 45 La doble diagonal se usa para registrar un comentario que ayude a comprender las acciones del pseudocódigo y a documentar la solución que se plantea. 2. 7. ¿Qué es un pseudocódigo? 12. 9. 5. 4. 8. ¿Cuáles son los algoritmos textuales? 11. ¿Cuáles son las palabras convencionales o reservadas que se pueden usar en los pseudocódigos? ALGORITMOS L. LUISA TELLES VALDIVIA .I.

ejemplos de ellos son el diagrama de flujo. LUISA TELLES VALDIVIA . • La computadora no los interpreta. • Permite verificar acciones. reglas sintácticas y reglas semánticas mediante las cuales se instruye a la computadora. • Facilita socializar la solución. los diagramas HIPO. se puede expresar de manera gráfica o textual Pueden Ser Ventajas • Es una vista rápida de la solución. símbolos.I. se desarrolla con Lenguaje de Programación Lo componen un conjunto de palabras. • Se encuentran tiene en lenguaje natural. Algoritmos Textuales Conjunto ordenado y finito de operaciones que pretenden planear la solución a un problema. ejemplos de algoritmos textuales son los pseudocódigos y los diagramas de Warnier-Orr ALGORITMOS L. mediante el lenguaje natural. el diagrama N/S o de Chapin.para su diseño. Algoritmo Conjunto ordenado y finito de operaciones que permite hallar la solución a un problema. • Es conveniente contar con una herramienta . tiene • Es más fácil la traducción al lenguaje de programación. se auxilia Inconvenientes • Ocupan gran espacio.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 46 CUADRO RESUMEN Programación Disciplina de la informática que tiene que ver con todo lo relacionado al desarrollo de soluciones informáticas. Algoritmos Gráficos Representación gráfica que ayuda al programador a planear una solución mediante un conjunto ordenado de instrucciones. el diagrama de estructura. etc.

Pruebas y depuración.I. de esa forma se pueden generar soluciones funcionales y bien estructuradas. Todo sistema es perfectible. por lo que el mantenimiento puede ser para cubrir una omisión o para mejorar la solución actual. Su objetivo es contar con una solución libre de errores. Análisis de datos. Fase que se esta desarrollando continuamente. en todo momento se registran las evidencias para que posteriormente se genere la documentación oficial. ejemplo de ello es el desarrollo evolutivo. Traduce las especificaciones al código que ejecuta la computadora. ingeniería de software y el ciclo de vida del desarrollo de sistemas (SDLC). El SDLC es uno de los modelos más usados. Se determina qué es lo que se realizará. óptimo y estético. sino que se pueden ir desarrollando algunas actividades y al final la suma de ellas dará como resultado un programa funcional. Diseño de la solución.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 47 UNIDAD II METODOLOGÍA PARA PLANTEAR Y RESOLVER PROBLEMAS PRESENTACIÓN Es importante que todo desarrollo se ajuste a una metodología de trabajo. ALGORITMOS L. Observa el ambiente con el fin de definir el problema. esta fase puede llevar muchos días de desarrollo. LUISA TELLES VALDIVIA . existen diferentes métodos o modelos que permiten realizar un trabajo limpio y sistemático. Dependiendo del autor. Documentación. entrevista y cuestiona a usuarios. este modelo puede presentar diferente número de etapas: Identificación del problema. Se determina cómo se realizará Codificación. Mantenimiento. ya que este no se ve como un conjunto de fases separadas. por lo que se debe ajustar el proyecto al detectar un error o falla.

2 Análisis de datos.I. II. ALGORITMOS L. II. II. LUISA TELLES VALDIVIA . son programas.5 Prueba y depuración. II.6 Documentación. II. Cuadro Resumen. II. Una de las actividades desarrolladas con los equipos de cómputo.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 48 Al finalizar esta Unidad.3 Diseño de la solución.1 Definición de problemas por medio de las computadoras. Autoevaluación. Los equipos de cómputo son herramientas que el ser humano utiliza para ejecutar tareas de diversa índole. sin ellos nada sería igual. CONTENIDO II.7 Mantenimiento. el alumno tendrá como: Objetivo Conocer las fases de una metodología que permita el desarrollo de programas. ya que se encuentran involucrados en la mayoría de las actividades que desempeñamos día a día.4 Codificación. II. sistemas de información o cualquier otro tipo de software.1 Definición de problemas por medio de las computadoras.

es decir. la decisión dependerá del tipo de solución que se pretenda desarrollar. uno de los más usados es el Ciclo de Vida del Desarrollo de Sistemas (SDLC). se modifican según las especificaciones y se implementan. los recursos. se busca soluciones similares. Identificación de problemas en el SDLC La primera fase de SDLC es la identificación del problema. LUISA TELLES VALDIVIA . provocando con ello el rechazo de la solución o la poca confiabilidad en el mismo. Existen algunos modelos que guían el trabajo del responsable del proyecto. etc. es probable que no se cumpla con las especificaciones del cliente o se requiera de mayor tiempo para rehacer el trabajo. es observar detenidamente lo que acontece en el ámbito donde se usará ALGORITMOS L. su base es la posibilidad de reutilizar código. Otro de los modelos que se pueden emplear es el Desarrollo evolutivo. Lo verdaderamente importante es que varias actividades pueden llevarse acabo simultáneamente. La primera actividad que debe llevar acabo el analista en esta fase. este modelo comprende varias etapas o fases. este se basa en la idea de desarrollar una solución inicial.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 49 El desarrollo de una solución informática no es una tarea que se realice de manera casual. incluso el número de fases puede variar de un autor a otro. La Ingeniería de software basado en componentes es otro de los modelos a emplear. esta fase se considera crítica porque sino se determina adecuadamente la problemática. el tiempo. es necesario que el responsable del proyecto comprenda la situación que se pretende sistematizar y decida cuál es la mejor técnica o método para resolverla. por lo que debemos verlo como un conjunto integrado de fases y no como pasos completamente aislados. exponerla a comentarios del usuario y refinarla a través de las diferentes versiones hasta alcanzar la solución adecuada.I.

La siguiente etapa del SDLC es el análisis de datos.2 Análisis de datos. proceso y salida de las funciones a desarrollar. este debe entrevistar al personal que le pueda brindar datos relevantes. Uno de los documentos que se generan en esta fase es un estudio de factibilidad. el cual será estudiado por los administradores de la institución y decidirán si continúan o no con el proyecto. Si el proyecto es aceptado. tener una imagen clara de la organización y de los objetivos que persigue. Además del trabajo de observación que debe llevar acabo el analista. dichos detalles serán discutidos con personal designado para ver similitudes y discrepancias y juntos definir la problemática. tal como el diccionario de datos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 50 la solución informática. tener una respuesta para el quién. qué. así ALGORITMOS L. aquí el analista usa herramientas como los diagramas de flujo para identificar la entrada. El diccionario de datos es un documento importante en el proyecto. II. LUISA TELLES VALDIVIA . A partir de dichas gráficas estructuradas. En esta actividad el analista se debe esforzar por comprender la información que necesitan los diferentes usuarios. aplicar cuestionario y llevar acabo todas las actividades necesarias que lo conduzcan a la determinación de requerimientos. realiza otros documentos que ayudan a definir aún más el concepto de la solución informática.I. cuándo y cómo. ya que permite consultar todos los datos y sus respectivos conceptos. el analista debe obtener muestras e investigar datos relevantes. para sumar toda la información recibida y estimar el alcance del proyecto. entrevistar a nuevos usuarios. lo anterior es con el fin de tener presente detalles que lleven a la definición del problema. dónde.

de políticas. con el fin de observar como se llevan acabo las actividades. el analista utiliza las siguientes técnicas: • Entrevistas. manuales de procedimiento. tablas de decisión y árboles de decisión. Una vez que se tiene definido lo que realizará el proyecto. por lo que resulta muy útil revisar los manuales de sistemas anteriores. El objetivo es proporcionar al usuario lo que quiere. emplea métodos como el lenguaje estructurado. es decir. traduciendo sus demandas a un modelo que atienda sus necesidades. etc. instructivos operativos.I. El trabajo de revisión es muy importante porque se tiene acceso a todos los procesos. para hacerlo. • • • II. en la siguiente fase se realiza el diseño lógico del sistema.3 Diseño de la solución. Cuestionarios. catálogos. El analista conversa con los futuros usuarios del sistema a fin de conocer los detalles y tener la información necesaria para el desarrollo del proyecto. ALGORITMOS L. Observación. LUISA TELLES VALDIVIA . de organización. Es la técnica que consiste en la presencia física del analista en el centro de trabajo. toda vez que algunas de ellas pueden no estar documentadas y en las entrevistas pudieron ser omitidas. ahora determinamos cómo vamos a hacerlo. que sea flexible y confiable. Durante está fase el analista se encuentra examinando las decisiones estructuradas que se llevan acabo. Técnica que es empleada para medir o conocer la opinión de un grupo de usuarios. Revisión de documentos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 51 como especificaciones que serán de gran ayuda durante todo el desarrollo. Para recopilar e interpretar hechos que ayuden a la realización de esta fase.

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

52 La etapa de diseño comprende la realización de los siguientes documentos: • Diagrama de flujo de sistemas. Es una técnica que se emplea para mostrar la secuencia en la cual las entradas, procesos, archivos y salidas se combinan y permiten teóricamente cumplir con los requerimientos del usuario. El conjunto de elementos que se encuentran plasmados en el diagrama, obedecen a una simbología que es aceptada internacionalmente y que representan una actividad en específico. Diseño de salidas del sistema. El producto más importante en cualquier sistema son sus salidas, mediante los resultados el dueño o representante legal de la institución, valorara o desechara la solución que se propone. Las salidas guían a todos los componentes del sistema, miden la calidad del sistema, se producen en diferentes medios como CD, DVD, disco duro, impresoras, teléfonos celulares, etc. Para cada una de las salidas contempladas se debe considerar su destino, el volumen, la frecuencia, forma de envió, número de copias, formato, etc. Diseño de entradas del sistema. Este documento indica la forma en que se alimentara el sistema, la cual puede ser a través del teclado, de un scanner, lápiz óptico o mediante la extracción de datos desde un archivo o desde una base de datos. El objetivo del documento es contar con procedimientos precisos para la captura de datos, a fin de que solo entren los datos necesarios. Diseño de archivos del sistema. Con toda la información recabada, el diseñador genera la estructura que almacenara los datos del sistema, dicha estructura debe cubrir con todos los criterios de normalización existentes, además ser congruente con el diccionario de datos y ser tan flexible, que en cualquier otro momento la base de datos o estructura pueda ser modificada sin impactar de manera especial en el trabajo realizado.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

53

Diseño de procedimientos de procesos. Cuando ya se tienen claras las actividades a desarrollar, es recomendable definir con toda precisión los pasos necesarios para obtener la información que estará contenida en las salidas, tales como fórmulas, comparaciones, validaciones, etc. Diseño de controles del sistema. Para asegurar la integridad del sistema, es necesario que se diseñen mecanismos para garantizar el uso correcto, como cifras de control, dígito verificador, datos de prueba, etc.

II.4 Codificación. La fase de desarrollo o codificación es una de las más esperadas, porque antes de ella, lo único que se tiene son ideas, conceptos y documentos. El inicio de la codificación consiste en traducir todas las especificaciones del diseño a un producto (sistema), el programador crea las estructuras de base de datos o archivos y genera cada uno de los programas o módulos que componen al sistema. La principal herramienta que se usa en esta fase son los lenguajes de programación, dependiendo del fin del sistema, el programador puede optar por varios lenguajes como PHP, C, Visual Basic, Delphi, Java, Action Script, HTML, etc. Adicionalmente, el programador puede emplear herramientas que complementen el trabajo del lenguaje de programación, tales como generadores de pantallas, generadores de reportes, asistentes para consultas y pantallas, librerías visuales de componentes, etc. La codificación es una de las fases que más tiempo lleva concluir, ya que el programador debe concentrarse, utilizar toda su creatividad, conocimientos, experiencia y lógica para traducir una idea o concepto a líneas codificadas, que al ejecutarse den la impresión al usuario de que se trata de un todo que puede ayudar con sus actividades cotidianas.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

54 Debido a la globalización que estamos viviendo, ya no es suficiente esperar a que se concluyan las primeras fases para iniciar la codificación, hoy día existe enfoques que permiten el desarrollo rápido de aplicaciones, estos enfoques tienen la finalidad de ayudar al desarrollo de sistemas no tan grandes, donde no es posible dedicarle varios años de trabajo y donde las especificaciones cambian rápidamente durante el proceso de desarrollo. Dichos enfoques permitieron a los equipos de desarrolladores centrarse en el software y no tanto en el diseño y documentación. Ejemplos de métodos ágiles son la programación extrema, Scrum, Cristal, desarrollo de software adaptable, DSDM y desarrollo dirigido por características.

II.5 Prueba y depuración. Antes de poner en marcha el sistema, es necesario probar cada uno de los módulos que lo integran, ya que es menos costoso encontrar fallas en una etapa experimental que cuando ya este liberado. La fase de pruebas consiste en alimentar el sistema con datos semejantes a los que se emplearan cuando este funcionando y después examinar los resultados. Si se encuentran fallas en la etapa experimental, el programador debe investigar si se trata de un error físico o lógico, los primeros son fáciles de corregir porque son ocasionadas por instrucciones mal escritas, pero los segundos implican un mayor esfuerzo, ya que se deberá regresar a etapas anteriores y detectar el origen de la falla. Independientemente del tipo de falla, el programador debe depurar el código hasta hacer lo que las especificaciones marcan o hasta lo que el usuario requiere. En la mayoría de sistemas existen dos fases de prueba:

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

para ello se ocupa un sistema de caja negra. se solicite a una entidad externa validar nuestro sistema. el objetivo de esta prueba es encontrar defectos en el sistema. el equipo de prueba comunica los resultados al equipo de desarrollo para que realice la depuración del o los programas. para servir de evidencia en alguna auditoria o para capacitar a los operadores del mismo. Usuarios. • Algunas veces es recomendable que aparte de realizar las pruebas acostumbradas. dichos documentos son accesados con el fin de entender su funcionamiento. así como la forma de resolver los errores o excepciones que se pudieran presentar. el equipo de pruebas tiene acceso al código fuente del sistema para detectar la sección que origina el error y que por lo tanto debe ser depurada. Existen dos tipos de documentación: • Programas. El objetivo de esta fase es asegurar que el sistema satisfaga los requerimientos del usuario. II. En esta fase. en donde el equipo de prueba solo demuestra si el sistema funciona o no correctamente.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 55 • Pruebas de integración. Explica de manera detallada las características del sistema e indica la forma correcta de usarlo. LUISA TELLES VALDIVIA . para dar mantenimiento al sistema.I. Pruebas de entregas. en caso de encontrar fallas. incluye documentos con los diagramas realizados y el código de cada uno de los programas que componen al sistema. La documentación consiste en un bloque de documentos que explican las características técnicas y operativas del sistema. • ALGORITMOS L.6 Documentación. Explica la lógica de un programa.

el equipo desarrollador estará continuamente involucrado y no podrá comprometerse con otro proyecto. Orientar al usuario en las acciones que originan mensajes de error.I. El manual de usuario es uno de los documentos básicos en todo sistema. LUISA TELLES VALDIVIA . para ello detalla cada una de las características e indica de manera precisa la forma de recuperar e introducir datos. En general. es obligación del equipo desarrollador registrar datos desde un inicio. ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 56 Aunque la documentación es una de las etapas que generalmente se contempla al final del ciclo. pero mínimo deberá incluir la impresión del código que compone al sistema. el detalle de las entidades y sus relaciones. Algunos de los objetivos de este documento son: Que el usuario identifique los datos de entrada. ya que si se encuentra incompleta. aprenda cómo recuperar resultados e Servir como manual de referencia. Que el usuario imprimirlos. lo anterior con el fin de tener la evidencia necesaria para generar documentos útiles. la documentación del sistema puede presentar diversos documentos. este muestra las actividades que el usuario debe realizar en el sistema. Definir las funciones que debe realizar el usuario. las pruebas que se realizaron y el manual de usuario.

de ahí la importancia de realizar un estudio minucioso. Las actividades que se llevan acabo en el mantenimiento no solo permiten el correcto funcionamiento del sistema.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 57 II. El éxito del mantenimiento depende de varios factores. Cuando no se realizan las actividades de manera adecuada o cuando no se cuenta con la información necesaria y oportuna. Evitar la suspensión temporal del uso del sistema.I. El mantenimiento al sistema se puede dar por varias razones.7 Mantenimiento. Si el equipo desarrollador no dejó los documentos necesarios o no son del todo claros. ALGORITMOS L. LUISA TELLES VALDIVIA . muchas veces la etapa de mantenimiento se convierte en la peor de las pesadillas. el personal que lleve acabo el mantenimiento deberá invertir varias horas de trabajo para comprender y después realizar las adecuaciones necesarias. Disminuir la gravedad de las fallas que se pudieran presentar. Algunos de los fines que se persiguen con el mantenimiento son: Evitar. sino que también. corrección a fallas no detectadas en la fase de pruebas. etc. garantizando su adaptación a las nuevas necesidades y exigencias. ya que los costos se elevan tanto. algunas de ellas tienen que ver con el crecimiento de la organización. uno de ellos se relaciona con la documentación realizada. que supera el costo de desarrollo. dan paso a la evolución del mismo. Aumentar la confiabilidad del usuario. reducir y en su caso reparar fallas. actividades no previstas en el trabajo de análisis.

9. 6. ¿Cuáles son los modelos o metodologías que se pueden usar para desarrollar soluciones informáticas? 2. ¿En qué consiste la documentación? 11.I. 4. 7.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 58 Autoevaluación 1. 3. 5. LUISA TELLES VALDIVIA . 8. ¿A qué se le llama mantenimiento de sistemas? ALGORITMOS L. ¿Qué es el ciclo de vida de desarrollo de sistemas? ¿En qué consiste la identificación del problema? ¿Qué es el análisis de datos? ¿A qué se le llama diseño de la solución? ¿Qué es codificación? ¿Qué herramientas son usadas en la codificación? ¿Cuáles son los tipos de pruebas que se pueden realizar? ¿Cuáles son las fases de prueba? 10.

Fases Documentación ALGORITMOS L. dependerá del tipo de problema que se pretenda sistematizar. incluso el número de fases puede variar de un autor a otro. Ejemplo Modelo o metodologías para plantear problemas Existen varios modelos que guían el trabajo de un líder o responsable de proyecto. es decir. se modifican según las especificaciones y se implementan. Ejemplo Ciclo de Vida del Desarrollo de Sistemas (SDLC) Modelo que comprende varias etapas o fases. el tiempo y la infraestructura. se expone a comentarios del usuario y se refina a través de las diferentes versiones hasta alcanzar la solución adecuada. así como los conocimientos del programador para que se incline por una u otra metodología. Ejemplo Ingeniería de software Se basa en la posibilidad de reutilizar código. LUISA TELLES VALDIVIA Mantenimiento Identificación del problema Diseño de la solución Codificación Análisis de datos Pruebas y depuración . pero que en conjunto facilitan en el desarrollo de programas o sistemas.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 59 CUADRO RESUMEN Desarrollo evolutivo Se basa en el desarrollo de una solución inicial.I. se busca soluciones similares.

En cualquier desarrollo se debe considerar la jerarquía de los operadores. aritméticos. lo anterior con el fin de tener una práctica más estándar que facilite la consulta y mantenimiento del código.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 60 UNIDAD III ENTIDADES PRIMITIVAS PARA EL DISEÑO DE INSTRUCCIONES PRESENTACIÓN La mayoría de los programas que se desarrollan. independientemente de lo anterior. variables y nombres de funciones especiales. constantes. Los datos son el conjunto de letras. relacionales y lógicas. Para usar identificadores. los cuales pueden ser de tipo constante o variable. estos pueden ser simples o complejos. Las expresiones son combinaciones de operadores. aceptan datos como entrada. LUISA TELLES VALDIVIA . es conveniente que se atiendan ciertas reglas generales. relacionales o lógicos. los procesan y emiten información como el resultado de dicho proceso. según el tipo de objetos que manipulan se clasifican en aritméticas. ALGORITMOS L. mientras que la información es el conjunto de datos estructurados coherentemente. operandos. el dato puede ser de tipo numérico o alfanumérico. Los datos son tratados mediante el uso de operadores. estos pueden ser de tipo asociativo. imágenes o sonidos que por sí solo carecen de significado. números. los paréntesis son los que tienen mayor jerarquía. símbolos. Los datos son guardados gracias a los identificadores.I. Se llama entidades primitivas a los tipos de datos que se pueden emplear en determinado lenguaje.

III.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 61 Al finalizar esta Unidad.4 Identificadores. III. III.2 Operadores y operandos. mientras que los segundos. Rojo Dato simple Blanco Azul Verde Café Dato complejo ALGORITMOS L.1 Tipos de Datos. Se les llama entidades primitivas a los tipos de datos que se pueden emplear en determinado lenguaje. los tipos de datos que una computadora puede procesar se clasifican en simples y complejos.1 Tipos de Datos. LUISA TELLES VALDIVIA . CONTENIDO III. Autoevaluación. el alumno tendrá como: Objetivo Identificar las entidades primitivas en el diseño de instrucciones.I. III.3 Expresiones. por usar el mismo nombre para hacer referencia a un grupo de valores o casillas. Cuadro Resumen. los primeros se caracterizan por ocupar una sola casilla de memoria.

I. ejemplos: “hola” “145-21-44” “Universidad” “Calle Fco. los números enteros pueden estar precedidos por el signo + o -. ALGORITMOS L.8 -345. pero no presentan parte decimal. LUISA TELLES VALDIVIA . los primeros representan a un solo carácter y siempre están delimitados por apóstrofes y aunque el dato guarde un número. ejemplo: ‘8’ ‘z’ ‘&’ ‘L’ ‘+’ Los datos alfanuméricos de cadena contienen a un conjunto de caracteres. alfanuméricos y lógicos.008 6500. ejemplos: 8 2500 -3000 400 -7 Los datos numéricos reales pueden estar precedidos por el signo + o – y estos si presentan parte decimal. ejemplos: 9.0 890.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 62 Los datos simples pueden ser de tipo numérico. con él no se podrán realizar operaciones aritméticas. están delimitados por comillas y generalmente aceptan hasta 255 caracteres.98 -56. Villa # 55” Los datos lógicos son aquellos que solo pueden tener un valor de dos posibles: verdadero (true) o falso (false).50 Los datos alfanuméricos pueden ser de tipo carácter o cadena. Los numéricos son enteros o reales.

entonces se procede con el paréntesis más hacia la izquierda.I. Es un valor numérico que forma parte de la operación aritmética. LUISA TELLES VALDIVIA . El único operador asociativo es el paréntesis (). Cuando existen paréntesis dentro de otros paréntesis.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 63 III. por lo que es necesario definir los siguientes conceptos: Operando. Cuando existan varios operadores asociativos y estos se encuentran separados. Con gran seguridad. se puede decir que una solución informática incluye a una o a varias operaciones aritméticas. quedando la operación de la siguiente manera: (3 + (4*4)+1) Siguiendo con la observación anterior. Operador. (7-3)+ (3*2) ALGORITMOS L. (3 +(4 *(7-3))+1) Primero se resuelve (7-3). resultando: (3 +16+1) El resultado de la última pareja de paréntesis es 20. primero se resuelve la operación que está al centro y después hacia fuera.2 Operadores y operandos. Parte de una expresión que puede ser de tipo asociativo. aritmético. relacional o lógico. se ejecutara (4*4). indica el orden en el que se realizaran las operaciones. Operador asociativo.

el resultado será el entero 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 64 Primero se resuelve la operación de la izquierda (7-3). LUISA TELLES VALDIVIA . el resultado será 1. Cuando usemos los operadores aritméticos. resultando: 4 + (3*2) Se continúa con la operación del siguiente operador asociativo: 4+6 El resultado de la expresión anterior es 10. Operadores aritméticos.I. OPERADOR ** * / + Mod Div OPERACIÓN Potencia Multiplicación División Suma Resta Módulo (residuo) División entera EJEMPLO 2**3 4*5 4/5 4+5 4–5 7 mod 2 7 div 2 Para el ejemplo del operador mod. primero se resolverá aquella que tenga mayor prioridad. ya que al dividir 7 entre 2 el sobrante es de 1. En el caso de div. ALGORITMOS L. debemos observar y respetar la jerarquía en el orden de aplicación que tienen. es decir. si nuestra expresión contempla a más de un operador.

por lo tanto el resultado momentáneo es: (2 * 10) * 5 – 4 / 2 + 9 Después se resuelve el último paréntesis: 20 * 5 – 4 / 2 + 9 Ahora que ya no hay ningún operador asociativo. LUISA TELLES VALDIVIA . entonces primero se resolverá lo que se encuentra dentro y si encontráramos dos o más operadores con la misma prioridad.I. entonces 3 + 2 -1 es igual a 4. división. módulo y división entera Menor Suma y resta La siguiente expresión tiene por objeto mostrar como se atienden a operadores asociativos y a aritméticos de diferente prioridad: (2 * (7 + 3)) * 5 – 4 / 2 + 9 Primero se resuelve el paréntesis que esta más al centro. ya que por prioridad primero se resuelve la división 4 / 2 y después se procede de izquierda a derecha. mod y div +y- JERARQUÍA Mayor Potencia OPERACIÓN Multiplicación. /. OPERADOR ** *. por lo tanto se evalúa el operador aritmético de mayor prioridad. en la expresión se encuentra ALGORITMOS L. entonces se procede de izquierda a derecha. el resultado es de 4.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 65 En el caso de que la expresión incluya paréntesis. Para la expresión 3 + 4 / 2 – 1. ya que la suma y resta tienen la misma prioridad.

entonces se resuelve primero el operador de la izquierda: 100 – 4 / 2 + 9 Después se procede a resolver la división: 100 – 2 + 9 Por último encontramos en la expresión el operador resta y suma. es decir.I. ambos tienen la misma jerarquía. por lo que se procede de izquierda a derecha. LUISA TELLES VALDIVIA . falso o verdadero.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 66 la multiplicación y división que tienen la misma jerarquía. ALGORITMOS L. OPERADOR = <> < > <= >= OPERACIÓN Igual Diferente a Menor que Mayor que Menor o igual a Mayor o igual a EJEMPLO “Hola” = “hola” ‘a’ <> ‘a’ 4<5 4>5 101 <= 100 20 >= 10 RESULTADO FALSO FALSO VERDADERO FALSO FALSO VERDADERO Los operadores relacionales también son denominados operadores lógicos o de comparación. resultando el valor de 107. se usan para comprobar la veracidad o falsedad de una expresión y su resultado siempre será de tipo booleano. Operadores relaciónales.

FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 67 Los operadores relacionales son muy útiles para validar la información que entra al sistema. por lo que siempre debemos comparar valores del mismo tipo o utilizar funciones que conviertan los valores a los tipos requeridos. su objetivo es evaluar a dos o más operaciones simples y determinar si el resultado es falso o verdadero. con estos podemos preguntar si un dato es igual a otro. Ejemplos: Si (edad >= 18) Y (sexo=’M’) Si NO (es fin de archivo) Si NO (es fin de archivo) Y (permiso=1) ALGORITMOS L. Son usados en las estructuras alternativas y en las cíclicas. si son diferentes o si un determinado valor es mayor o menor a otro. OPERADOR NO Y O Menor JERARQUÍA Mayor OPERACIÓN Negación Conjunción Disyunción Los operadores lógicos permiten formar expresiones complejas a partir de operaciones simples. LUISA TELLES VALDIVIA . Operadores lógicos. Es importante comentar que los operandos deben ser del mismo tipo.I. generalmente son usados para tomar decisiones mediante el uso de las estructuras alternativas simples. es decir. dobles o múltiples. si vamos a comparar un valor alfanumérico con un numérico se tendrá un error al ejecutar la expresión con el operador relacional. por ejemplo de número a alfanumérico.

cualquier otro valor dará como resultado falso. ALGORITMOS L. nos percataremos que el resultado será verdadero siempre y cuando sean verdaderas las expresiones a y b.I. que la posición en el archivo no este al final y que se cuente con el tipo de permiso 1. si no se cumple cualquiera el resultado será falso. En el último ejemplo se ejecutaran acciones si el color es negro o rosa.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 68 Mientras (color=”negro”) O (color=”blanco”) hacer En el primer ejemplo observamos que se deben cumplir dos condiciones. solo se cumplirán las acciones si la posición no se encuentra al final. nos daremos cuenta que el resultado de evaluar una operación simple verdadera (a) Y una operación simple falsa (b) será Falso. En el segundo ejemplo se evalúa la posición dentro de un archivo. que la edad sea mayor o igual a 18 y que el sexo sea “M”. Si verificamos las celdas que están sombreadas. Para el tercer ejemplo se tienen que cumplir dos condiciones. cualquier otra combinación será Falso. Si observamos a detalle la columna “a Y b”. A Verdadero Verdadero Falso Falso B Verdadero Falso Verdadero Falso aYb Verdadero Falso Falso Falso aOb Verdadero Verdadero Verdadero Falso La tabla anterior muestra el resultado que se obtendrá al incluir un operador “Y” u “O” en una expresión compleja. LUISA TELLES VALDIVIA .

EXPRESIÓN EJEMPLOS A+b (7 . operandos. Las expresiones son combinaciones de operadores. LUISA TELLES VALDIVIA . entonces el resultado es Falso y viceversa. a Falso Verdadero NO a Verdadero Falso III.(8 * 2)) – 11 10 div 2 4**2 7.5 / 3 4 <> 8 “hola” = “Hola” 10>=4 7 < 90 3 <= 19 NO(fin de archivo) (edad>=18) Y (sexo=”M”) (editorial=”Trillas”) O (editorial=”TRILLAS”) (limite <= 100) Y (disponible=Verdadero) (operación=’+’) O (operación’=’) Aritmética Relacional Lógica ALGORITMOS L. según el tipo de objetos que manipulan se clasifican en aritméticas.I. si la expresión es verdadera y le anteponemos al operador de negación. variables y nombres de funciones especiales. Respecto al operador “NO” podemos mencionar que solo tiene dos combinaciones. constantes.3 Expresiones. cualquier otro resultado es Verdadero.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 69 Mientras que en la columna “a O b” será falso solo cuando las expresiones a o b sean Falsas. relacionales y lógicas.

esta consiste en usar letras mayúsculas dentro del identificador.….1.9) o el símbolo especial _ (carácter de subrayado). comparaciones. z). ya sea para hacer operaciones aritméticas. III. por lo tanto. es decir.4 Identificadores. dichas celdas necesitan un nombre que las distinga una de otra. nunca un número o un símbolo.I. Use el carácter de subrayado (_) para definir mejor el identificador. LUISA TELLES VALDIVIA . Para mantener tales valores. b. …. de lo contrario al ejecutar el programa se generara un error de tipos. los insertamos en casillas o celdas de memoria. números (0. Al designar un identificador debemos observar las siguientes recomendaciones: • • • El primer carácter del identificador debe ser una letra (a. después de haber sido evaluada y resuelta. ya que es más representativo nivel_de_estudios que nivel. También puede usar la notación camello. ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 70 El resultado de las expresiones generalmente es asignado a un identificador. al nombre que identifica las celdas de memoria se llama identificador. c. b. encontramos que es necesario reservar los valores que se usan. ejemplo: NivelDeEstudios. es necesario que tanto el valor generado como la variable sean del mismo tipo de dato. Al trabajar con algoritmos o con el código de un programa.2. almacenamiento u otras. z). el valor generado es transferido a un variable mediante su identificador. c. asignaciones. …. Para que dicho valor pueda ser reservado en esa variable. Los siguientes caracteres pueden ser letras (a.

El segundo tipo es llamado variables. variable. estos identificadores se caracterizan por no cambiar su valor durante la ejecución del programa. LUISA TELLES VALDIVIA . se debe conocer con exactitud el tipo de datos que se podemos usar. Es más representativo usar identificadores como edad. Un ejemplo de variable puede ser la edad solicitada a las personas en una encuesta. por lo que se debe evitar identificadores como Var1. En general. Siguiendo las recomendaciones de párrafos anteriores y al traducir los algoritmos a un lenguaje de programación. ALGORITMOS L. por lo que se hace necesario contar con una entidad que permita estar actualizando frecuentemente el valor. Es una buena práctica definir las constantes al inicio del código. etc. Juan. La ventaja de usar identificadores constantes es que simplifica la modificación de los datos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 71 • • El uso de mayúsculas y minúsculas es importante. variable2. nombre. no es lo mismo cambiar un solo valor a cambiarlo varias veces en el código. estos identificadores se caracterizan por permitir la modificación de sus valores en cualquier momento de la ejecución del programa.I. clave. por lo que se debe referenciar siempre de la misma forma. el identificador debe ser representativo del valor que se reservara. etc. casa. es decir. está cambiara conforme el tipo de usuario encuestado. el primer tipo se denomina constantes. Dentro de los identificadores encontramos a dos tipos. de esa manera la actualización de valores es mucho más rápida y se tiene un buen control de los datos que se manipulan.

¿Qué es una constante? 12. 7. 5. 8.I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 72 Autoevaluación 1. 4. ¿Qué es una variable? ALGORITMOS L. 3. ¿A qué se le llama entidad primitiva? ¿Cuántos tipos de datos podemos encontrar? ¿A qué se le llama dato simple y a que complejo? ¿Qué diferencia hay entre un operador y un operando? ¿Cuáles son los tipos de operadores existentes? ¿Cuáles son los operadores lógicos? ¿Qué es una expresión? ¿Cuáles son las expresiones aritméticas? ¿Cuáles son las expresiones relacionales? 10. LUISA TELLES VALDIVIA . ¿Cuáles son las expresiones lógicas? 11. 9. 6. 2.

2500. variables y nombres de funciones especiales. /. **. “Calle Fco. -300. -7) Numéricos Reales (9. -. Variables. -345.8.50) Carácter (‘7’. <=. -56. LUISA TELLES VALDIVIA Operandos Asociativo: () Aritméticos: +. identificadores que se caracterizan por permitir modificar su valor en cualquier momento de la ejecución.I. Existen dos tipos: Constantes.0. constantes. >= y <> Lógicos: Y. números. *. div y mod Relacionales: <. “Juan Pérez”. que por sí solos carecen de significado. Aritméticos: +. ‘Z’) Alfanuméricos Cadena (“LIF070201”. identificadores que no cambian su valor durante la ejecución del programa. Son guardados en Identificadores Un identificador es el nombre que se da a un valor para que este pueda ser accedido en cualquier momento. /. 6500. -. div y mod Relacionales: <. operandos. ‘$’. relacionales y lógicas. según el tipo de objetos que manipulan se clasifican en aritméticas. 400. NO y O Son tratados con Dato Conjunto de letras. >. **. >= y <> Lógicos: Y. símbolos. Villa # 55”) Puede ser de Expresiones Combinaciones de operadores.008.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 73 CUADRO RESUMEN Tipos Enteros (8. imágenes o sonidos. <=. ‘a’. NO y O Son incluidos en . *. Se considera como la unidad mínima de información. >. ALGORITMOS L.

su importancia se observa en las soluciones informáticas que se liberan. Los diagramas de Warnier son una herramienta estructurada y de forma textual.I. que identifica las salidas. pero existen otras como el voraz. se facilita subir y encontrar las características exactas de la solución.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 74 UNIDAD IV TÉCNICAS DE DISEÑO PRESENTACIÓN La algoritmia es uno de los pilares de la programación. que permita abordar la solución de una forma unificada y coherente. también es llamado refinamiento progresivo. después va hacia a tras para determinar los pasos y las combinaciones necesarias para la entrada. El diseño descendente o top-down es una técnica popular para descomponer un problema en partes. ascendente y el de Warnier-Orr. procedimientos o secuencias finitas de instrucciones adecuadas al caso que se pretende sistematizar. Las técnicas de diseño se pueden definir como los métodos. Se caracteriza por iniciar de lo general a lo particular de las tareas que hay que realizar. El diseño bottom-up es usado cuando el problema es tan abstracto que es mejor iniciar por el final. se debe tener perfectamente definida la problemática y después buscar la técnica de diseño más conveniente al caso. al tener definidas algunas características del nivel más bajo del problema. ALGORITMOS L. que sin duda ayudarán al programador a encontrar la solución adecuada y que con el tiempo les permitirán tener sus propias rutinas. LUISA TELLES VALDIVIA . etc. divide y vencerás. backtracking. para alcanzar el éxito de cada una de ellas. programación dinámica. En la última parte de la unidad se describirán otras técnicas de diseño. Las técnicas clásicas son el diseño descendente.

3 Warnier – Orr. Cuadro Resumen. IV. es conveniente especificar las razones por las cuales debemos usar técnicas de diseño.2 Bottom-up.1 Top-down. Las técnicas de diseño nos pueden inducir a tratar una solución de lo general a lo particular y viceversa.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 75 Al finalizar esta Unidad.1 Top-down. Antes de iniciar a describir la técnica de diseño descendente. hacer más óptimo y eficiente el trabajo. Contar con una visión general de cada uno de los módulos que comprenderá la aplicación. LUISA TELLES VALDIVIA . IV. procedimientos o secuencias finitas de instrucciones que indican la forma en la que se debe estructurar un programa o un sistema. pero también nos ayudan a implementar rutinas para ordenar datos. Autoevaluación.I. IV. las cuales se pueden definir como los métodos. etc. segmentar el problema y resolverlo por etapas. ALGORITMOS L. CONTENIDO IV. el alumno tendrá como: Objetivo Identificar y comprender la operación de las técnicas de diseño clásicas.

además de esconder los detalles del diseño de niveles inferiores. pero también puede estar enfocada a la medicina.I. rutina. cada parte o módulo se subdivide y así se continua hasta tener totalmente fraccionada la solución. subalgoritmo o procedimiento. por el contrario. mencionaremos que es una técnica popular para descomponer un problema en módulos. Un módulo es un segmento. son muy variados los casos que debe resolver el programador. ingeniería. educación. física. ALGORITMOS L. La división o modularización nos permite organizar la solución al problema de manera análoga a la estructuración de una empresa. si no conoce e implementa las técnicas de diseño. si implementa dichas técnicas. para iniciar con el diseño top-down o descendente. de tal forma que solo es necesario definir los datos y el control que se usara en las interfaces de cada módulo. cuando exista la necesidad de ejecutar en repetidas ocasiones un bloque de instrucciones. después. invertirá un número mayor de horas. contará con guías que orienten su desarrollo y al mismo tiempo estandaricen su trabajo. partiendo de lo general a lo particular como si se tratara de un organigrama. Las técnicas clásicas de diseño de algoritmos son la descendente.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 76 Una solución informática puede estar orientada al área de recursos humanos de una empresa. que puede incluirse dentro del algoritmo con el fin de realizar tareas especificas y que puede ser invocado desde el algoritmo principal. historia. La modularización es útil porque nos ayuda a tratar un problema extenso o complejo. ascendente y la de Warnier. arquitectura. LUISA TELLES VALDIVIA . para que a la hora de dar mantenimiento la tarea sea exitosa. Como se observa. literatura. etc. también. química. biología. financiera o de mercado. el trabajo se divide en partes que sean fácilmente operables. antropología. al área contable. La ventaja de está técnica es que disminuye el tiempo de diseño.

La técnica ascendente comienza con el diseño típico de un sistema. después los módulos se irán acoplando hasta tener la solución final. Generalmente las empresas adoptan este enfoque comprando algún paquete para determinada área o diseñando al vapor alguno de sus módulos.2 Bottom-up. IV.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 77 La figura anterior trata de exponer la forma en que se puede ir fragmentando un problema al usar la técnica top-down.I. aquellos en donde existe una necesidad imperante de sistematizar una parte del sistema. después decide que módulos serán considerados en el sistema final. empleando la experiencia o la intuición. 78 ALGORITMOS L. El diseño bottom-up o de abajo hacia arriba. nos indica que el trabajo inicia en los niveles más bajos. LUISA TELLES VALDIVIA .

además de que los errores son difíciles de detectar y generalmente aparecen hasta el final de la programación. 79 ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA La principal desventaja de esta técnica. además de que normalmente no son considerados los objetivos generales de la organización. Nivel Objetivos organizacionales Nivel de sistemas funcionales Nivel de sistemas operacionales Nivel de programa o módulo IV. que emplea un enfoque jerárquico descendente.3 Warnier – orr. LUISA TELLES VALDIVIA . como la duplicación de esfuerzos en la compra de software y en la captura de datos. es parecido a los diagramas N/S solo que los de Warnier-Orr usan los corchetes como símbolos. Existen críticas severas a la técnica. un error puede ocasionar costos elevados. el registro de muchos datos sin valor. Es otra técnica de diseño estructurado.I. es que es muy difícil alinear todos los módulos.

80 ALGORITMOS L. LUISA TELLES VALDIVIA . fueron desarrollados inicialmente en Francia por Jean Dominique Warnier y en los Estados Unidos por Kenneth Orr. debe empezar con la salida del sistema. es decir. Los escasos símbolos usados. en el siguiente nivel y usando una llave se debe mostrar los pasos necesarios para producirla y así sucesivamente. selección de alternativas o el tratamiento de casos individuales. hacen evidentes los niveles del sistema y más claros las operaciones en los datos de tales niveles. Para desarrollar un diagrama de este tipo. La técnica de Warnier-Orr es útil al diseñar la estructura de programas. el analista debe trabajar hacia atrás. ya que ayuda a identificar la salida y el resultado del procedimiento. por lo tanto se dice que trabaja sobre un enfoque descendente.I. Con los diagramas de Warnier-Orr no se pretende representar la iteración.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA Son conocidos como construcción lógica de programas/construcción lógica de sistemas.

LUISA TELLES VALDIVIA .I. (M) Significa que la conjunción debe ser cierta o falsa (0.1) Implica que los enunciados arriba y abajo del + son alternativas mutuamente excluyentes + Se usa para saltar de otra parte del programa PERFORM 81 ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA DESCRIPCIÓN Significa conjuntos y subconjunto SÍMBOLO Significa ejecutar el conjunto “M” veces.

p.p. México.1) Actualización diaria Periódico (N) Actualización de Suscriptor (S) Final del periódico Finalizar actualización de datos Fin de actualización de suscriptor *Kendall & Kendall. LUISA TELLES VALDIVIA . 784.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA Iniciar actualización diaria Iniciar Periódico Iniciar actualización de suscriptor Renovación (0. Edit.1) + Cancelación (0. 1997.I.1) + Cambio de Dirección (0. “Análisis y Diseño de Sistemas”. 82 ALGORITMOS L. Pearson Education.1) + Nuevo (0.

¿Qué es una técnica de diseño? ¿En qué consiste la técnica top-down? ¿Cuál es la técnica Bottom-up? ¿Cuál es la diferencia entre la técnica Top-down y Bottom-up? ¿Cuál es el uso de los diagramas de Warnier-Orr? ¿Cuál es la simbología usada en los diagramas de Warnier–Orr? ¿Por qué considera importante usar técnicas de diseño en el desarrollo de sistemas? ¿Cuáles son las ventajas de usar la técnica Top-down? ¿A quiénes se le atribuye el desarrollo de Warnier-Orr? 8. ¿Desventajas de la técnica Bottom-Up? ALGORITMOS L. 2. 6.I. 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA Autoevaluación 1. 5. 4. 10. LUISA TELLES VALDIVIA . 7. 9.

LUISA TELLES VALDIVIA . a tener una visión general de cada uno de los módulos que comprenderá la aplicación. también ayudan a implementar rutinas para ordenar datos. Top–down Diseño descendente. que va de atrás hacia adelante. segmentar el problema y resolverlo por etapas. Warnier– orr Técnica ascendente. parte de lo general a lo particular. hacer más óptimo y eficiente el trabajo. Bottom-up Diseño ascendente.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 83 CUADRO RESUMEN Técnica de diseño Inducen a tratar la solución de lo general a lo particular y viceversa. ALGORITMOS L. parte de lo particular a lo General.I.

En esta unidad se retomaran las estructuras algorítmicas analizadas en unidades anteriores. En esta Unidad también se ejemplificaran las estructuras iterativas o repetitivas en sus dos variantes: hacer desde… hasta… y hacer mientras. ya que solo consiste en listar de manera ordenada las acciones a ejecutar. para este caso existen tres variantes: la simple. la solución ya no será lineal. LUISA TELLES VALDIVIA . es decir.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 84 UNIDAD V ESTRUCTURAS ALGORÍTMICAS PRESENTACIÓN En Unidades anteriores se estudiaron algunas definiciones. modelos o métodos para el desarrollo de sistemas o programas. usar datos simples o complejos. los diferentes tipos de datos y las técnicas de diseño. Con las estructuras iterativas podemos ejecutar un grupo de instrucciones determinado número de veces. de un tipo o de otro. ya sea conociendo el valor de inicio y el valor de fin o dejando a la voluntad del usuario el número de veces a repetir el ciclo. ahora es el momento de aplicar toda la información estudiada en la solución de problemas. ALGORITMOS L.I. óptima y estética. Finalmente se explicaran algunas estructuras de datos complejas. dependerá de la condición que se exprese para determinar si el flujo de datos toma una vía u otra. la doble y la múltiple. esta estructura es muy sencilla. la primera estructura a trabajar es la secuencial. Otras de las estructuras a trabajar es la estructura alternativa o decisión. que sin lugar a dudas ayudaran a desarrollar una solución funcional. Cualquiera de las estructuras alternativas provocaran una bifurcación en el diseño del algoritmo. Cabe aclarar que una solución puede recurrir a una sola estructura algorítmica o puede presentar una combinación de varias.

V. V. V.3 Control de procesos. Autoevaluación.I. CONTENIDO V.3 Iteraciones.1 Arreglos. No importa cuantas estructuras aparezcan en el algoritmo. Como se estudió en Unidades anteriores. una solución puede presentar una estructura secuencial o combinación de secuencial.4. V. V. ALGORITMOS L. alternativa o de decisión y de iteración.4.1 Tipos de campos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 85 Al finalizar esta Unidad. dependiendo de las acciones.4 Problemas usuales. V. LUISA TELLES VALDIVIA .2 Secuenciales.4. lo verdaderamente importante es que mediante ellas se desarrolle una solución funcional óptima y estética.2 Bifurcaciones. Cuadro Resumen. las estructuras algorítmicas permitirán al programador construir la solución a un problema que se pretenda sistematizar.1 tipos de campos. V. el alumno tendrá como: Objetivo Identificar y aplicar estructuras algorítmicas en la solución de problemas de programación.

Al incluir una estructura iterativa. ALGORITMOS L. En este primer ejemplo. es decir. el programador puede planear una solución no lineal. caso e iteración. las estructuras están hechas para optimizar los recursos del equipo de cómputo. es necesario que el alumno observe los símbolos usados en el diagrama de flujo y las palabras usadas en el pseudocódigo. Ejemplo No.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 86 Mediante las estructuras algorítmicas. no es lo mismo tener una solución de 100 acciones por ejemplo. la cual se caracteriza por ejecutar las acciones previstas de manera secuencial. a tener una de 9 líneas porque se uso una estructura iterativa. en disco y se tiene un mejor control en el mantenimiento. la secuencial. Impresión del contenido de la variable área. Entrada: Proceso: Salida: Notas: b – base (dato numérico) h – altura (dato numérico) Calcular el área usando la fórmula base por la altura sobre dos y guardándola en el identificador área. de decisión. En este punto se estudiaran y analizaran ejemplos de la estructura secuencial. de igual manera debe poner atención en el inicio y fin de los algoritmos. ya que no es lo mismo analizar un código extenso a uno estructurado. de tal forma que no exista nada que pueda impedir la ejecución de las instrucciones contempladas. recuerde que una de las características de los algoritmos es que deben ser finitos. se ahorra espacio en memoria. también debe observar la manera de asignar un valor a un identificador y por último la forma en que se muestra el resultado.I. En unidades anteriores se estudiaron 4 estructuras algorítmicas. LUISA TELLES VALDIVIA . 1 Presentar una solución que permita imprimir el área de cualquier rectángulo.

área (b*h)/2 4. estas le indican al programador que deberá solicitar los valores necesarios para calcular el área. FIN Ejemplo No. LUISA TELLES VALDIVIA . 1. Diagrama y Pseudocódigo que representan la aplicación de una estructura de secuencial.I. ALGORITMOS L. 2. tiene que ver con las palabras “cualquier rectángulo”. ya que estos no se conocen. INICIO 2. LEER b. h 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 87 El comentario final para este ejemplo. IMPRIMIR área 5.

3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 88 Ejemplo No. sh – sueldo por hora (dato numérico). IMPRIMIR sueldo 5. sueldo (dt * sh) * sh 4. con base en el número de días trabajados y en el sueldo por hora. LEER dt. FIN ALGORITMOS L. Desarrollar una solución que permita imprimir el sueldo total de un trabajador. considerando una jornada de 8 horas diarias para todo empleado. sh 3. INICIO 2. Calcular sueldo multiplicando días trabajados por el número de horas trabajadas diariamente por el sueldo por hora. Entrada: Proceso: Salida: dt – días trabajados (dato numérico). 1. LUISA TELLES VALDIVIA .I. Imprimir sueldo.

sino que dependerán del cumplimiento o no de una condición. 3. En los pseudocódigos se utilizan las palabras reservadas SI… ENTONCES y en el diagrama de flujo se usa un rombo. gracias a ellas el programador puede prever diferentes alternativas de solución. incluso son de gran utilidad en la validación de datos de entrada y de salida. el resultado puede ser falso o verdadero. Entrada: Edad (dato numérico). si el valor introducido es mayor o igual a 18 que imprima un boleto para tramitar su credencial de elector. así como en comparaciones. Diagrama y Pseudocódigo que representan otra aplicación de una estructura de secuencial. Las estructuras selectivas simples se identifican por estar compuestas de una sola condición. LUISA TELLES VALDIVIA . las órdenes ya no ejecutaran una a una (paso a paso). Las bifurcaciones también son llamadas estructuras selectivas o de decisión. si es verdadero se ejecutara una o un grupo de instrucciones. Las estructuras selectivas se encuentran en casi todo tipo de problema.I. La estructura selectiva o bifurcación puede ser de tres tipos. a) Simple. Las bifurcaciones en el algoritmo rompen la secuencia de las instrucciones. Proceso: Validar la entrada mediante una estructura selectiva simple. Desarrollar algoritmos que soliciten la edad de una persona.2 Bifurcaciones. V. es decir. 4. ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 89 Ejemplo No. Ejemplo No. al ser evaluada dicha condición. en caso de ser falso continua con la secuencia normal del algoritmo.

LEER edad 3. SI edad >=18 ENTONCES IMPRIMIR “Boleto credencial de elector” FIN SI 4. FIN ALGORITMOS L. 1.I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 90 Salida: Notas: Impresión del boleto si cumple con la condición. es importante que en una estructura alternativa o de decisión. cumplen con las reglas expuestas en unidades anteriores. LUISA TELLES VALDIVIA . se indique con SI y NO el flujo correspondiente. Observe como las líneas que representan los flujos. INICIO 2.

Calcular el sueldo que la empresa pagara a cada empleado. Ejemplo No. entonces la comisión será del 12% sobre el sueldo base. ALGORITMOS L. UVS2 unidades vendidas en la semana 2 (número). Validar TUV mediante una estructura selectiva doble. en caso contrario la comisión será del 5%. Entrada: UVS1 unidades vendidas en la semana 1 (número). Observe que una solución puede estar formada por estructuras de diferentes tipos. LUISA TELLES VALDIVIA . Proceso: Obtener el total de las unidades vendidas en la catorcena (TUV). dependiendo de las unidades vendidas en la primera y segunda semana será la comisión que obtengan. refleja el uso de la estructura secuencial o de decisión. La empresa desea saber lo que pagará por sueldo base más comisión.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 91 Ejemplo No.I. Diagrama y Pseudocódigo que representan la aplicación de una estructura de selectiva simple. En los diagramas de flujo se usa el rombo con una línea de flujo a la derecha (cuando el resultado es falso) y otra a la izquierda (cuando es verdadero). los símbolos y las instrucciones usadas para representar el proceso de las entradas. Salida: La impresión del sueldo del trabador. La estructura selectiva doble permite que el flujo del algoritmo se bifurque (divida) en dos ramas dependiendo de la o las condiciones que se evalúen. Notas: La solución algorítmica propuesta para el problema que se expone. A diferencia de la estructura selectiva simple. 5. b) Doble. se recomienda poner especial atención a la forma en que se obtienen los datos necesarios para determinar el sueldo. 6. Si las unidades vendidas son mayores a 100. La empresa “XYZ” paga a sus empleados un sueldo base de $5000 catorcenales. así como la forma en que se manipula la estructura alternativa doble. la doble prevé una o un grupo de instrucciones para cada una de las alternativas.

SI TUV >100 ENTONCES COM 12 SINO COM 5 FIN SI 5. Diagrama y Pseudocódigo que representan la aplicación de una estructura de selectiva doble. INICIO 2. LEER UVS1. TUV UVS1 + UVS2 4. 7. UVS2 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 92 1. ALGORITMOS L.I. SUELDO ((5000 * COM)/100) + 5000 4. LUISA TELLES VALDIVIA . FIN Ejemplo No.

3 para multiplicación y 4 para la división. Entrada: v1 .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 93 c) Múltiple. El usuario pulsara 1 si desea hacer una suma. * o /) que desee hacer un usuario. operación (número).Segundo valor entero (número). mostrar el resultado de la operación aritmética ( +. Dada la lectura de dos valores enteros. -. 8. La bifurcación se basa en el valor de un dato. También se recomienda observar como fue cambiado el símbolo de impresora por el de pantalla. Proceso: Evaluar el tipo de operación mediante una estructura selectiva múltiple.I. Notas: ALGORITMOS L. ya que el enunciado indicaba la acción mostrar y no la acción imprimir. v2 . Realizar la operación aritmética solicitada. son útiles cuando se debe seleccionar una opción entre varias. LUISA TELLES VALDIVIA . se recomienda observar la forma en la que mediante un solo identificador se guarda el resultado de cualquiera de las operaciones aritméticas. muestra una estructura secuencial pero también una selectiva múltiple.resultado). Salida: Mostrar el resultado de la operación aritmética. La bifurcación múltiple permite determinar varias alternativas a un caso dado. 2 para resta. después se listan todos los posibles valores y las acciones que habrán de ejecutarse para cada valor.Primer valor entero (número). pero sobre todo cuando las alternativas son instrucciones totalmente diferentes. La solución algorítmica propuesta para el problema que se expone. En los diagramas de flujo se usa un pentágono con tantas líneas de flujo sean necesarias y en los pseudocódigos se usa la estructura caso. para cualquiera de las operaciones se usara el mismo identificador o variable (r . Ejemplo No.

I. LUISA TELLES VALDIVIA .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 94 ALGORITMOS L.

Resta 4. LEER v1. esto ahorra tiempo. 1. CASO operación igual. “hacer mientras …”. V.3 Iteraciones. su objetivo es repetir las tareas usando el mismo código. 1: r v1 + v2 2: r v1 .2. su estudio y aplicación.v2 3: r v1 * v2 4: r v1 / v2 CUALQUIER OTRO CASO: MOSTRAR “Solo acepta 1. 5. Una iteración es un conjunto de instrucciones que se repiten varias veces. pero sobre todo óptimos. Suma 3. en los diagramas de flujo se utiliza el rombo para verificar la condición que estructura la iteración y en los pseudocódigos se usan las palabras reservadas “hacer desde … hasta …”. v2 3.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 95 1. FIN Ejemplo No. MOSTRAR 7. también son conocidas como bucle o ciclo. le permitirán al programador desarrollar programas funcionales. Diagrama y Pseudocódigo que representa la aplicación de una estructura selectiva múltiple. INICIO 2.I. hay mayor claridad y facilita su documentación en el futuro. División” 4. Los ciclos junto con las estructuras selectivas o de decisión. 9. MOSTRAR “Seleccione el tipo de operación a realizar. forman la base de la programación estructurada. LEER operación. ALGORITMOS L.3 ó 4” FIN CASO 6. Multiplicación 2. LUISA TELLES VALDIVIA . Las iteraciones son representadas a través de las estructuras de iteración estudiadas en la Unidad I.

10. es que usamos un solo identificador para recibir los datos de entrada. es decir. cuando el diagrama de flujo sea muy extenso. también usamos las líneas de flujo muy largas para enlazar los diferentes símbolos. es conveniente que el alumno observe la forma en que se representa y controla al ciclo. al final es usada para obtener el promedio general. Otra de las cosas que se debe observar. ALGORITMOS L. para ello es necesario especificar el valor inicial y el valor de fin o de parada.I. en lugar de líneas de flujo extensas usaremos conectores dentro de la misma página. desde antes que inicie el ciclo se conoce cuantas veces se va a repetir. se utiliza para representar la ejecución de un bloque de instrucciones determinado número de veces. Salida: Mostrar el promedio general (pg). Notas: En este primer ejemplo de estructura repetitiva o iteración. Por último. es importante que el alumno observe el uso del acumulador “suma”. Calcular el promedio general (pg).FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 96 a) Hacer Desde… hasta… La estructura repetitiva hacer desde… hasta…. esta variable va cambiando su valor conforme el ciclo avanza. Usamos el símbolo de decisión para controlar el número de veces que el ciclo se repetirá. Entrada: 10 calificaciones Proceso: Sumar todas las calificaciones registradas (suma). Desarrolle una solución que solicite el nombre del alumno y la calificación de cada uno de los 10 módulos que componen el Diplomado en Diseño Gráfico. al final se debe mostrar el promedio general. recuerde que en los casos anteriores se tenía un identificador por valor. LUISA TELLES VALDIVIA . Ejemplo No.

I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 97 INICIO nombre i = 1. suma = 0 i <= 10 SI cal NO suma = suma +cal i=i+1 pg = suma/10 pg FIN ALGORITMOS L. LUISA TELLES VALDIVIA .

HACER DESDE i=1 HASTA i=10 LEER cal Suma suma + cal i i+1 FIN DESDE 6. pg suma / 10 7. 11.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 98 1. INICIO 2. MOSTRAR pg 8. i 1 5. FIN Ejemplo No. suma 0 4.I. LEER nombre 3. Supongamos que al ejecutar el programa el usuario introduce los siguientes datos: IDENTIFICADORES DE LA SOLUCIÓN cal suma 8 8 10 18 9 27 8 35 9 44 9 53 9 62 10 72 10 82 9 91 i 1 2 3 4 5 6 7 8 9 10 Pg 9. LUISA TELLES VALDIVIA . Diagrama y Pseudocódigo que representan la aplicación de una estructura repetitiva hacer desde… hasta….1 ALGORITMOS L.

Proceso: acumular (c1 – color Rojo. una proposición inicial y la instrucción que modificara dicha proposición inicial y que como consecuencia concluirá el ciclo. LUISA TELLES VALDIVIA . Ejemplo No. además de la forma en que se usan los acumuladores. el número de ingresos en un día específico. para ello se requiere de una solución que guarde cada uno de los votos. etc. tal número depende de los valores que van transformando la condición que se evalúa al inicio del ciclo. 12. Este tipo de estructuras son útiles cuando no sabemos con exactitud el número de registros de un archivo. el número de participantes en un proceso de votación.I. esta estructura se usa cuando no sabemos con exactitud el número de veces que se repetirá el ciclo. selectiva múltiple y hacer mientras. c2 – color Amarillo. Para armar una estructura de este tipo. ALGORITMOS L. Es importante observar que una solución la pueden componer varias estructuras algorítmicas. Salida: Mostrar el total de votos para cada color y el total de alumnos que participaron. c4 – color Verde y c5 – color Blanco) y contar cada uno de los votos (na – numero de alumnos). Entrada: opción (color). el alumno debe poner especial interés a la forma en que se relaciona la estructura secuencial. al final de la jornada (cuando el usuario lo indique) se muestren automáticamente los resultados. es necesario identificar el bloque de instrucciones que se ejecutan como ciclo. c3 – color Azul. En un centro escolar se le ha solicitado a cada estudiante seleccione el color con el que desea pintar su escuela. Notas: La estructura hacer mientras es útil cuando no conocemos el número de veces que se repetirá el ciclo.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 99 b) Hacer mientras … La estructura repetitiva hacer mientras es comúnmente conocida como while.

c3 = 0. Salir Opción Opción 1 2 3 4 c1=c1+1 c2=c2+1 c3=c3+1 c4=c4+1 c5=c5+1 El proceso de votación ha concluido na = na + 1 Rojo Amarillo Azul Verde Blanco Total FIN c1 c2 c3 c4 c5 na-1 ALGORITMOS L.I. LUISA TELLES VALDIVIA . Amarillo 3. Rojo 2. c5 = 0. c1 = 0. na=0 Opción < 5 No Si Seleccione una opción 1. c2 = 0. c4 = 0. Blanco 6. Azul 4 Verde.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 100 INICIO Opción = 0. 5.

ALGORITMOS L. opción 0 8. HACER MIENTRAS opción < 5 MOSTRAR “Seleccione una opción 1. c4 0 6. LUISA TELLES VALDIVIA .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 101 1. c5 0 7. Diagrama y Pseudocódigo que representan la aplicación de una estructura repetitiva hacer mientras. Rojo 2. Salir” LEER opción CASO opción igual 1: c1 c1+ 1 2: c3 c2+ 1 3: c4 c3 + 1 4.I. c1 0 3. c5 c4 + 1 5: c6 c5 + 1 6: MOSTRAR “El proceso de votación ha concluido” FIN CASO na na + 1 FIN HACER MIENTRAS 9. INICIO 2. c3 0 5. Amarillo 3. MOSTRAR “Azul “+c3 12. c2 0 4. Verde 5. 13. FIN Ejemplo No. MOSTRAR “Amarillo “+c2 11. MOSTRAR “Blanco “+c5 14. MOSTRAR “Rojo “+c1 10. Azul 4. MOSTRAR “Total “+na 15. MOSTRAR “Verde “+c4 13. Blanco 6.

por lo pronto se recomienda practicar hasta que las estructuras algorítmicas estén totalmente claras. No esta demás recordar que la programación no excluye a nadie y a nada. se ha tenido mayor éxito ALGORITMOS L. Los ejemplos que se mostraron en las últimas páginas forman parte de la capacitación básica de un programador. sin embargo.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 102 V. Es conveniente recordar que aprender a programar es como si intentáramos aprender otro lenguaje.4 Problemas usuales. Aunque las estructuras de datos y el manejo de archivos serán abordadas a detalle en otras asignaturas. de tal forma que el alumno se encuentre en la posibilidad de comparar los diferentes tipos de datos y con ello ayudarle a definir la solución óptima a problemas usuales. ya que de manera análoga. es importante conceptualizarlos. las estructuras de iteración son empleadas para controlar vectores.I. LUISA TELLES VALDIVIA . también es posible el control de registros y archivos. etc. por ejemplo. que para una clínica. Las estructuras algorítmicas también son usadas para manipular datos más complejos. Los problemas que se puedan sistematizar mediante la programación son incontables. matrices o cualquier arreglo de varias dimensiones. así como el control de las operaciones que puedan soportar cada uno de ellos. bienes raíces. es necesario que todos los casos expuestos y los que se proponen como actividades de aprendizaje. un despacho de abogados. la persona debe conocer la forma de armar oraciones o frases y el programador la forma de armar instrucciones. son casos tradicionales que pretenden ayudar con la lógica que todo programador debe tener. Claro que es solo una mínima parte de lo que debe aprender. ya que igual se desarrolla un programa para el área contable de una empresa. dichas tareas se llevarán acabo en la asignatura de Introducción a la Programación. el alumno los traduzca a un lenguaje de programación.

el número de índices y el tipo del arreglo. LUISA TELLES VALDIVIA . medicina. basta con definir el nombre del arreglo. un arreglo de una sola dimensión. pero también se han desarrollado exitosos proyectos en el área de inteligencia artificial. contables o financieras. El arreglo puede tener una o más dimensiones. es decir. Los arreglos son estructuras de datos que permiten manipular los datos en conjunto. etc. ALGORITMOS L. arqueología. por ejemplo se puede llevar una lista de calificaciones o precios de productos. con las estructuras de datos ya no es necesario tener listas enormes de identificadores. Precios [0] Precios [1] Precios [2] Precios [3] Precios [4] Precios [5] 300 250 320 100 150 200 Como se observa en el ejemplo de arriba. así como el stock máximo y mínimo para cada producto.4. por ejemplo podemos guardar el precio del producto y el número de unidades almacenadas. en dichas lista los datos tienen la misma característica o son de valor numérico o son de tipo real. lo que realmente tenemos son datos de un mismo tipo (precios).I. biología. y) se les llaman matrices. lo que se presenta en la primera columna es el nombre con el cual se accederá al precio (identificador). cine. estos arreglos son útiles para controlar listas de datos con una sola característica. si solo presenta un índice (y) estamos hablando de un vector. Los arreglos que tienen dos índices (x. es decir. pero no hay combinaciones. V.1 Arreglos. estos son útiles para guardar más características pero del mismo tipo. el número de elementos.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 103 en las áreas administrativas.

4.2] Precios [0. Registro. un registro puede guardar datos de diferentes tipos.2 Secuenciales.4]. ALGORITMOS L. características diferentes del objeto. generalmente se accede primero al índice que representa la columna y después al de la fila. las operaciones que aceptan ambas estructuras son lectura. etc.0] 900 900 200 900 900 900 Precios [0.0] 300 250 320 100 150 200 Precios [1. Campo.5] Como se observa la primera columna indica la forma de acceder a cualquier precio del producto. marca. la fecha de caducidad.0] 1000 1200 1500 900 960 1190 Precios [2. esta es una estructura compuesta por un conjunto de datos referentes a un mismo objeto o cosa. V.I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 104 No es posible almacenar en una matriz. a diferencia de los arreglos. Aparte de los arreglos contamos con los registros. La diferencia entre un vector y una matriz es el número de índices que usan. por ejemplo. modelo. de tal forma que si es del interés acceder al stock máximo del quinto producto se debe hacer referencia a Precios [2. ordenación y búsqueda.4] Precios [0. LUISA TELLES VALDIVIA . pretender guardar en el mismo arreglo el nombre del producto. Precios [0. dependiendo del lenguaje a utilizar. para esos casos es mejor trabajar con registros.1] Precios [0. actualización.3] Precios [0.0] 1200 1200 1000 1500 1500 1500 Precios [3. asignación.0] Precios [0. cada dato recibe el nombre de campo. escritura.

por ejemplo. dirección. LUISA TELLES VALDIVIA . Persona. Persona. el registro persona puede tener los campos nombre. ALGORITMOS L. Sus registros son de tres tipos: altas. etc. De maniobra o trabajo: tienen una vida limitada. rfc. Dirección. bajas y modificaciones. Persona.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 105 Cada campo puede guardar una característica del objeto y puede ser de cualquier tipo. Nombre. Nacimiento. Persona. normalmente menor que la duración de la ejecución de un programa. estos son considerados como estructuras externas. Los archivos se clasifican según su uso en tres grupos: • • • Permanentes o maestros: Contienen información que cambia poco. edad. Los archivos se organizan para su almacenamiento y acceso. Persona.I. rfc. Se utilizan como auxiliares de los anteriores. Edad. ya que se pueden almacenar en memoria secundaria y pueden ser accedidos por diferentes programas. directo o aleatorio y secuencial indexado. fecha de nacimiento. teléfono. Persona. Teléfono. En algunos casos es preciso actualizarlos periódicamente. según las necesidades de las aplicaciones en secuencial. Un archivo es considerado como un conjunto de información estructurada en unidades de acceso denominadas registros. correo electrónico. Uno o varios registros pueden formar un archivo. De movimientos: se crean para actualizar los archivos maestros. email. Persona.

4. Actualización: Inserción. debe ayudar a la actualización del mismo algoritmo. Modificación: Alterar la información de un registro.3 Control de procesos. supresión o modificación de alguno de sus registros. • • • Las operaciones más usuales a nivel de registro son: • • • • Inserción: Añadir un nuevo registro al archivo. Supresión: Quitar un registro del archivo. El control que se debe aplicar a las estructuras definidas en la solución informática. dejando libre el espacio del soporte que ocupaba. LUISA TELLES VALDIVIA .FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 106 Las operaciones generales que se realizan sobre un archivo son: • • Creación: Escritura de todos sus registros. ALGORITMOS L. V. así como a la consulta de los datos usados en las pruebas. Consulta: Lectura de todos sus registros. los resultados obtenidos y las instrucciones que lo componen. Borrado: Eliminación total del archivo.I. Consulta: Leer el contenido de un registro. Clasificación: Reubicación de los registros de tal forma que queden ordenados según determinados criterios.

¿Qué aplicación tiene una estructura secuencial? ¿Qué es una bifurcación? ¿Cuántos tipos de bifurcaciones podemos usar? ¿Qué tipo de problemas pueden ser resueltos con las estructuras alternativas o de decisión? ¿Qué es una iteración? ¿Qué es un ciclo o bucle? ¿Cuál es el uso de la estructura hacer desde… hasta.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 107 El control de los procesos que se lleva acabo en el diseño de una solución informática.. 3. los responsables de cada actividad. que indique en todo momento el estado real del proyecto. 9. LUISA TELLES VALDIVIA . este programa permite al usuario controlar las especificaciones. costos.. es conveniente que el profesional de la informática produzca y tenga acceso a una documentación basta. 2. un ejemplo de dichas herramientas es Microsoft Project. así como los tiempos en que se ejecutaran cada una de sus fases. El control del proyecto puede llevarse de manera tradicional o a través de una herramienta computacional. etc.? ¿Cuál es la diferencia entre la estructura hacer desde… hasta… y la estructura hacer mientras? ¿Qué es un arreglo? 5. 7. 4. permitirá el seguimiento desde la fase preliminar de análisis hasta el uso del programa o sistema. Autoevaluación 1. Para llevar un buen control. 8.I. ALGORITMOS L. 6.

¿Qué es un registro? 12.I. ¿Qué es un archivo? 13. ¿Qué tipo de operaciones se pueden realizar sobre los arreglos. LUISA TELLES VALDIVIA . ¿Cuál es la diferencia entre vector y matriz? 11.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 108 10. registros y archivos? ALGORITMOS L.

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

109

CUADRO RESUMEN
Estructuras algorítmicas Las estructuras algorítmicas permitirán al programador construir la solución al problema que se pretenda sistematizar, dependiendo de las acciones, una solución puede presentar una estructura secuencial o combinación de secuencial, alternativa o de decisión y de iteración, además se pueden usar estructuras de datos complejas. Estructura Secuencial Acción 1 Acción 2 Acción 3 Acción “n” Estructura de datos complejos Vector Matriz Registro Archivo

Bifurcaciones SI condición ENTONCES acción 1 SINO acción 2 FIN SI Acción 1 Acción 2

Iteraciones HACER MIENTRAS condición Acción 1 Acción “n” FIN MIENTRAS

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

110 V. GLOSARIO B B. Lenguaje de descripción formal, basado en la lógica de predicados. BIT. Unidad mínima de información de la memoria, equivalente a un "sí" (0) o un "no" (1) binarios. La unión de 8 bits da lugar a un byte. BYTE. Unidad de información, compuesta de 8 bits consecutivos. Cada byte puede representar, por ejemplo, una letra. C CICLO. Grupo de instrucciones que se ejecuta un determinado número de veces. F FTP. Siglas que corresponden al protocolo de transferencia de archivos. Copia archivos desde computadoras remotas. H HTML. Lenguaje de marcas hipertextuales, diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formado estándar de las páginas web. HTTP. Protocolo de Transferencia de Hipertexto, gracias a este protocolo podemos consultar a otros archivos. I IMAC. Es el nombre de la línea de computadoras de Apple Computer diseñados por Jonathan Ive y dirigida al mercado doméstico, el monitor y CPU es un mismo mueble.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

FMIC

UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA

111 L LOTOS. Lenguaje de descripción formal basado en el álgebra de procesos. M METAPOST. Lenguaje de programación de gráficos desarrollado por John Hobby en los laboratorio Bell. O OpenGL. Lenguaje de gráficos, es una interfaz de software para la creación de gráficos en dos y tres dimensiones, permite crear gráficos de alta calidad en color de forma independiente de los sistemas de ventanas, sistema operativo y hardware. P PASSWORD. Clave secreta personal. PROGRAMACIÓN EXTREMA. Enfoque de la ingeniería de software formulada por Kent Back, pone gran énfasis en la adaptabilidad que en la previsibilidad. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto del ciclo de vida de un proyecto es una aproximación mejor y más realista. S SCRUM. Metodología para el desarrollo ágil de productos, expuesta por Hirota Takeuchi e Ikujiro Nonaka. Surgio como un modelo para el desarrollo de productos tecnológicos, también se emplea en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad.

ALGORITMOS

L.I. LUISA TELLES VALDIVIA

XQUERY. procesar. SUPERCOLLIDER. LUISA TELLES VALDIVIA . es uno de los más conocido y utilizado en la actualidad. Lenguaje de acceso a bases de datos relacionales que permite especificar diversas operaciones sobre las mismas. es una simplificación y adaptación de SGML y permite definir la gramática de lenguajes específicos. XSLT o XSL Transformaciones. especificar. U UML. es un metalenguaje extensible de etiquetas. Lenguaje de Marcación Generalizado. ALGORITMOS L. Es uno de los más poderosos y versátiles ambientes para la creación de audio digital. editar y componer algo rítmicamente. Estandar de la organización W3c que presenta una forma de transformar documentos XML en otros. SQL. construir y documentar un sistema (software). Lenguaje de marcas extensible. grabar. Lenguaje Unificado de Modelado. reproducir. Lenguaje de consulta de base da datos para XML.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 112 SGML. es un lenguaje gráfico para visualizar.I. donde el usuario diseña sus propios sistemas para sintetizar. X XML. consiste en un sistema para la organización y etiquetado de documentos. incluso a formato XML.

Ma.I. “Metodología de la Programación”. “Programación Estructurados”. Alfaomega. Edit.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 113 VI. Asunción. Criado Calvero. 2005. 2006. México. México. Alfaomega / RA-MA. Osvaldo. en Lenguajes ALGORITMOS L. BIBLIOGRAFÍA Cairo Battistutti. LUISA TELLES VALDIVIA . Edit.

I. relacionales y lógicos. ALGORITMOS L. Presente un listado con los operadores aritméticos. UNIDAD II METODOLOGÍA PARA PLANTEAR Y RESOLVER PROBLEMAS 1. Investigue la formula cuadrática y represéntela mediante una expresión. 2.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 114 VII. Realice una tabla en donde resuma cada una de las etapas del ciclo de vida del desarrollo de sistemas. ACTIVIDADES DE APLICACIÓN UNIDAD I ALGORITMOS 1. 2. Realice un cuadro en donde se definan las características de cada uno de los diagramas abordados en esta Unidad. 2. Investigue en que consiste la ingeniería de software. Presente ejemplos de los lenguajes considerados en esta Unidad. LUISA TELLES VALDIVIA . UNIDAD III ENTIDADES PRIMITIVAS PARA EL DISEÑO DE INSTRUCCIONES 1.

Seleccione 7 casos de la siguiente lista y desarrolle el diagrama de flujo y pseudocódigo respectivo para cada caso. LUISA TELLES VALDIVIA . 2.I. CASOS 1. Multiplicación o División). realice la operación seleccionada con los números generados y presente resultados. ALGORITMOS L.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 115 UNIDAD IV TÉCNICAS DE DISEÑO 1. 3. Programa que cuente el número de palabras en una frase. 2. 5. Programa que de manera aleatoria cada vez que se ejecute presente en diferentes coordenadas la sigla UMED. Investigue alguna otra técnica de diseño. 3. Programa que compare dos caracteres y determine si son iguales. 4. genere 2 números aleatorios. Indique las diferencias entre la técnica top-down y bottom-up. Programa en el que se lean 3 valores numéricos para después mediante una instrucción se opte por intercambiar los valores entre sí o presentar la suma de los 3. Programa que solicite el tipo de operación a realizar (Suma. Resta. Presente un ejemplo diferente al que se expone en la guía de un diagrama de Warnier-Orr. UNIDAD V ESTRUCTURAS ALGORÍTMICAS 1.

11. 13. 10. ALGORITMOS L. 15. 12. Programa que solicite 10 valores numéricos y presente el valor medio. del 10 al 0 cada segundo. Programa que presente el área de un rombo cuya fórmula es área = (diagonal mayor por diagonal menor) /2. Programa que obtenga el valor binario de un número dado. 9. 8. los presente uno por uno y determine cuál es el mayor. Programa que genere de manera aleatoria 10 números. esto es. b y c variables enteras positivas mayores a cero. Programa que haga la función de un reloj digital. 7. cada segundo se deberá estar refrescando la hora en la pantalla. LUISA TELLES VALDIVIA . Programa que liste una a una las letras de una palabra.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA 116 6. siendo a. 14. Programa que mediante el uso de sumas sucesivas muestre el resultado de multiplicar dos valores numéricos (uso de ciclo).I. Programa que muestre el valor de “x” cuando x = (2+c)(3b-a). Programa que lea 10 valores numéricos y presente cuál de ellos es el menor. Programa que funcione como un contador de tiempo.

I.FMIC UNIVERSIDAD MEXICANA DE EDUCACIÓN A DISTANCIA Todos los derechos reservados bajo las sanciones establecidas en las Leyes de Derecho de Autor y Propiedad Industrial. CUERNAVACA. sin autorización escrita de los titulares de copyright. LUISA TELLES VALDIVIA . comprendidos la reprografía y el tratamiento informático. COLONIA DEL EMPLEADO.V. ESTA GUÍA DE AUTOESTUDIO SE TERMINÓ DE IMPRIMIR EN EL MES DE OCTUBRE DEL 2007 EN SISTEMAS Y MEDIOS EDUCATIVOS. Esta edición consta de 100 ejemplares más sobrantes para su reposición. ALGORITMOS L. MORELOS. TELÉFONOS (777)102-02-98 Y 102-02-99. CALLE ESTRADA CAJIGAL N° 104 ALTOS. así como la distribución de ejemplares mediante alquiler o préstamo públicos. la reproducción total o parcial de esta obra por cualquier medio o procedimiento. S. queda rigurosamente prohibida. DE C.A.