Algoritmos i

11,384 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
11,384
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
142
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Algoritmos i

  1. 1. ESCUELA DE CIENCIAS BÁSICAS E INGENIERÍA ASIGNATURA: Algoritmos I CORPORACIÓN UNIVERSITARIA REMINGTON DIRECCIÓN PEDAGÓGICAEste material es propiedad de la Corporación Universitaria Remington (CUR), para los estudiantes de la CUR en todo el país. 2011
  2. 2. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 5 CRÉDITOSEl módulo de estudio de la asignatura Algoritmos I es propiedad de la Corporación Universitaria Remington. Lasimágenes fueron tomadas de diferentes fuentes que se relacionan en los derechos de autor y las citas en la bibliografía.El contenido del módulo está protegido por las leyes de derechos de autor que rigen al país.Este material tiene fines educativos y no puede usarse con propósitos económicos o comerciales.AUTORJosé Antonio PoloIngeniero de sistemas de la Universidad de Antioquia Especialista en finanzas de la Corporación Universitaria RemingtonParticipación del tercer Congreso Colombiano de Computación – 3CCC de la universidad EAFIT Participación del primersimposio en Inteligencia Artificial de la Corporación Universitaria Remington Participación del IV Congreso Internacionalde Software Libre GNU/Linux, Universidad de Manizales Participación del 5º Congreso Nacional de Redes y Telemática,Redes de Servicios Móviles Integrados, Centro de Construcción de Conocimiento Evento CCC Docente de cátedra delpolitécnico Jaime Isaza Cadavid Docente de cátedra del Tecnológico de Antioquia Participación del proyecto de laarticulación de la media técnica del Tecnológico de Antioquia Docente de la Corporación Universitaria Remingtonbarra5111@yahoo.esNota: el autor certificó (de manera verbal o escrita) No haber incurrido en fraude científico, plagio o vicios de autoría; encaso contrario eximió de toda responsabilidad a la Corporación Universitaria Remington, y se declaró como el únicoresponsable.RESPONSABLESDr. Mauricio SepúlvedaDirector de la Escuela Ciencias Básicas e IngenieríaDirector PedagógicoOctavio Toro Chicadirpedagogica.director@remington.edu.coCoordinadora de Medios y MediacionesAngélica Ricaurte Avendañomediaciones.coordinador01@remington.edu.coGRUPO DE APOYOPersonal de la Unidad de Medios y MediacionesEDICIÓN Y MONTAJEPrimera versión. Febrero de 2011. Derechos Reservados Esta obra es publicada bajo la licencia CreativeCommons. Reconocimiento-No Comercial-Compartir Igual 2.5 Colombia. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  3. 3. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 6 TABLA DE CONTENIDO1. MAPA DE LA ASIGNATURA ............................................................................................. 72. EL COMPUTADOR: SUS COMPONENTES, PROBLEMAS Y SOLUCIONES .............................. 82.1. Esquema General de un Computador ............................................................................... 102.2. Problemas, Soluciones y Programas.................................................................................. 112.2.1. Elementos para la Construcción de un Algoritmo ............................................................. 132.3. Algoritmos, Representación y Estructuras Básicas ............................................................ 142.3.1. Forma General de un Algoritmo....................................................................................... 153. OPERADORES Y EXPRESIONES ...................................................................................... 193.1. Operadores ...................................................................................................................... 203.1.1. Operadores Aritméticos................................................................................................... 203.2. Expresiones Aritméticas, Relacionales y Booleanas ........................................................... 243.2.1. Conversión de una Expresión Algebraica a Expresión Lineal de Computador .................... 263.2.2. Conversión de una Expresión Lineal de Computador a Expresión Algebraica .................... 274. ESTRUCTURAS DE DECISIÓN ......................................................................................... 334.1. Estructuras de Decisión Simple y Compuestas .................................................................. 344.2. Estructura Caso o Selector Múltiple .................................................................................. 435. ESTRUCTURAS REPETITIVAS ......................................................................................... 495.1. Estructuras Repetitivas ..................................................................................................... 505.1.1. Funcionamiento y Componentes de las Diferentes Estructuras Repetitivas ...................... 505.1.2. Ciclo Automático o Ciclo Para .......................................................................................... 515.1.3. Esquema Cuantitativo...................................................................................................... 595.2. Estructuras Repetitivas Anidadas ...................................................................................... 705.3. Estructura de Rompimiento de Control............................................................................. 766. PISTAS DE APRENDIZAJE .............................................................................................. 817. GLOSARIO ................................................................................................................... 838. REFERENCIAS BIBLIOGRÁFICAS..................................................................................... 84 Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  4. 4. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 7 1. MAPA DE LA ASIGNATURA ALGORITMOS I PROPÓSITO GENERAL DEL MÓDULO Proporcionar a los estudiantes las herramientas básicas para la solución de problemas mediante un proceso de secuencias lógicas. OBJETIVO GENERAL Dar al estudiante las herramientas básicas para el desarrollo de algoritmos aplicables en cualquier disciplina, que permitan la generación de una capacidad analítica y creativa en la solución e implementación de problemas propuestos. OBJETIVOS ESPECÍFICOS Presentar las herramientas básicas para la construcción de soluciones utilizando el computador. Además la identificación de los pasos necesarios que se necesitan para la construcción de un buen algoritmo, y la aplicación de las instrucciones de lectura y escritura Capacitar al estudiante para la manipulación de los diferentes operadores aritméticos y lógicos, a nivel relacional y a nivel lógico. Reconocer como se maneja una estructura de decisión identificando cuando y como se utiliza una pregunta. Además la aplicación de la estructura caso en problemas complejos. Reconocer en un problema cuando se utiliza un ciclo para, un ciclo mientras que, y la aplicación de los conceptos de contadores, acumuladores, promedios y porcentajes, además la manipulación del concepto de ciclos anidados y rompimiento de control. UNIDAD 1 UNIDAD 2 UNIDAD 3 UNIDAD 4 El COMPUTADOR: EXPRESIONES ESTRUCTURAS DE ESTRUCTURAS SUS COMPONENTES, Habilidad para DECISIÓN REPETITIVAS PROBLEMAS Y diferenciar Capacidad para Habilidad para SOLUCIONES expresiones comprender el manejar procesos Capacidad para aritméticas de concepto de repetitivos en identificar los expresiones lógicas estructuras de formato cualitativo y componentes de un relacionales y decisión simple y cuantitativo, computador, y la booleanas compuesta, así como manejar forma de solucionar el de selector contadores, problemas que múltiple. acumuladores, requieran el uso de promedios y éstos. porcentajes.Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  5. 5. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 8 2. EL COMPUTADOR: SUS COMPONENTES, PROBLEMAS Y SOLUCIONEShttp://www.youtube.com/watch?v=FasDEqui4FUhttp://www.youtube.com/watch?v=YnMMy8Nnj_I&feature=relatedOBJETIVO GENERAL Presentar las herramientas básicas para la construcción de soluciones utilizando el computador. Además la identificación de los pasos necesarios para la construcción de un buen algoritmo, y la aplicación de las instrucciones de lectura y escrituraOBJETIVOS ESPECÍFICOS Conocer el esquema general de una computadora y la relación entre los diferentes componentes. Analizar el proceso global de un problema y las diferentes etapas en las que este transcurre. Identificar los diferentes pasos para la elaboración de un buen algoritmo, así como las diferentes estructuras para su construcción. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  6. 6. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 9Prueba Inicial1. Realizar el siguiente sudoku:Para resolver un sudoku se tiene que completar todas las casillas existentes con los números del 1al 9, teniendo en cuenta que no pueden coincidir dos números iguales en la misma fila, en lamisma columna o en el mismo cuadro de 3x3.2 Un hombre tiene 4 baldes: A, B, C y D; todos ellos de diferente capacidad como muestra la figura:El balde con capacidad de 24 Lts. está lleno de leche, la cual desea repartir en cantidades iguales asus tres hijos. Los baldes no tienen marcas adicionales que puedan ayudar con las medidas; las Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  7. 7. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 10únicas dos formas de trasladar la leche de un recipiente a otro es llenando completamente elbalde al que se desea pasar la leche o vaciando totalmente el balde del que se sacará la leche.Escriba paso a paso las instrucciones que ejecutará para repartir la leche en tres cantidadesiguales.Ejemplo: D C (del recipiente D paso al C) C B (del recipiente C paso al B)2.1. Esquema General de un ComputadorTodas las partes de un sistema de computación operan bajo el control de una de ellas: La unidadde control. Veámoslo en la siguiente figura: Teclado y Pantalla Mouse RAM Unidad aritmética y lógica BUS Memoria auxiliar Registros de trabajo DE Puertos CONTROL seriales Control interno Puertos CPU USBVeamos cada uno de los componentes de un computador:(Haga clic en el término para obtener información) CPU (Central Processing Unit). Unidad aritmética y lógica. Registros de trabajo. Control interno. Bus de control. Memoria Principal (RAM). Memoria auxiliar. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  8. 8. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 11 Puertos seriales. Puertos USB. EJERCICIOS 1. Cuál es la función de la memoria RAM? 2. Qué diferencia hay entre memoria principal y memoria auxiliar en un computador? 3. Describa las funciones de cada uno de los componentes de la CPU de un computador.2.2. Problemas, Soluciones y ProgramasCuando se va a desarrollar una aplicación usando el computador como herramienta se tieneestablecida cierta metodología para garantizar que la aplicación desarrollada sea de buena calidad.Los pasos que establece dicha metodología son:1. Análisis del problema.2. Diseño de la solución.3. Implementación de la solución planteada.3.1. Elaboración de algoritmos.3.1.1. Análisis del problema.3.1.2. Diseño de la solución.3.1.3. Construcción del algoritmo.3.1.4. Prueba de escritorio.3.2. Codificación en algún lenguaje de programación.3.3. Compilación.3.4. Pruebas del algoritmo.4. Pruebas del sistema.5. Puesta en marcha.Nuestro curso se centra en lo correspondiente al numeral 3.1.Los pasos que se siguen en la construcción de un algoritmo, como ya habíamos mencionado, son: 1. Análisis del problema. 2. Diseño de la solución. 3. Construcción del algoritmo. 4. Prueba de escritorio. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  9. 9. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 12El análisis del problema consiste en determinar exactamente cuáles son los datos de entrada quese requieren, cuál es la información que se desea producir y cuál es el proceso que se debeefectuar sobre los datos de entrada para producir la información requerida. Se debe indagar portodas las situaciones especiales que se puedan presentar para tenerlas en cuenta en el diseño.Con base en el análisis se elabora el diseño del algoritmo: se asignan nombres a las variables, sedefine el tipo de cada una de ellas, se definen las operaciones y subprocesos que hay que efectuary el método para resolver cada uno de ellos.Los elementos para la construcción de un algoritmo son: datos, estructuras e instrucciones.La prueba de escritorio consiste en asumir la posición del computador y ejecutar el algoritmo quese ha elaborado para ver cómo es su funcionamiento. Esta parte es muy importante puesto quepermite detectar errores de lógica sin haber hecho aún uso del computador. Aunque no garantizaque el algoritmo está bueno 100%, ayuda mucho en la elaboración de algoritmos correctos.Habiendo superado los pasos anteriores, se elige un lenguaje de programación (algunos de los másutilizados en la actualidad son: Java, C, C++, PHP, entre otros), se codifica el algoritmo en dicholenguaje y se pone en ejecución en el computador disponible.PASOS PARA LA SOLUCIÓN DE UN PROBLEMAVeamos la forma gráfica para representar un problema en la siguiente figura: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  10. 10. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 13En la primera sección nos concentramos en la definición del problema, en la segunda, en elproceso de construcción de la solución y, en la tercera, en el contenido y estructura de la soluciónmisma.Ahora veamos los pasos que debemos seguir para solucionar el problema en un computador: Paso 1: Una persona u organización, denominada el cliente, tiene un problema y necesita la construcción de un programa para resolverlo. Para esto contacta una empresa de desarrollo de software que pone a su disposición un programador. Paso 2: El programador sigue un conjunto de etapas, denominadas el proceso, para entender el problema del cliente y construir de manera organizada una solución de buena calidad, de la cual formará parte un programa. Paso 3: El programador instala el programa que resuelve el problema en un computador y deja que el usuario lo utilice para resolver el problema. Fíjese que no es necesario que el cliente y el usuario sean la misma persona. Piense por ejemplo que el cliente puede ser el gerente de producción de una fábrica y, el usuario, un operario de la misma.2.2.1. Elementos para la Construcción de un AlgoritmoLos elementos con los cuales se construye un algoritmo son las estructuras lógicas y los datos.Miremos los datos.Para efectos de representación de datos en un computador, estos se clasifican en numéricos y nonuméricos, y los datos numéricos se clasifican en enteros y reales.En términos de computación se denomina tipo, y se habla entonces de datos de tipo entero, detipo real, de tipo no numérico, etc.Cuando se trabajan datos numéricos en un computador es muy importante considerar si el tipo esentero o real, puesto que, dependiendo de ello, los resultados que se obtienen al efectuaroperaciones aritméticas pueden variar sustancialmente.2.2.1.1 Representación de Datos en un Computador(Haga clic en el término para obtener información) La unidad básica de representación de datos es el bit. La siguiente unidad se denomina byte. La siguiente unidad de representación es el campo. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  11. 11. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 14 La siguiente unidad de representación es el registro. La siguiente unidad de representación es el archivo. La siguiente unidad de representación es la base de datos. EJERCICIOS 1. Cuántos bits se requiere para representar la palabra ALGORITMOS? 2. Describa los conceptos de bit, byte, campo, registro, archivo y base de datos. 3. Cuáles son los pasos que se siguen para elaborar soluciones utilizando el computador como herramienta?2.3. Algoritmos, Representación y Estructuras BásicasLas estructuras lógicas para la construcción de algoritmos son: 1. Estructura secuencia 2. Estructura decisión 3. Estructura cicloLa estructura básica en la construcción de un algoritmo es la estructura de secuencia. Estaestructura consiste en que las instrucciones se ejecutan exactamente en el orden en que han sidoescritas: primero se ejecuta la primera instrucción, luego la segunda instrucción, luego la tercerainstrucción y por último la última instrucción.Nota: El orden en el cual se escriben las instrucciones es fundamental para el correctofuncionamiento de un algoritmo.Cada estructura consta de un conjunto de instrucciones.Las instrucciones correspondientes a la estructura secuencia son: 1. Instrucciones de lectura. 2. Instrucciones de escritura. 3. Instrucciones de asignación. 4. Las instrucciones correspondientes a la estructura decisión. 5. Las instrucciones correspondientes a la estructura ciclo. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  12. 12. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 15Las instrucciones correspondientes a la estructura decisión son: 1. La instrucción SI y su componente opcional SINO. 2. La instrucción CASOS.Las instrucciones correspondientes a la estructura ciclo son: 1. La instrucción MIENTRAS QUE. 2. La instrucción PARA. 3. La instrucción HAGA MIENTRAS QUE.2.3.1. Forma General de un AlgoritmoLa forma general de nuestros algoritmos será: 1. ALGORITMO NOMBRE_DEL_ALGORITMO 2. DEFINICIÓN DE VARIABLES 3. INICIO 4. INSTRUCCIONES DEL ALGORITMO 5. FININICIO 6. FINALGORITMOINSTRUCCIÓN DE LECTURAPara que el computador pueda procesar datos, éstos deben estar en la memoria principal (RAM).La instrucción de lectura consiste en llevar los datos con los cuales se desea trabajar, desde unmedio externo hacia la memoria principal.Los medios externos en los cuales pueden residir los datos son: disco duro, discos removibles, CD,dispositivos USB, etc.; los datos también pueden entrarse directamente a través del teclado.La forma general de la instrucción de lectura es:LEA (lista de variables, separadas por comas) Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  13. 13. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 16INSTRUCCIÓN DE IMPRESIÓNLa instrucción de impresión consiste en llevar los datos desde la memoria hacia un medio externo,el cual puede ser disco duro, cinta, impresora, etc.La forma general de la instrucción de impresión es:IMPRIMA (lista de variables y/o mensajes, separados por comas)Los mensajes son para instruir al usuario acerca de los datos que se le están presentando. Si eldato que se imprime es el nombre de una persona, es conveniente que dicho dato esté precedidopor un mensaje que diga: nombre. Si el dato que se está presentando es una edad, es convenienteque dicho dato está precedido por un mensaje que diga: edad. Y así sucesivamente.Cuando vayamos a escribir un mensaje en una instrucción de impresión, dicho, mensaje loescribiremos encerrado entre comillas.Vamos a hacer nuestro primer algoritmo utilizando solo las instrucciones de lectura y de escritura.1. ALGORITMO PRIMERO2. VARIABLES: NOM (CARACTER)3. TEL (NUMÉRICO)4. INICIO5. IMPRIMA (“Este es mi primer programa”)6. IMPRIMA (“Escriba el nombre”)7. LEA (NOM)8. IMPRIMA (“Escriba el teléfono”)9. LEA (TEL)10. IMPRIMA (“Su nombre es:”, NOM, “y su teléfono es:”, TEL)11. IMPRIMA (“Esto es genial”)12. FININICIO13. FIN En la instrucción 1, estamos definiendo el nombre del algoritmo: lo llamamos PRIMERO. En la instrucción 2, estamos definiendo las variables que vamos a utilizar en nuestro algoritmo. Ponemos el título VARIABLES y definimos la variable NOM, que podrá almacenar datos alfanuméricos y, en la instrucción 3, definimos la variable TEL, que podrá almacenar datos numéricos. En la instrucción 4, ponemos nuestra palabra clave INICIO, la cual indica que a partir de ahí están las instrucciones de nuestro algoritmo. En la instrucción 5, ponemos el título de nuestro algoritmo, el cual saldrá en pantalla. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  14. 14. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 17 En la instrucción 6, ponemos nuestra instrucción de impresión la cual imprime el mensaje “Escriba el nombre” instruyendo al usuario acerca de la información que debe introducir. En la instrucción 7, ponemos nuestra instrucción de lectura, en la cual el dato escrito por el usuario se almacenarán en la posición de memoria que el computador identificará con el nombre NOM. En la instrucción 8, ponemos nuestra instrucción de impresión la cual imprime el mensaje “Escriba el teléfono” instruyendo al usuario acerca de la información que debe introducir. En la instrucción 9, ponemos nuestra instrucción de lectura, en la cual el dato escrito por el usuario se almacenarán en la posición de memoria que el computador identificará con el nombre TEL. En la instrucción 10, ponemos la instrucción de impresión con la cual se imprimen los datos escritos por el usuario, cada uno con su respectivo título. En la introducción 11, imprimimos un mensaje para luego finalizar nuestro algoritmo. La instrucción 12, es nuestra palabra clave FININICIO, que cierra el inicio de las instrucciones del algoritmo y, en la instrucción 13, ponemos el fin del algoritmo.INSTRUCCIÓN DE ASIGNACIÓNLa instrucción de asignación consiste en llevar algún dato a una posición de memoria, la cual estáidentificada con el nombre de una variable.La forma general de una instrucción de asignación es:(Haga clic en VARIABLE para obtener información sobre los tipos de variables) Constante numérica entera Constante numérica realVARIABLE Variable Mensaje ExpresiónPor ejemplo: 1. a = 425 2. b = 3.46 3. c = “Bienvenido” 4. d=a 5. e=a+b*d En los ejemplos 1 y 2, a las variables a y b les estamos asignando una constante numérica: entera en el primer ejemplo, real en el segundo. En el ejemplo 3, a la variable c le estamos asignando un mensaje. En el ejemplo 4, a la variable d le estamos asignando el contenido de otra variable. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  15. 15. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 18 En el ejemplo 5, a la variable e le estamos asignando el resultado de evaluar una expresión. EJERCICIOS 1. Elaborar un algoritmo que imprima el siguiente mensaje: “Que buenos son los algoritmos y la computación”. 2. Cuáles son las instrucciones correspondientes a la estructura ciclo? 3. Cómo se diferencia la escritura de mensajes de la escritura de datos de una instrucción de lectura? 4. Detecte y describa los errores que hay en el siguiente algoritmo:1. ALGORITMO ERRORES2. VARIALBES: X, Y (NUMÉRICAS)3. INICIO4. IMPRIMA (“Digite los datos para X y Y:”)5. IMPRIMA (dato X:, “X”, dato Y:, “Y”)6. LEA (X, Y)7. IMPRIMA (Hasta pronto)8. FININICIO9. FIN Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  16. 16. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 19 3. OPERADORES Y EXPRESIONEShttp://www.youtube.com/watch?v=fpUAP3lMJUs&feature=relatedhttp://www.youtube.com/watch?v=nS_AiOEWa2IOBJETIVO GENERALCapacitar al estudiante para manipular los diferentes operadores aritméticos y lógicos, a nivelrelacional y a nivel lógico.OBJETIVOS ESPECÍFICOS Conocer los diferentes tipos de operadores utilizados a nivel de programación, y las diferentes operaciones entre ellos; además de las prioridades de cada uno de ellos. Identificar las expresiones aritméticas, relacionales y booleanas, y sus resultados lógicos. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  17. 17. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 20Prueba Inicial 1. ¿En qué consiste una instrucción de asignación? 2. ¿Cómo se evalúa una expresión aritmética? 3. ¿En qué consiste la asociatividad de un operador? 4. ¿Para qué se utilizan los paréntesis en expresiones de computador? 5. ¿Qué es una expresión relacional? 6. ¿Cuáles son los operadores relacionales? 7. ¿Qué es una expresión lógica? 8. ¿Cuáles son los operadores lógicos?OPERADORES Y EXPRESIONESUna expresión es una sucesión de operandos y operadores, la cual puede ser de tres clases: 1. Expresión aritmética. 2. Expresión relacional. 3. Expresión lógica.3.1. OperadoresLos operadores son símbolos con los que se ordena la ejecución de ciertas operaciones, se dividenen dos clases; Aritméticos y Lógicos.3.1.1. Operadores AritméticosSirven para efectuar cálculos aritméticos. Ellos son: Símbolo Operación + Suma - Resta * Multiplicación / (slash) División % Módulo (Toma el residuo de una división) **, ^ Ambos potenciación y radicación (Se debe expresar la raíz como una potencia fraccionaria) Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  18. 18. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 211Prioridades de los operadores: Símbolo Prioridad +, - Tienen la misma prioridad *, /, % Tienen la misma prioridad, pero mayor que la suma y la resta **, ^ Tienen mayor prioridad que todos los anterioresSi dos o más operadores consecutivos tienen la misma prioridad, las operaciones se ejecutarán enlas instrucciones de izquierda a derecha.Ejemplo: Si se tiene la expresión:A ** 2/5 * B -5 y los valores almacenados en A y B son 5 y 20 respectivamente, la evaluación deacuerdo al orden de prioridad será:5 ** 2 = 2525 / 5 * 20 = 100100 – 5 = 95Si se tiene una expresión con dos o más potencias consecutivas estas se realizan de derecha aizquierda. Por ejemplo:11 % 3 + 10 / 5 * 2 ^ 2 ^ 3De acuerdo al orden de prioridad, el resultado sería:2^3=82 ^ 8 = 256Habiendo resuelto las potencias tendremos:11 % 3 + 10 / 5 * 2562 + 512 = 214Si se requiere que una o más operaciones se realicen primero que otras, entonces estas seencierran entre paréntesis y dentro de estos se conserva la jerarquía de los operadores.Ejemplo:La operación: debe representarse como: (a + b) / (c + a) + 201 Oviedo Efraín Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  19. 19. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 22La operación: se representa como: a/b - c/(a^(d + e)*20)Operadores LógicosSirven para determinar el valor de verdad de proposiciones Lógicas simples o compuestas. Suaplicación se encuentra en los procesos de comparación los cuales sirven para tomar decisiones.Se dividen en: Lógicos relacionales y lógicos booleanos.Operadores Lógicos RelacionalesSirven para hallar el valor de verdad de una proposición Lógica simple. Se define una proposiciónLógica simple (PLS) como la comparación entre contenido de un campo variable y un valorconstante o la comparación entre los contenidos de dos campos variables. Ellos son: Símbolo Función == Igual <>, != Diferente > Mayor que < Menor que >= Mayor o igual que <= Menor o igual queNota aclaratoria: Estos operadores pueden variar dependiendo el Lenguaje de Programación quese utilice. Para los procesos de comparación es bueno anotar que sólo son válidos si los camposvariables a comparar han sido previamente asignados.Ejemplos:CARLOS >= 6Esto es una PLS, en la cual se compara el contenido del campo variable CARLOS con el valornumérico 6, esta puede ser verdadera o falsa dependiendo del contenido del campo CARLOS.Otros ejemplos:Nombre <> "*"B == CSALARIO <= 98700EDAD > 100. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  20. 20. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 23Operadores Lógicos BooleanosSirven para hallar el valor de verdad de una proposición lógica compuesta (PLC), entendiéndolacomo la conexión de dos o más PLS. En términos de Lógica matemática son los llamadosconectivos lógicos. Ellos son: Símbolos Símbolos Nombre Valor de Verdad o Definición Matemáticos utilizados en programación ^ && Conjunción, se lee Se define como verdadera cuando AND Y las PLS que conectan son todas verdaderas V || Disyunción, se lee Se define como falsa cuando las OR O PLS que conectan son todas falsas.~ ! Negación, se lee No es un conectivo Iógico. Su NOT NO función es alterar el valor de verdad de las proposiciones lógicas.Prioridad de los operadores lógicos booleanos 1. Negación ! 2. Conjunción && 3. Disyunción ||Las variables lógicas son variables que sólo pueden tomar dos valores: verdadero o falso.En general, una variable lógica, en el ámbito de los computadores, es una variable de un solo bit,el cual puede ser 0 ó 1. Por convención se ha adoptado que el 0 representa falso y el 1 verdadero.Se establece por convención que para formar una PLC, las PLS deben estar encerradas entreparéntesis y para hallar el valor de verdad de una PLC primero se evalúa el valor de verdad de cadaPLS por separado y el valor de verdad de la PLC estará en función del operador lógico booleanousado para la conexión. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  21. 21. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 24Ejemplo:Sean: A = 1; B = 3; C = 0. Hallar el valor de verdad de la siguiente PLC(A < B) ^ (B < C) V F Se halló el valor de verdad de cada PLS V ^ F Se aplicó la definición del operador lógico booleano conjunción F La PLC es falsa EJERCICIOS Dada la siguiente definición de variables con su respectivo tipo y contenido Numéricos enteros Numéricos reales a=4 y = 3.5 b=7 x = 2.0 c=3 z = 5.0 d=2 w = 1.5 Determine el resultado de evaluar cada una de las siguientes expresiones: a*b/2+1 c/y^2 a / ((b + c) / (d + 1) * (a + b) – b) ^ b ^ a + z z / x + b * w * (c – b) / a3.2. Expresiones Aritméticas, Relacionales y BooleanasCuando se trata de evaluar expresiones lógicas primero se evalúan las expresiones aritméticas,luego las expresiones relacionales y por último las expresiones lógicas, las cuales también tienencierta prioridad en el momento de efectuar la evaluación, como mencionamos anteriormente.Ejemplos: 1. a && b 2. a > b || c < d 3. radio >= a ^ 2 || (b – c) == (3.1 + c) && (c + d) * 2 <=1 Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  22. 22. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 25En el ejemplo 1, si a y b tienen estado de verdad, el resultado de evaluar la expresión esverdadero; de lo contrario es falso.En el ejemplo 2, si a es mayor que b, o c es menor que d, el resultado de evaluar la expresión esverdadero; de lo contrario es falso.En el ejemplo 3, primero se evalúan las expresiones aritméticas: Llamaremos r1 el resultado de multiplicar 3.14 por el valor almacenado en la variable radio. Llamaremos r2 el resultado de elevar el contenido de la variable a al cuadrado. Llamaremos r3 el resultado de restarle a b lo que hay almacenado en c. Llamaremos r4 el resultado de sumar 3.1 con el contenido de c. Llamaremos r5 el resultado de multiplicar por 2 la suma de c con d.Nuestra expresión quedará:r1 >= r2 || r3 == r4 && r5 <= 1 Llamaremos r6 el resultado lógico obtenido de comparar r1 con r2. Llamaremos r7 el resultado de comparar r3 con r4. Llamaremos r8 el resultado de comparar r5 con 1.Nuestra expresión queda:r6 || r7 && r8Luego evalúa r7 && r8. Llamaremos r9 a este resultado: Sí r7 y r8 son verdaderos, entonces r9 será verdadero; de lo contrario r9 será falso.Nuestra expresión queda:r6 || r9En la cual, con uno de los dos operandos que sea verdadero, el resultado de evaluar la expresiónserá verdad. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  23. 23. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 263.2.1. Conversión de una Expresión Algebraica a Expresión Lineal de ComputadorCuando se elabora un algoritmo es muy común tener que escribir expresiones, sobre todo si setrata de algoritmos de carácter científico o matemático.Para escribir expresiones de computador, según el tema anterior, es necesario tener en cuenta laforma como el computador evalúa dichas expresiones.Veamos cómo convertir una expresión algebraica en expresión de computador.Ejemplo:Si queremos escribir esta expresión algebraica como expresión de computador, tenemos variasformas de hacerlo: 1. a / b * c 2. a / b / c 3. a / (b * c)La primera forma es incorrecta, porque de acuerdo a lo visto en el tema anterior, primero ejecutala división del valor de a entre el valor de b, y el resultado lo multiplica por el valor de c. Osea quesi a vale 36, b vale 6 y c vale 2el resultado de evaluar dicha expresión es 12, lo cual es erróneo.La segunda y tercera forma son correctas: en la segunda forma, primero ejecuta la división delvalor de a por el valor de b y el resultado lo divide por el valor de c, obteniendo como resultado 3.En la tercera forma primero multiplica el valor de b por el valor de c y el resultado divide al valorde a, obteniendo como resultado también 3.Es supremamente importante entender este primer ejemplo.En la tercera forma hemos utilizado paréntesis para alterar el orden de ejecución de lasoperaciones; sin embargo, en la segunda forma no lo hemos utilizado y el resultado también escorrecto.Veamos algunos ejemplos en los que se exige el uso del paréntesis. 1. Consideremos la siguiente expresión algebraica: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  24. 24. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 27La expresión de computador correcta puede ser: 1. (a + d / e + c) / (b * c) ó 2. (a + d / e + c) / b / c 2. Consideremos esta otra expresión algebraica:La forma correcta de escribir esta expresión algebraica como expresión de computador es:A ^ b ^ (c + 1)3.2.2. Conversión de una Expresión Lineal de Computador a Expresión AlgebraicaPasemos ahora a considerar el caso contrario: dada una expresión de computador, escribir laexpresión algebraica correspondiente.Consideremos los siguientes ejemplos: 1. a + b * c / d – e ^ fLa expresión algebraica es: 2. (a + b) * c / (d – e) ^ fLa expresión algebraica es: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  25. 25. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 28 3. a – b / c + (b – c / d) / eLa expresión algebraica es:Ejemplos Y Aplicaciones De UsoElaborar un algoritmo que lea un dato correspondiente al lado de un cuadrado y que calcule eimprima el área de dicho cuadrado.AnálisisDatos de entrada: Lado del cuadrado (lado).Cálculos: Determinar el área del cuadrado.Datos de salida: Área del cuadrado (área).Nuestro algoritmo queda:1. ALGORITMO AREA_DEL_CUADRADO2. VARIABLES: lado, área (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese el tamaño del lado del cuadrado en cms.”)5. LEA (lado)6. área = lado ^ 27. IMPRIMA (“Lado:”, lado, “Área:”, área)8. FININICIO9. FINEn la instrucción 1, definimos el nombre del algoritmo.En la instrucción 2, definimos las variables que vamos a utilizar, con su correspondiente tipo.En la instrucción 3, ponemos nuestra palabra clave de inicio de las instrucciones ejecutables.En la instrucción 4, imprimimos un mensaje que oriente al usuario de que dato debe ingresar.En la instrucción 5, leemos el valor del lado. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  26. 26. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 29En la instrucción 6, determinamos el área del cuadrado y la guardamos en la variable area.En la instrucción 7, imprimimos el lado leído y el área calculada, con sus respectivos mensajes.En la instrucción 8, ponemos nuestra palabra clave de fin de las instrucciones ejecutables.En la instrucción 9, indicamos el fin del algoritmo.Entonces, si el lado leído en la instrucción 5 tiene un valor de 10, al ejecutar la instrucción 6 sealmacena en la posición de memoria identificada con el nombre de área el valor de 100.Luego, al ejecutar la instrucción 7, imprimiráLado: 10, Área: 100Veamos otro ejemplo:Elaborar un algoritmo que lea el salario actual de dos empleados y el porcentaje de aumento decada uno de ellos y que calcule e imprima el salario actual, el aumento y el nuevo salario de cadauno de ellos.Análisis:Datos de entrada: Salario actual del empleado uno (se1) Salario actual del empleado dos (se2) Porcentaje aumento del empleado uno (pe1) Porcentaje aumento del empleado uno (pe2)Cálculos: El aumento de cada empleado se obtiene multiplicando el salario actual por el porcentaje de aumento leído, y el nuevo salario se obtiene sumando el aumento al salario actualDatos de salida: Aumento del empleado uno (au1) Aumento del empleado dos (au2) Nuevo salario del empleado uno (nse1) Nuevo salario del empleado dos (nse2)Con base a lo anterior, nuestro algoritmo queda: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  27. 27. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 301. ALGORITMO AUMENTOS2. VARIABLES: se1, se2, pe1, pe2, au1, au2, nse1, nse2 (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese el salario del empleado uno”)5. LEA (se1)6. IMPRIMA (“Ingrese el porcentaje de aumento del empleado uno”)7. LEA (pe1)8. IMPRIMA (“Ingrese el salario del empleado dos”)9. LEA (se2)10. IMPRIMA (“Ingrese el porcentaje de aumento del empleado dos”)11. LEA (pe2)12. au1 = se1 + pe113. au2 = se2 + pe214. nse1 = se1 + au115. nse2 = se2 + au216. IMPRIMA (“Empleado uno:”)17. IMPRIMA (“Salario actual:”, se1, “Aumento:”, au1, “Nuevo salario:”, nse1)18. IMPRIMA (“Empleado dos:”)19. IMPRIMA (“Salario actual:”, se2, “Aumento:”, au2, “Nuevo salario:”, nse2)20. FININICIO21. FINEn la instrucción 1, definimos el nombre de nuestro algoritmo.En la instrucción 2, definimos las variables que utilizaremos en nuestro algoritmo, con surespectivo tipo.En la instrucción 3, ponemos nuestra palabra clave de inicio de las instrucciones ejecutables.En las instrucciones 4 a 11 leemos los datos correspondientes al salario de cada empleado y alporcentaje de aumento, con sus respectivos mensajes.En las instrucciones 12 y 13, calculamos el aumento de cada uno de los empleados. Dichosaumentos los almacenamos en las variables au1 y au2.En las instrucciones 14 y 15, calculamos el nuevo salario de cada empleado.En la instrucción 16, imprimimos el título para los datos del empleado uno. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  28. 28. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 31En la instrucción 17, imprimimos los datos correspondientes al empleado uno: salario actual,aumento y nuevo salario.En la instrucción 18, imprimimos el título para los datos del empleado dos.En la instrucción 19, imprimimos los datos correspondientes al empleado dos: salario actual,aumento y nuevo salario. EJERCICIOS 1. Si el valor de A = 4, B = 5, C = 1, L = Verdadero (TRUE); muestre cuales son los valores impresos en el siguiente algoritmo:1. ALGORITMO OPERADORES_Y_EXPRESIONES2. VARIABLES: A, B, C, X, Y, Z (NUMÉRICAS)3. L: (BOOLEANAS)4. INICIO5. A=46. B=57. C=18. L = TRUE9. X=B*A–B^2/4*C10. Y=A*B/3^211. Z = (((B + C) / 2 * A + 10) * 3 * B) – 612. IMPRIMA (X, Y, Z)13. FININICIO14. FIN 2. Usando los valores de A, B, C y L del punto anterior, calcule el valor almacenado en las siguientes variables: X = (B <= 100) && ! (A > C) && (C == 1) Y = (B == 5) || (C == 30) && ! L Z = ((B + 20) > (C – 1)) || ((A + 5) <= 50) 3. Convierta la siguiente expresión algebraica en expresión de computador Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  29. 29. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 32 4. Convierta la siguiente expresión de computador a expresión algebraica a / (b + c / (d + 1) * (a + b) – a) ^ b ^ a + c 5. Elaborar un algoritmo que lea el nombre de una persona y que imprima el mensaje “Bienvenido(a)”, seguido del nombre de la persona leída. 6. Elaborar un algoritmo que lea dos datos enteros correspondientes a los catetos de un triángulo rectángulo y que calcule e imprima el valor de la hipotenusa de dicho triángulo. 7. Elabore un algoritmo que lea el código de un artículo, el precio unitario del artículo y la cantidad vendida. Su algoritmo debe calcular e imprimir: el total de la venta, el IVA y el total a pagar; sabiendo que el impuesto es del 16%. 8. Elabore un algoritmo que lea dos números enteros y que muestre como salida la suma, resta, multiplicación, división y módulo del primero por el segundo. 9. Elaborar un algoritmo que lea una temperatura en grados Fahrenheit y la convierta e imprima en grados centígrados. Los grados Fahrenheit se convierte a grados centígrados restándoles 32 y multiplicando por cinco novenos.Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  30. 30. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 33 4. ESTRUCTURAS DE DECISIÓNhttp://www.youtube.com/watch?v=0EhP86HvCHkOBJETIVO GENERAL Reconocer como se maneja una estructura de decisión identificando cuando y como se utiliza una pregunta. Además la aplicación de la estructura caso en problemas complejos.OBJETIVOS ESPECÍFICOS Conocer cuándo utilizar una estructura de decisión simple y cuándo una estructura de decisión compuesta. Identificar cuándo remplazar la estructura de decisión SI por un selector múltiple, o estructura CASO. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  31. 31. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 34Prueba Inicial 1. ¿Cuál es la forma general de la instrucción SI? 2. ¿Cuándo es necesario utilizar el componente SINO en una instrucción SI? 3. ¿Qué es mejor y porqué: La instrucción SI simple o instrucciones SI anidadas? 4. ¿Cuándo se aplica una instrucción CASO? 5. ¿Una instrucción SI puede remplazar una instrucción CASO?ESTRUCTURAS DE DECISIÓNLas instrucciones correspondientes a la estructura decisión son:La instrucción SI y su componente opcional SINO.La instrucción CASOS.4.1. Estructuras de Decisión Simple y CompuestasLa estructura de decisión permita instruir al computador para que ejecute ciertas acciones(instrucciones) según alguna condición.La forma general de la instrucción SI es:SI (condición) Instrucciones que se ejecutan cuando la condición sea verdadera.SINO Instrucciones que se ejecutan cuando la condición es fala.FINSIEjemplo:Elaborar un algoritmo que lea el salario actual de un empleado y que calcule e imprima el nuevosalario de acuerdo a la siguiente condición: si el salario es menor que 1000 pesos, aumentar el10%; sino no hacer el aumento.Análisis:Datos de entrada: salario actual (SALACT).Cálculos: determinar el aumento según la condición planteada.Datos de salida: aumento (AU), nuevo salario (NUESAL). Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  32. 32. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 35Nuestro algoritmo es:1. ALGORITMO AUMENTO_CONDICIONAL2. VARIABLES: SALACT, AU, NUESAL (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese salario”)5. LEA (SALACT)6. SI (SALACT < 1000)7. AU = SALACT * 0.18. SINO9. AU = 010. FINSI11. NUESAL = SALACT + AU12. IMPRIMA (“Nuevo salario:”, NUESAL)13. FININICIO14. FIN En la instrucción 2, se definen las variables con las cuales vamos a trabajar. En la instrucción 5, se lee el salario actual. En la instrucción 6, se compara el salario leído con el dato de referencia planteado en el enunciado. Si la condición de la instrucción 6 es verdadera, se ejecuta la instrucción 7; sino se efectuará la instrucción 9. En la instrucción 7, se determina el aumento, el cual es el diez por ciento del salario actual, mientras que en la instrucción 9 se asigna cero al aumento. La instrucción 10, delimita el alcance de la instrucción SI. En la instrucción 11, se calcula el nuevo salario, y en la instrucción 12 se imprime el nuevo salario.El anterior algoritmo se puede escribir sin utilizar el componente SINO, el cual, como habíamosdicho, es opcional.Veamos nuestro nuevo algoritmo: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  33. 33. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 361. ALGORITMO AUMENTO_CONDICIONAL (2)2. VARIABLES: SALACT, AU, NUESAL (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese salario”)5. LEA (SALACT)6. AU = 07. SI (SALACT < 1000)8. AU = SALACT * 0.19. FINSI10. NUESAL = SALACT + AU11. IMPRIMA (“Nuevo salario: ”, NUESAL)12. FININICIO13. FINLa diferencia de este segundo algoritmo con el primero es que al aumento inicialmente se leasigna el valor de cero en la instrucción 6.Cuando se compara el salario actual con el valor de referencia (1000), se modificará el aumentosólo si el salario actual es menor que el valor de referencia; en caso contrario el aumentopermanecerá en cero.INSTRUCCIONESEn la práctica se presentan hechos en los cuales es necesario controlar situaciones dentro desituaciones ya controladas, es decir, comprobar condiciones dentro de condiciones, o comprobarvarias condiciones a la vez. Estos acontecimientos implican el uso de la instrucción SI de una formamás compleja.Ejemplo:Elabore un algoritmo que lea tres datos numéricos y que los imprima ordenadosascendentemente.Análisis:Datos de entrada: tres datos numéricos (a, b, c).Cálculos: determinar el menor de los tres datos para imprimirlo de primero, luego determinar elmenor de los dos restantes para imprimirlo de segundo y luego imprimir el tercer dato.Datos de salida: los mismos tres datos de entrada en orden ascendente. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  34. 34. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 37Una primera forma de escribir este algoritmo es siendo exhaustivos en la comparación de losdatos.Realmente, las diferentes situaciones que se pueden presentar para escribir los tres datos son: La primera, cuando a es menor que b y b es menor que c. La segunda, cuando a es menor que c y c es menor que b. La tercera, cuando b es menor que a y a es menor que c, Y así sucesivamente.A cada situación le corresponde una relación de orden diferente. 1. a, b, c 2. a, c, b 3. b, a, c 4. b, c, a 5. c, a, b 6. c, b, aUn algoritmo para efectuar esta tarea es: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  35. 35. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 381. ALGORITMO ORDENAR_3_DATOS (1)2. VARIABLES: a, b, c (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese tres números”)5. LEA (a, b, c)6. SI (a < b) && (b < c)7. IMPRIMA (a, b, c)8. FINSI9. SI (a < c) && (c < b)10. IMPRIMA (a, c, b)11. FINSI12. SI (b < a) && (a < c)13. IMPRIMA (b, a, c)14. FINSI15. SI (b < c) && (c < a)16. IMPRIMA (b, c, a)17. FINSI18. SI (c < a) && (a < b)19. IMPRIMA (c, a, b)20. FINSI21. SI (c < b) && (b < a)22. IMPRIMA (c, b, a)23. FINSI24. FININICIO25. FINLas instrucciones 6 a 8 consideran la primera situación; las instrucciones 9 a 11 consideran lasegunda situación; las instrucciones 12 a 14 consideran la tercera situación; las instrucciones 15 a17 consideran la cuarta situación; las instrucciones 18 a 20 consideran la quinta situación; y lasinstrucciones 21 a 23 consideran la sexta situación.Este algoritmo tiene el inconveniente de que cuando una situación sea verdadera, continúapreguntando por las demás, lo cual genera ineficiencia. Para evitar esta ineficiencia utilizamos laparte opcional SINO.Veamos cómo queda nuestro algoritmo: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  36. 36. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 391. ALGORITMO ORDENAR_3_DATOS (2)2. VARIABLES: a, b, c (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese tres números”)5. LEA (a, b, c)6. SI (a < b) && (b < c)7. IMPRIMA (a, b, c)8. SINO9. SI (a < c) && (c < b)10. IMPRIMA (a, c, b)11. SINO12. SI (b < a) && (a < c)13. IMPRIMA (b, a, c)14. SINO15. SI (b < c) && (c < a)16. IMPRIMA (b, c, a)17. SINO18. SI (c < a) && (a < b)19. IMPRIMA (c, a, b)20. SINO21. IMPRIMA (c, b, a)22. FINSI23. FINSI24. FINSI25. FINSI26. FINSI27. FININICIO28. FINDe esta manera, cuando encuentre que una condición (situación) es verdadera, procede aimprimir los datos en forma ordenada y no sigue preguntando por las demás condiciones.Una tercera forma en que podemos elaborar el algoritmo es la siguiente:Comparamos a con b.Pueden suceder dos cosas: una, que a sea menor que b, y dos, que b sea menor que a. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  37. 37. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 40 1. Si a es menor que b, implica que habrá que escribir el dato a antes que el dato b; por lo tanto las posibles formas de escribir los tres datos son: 1. a, b, c 2. a, c, b 3. c, a, bSi b es menor que c, imprimimos la primera posibilidad: a, b, c; de lo contrario, debemos comparara con c.Si a es menor que c, imprimimos la segunda posibilidad: a, c, b; en caso contrario, imprimimos latercera posibilidad: c, a, b.2 Si b es menor que a implica que habrá que escribir el dato b antes que el dato a; por lotanto las posibles formas de escribir los tres datos son: 1. b, a, c 2. b, c, a 3. c, b, aSi a es menor que c, imprimimos la primera posibilidad: b, a, c; de lo contrario, debemos compararb con c.Si b es menor que c, imprimimos la segunda probabilidad: b, c, a; sino, imprimimos la terceraprobabilidad: c, b, a.Con base en el anterior análisis nuestro algoritmo queda: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  38. 38. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 411. ALGORITMO ORDENAR_3_DATOS (3)2. VARIABLES: a, b, c (NUMÉRICAS)3. INICIO4. IMPRIMA (“Ingrese tres números”)5. LEA (a, b, c)6. SI (a < b)7. SI (b < c)8. IMPRIMA (a, b, c)9. SINO //c es menor que b10. SI (a < c)11. IMPRIMA (a, c, b)12. SINO //c es menor que a13. IMPRIMA (c, a, b)14. FINSI15. FINSI16. SINO //b es menor que a17. SI (a < c)18. IMPRIMA (b, a, c)19. SINO //c es menor que a20. SI (b < c)21. IMPRIMA (b, c, a)22. SINO //c es menor que b23. IMPRIMA (c, b, a)24. FINSI25. FINSI26. FINSI27. FININICIO28. FIN Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  39. 39. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 42 EJERCICIOS 1. Elabore un algoritmo que lea el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes; imprima su nombre y salario mensual si éste es mayor de 450.000 pesos, de lo contrario imprima sólo en nombre.2 Se tienen tres esferas (A, B, C) de diferente peso. Elaborar un algoritmo que determine cuál esla esfera de mayor peso.3 Elaborar un algoritmo que determine la suma del valor menor y mayor en un grupo de 4 datos.4 Elaborar un algoritmo que lea la ordenada (Y) y abscisa (X) de un punto de un plano cartesiano ydetermine si pertenece o no a la recta Y = 3X + 5. 5 Un almacén de escritorios hace los siguientes descuentos: si el cliente compra menos de 5 unidades, se le da un descuento del 10% sobre la compra; si el número de unidades es mayor o igual a 5 pero menos de 10 se le otorga un 20%; y si son 10 o más unidades, se le da un 40%. Elaborar un algoritmo que determine cuánto debe pagar un cliente si el valor de cada escritorio es de 800.000 pesos.6 Una frutería ofrece las manzanas con descuento según la siguiente tabla: No. de manzanas % descuento 0–2 0% 3–5 10% 6 – 10 15% 11 en adelante 20%Elaborar un algoritmo que determine cuánto pagará una persona que compre manzanas en esafrutería.Cierta universidad tiene un programa para estimular a los estudiantes con buen rendimientoacadémico. Si el promedio es de 4.5 o más y el alumno es de pregrado, entonces cursará 28créditos y se le hará un descuento de 25%; si el promedio es mayor o igual a 4.0 pero menor que4.5 y el alumno es de pregrado, entonces cursará 25 créditos y se le hará un 10% de descuento; siel promedio es mayor o igual que 3.5 y menor que 4.0 y es de pregrado, cursará 20 créditos y notendrá descuento; si el promedio es mayor o igual que 2.5 y menor que 3.5 y es de pregrado,cursará 15 créditos y no tendrá descuento; si el promedio es menor que 2.5 y es de pregrado, nopodrá matricularse; si el promedio es mayor o igual a 4.5 y es de posgrado, cursará 20 créditos yse le hará un 20% de descuento; si el promedio es menor de 4.5 y es de posgrado, cursará 10 Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  40. 40. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 43créditos y no tendrá descuento.Elaborar un algoritmo que determine cuánto debe pagar un estudiante y cuántos créditos registrasi el valor de cada crédito es de 50.000 pesos para pregrado y 300.000 pesos para posgrado.8 Un proveedor de computadores ofrece descuento del 10%, si cuesta 1.000.000 de pesos o más.Además, independientemente, ofrece el 5% de descuento si la marca es ABACO. Elaborar unalgoritmo que determine cuánto pagará, con IVA incluido, un cliente cualquiera por la compra deun computador.4.2. Estructura Caso o Selector MúltipleEl selector múltiple sirve para reemplazar una serie lógica. Su estructura corresponde a la de unbloque de decisión múltiple, es decir, ofrece más de dos caminos a seguir simultáneamente. Parausar un selector múltiple se debe considerar: La presencia de una variable que contenga más de dos valores que sean enteros (1, 2, 3,... N) y dependiendo de ese valor se ejecute ciertas instrucciones según el camino Lógico determinado.No tiene sentido usar un selector para una variable como por ejemplo sexo (1; hombre, 2: Mujer),en este caso es más óptimo y eficiente un bloque de decisión pero para una variable comoprograma (1: Sistemas, 2: Electrónica. 3: Secretariado, 4: Gestión Administrativa, 5: Contaduría) sedebe usar un selector. EI selector múltiple se puede usar cuantas veces se requiera. En el selector se debe colocar todos los valores de la variable. El selector tiene la siguiente estructura: Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  41. 41. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 44CASOS CASO (VARIABLE==1) Grupo de instrucciones a ejecutar cuando la variable sea igual a 1 SALTO CASO (VARIABLE==2) Grupo de instrucciones a ejecutar cuando la variable sea igual a 2 SALTO CASO (VARIABLE==3) Grupo de instrucciones a ejecutar cuando la variable sea igual a 3 SALTO CASO (VARIABLE==N) Grupo de instrucciones a ejecutar cuando la variable sea igual a N SALTO OTRO_CASOGrupo de instrucciones a ejecutar cuando la variable sea diferente a las anteriores SALTOFINCASOSDespués de ejecutar las instrucciones que se encuentran dentro de un caso específico la expresiónSALTO nos remitirá hasta el fin de los casos.Ejemplo:Elaborar un algoritmo que lea el nombre de una persona y su estado civil.El estado civil está codificado con un dígito con los siguientes significados: 1: Soltero 2: Casado 3: Separado 4: Viudo 5: Unión libreEl algoritmo debe imprimir el nombre leído y la descripción correspondiente al estado civil. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  42. 42. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 45Análisis:Datos de entrada: nombre (NOM), estado civil (EC).Cálculos: Comparar el estado civil según el código establecido e imprimir la descripcióncorrespondiente.Datos de salida: nombre (NOM), estado civil (EC).1. ALGORITMO ESTADO_CIVIL (1)2. VARIABLES: NOM (CARACTER)3. EC (NUMÉRICA)4. INICIO5. IMPRIMA (“Ingrese nombre”)6. LEA (NOM)7. IMPRIMA (“Ingrese estado civil”)8. LEA (EC)9. CASOS10. CASO (EC == 1)11. IMPRIMA (NOM, “Soltero”)12. SALTO13. CASO (EC == 2)14. IMPRIMA (NOM, “Casado”)15. SALTO16. CASO (EC == 3)17. IMPRIMA (NOM, “Separado”)18. SALTO19. CASO (EC == 4)20. IMPRIMA (NOM, “Viudo”)21. SALTO22. CASO (EC == 5)23. IMPRIMA (NOM, “Unión libre)24. SALTO25. OTRO_CASO26. IMPRIMA (EC, “Estado civil no válido”)27. SALTO28. FINCASOS29. FININICIO30. FINDentro de la instrucción CASOS cuando escribimos CASO (EC == 1): la máquina compara EC con 1,si EC es igual a 1 ejecuta las instrucciones correspondientes a ese caso. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  43. 43. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 46Un algoritmo equivalente al anterior, utilizando la instrucción SI, es el siguiente:1. ALGORITMO ESTADO_CIVIL (2)2. VARIABLES: NOM (CARACTER)3. EC (NUMÉRICA)4. INICIO5. IMPRIMA (“Ingrese nombre”)6. LEA (NOM)7. IMPRIMA (“Ingrese estado civil”)8. LEA (EC)9. SI (EC == 1)10. IMPRIMA (NOM, “Soltero”)11. SINO12. SI (EC == 2)13. IMPRIMA (NOM, “Casado”)14. SINO15. SI (EC == 3)16. IMPRIMA (NOM, “Separado”)17. SINO18. SI (EC == 4)19. IMPRIMA (NOM, “Viudo”)20. SINO21. SI (EC == 5)22. IMPRIMA (NOM, “Unión libre)23. SINO24. IMPRIMA (EC, “Estado civil no válido”)25. FINSI26. FINSI27. FINISI28. FINSI29. FINSI30. FININICIO31. FINUn punto importante que se debe considerar en este sitio es: ¿cuándo utilizar la instrucción SI, ycuándo utilizar la instrucción CASOS?La respuesta es sencilla: Cuando el resultado de una comparación sólo da dos alternativas, se utiliza la instrucción SI. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  44. 44. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 47 Cuando el resultado de una comparación da más de dos alternativas, se utiliza la instrucción CASOS. EJERCICIOS 1. Elabore un algoritmo que lea el nombre de un estudiante y su promedio acumulado de la carrera. El algoritmo debe imprimir el nombre del estudiante y alguno de los siguientes mensajes: “pésimo”, “malo”, “regular”, “bueno” o “excelente”. El estudiante se considera pésimo, si el promedio acumulado es menor o igual que 1; malo, si el promedio es mayor que 1 y menor que 3; regular, si el promedio es mayor o igual que 3 y menor que 4; bueno, si el promedio es mayor o igual que 4 y menor que 4.5; y excelente, si el promedio es mayor o igual que 4.5. 2 Elabore un algoritmo que lea un número menor que 32768 y que efectúe lo siguiente: si es múltiplo de 4, imprimir el número dividido por 4; si es múltiplo de 5, imprimir la quinta parte del número elevada al cuadrado; si es múltiplo de 7, imprimir el número dividido por 8; y si no es múltiplo de ninguno de los anteriores, imprimir el mensaje “número extraño”.3 Elabore un algoritmo que lea: nombre de un empleado, estado civil, edad y salario actual. Parael empleado leído determine el nuevo salario con base en las siguientes políticas: Soltero menor de 30 años se le aumenta el 10% de su salario actual. Soltero mayor o igual de 30 años se le aumenta el 12% de su salario actual. Casado menor de 25 años se le aumenta el 12% de su salario actual. Casado mayor o igual de 25 años se le aumenta el 15% de su salario actual. Separado menor de 20 años se le aumenta el 8% de su salario actual. Separado mayor o igual de 20 años se le aumenta el 10% de su salario actual. Viudo menor de 30 años se le aumenta el 15% de su salario actual. Viudo mayor o igual de 30 años se le aumenta el 12% de su salario actual. Empleado en unión libre que devengue menos de 1000 pesos se le aumenta el 20% de su salario actual. Empleado en unión libre que devengue 1000 pesos o más se le aumenta el 12% de su salario actual.El algoritmo deberá determinar el aumento del empleado leído e imprimir: nombre, estado civil,edad, salario actual, porcentaje de aumento, aumento y nuevo salario.4 La empresa de productos de belleza “El acné” otorga descuento a sus clientes según la siguienteclasificación: si es mayorista, tiene una antigüedad de más de dos años y el valor de la compra esmayor que 2.000.000 de pesos le da un descuento del 25%; si es mayorista, tiene una antigüedad Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  45. 45. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 48menor o igual a dos años y el valor de la compra está entre 1.500.000 y 2.000.000 de pesos le daun descuento del 20%; si es minoritario, tiene una antigüedad superior a cinco años y el valor dela compra es superior a 2.000.000 de pesos le da un descuento del 18%; si es ocasional y el valorde la compra es superior a 2.000.000 de pesos le da un descuento de 10%; en cualquier otro caso,la compañía no da ningún descuento. Elabore un algoritmo que lea la clase de cliente, laantigüedad y el valor de la compra y determine el valor a pagar por la compra.Los códigos de clasificación del cliente son: 1. Mayorista. 2. Minorista. 3. Ocasional. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  46. 46. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 49 5. ESTRUCTURAS REPETITIVAShttp://www.youtube.com/watch?v=0EhP86HvCHkOBJETIVO GENERAL Reconocer en un problema cuando se utiliza un ciclo para, un ciclo mientras que, y la aplicación de los conceptos de contadores, acumuladores, promedios y porcentajes, además la manipulación del concepto de ciclos anidados y rompimiento de control.OBJETIVOS ESPECÍFICOS Conocer las diferentes instrucciones que se utilizan para que el computador ejecute más de una vez cierto conjunto de instrucciones. Analizar las estructuras repetitivas anidadas y su orden de secuencia dentro del algoritmo. Identificar la estructura de rompimiento de control y cuando se hace necesario su uso dentro de un ciclo. Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  47. 47. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 50Prueba InicialEn los siguientes enunciados seleccione la respuesta correcta1. Un proceso repetitivo me permite: a. Repetir una instrucción más de una vez b. Repetir una instrucción solo una vez c. No repetir instrucciones d. Repetir una instrucción infinitamente2. En un ciclo Para se debe conocer: a. Límite inferior b. Límite superior c. El incremento d. Todas las anteriores3. En un ciclo Mientras Que se pueden trabajar procesos que pueden ser: a. Formato cuantitativo b. Formato cualitativo c. Formato cuantitativo y cualitativo d. Ninguna de las anteriores5.1. Estructuras RepetitivasSe puede decir que estos procesos son aquellos en los cuales se repite o se itera un procesodeterminado cierto número de veces. Se les llama también proceso iterativo o simplemente ciclos.La construcción de un ciclo se puede hacer de la siguiente manera: Elaborar el algoritmo pensando solamente en una iteración. Luego de tener listo lo anterior hay varias maneras de repetir un proceso las cuales básicamente dependen de si se conoce o no el número de iteraciones o repeticiones, y según esto los ciclos se dividen en: Ciclo automático o ciclo para; ciclo mientras que.5.1.1. Funcionamiento y Componentes de las Diferentes Estructuras Repetitivas Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  48. 48. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 51Una estructura repetitiva, o ciclo, está conformada por instrucciones que permiten alprogramados instruir la máquina para que se ejecute varias veces un grupo de instrucciones segúnalguna condición.Las instrucciones que pertenecen a esta estructura son: PARA, MIENTRAS QUE y HAGA MIENTRASQUE.5.1.2. Ciclo Automático o Ciclo ParaEstos procesos cíclicos se caracterizan por el uso de una variable de iteración la cual tiene trescaracterísticas: Esta inicializada, controlada e incrementada (en algunos casos disminuye en vez deincrementar), es decir, tiene límite inferior, límite superior e incremento (o decremento).Estas características se dan a manera de instrucciones ubicadas espacialmente en el algoritmo endistintas posiciones, esto es lo que define un ciclo automático y una manera muy cómoda derepresentarlo es agrupando las tres características de la variable de iteración en una solainstrucción, seguida del proceso a iterar y terminando con la instrucción FINPARA.La instrucción en donde están agrupadas las 3 características, se llama el encabezamiento delciclo, esquemáticamente es: PARA (I= LINF, LSUP, INC) Proceso a iterar FINPARAEn donde I es la variable de iteración o variable controladora del ciclo, LINF es el límite inferior ovalor inicial de la variable de iteración, LSUP es el límite superior o control de la variable deiteración, INC es el valor del incremento.La instrucción PARA sólo se usa cuando se conocen el límite inferior (LINF) y límite superior (LSUP)de la variable controladora del ciclo.NOTA: En algunos algoritmos, disminuiremos la variable de iteración en lugar de incrementarla,para estos algoritmos el esquema es: PARA (I= LSUP, LINF, DEC) Proceso a iterar Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  49. 49. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 52 FINPARAEn donde empezaremos en el límite superior (LSUP) y realizaremos el proceso a iterar hasta quenuestra variable controladora de ciclo (I) llegue al límite inferior (LINF); disminuyendo la variablede iteración como lo indique el decremento (DEC).Ejemplo: Elaborar un algoritmo que lea edad, estado civil (1: Soltero, 2: Casado), estatura y sexo(1: Hombre, 2: Mujer) de 500 personas. Calcular e imprimir: Cuantas personas cumplensimultáneamente ser mayor de edad, soltero, hombre y alto (estatura > 1.70), el porcentaje deesas personas con respecto a total de personas (500) y el promedio de edad y el promedio deestatura de esas personas.Solución:Datos de entrada: Se debe Leer edad, estatura, estado civil y sexo de 500 personas, notemos queal leer el campo sexo se debe almacenar en él un numero 1 o un numero 2, si el campo sexocontiene el número 1 se entiende que es un hombre; de lo contrario el único valor posible es un 2y se entiende que es una mujer. Este análisis es válido para el campo estado civil.Cálculos: Se debe utilizar un ciclo, es decir, una variable de iteración; Se debe usar un bloque y unaPLC para encontrar aquellas personas que cumplen simultáneamente la condición planteada. Sedeben contar estas personas, lo cual sugiere el uso de un contador y como nos piden calcularpromedios debemos usar un acumulador de edad y un acumulador de estatura, con el contador essuficiente para calcular los porcentajes requeridos.Datos de salida: Imprimir el contador, el promedio y el porcentaje. El algoritmo quedaría así:1. ALGORITMO CICLO_PARA2. VARIABLES: I, EDAD, EC, EST, SX, CONT, ACUMEDAD, ACUMEST, PROMEDAD, PROMEST, PORC (TIPO NUMÉRICO)3. INICIO4. CONT = 05. ACUMEDAD = 06. ACUMEST = 07. PARA (I=1, 500, 1)8. IMPRIMA (“Ingrese edad”)9. LEA (EDAD)10. IMPRIMA (“Ingrese estado civil”)11. LEA (EC)12. IMPRIMA (“Ingrese estatura”)13. LEA (EST)14. IMPRIMA (“Ingrese el sexo: 1.Hombre, 2.Mujer”) Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia
  50. 50. Corporación Universitaria Remington – Dirección Pedagógica Algoritmos I Pág. 5315. LEA (SX)16. SI (EDAD>=18) ^ (EC==1) ^ (EST>=1.70) ^ (SX==1)17. CONT = CONT + 118. ACUMEDAD = ADUMEDAD + EDAD19. ACUMEST = ECUMEST + EST20. FINSI21. FINPARA22. PROMEDAD = ECUMEDAD / CONT23. PROMEST = ACUMEST / CONT24. PORC = CONT * 100 / 50025. IMPRIMA (“Personas mayores de edad, soltero, hombre y alto”, CONT)26. IMPRIMA (“Porcentaje”, PORC)27. IMPRIMA (“Promedio de edad, PROMEDAD)28. IMPRIMA (“Promedio de estatura”, PROMEST)29. FININICIO30. FINNote que Ia PLC del bloque de decisión es verdadera, si todas las PLS que la conforman sonverdaderas.(EDAD >= 18) nos garantiza ser mayor de edad cuando es verdadera.(EC = 1), en donde Ia variable EC contiene el estado civil, si el contenido del campo EC es igual a 1significa que es soltero.(SX = 1), en donde la variable SX contiene el Sexo. Si el contenido del campo SX es igual a 1 estaPLS es verdadera y significa ser hombre.(Est > 1.70), en donde la variable EST contiene la estatura. Según el problema si esta PLS esverdadera es una persona alta.El campo CONT está contando las personas que cumplen la condición buscada, el campoACUMEDAD está sumando las edades de esas personas, el campo ACUMEST esta sumando lasestaturas de esas personas; por Último note que los promedios de edad (PROMEDAD), de estatura(PROMEST) y el porcentaje (PORC) se calculan por fuera del ciclo. Efectuemos una prueba deescritorio para los siguientes datos (Aunque pudieron ser otros). EDAD EC SX EST 18 1 1 1.80 20 1 1 1.60 22 1 1 1.75 22 2 2 1.70 26 1 1 1.80 Corporación Universitaria Remington - Calle 51 51-27 Conmutador 5111000 Ext. 2701 Fax: 5137892. Edificio Remington Página Web: www.remington.edu.co - Medellín - Colombia

×