El documento describe las estructuras secuenciales y condicionales en algoritmos. Las estructuras secuenciales ejecutan instrucciones una tras otra en orden. Las estructuras condicionales comparan valores y ejecutan diferentes instrucciones dependiendo del resultado, permitiendo tomar decisiones. Se proveen varios ejemplos de algoritmos que ilustran el uso de estas estructuras.
El documento describe las estructuras secuenciales y condicionales en algoritmos. Las estructuras secuenciales ejecutan instrucciones una tras otra en orden. Las estructuras condicionales comparan valores y ejecutan diferentes instrucciones dependiendo del resultado, permitiendo tomar decisiones. Se proveen varios ejemplos de algoritmos que ilustran el uso de estas estructuras.
El documento describe las estructuras secuenciales y condicionales en algoritmos. Las estructuras secuenciales ejecutan instrucciones una tras otra en orden. Las estructuras condicionales comparan valores y ejecutan diferentes instrucciones dependiendo del resultado, permitiendo tomar decisiones. Se proveen varios ejemplos de algoritmos que ilustran el uso de estas estructuras.
El documento describe las estructuras secuenciales y condicionales en algoritmos. Las estructuras secuenciales ejecutan instrucciones una tras otra en orden. Las estructuras condicionales comparan valores y ejecutan diferentes instrucciones dependiendo del resultado, permitiendo tomar decisiones. Se proveen varios ejemplos de algoritmos que ilustran el uso de estas estructuras.
Descargue como PPT, PDF, TXT o lea en línea desde Scribd
Descargar como ppt, pdf o txt
Está en la página 1de 42
Estructuras Secunciales
Los algoritmos ms sencillos de realizar son los que no toman decisiones,
tan solo se dedican a realizar o ejecutar instruccin tras instruccin en el orden determinado.
Estos algoritmos estn representados por las estructuras secunciales, en las que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso.
En las estructuras secunciales, se encuentran las acciones o instrucciones de inicio y fin, escribir en monitor, leer desde el teclado, llamar y ejecutar a una funcin o mdulo y la ejecucin de expresiones aritmticas para obtener un resultado guardndolo en una variable. Ejemplo Realizar un algoritmo que calcule la edad de una persona a la cual solo se le solicitar el ao en que naci. Paso I. Analizar el problema. Cada uno de estos datos se debe de expresar en variables y no en frases largas. Salidas Entrada Constantes Procesos Edad Ao_nac Ao_act Edad = Ao_act Ao_nac Paso II. Disear El algoritmo PSEUDOCDIGO
Pseudocdigo: Edad personal Variables: Edad: entera : trabajo // almacenar la edad del usuario Ao_nac: entera : trabajo // guardar el ao en que naci Ao_act: entera : trabajo // Contendr el ao en que estamos 1. Inicio 2. Escribir En que ao naciste? // muestra el mensaje que esta entre comillas 3. Leer Ao_nac // guarda el dato que es tecleado por el usuario en la variable 4. Escribir En que ao estamos? 5. Leer Ao_act 6. Edad = Ao_act Ao_nac // realiza una operacin y almacena el resultado en // la variable de la izquierda de la expresin. 7. Escribir Tu edad actual es:, Edad // Cuando deseamos mostrar el contenido // de una variable, esta no debe de // estar entre comillas 8. Fin // Es recomendable poner comentarios en todos nuestros algoritmos, ya que esto los // hace ms entendibles no solo para nosotros sino para cualquier persona. Inicio Edad : entera : trabajo Ao_act : entera : trabajo Ao_nac : entera : trabajo en que ao naciste? Ao_nac Edad = Ao_act Ao_nac fin en que ao estamos? Ao_act Tu edad actual es:, Edad // Diagrama de Flujo: Edad personal // Declaracin de variables // Muestra el mensaje que esta entre comillas // Guarda el dato que es tecleado por el usuario // en la variable // Cuando deseamos mostrar el // contenido de una variable, esta no // debe de estar entre comillas
// realiza una operacin y almacena el resultado // en la variable de la izquierda de la expresin.
Estructuras Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa.
Estas estructuras son las que nos dan la capacidad de crear sistemas inteligentes, es decir, que toman decisiones.
Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las mltiples.
Condiciones Simples. Son aquellas en que solamente se puede escoger uno de dos caminos posibles y al seleccionar se ejecutarn las instrucciones que se encuentren dentro de este. Esto es similar a la situacin que sufrimos cuando nos encontramos en la punta de una cuchilla, solamente se puede ir por un camino ya que es imposible cruzar por ambos a la vez. Ilustracin Condicin simple Condiciones Mltiples. Son aquellas en que solamente se puede escoger uno de n caminos posibles, y al seleccionar se ejecutarn las instrucciones que se encuentren dentro de este. Esto es similar a la situacin que sufrimos cuando nos encontramos en un cruce de caminos, solamente se puede ir por un camino ya que es imposible cruzar por todos a la vez. Ilustracin Condicin Mltiple En pseudocdigo se utiliza la instruccin si ... entonces, donde en lugar de los puntos suspensivos se coloca la expresin a evaluar (en esta parte es donde nos sirven los operadores lgicos y relacionales), donde si el resultado de esta evaluacin es verdadero se ejecutan las instrucciones que se encuentran entre esta instruccin y las palabras si no; Pero si el resultado es falso, se ejecutan las instrucciones que se encuentran despus de las palabras si no y las palabras fin si.
Por lo cual podemos decir que los delimitadores de esta estructura son las palabra si ... entonces y fin si.
Las instrucciones que se encuentran dentro de la condicin si...entonces pueden ser estructuras secunciales y en este caso las acciones llevan una subnumeracin secuencial, menos las palabras si no y fin si.
Sugerencia. Colocar una sangra a las acciones internas a la condicin para tener una mejor legibilidad de nuestro algoritmo.
Ejemplo Se necesita un sistema para un supermercado, el cual dar un 10% de descuento a las personas que compren ms de $1000, al cliente se le debe de dar el total a pagar. Paso I. Analizar el problema. Salidas Entrada Constantes Procesos Total Subtotal Descuento Cuando subtotal > 1000 Descuento = Subtotal * 0.10 Total = Subtotal Descuento Cuando Subtotal <= 1000 Total = Subtotal Paso II. Disear El algoritmo PSEUDOCDIGO
Pseudocdigo: Supermercado Variables: Total : real : trabajo Subtotal : real : trabajo Descuento : real : trabajo 1. Inicio 2. Escribir Cuanto compr el cliente? 3. Leer Subtotal 4. Si Subtotal > 1000 entonces 4.1 Descuento = Subtotal * 0.10 4.2 Total = Subtotal Descuento si no 4.3 Total = Subtotal fin si 5. Escribir el total a pagar es:, Total 6. Fin En diagrama de flujo esta representada por el smbolo decisin, donde, dentro de este se coloca la expresin a evaluar, y del smbolo salen dos flujos o flechas donde cada una debe de tener la leyenda del camino posible (falso o verdadero), estos flujos indican el conjunto de acciones o instrucciones a realizar dependiendo de la respuesta a la condicin.
El final de la estructura se indica uniendo nuevamente los dos flujos en uno solo, en caso de no desear realizar acciones dentro del lado falso, se debe de sacar la forzosamente la flecha para tener una indicacin de donde termina la estructura.
Inicio Fin Subtotal > 1000 Descuento = Subtotal * 0.10 Total = Subtotal Descuento Total = Subtotal Variables: Total : real : trabajo Subtotal : real : trabajo Descuento : real : trabajo
Cuanto compr el cliente? Subtotal V F total a pagar es:, Total // Diagrama de flujo: Supermercado Aspecto Crtico. En este ejemplo, reciben el descuento del 10% solo aquellos clientes que su compra es mayor a $1000, los que compraron $1000 exactamente no reciben descuento. Por lo cual si se quiere que esta cifra tenga descuento, en la expresin debemos de colocar el operador mayor o igual.
Ejemplo Se necesita un sistema que reciba tres calificaciones parciales de un alumno y en base a estas darle su promedio donde si el promedio es menor a 6 se le dir que esta reprobado, en caso contrario el mensaje ser aprobado Paso I. Analizar el problema. Salidas Entrada Constantes Procesos Prom Un mensaje (Aprobado o Reprobado) Cal1 Cal2 Cal3 Prom = (cal1 + cal2 + cal3) / 3 Cuando Prom < 6 REPROBADO Cuando Prom >= 6 APROBADO Paso II. Disear El algoritmo Ejemplo Se necesita un sistema para un supermercado, en el cual si el monto de la compra del cliente es mayor de $5000 se le har un descuento del 30%, si es menor o igual a $5000 pero mayor que $3000 ser del 20%, si no rebasa los $3000 pero si los $1000 la rebaja efectiva es del 10% y en caso de que no rebase los $1000 no tendr beneficio. Paso I. Analizar el problema. Salidas Entrada Constantes Procesos Total subtotal descuento Cuando subtotal > 5000 descuento = subtotal * 0.30 total = subtotal descuento Cuando subtotal > 3000 pero <= 5000 descuento = subtotal * 0.20 total = subtotal descuento Cuando subtotal > 1000 pero <= 3000 descuento = subtotal * 0.10 total = subtotal descuento Cuando subtotal <= 1000 total = subtotal Pseudocdigo: Descuentos Variables: total, subtotal, descuento : real : trabajo = 0 // se inicializan todas las variables con el valor de cero 1. Inicio 2. Escribir Cuanto compr el cliente? 3. Leer subtotal 4. Si subtotal > 5000 entonces // inicio de primera condicin 4.1 descuento = subtotal * 0.30 si no // lado falso de primera condicin 4.2 si subtotal > 3000 entonces // inicio de segunda condicin 4.2.1 descuento = subtotal * 0.20 si no // lado falso de segunda condicin 4.2.2 si subtotal > 1000 entonces // inicio tercera cond. 4.2.2.1 descuento = subtotal * 0.10 si no // lado falso tercera condicin // no hace nada fin si // fin de tercera condicin fin si // fin de segunda condicin fin si // fin de primera condicin 1. total = subtotal - descuento 2. Escribir el total a pagar es:, Total 3. Fin Ejemplo Se necesita un sistema que le muestre a un alumno su calificacin en letra y su promedio, el promedio se saca en base a 3 parciales, donde si el promedio es menor a 6 su letra es NA, si es mayor o igual a 6 y cuando mucho 8 le corresponde S, si sobrepasa el 8 pero menor o igual a 9 debe tener B, todo lo dems es una E. Paso I. Analizar el problema. Salidas Entrada Constantes Procesos Mensaje (NA, S, B, E) Cal1 Cal2 Cal3 prom = (cal1 + cal2 + cal3) / 3 cuando prom < 6 NA Cuando prom >= 6 pero <= 8 S Cuando prom > 8 pero <= 9 B Cuando prom > 9 E Ejercicios. Realiza los siguientes ejercicios: I. Escribe un algoritmo en pseudocdigo, diagrama de flujo y diagrama N-S para cada una de las situaciones siguientes: 1. Necesitamos saber si una persona es joven o vieja basndonos en su edad. Joven es aquella menor de 45 aos. 2. Necesitamos saber si el usuario es alto o chaparro. Chaparro es aquel que mide cuando mucho 1.65 mts. 3. Necesitamos verificar que la contrasea que escribe el usuario es igual a solrac. Dependiendo de lo ingresado desplegar el mensaje correspondiente. 4. Que lea dos nmeros y los imprima en forma ascendente 5. Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no, que los sume. 6. Leer tres nmeros diferentes e imprimir el nmero mayor. 7. El IMSS requiere clasificar a las personas que se jubilaran en el ao 2004. Existen tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta. Las personas adscritas a la jubilacin por edad deben tener 60 aos o mas y una antigedad en su empleo de menos de 25 aos. Las personas adscritas a la jubilacin por antigedad joven deben tener menos de 60 aos y una antigedad en su empleo de 25 aos o ms. Las personas adscritas a la jubilacin por antigedad adulta deben tener 60 aos o mas y una antigedad en su empleo de 25 aos o mas. 8. Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si a este se le asigna un porcentaje de su salario mensual que depende de su antigedad en la empresa de acuerdo con la siguiente tabla: Tiempo Utilidad Menos de 1 ao 5 % del salario 1 ao o mas y menos de 2 aos 7% del salario 2 aos o mas y menos de 5 aos 10% del salario 5 aos o mas y menos de 10 aos 15% del salario 10 aos o mas 20% del salario 9. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. 10. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fbrica de refacciones. La empresa, dependiendo del monto total de la compra, decidir que hacer para pagar al fabricante. Si el monto total de la compra excede de $500 000 la empresa tendr la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crdito al fabricante. Si el monto total de la compra no excede de $500 000 la empresa tendr capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando crdito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crdito. 11. Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. Las estructuras condicionales mltiples se analizan a continuacin en las tdos tcnicas algortmicas.
Pseudocdigo. Para representar estas estructuras, se debe de utilizar la instruccin casos para..., donde en lugar de los puntos suspensivos se coloca la variable a evaluar. Para saber que instrucciones se van a ejecutar cuando la variable tenga un valor especfico, se coloca una etiqueta cuando es igual a ...: por cada uno de estos, en la cual en lugar de los puntos suspensivos hay que colocar el valor que puede tener la variable.
En caso de que se quiera realizar un conjunto de instrucciones para todos los dems valores que no han sido tomados en cuenta, se puede utilizar la etiqueta para todos los dems valores:. Para saber que se ha terminado la estructura, se coloca la instruccin fin casos.
Condiciones Mltiples Pseudocdigo: No hace nada Variables resp : entera : trabajo 1. Inicio 2. Escribir Escribe un nmero [1/2] 3. Leer resp 4. Casos para resp Cuando es igual a 1: 1. Escribir escribiste un 1 Cuando es igual a 2: 1. Escribir escribiste un 2 Para todos los dems valores: 1. Escribir No escribiste ni un 1 ni un 2 Fin casos 1. Fin Aspecto Crtico. Los valores que puede tener una variable a evaluar en una estructura condicional mltiple, solo pueden ser valores enteros, por lo cual se debe declarar la variable como tal. Ilustracin 11 Diseo que debe tener una estructura condicional mltiple.
Diagrama de flujo. Para representar un estructura de seleccin mltiple, se sigue usando el smbolo de decisin, pero a diferencia de las estructuras de seleccin sencilla, ahora no sale una flecha por el lado izquierdo y otra por el derecho, sale un solo camino del cual se desprenden todos los dems, y dentro del smbolo no se coloca una expresin, solamente se coloca la variable a evaluar. Para saber que instrucciones se van a ejecutar, en cada uno de los caminos se coloca una etiqueta con el valor, al igual que en pseudocdigo se puede utilizar una etiqueta para todos los dems valores que no fueron tomados en cuenta. El final de la estructura se indica uniendo todos los caminos en uno solo nuevamente.
Condiciones Mltiples Inicio Fin Accin 1 1: 2: 3: 4: Dems valores: variable Accin 2 Accin 3 Accin 4 Accin 5 Accin 6 Accin 7 Sugerencia. Es muy probable que al disear un diagrama de flujo que utiliza estructuras de seleccin mltiple con varios posibles valores, no quepan todos en la misma hoja, por lo cual se deben colocar conectores a otra hoja.
A continuacin realizamos un par de ejemplos, pero antes debemos de entender que el principal uso de estas estructuras es para el manejo de mens.
Nota. Al igual que todas las estructuras de cualquier tipo, estas se pueden anidar.
Ejemplo Se necesita un sistema que tenga tres opciones, si se selecciona la primera se calcula el permetro de un cuadrado, si la opcin es la dos se calcula el permetro de un triangulo equiltero, y cuando se elija la tres se calcula el permetro de un crculo, adems de que mandara un mensaje de error en caso de presionar cualquier otro nmero. Paso I. Analizar el problema. Salidas Entrada Constantes Procesos Perim opc lado Cuando opc == 1 perim = lado * 4 Cuando opc == 2 perim = lado * 3 Cuando opc == 3 perim = lado * 3.1416 Cuando opc tenga otro valor ERROR PSEUDOCDIGO
Pseudocdigo: men permetros Variables: opc : entera : trabajo perim, lado : reales : trabajo = 0 1. Inicio 2. Escribir Menu de Permetros 3. Escribir 1. Cuadrado 4. Escribir 2. Triangulo 5. Escribir 3. Circulo 6. Escribir cual eliges?: 7. Leer opc 8. Casos para opc cuando es igual a 1: 1. Escribir dame el valor de un lado del cuadrado: 2. Leer lado 3. perim = lado * 4 cuando es igual a 2: 1. Escribir dame el valor de un lado del triangulo: 2. Leer lado 3. perim = lado * 3 cuando es igual a 3: 1. Escribir dame el valor del dimetro: 2. Leer lado 3. perim = lado * 3.1416 para todos los dems valores: 1. Escribir ERROR fin casos 1. Escribir el resultado es:, perim 2. Fin // En este programa no es necesario declarar tantas variables ya que solo se ir // por un solo camino. Esto nos ahorra al momento de programar memoria. Inicio Fin 1: 2: 3: Dems valores: opc perim = lado * 4 perim = lado * 3 Perim = lado * 3.1416 opc:entera:trabajo perim,lado:reales:trabajo = 0 Menu de Permetros 1. Cuadrado 2. Triangulo 3. Circulo cual eliges?:
opc Dame el valor del lado del cuadrado
Dame el valor de un lado del triangulo
Dame el valor del dimetro
ERROR
lado lado lado El resultado es: perim
Ejemplo Un supermercado realiza una tmbola solo con aquellos clientes que realizan una compra superior a $500, en la cual tienen que sacar de una canasta una bolita la cual tiene un nmero grabado, los premios se dan bajo la siguiente tabla: # bolita Premio 1 1 shampoo CAPRICE 2 1 paquete(3) de jabones ROSA VENUS 3 1 pasta de dientes COLGATE 4 1 bolsa de detergente MAS COLOR 5 1 caja de cereal ZUCARITAS Paso I. Analizar el problema. Salidas Entrada Procesos MENSAJE Compra n_bol Cuando compra > 500 Cuando n_bol == 1 1 shampoo CAPRICE Cuando n_bol == 2 1 paquete(3) de jabones ROSA VENUS Cuando n_bol == 3 1 pasta de dientes COLGATE Cuando n_bol == 4 1 bolsa de detergente MAS COLOR Cuando n_bol == 5 1 caja de cereal ZUCARITAS PSEUDOCDIGO
Pseudocdigo: Tmbola Variables: compra : real : trabajo n_bol : entera : trabajo 1. Inicio 2. Escribir Total de compra: 3. Leer compra 4. si compra > 500 entonces 4.1 Escribir Nmero de bolita que sacaste: 4.2 Leer n_bol 4.3 Casos para n_bol Cuando es igual a 1: 4.3.1 Escribir 1 shampoo CAPRICE Cuando es igual a 2: 4.3.2 Escribir 1 paquete(3) de jabones ROSA VENUS Cuando es igual a 3: 4.3.3 Escribir 1 pasta de dientes COLGATE Cuando es igual a 4: 4.3.4 Escribir 1 bolsa de detergente MAS COLOR Cuando es igual a 5: 4.3.5 Escribir 1 caja de cereal ZUCARITAS Fin casos si no // no hace nada ya que no tiene derecho a sacar bolita fin si 1. Fin Inicio Fin Compra > 500 compra : real : trabajo n_bol : entera :trabajo Total de compra: compra // Diagrama de flujo: Tmbola Nmero de bolita que sacaste:: n_bol n_bol 1: 2: 3: 5: 4: 1 shampoo CAPRICE 1 pasta de dientes COLGATE 1 caja de cereal ZUCARITAS 1 paquete(3) de jabones ROSA VENUS 1 bolsa de detergente MAS COLOR F V Ejercicios.
I. Escribe un algoritmo en las tres tcnicas manejadas para cada uno de los problemas siguientes: 1. Necesitamos visualizar un men del ITESCO, en el cual hay que elegir que semestre esta cursando un alumno. Dependiendo la opcin elegida, que se despliegue un mensaje en el que se diga en que semestre va. 2. Necesitamos un men del ITESCO en el que se visualicen las carreras que se imparten y dentro de cada una de estas opciones que se visualice un men con los 6 semestres. Al seleccionarlo, que se despliegue un mensaje de la carrera y semestre que cursa el alumno. 3. Necesitamos un men del ITESCO en el que se visualicen las carreras que se imparten y dentro de cada una de estas opciones que se visualice un men con los semestres, y dentro de cada semestre hay que elegir entre el turno matutino y el vespertino. Al seleccionarlo, que se despliegue un mensaje de la carrera, semestre y turno que cursa el alumno. 4. Necesitamos un men del ITESCO en el que se visualicen las carreras que se imparten; dentro de cada una de estas opciones que se visualice un men con los semestres; dentro de cada semestre hay que elegir entre el turno matutino y el vespertino; Por ltimo hay que elegir si al alumno se le da de alta o de baja. Al seleccionarlo, que se despliegue un mensaje de la carrera, semestre, turno y condicin (baja o alta). 5. Un supermercado realiza una tmbola con todos los clientes, si son hombres tienen que sacar de una canasta una bolita la cual tiene un nmero grabado y si son mujeres lo mismo pero de otra canasta, los premios se dan bajo la siguiente tabla: HOMBRES MUJERES # bolita Premio # bolita Premio 1 Desodorante 1 Locin 2 SixPack de cerveza 2 Bikini 3 Boxer 3 Crema p/ la cara 4 Rasuradora 4 Plancha 5 Sudadera 5 Barniz de uas 6. Una empresa automotriz necesita un sistema para seleccionar el tipo de carro (auto, camioneta o vagoneta) lo cual debe de aparecer en un men, y el color (negro, blanco o rojo) en otro men. Al final se necesita que despliegue la seleccin realizada. Nota. Debe de anidarse una estructura de seleccin mltiple dentro de otra. Estructuras Cclicas Este tipo de estructuras, son las que nos permiten ejecutar varias veces un conjunto determinado de instrucciones, a esta repeticin se le conoce con el nombre de ciclos.
HACER MIENTRAS... Estructura cclica la cual indica un conjunto de instrucciones que se deben de repetir mientras que la respuesta a la a la expresin que se coloca en lugar de los puntos suspensivos sea verdadera. Es decir, que cuando la respuesta a la condicin sea falsa se contina con la siguiente instruccin despus de la etiqueta fin mientras. El conjunto de instrucciones a ejecutar se encuentra entre las instrucciones hacer mientras... y fin mientras. Debido a su estructura es muy posible que nunca se ejecute el ciclo debido a varias circunstancias:
La variable a evaluar no tiene ningn valor almacenado.
Nunca se le pidi al usuario que almacenar un dato en la variable.
El usuario decidi no ingresar a la estructura.
Sugerencia. Se recomienda que la variable a ser evaluada sea inicializada con un valor que permita no ingresar a la estructura para evitar lo que llamamos un ciclo infinito.
Aspecto Crtico. Siempre solicite al usuario un dato para la variable a evaluar antes de la instruccin hacer mientras..., ya que probablemente no desea ingresar al ciclo.
Aspecto Crtico. Siempre coloque dentro de la estructura hacer mientras... las instrucciones que permitan al usuario o al sistema almacenar un nuevo valor en la variable a evaluar para evitar un ciclo infinito.
A continuacin vamos a esquematizar el diseo bsico de esta estructura en las dos tcnicas algortmicas.
Pseudocdigo. En pseudocdigo se utilizan las instrucciones que hemos estado mencionando. Pseudocdigo: ciclo hacer mientras // Imprime HOLA tantas veces como el usuario presione s Variables: Resp : alfanumrica : trabajo = n 1. Inicio 2. Escribir deseas ingresar al ciclo: 3. Leer Resp 4. Hacer mientras Resp == s 1.Escribir hola 2.Escribir deseas ingresar nuevamente al ciclo: 3.Leer Resp Fin mientras 5. Escribir Gracias por usar este sistema 6. FIN Ilustracin 14 Pseudocdigo bsico del ciclo hacer mientras... Diagrama de Flujo.
En diagrama de flujo, se utiliza el smbolo de decisin para representar a la estructura, del cual salen dos caminos posibles: el verdadero y el falso. En la ruta del lado verdadero se colocan todas las instrucciones que deseamos se repitan, despus de la ultima instruccin una flecha debe de regresar y conectar justo entre el smbolo de decisin y el smbolo que se encuentra antes. Del camino falso sale una flecha que conecta con la siguiente instruccin a ejecutar cuando se salga del ciclo.
Inicio Variables: Resp : alfanumrica : trabajo = n Deseas ingresar al ciclo: Resp Resp == s Hola Deseas ingresar nuevamente al ciclo: Resp Gracias por usar este sistema fin F V // Ciclo hacer mientras... Ilustracin 15 . Diagrama de Flujo bsico del ciclo hacer mientras...
Ejemplo Un maestro necesita un sistema para capturar las calificaciones de 3 parciales de sus alumnos, despus recapturarlas necesita que se despliegue el promedio, cuando ya no quiera capturar ms alumnos, necesita que se despliegue el promedio general de todos los alumnos capturados. Paso I. Analizar el problema. Salidas Entrada Procesos prom_alum prom_gen par1 par2 par3 resp Cuando resp == s prom_alu = ( par1 + par2 par3 ) / 3 acum_prom = acum_prom + prom_alu total_alum = total_alum + 1 prom_gen = acum_prom / total_alum Paso II. Disear El algoritmo PSEUDOCDIGO
Pseudocdigo: calificaciones Variables: par1, par2, par3, prom_alum, prom_gen : reales : trabajo = 0 acum_prom : real : acumulador = 0 total_alum : entera : contador = 0 resp : alfanumrica = n 1. Inicio 2. Escribir deseas capturar calificaciones de un alumno: 3. Leer resp 4. Hacer mientras resp == s 1. Escribir primer parcial: 2. Leer par1 3. Escribir segundo parcial: 4. Leer par2 5. Escribir tercer parcial: 6. Leer par3 7. prom_alu = ( par1 + par2 par3 ) / 3 8. Escribir el promedio de este alumno es, prom_alum 9. acum_prom = acum_prom + prom_alu // acumula los promedios 10. total_alum = total_alum + 1 // lleva el conteo del total de alumnos 11. Escribir deseas capturar otro alumno: 12. Leer resp fin mientras 5. prom_gen = acum_prom / total_alum 6. Escribir Promedio general de los alumnos es:, prom_gen 7. Fin Inicio par1, par2, par3, prom_alum, prom_gen : reales : trabajo = 0 acum_prom : real : acumulador = 0 total_alum : entera : contador = 0 resp : alfanumrica = n Deseas capturar calificaciones de un alumno: resp resp == s primer parcial: Segundo parcial: tercer parcial: par1, par2, par3 Promedio general de los alumno es:, prom_gen fin F V // D.F. : Calificaciones prom_alu = ( par1 + par2 par3 ) / 3 acum_prom = acum_prom + prom_alu total_alum = total_alum + 1 el promedio de este alumno es, prom_alum Deseas capturar a otro alumno:
prom_gen = acum_prom / total_alum resp En el ejemplo anterior se utiliza un ciclo, debido a que se necesita repetir un mismo conjunto de instrucciones por cada alumno, adems se utiliza la estructura hacer mientras debido a que el total de estudiantes a capturar es indefinido. Adems se utilizaron variables del tipo acumulador y contador. Acum_prom, acumula los promedios y total_alum, lleva el conteo del nmero de alumnos.
Ejemplo Un supermercado dar un descuento del 10% a todos los clientes que el total de su compra supere los $1000, adems se necesita saber a cuanto ascendieron los ingresos del da. Paso I. Analizar el problema. Salidas Entrada Procesos Subtotal Ingresos subtotal mientras haya clientes capturar subtotal cuando subtotal > 1000 descuento = subtotal * .10 total = subtotal descuento en caso contrario total = subtotal ingresos = ingresos + total Paso II. Disear El algoritmo PSEUDOCDIGO
pseudocdigo: supermercado variables: total, subtotal, descuento, ingresos : reales = 0 resp : alfanumrico = n // si ya las sabe manejar no es necesario colocar el uso 1. Inicio 2. Escribir hay clientes en la tienda 3. Leer resp 4. Hacer mientras resp == s 1. Escribir cuanto compr el cliente? 2. Leer subtotal 3. Si subtotal > 1000 entonces 4.3.1 descuento = subtotal * 0.10 4.3.2 total = subtotal descuento si no 4.3.3 total = subtotal fin si 1. ingresos = ingresos + total 2. Escribir el total a pagar es:, total 3. Escribir Hay ms clientes en la tienda: 4. Leer resp fin mientras 1. Escribir ingresos:, ingresos 2. Fin INICIO FIN subtotal > 1000 descuento = subtotal * 0.10 total = subtotal descuento total = subtotal total, subtotal, descuento, ingresos : reales = 0 resp : alfanumrico = n Cuanto compr el cliente? subtotal V F ingresos:, ingresos // Diagrama de flujo: Supermercado Hay clientes: resp resp = s ingresos = ingresos + total total a pagar:,total Hay ms clientes: resp V F Ejercicios.
I. Disea un algoritmo utilizando las tres diferentes tcnicas para cada uno de los problemas que se te plantean. 1. Se necesita un sistema que lea los votos obtenidos por tres candidatos a presidente municipal en la ciudad de Orizaba y calcule e imprima al ganador, junto con el porcentaje obtenido de votos. 2. Se necesita un programa para calcular el factorial de un nmero dado, que corresponda a la frmula: N! = N*(N-1)*(N-2)* ... *(N-(N-1)) 3. Se necesita un sistema que despliegue un men con 4 opciones, si se presiona la opcin 1, se calcular el rea de un triangulo; si se presiona la opcin 2, se calcular el rea de un cuadrado; si se presiona la opcin 3, se calcular el rea de un circulo; si se presiona la opcin 4, ser la nica forma de salir del sistema. 4. Se necesita un sistema que pide una contrasea. Si la contrasea es igual a brete ssamo, se terminar el programa, de otra manera se seguir solicitando la contrasea. 5. Se necesita que sistema que calcula permetros y reas, para lo cual aparece un men con tres opciones (1. Permetros, 2. reas, 3. Salir) dentro de las primeras 2 opciones aparece otro men con 4 opciones (1. Triangulo, 2. Cuadrado, 3. Circulo, 4. Regresar). Dentro del cual solo se puede volver al men principal presionando la opcin 4.