Вы находитесь на странице: 1из 14

Ciencias de la Computacin I - 2013

03 ALGORITMOS

Antes de comenzar a escribir en algn lenguaje de programacin, es importante entender que para poder escribir un programa que haga exactamente lo que se quiere, es necesario pensar primero en el algoritmo adecuado para resolver el problema. Anteriormente se defini un algoritmo como un conjunto o set de pasos a seguir para resolver un problema, y es precisamente por esto que se emplea tanto en programacin. Un buen programador, no importando que tan fcil sea el problema que se le presente, debera escribir el algoritmo y probarlo, antes de pasarlo a cdigo (traducirlo a un lenguaje de programacin). Existe una definicin un poco ms formal para un algoritmo la cual esta escrita en ingles para no quitarle el significado: La palabra algoritmo o algorithm viene de Al Kho-war-iz-mi un matemtico persa. La definicin es: An algorithm is an ordered sequence of unambiguous and well-define instructions that performs some task and halts in finite time. Para entender mejor esta definicin separaremos los trminos que se encuentran en ella: ordered sequence (secuencia ordenada): el algoritmo esta descrito por una secuencia ordenada de instrucciones o pasos, y estos pueden ser numerados secuencialmente en el orden en que se desee ejecutarlos. unambiguous and well-define instructions (instrucciones no ambiguas y bien definidas), significa que cada instruccin es clara, y puede ser ejecutada sin dificultad. Cada instruccin en el algoritmo debe estar escrita de tal forma que no exista duda de lo que se debe hacer y no de paso a diferentes interpretaciones. performs some task (realiza alguna tarea), no necesita mas explicacin, el algoritmo tiene que realizar alguna tarea, llegar a algn lugar, devolver algn resultado, hacer algo. halts in finite time (para en un tiempo finito), el algoritmo termina.

Entender y recordar estas caractersticas nos ayudar a escribir mejores algoritmos. CATEGORIAS DE OPERADORES ALGORITMICOS En un algortmo, las operaciones estn ordenadas de tal forma que existe una primera instruccin, una segunda instruccin, y as sucesivamente en un orden secuencial. Sin embargo, esto no es suficiente. Un algoritmo debe tener la habilidad de alterar el orden de sus instrucciones, o mejor dicho el orden en el que stas deben ser

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 ejecutadas. Una instruccin u operacin en el algoritmo que altera el orden de ejecucin de instrucciones en el mismo se llama estructura de control. Existen tres categoras principales de operaciones algortmicas: 1. Operaciones Secunciales: Las instrucciones son ejecutadas en el orden en que fueron escritas. Es una ejecucin secuencial o lineal. Esto quiere decir que si las instrucciones estn escritas de esta forma: 1. instruccion1 2. instruccion2 3. instruccion3 . N. instruccin Estas instrucciones se ejecutaran en ese orden: primero la instruccion1, despus la intruccion2 y hace sucesivamente. Ejemplo: Supongamos que uno de sus compaeros en el laboratorio le pide que le enumere los pasos a seguir para crear un archivo .zip conteniendo todos los archivos que deben entregar. Usted le enumera los pasos escribiendo el algoritmo de la siguiente forma: 1. 2. 3. 4. 5. 6. 7. Inicio Crear un flder o carpeta llamado Lab Mover todos los archivos que se quieren comprimir a dicho flder o carpeta. Hacer clic derecho sobre la carpeta Seleccionar enviar a Dentro de enviar a seleccionar carpeta comprimida(zip) Fin.

Por la forma en que estn descritos estos pasos, el orden en que deben ser ejecutados es secuencial, es decir que primero se ejecuta la primera instruccin, luego la segunda, y asi. Si se alterara el orden en que se ejecutan estos pasos, dicha ejecucin no dara el mismo resultado. 2. Operaciones Condicionales: Una operacin condicional es una estructura de control que hace una pregunta de verdadero o falso (evala una condicin) y selecciona la siguiente o siguientes instrucciones a ejecutar dependiendo de la respuesta a dicha pregunta.

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 Como ya se haba mencionado antes, en algn momento dentro de nuestro algoritmo, va a ser necesario que cambiemos el flujo de ejecucin de las instrucciones, es decir el orden en que las instrucciones sern ejecutadas. Muchas veces tenemos que tomar una decisin en cuanto a que hacemos (ejecutamos) basndonos en la respuesta a una pregunta de verdadero o falso (condicin). La ejecucin de las instrucciones que incluyen una estructura de control como el condicional funciona de esta manera: Instruccion1 Instruccion2 Instruccion3 . InstruccionN verdadero InstruccionA1 InstruccionA2 . InstruccionAN falso InstruccionB1 InstruccionB2 . InstruccionBN

condicin (decide que camino tomar)

InstruccionN+1 instruccinN+2 Las instrucciones comienzan a ejecutarse de forma secuencial (en orden), y cuando se llega a una estructura de condicional, la cual esta siempre asociada a una condicin, se decide que camino tomar dependiendo del resultado de dicha condicin (verdadero o falso). Cuando se termina de ejecutar el bloc de instrucciones asociado al valor de la condicin, se reanuda la ejecucin en la instruccin siguiente a la del condicional. Es importante saber que para una estructura de control condicional pueden existir ms caminos que elegir, no solo dos. Esto se da, si se tienen ms casos u opciones, o por decirlo as, mas condiciones. En el caso bsico en donde el condicional solo presenta una condicin y dos caminos a seguir, la parte a ejecutar cuando la condicin es verdadera se llama consecuencia, y cuando es falsa, alternativa. Un ejemplo del uso de esta estructura de control seria el siguiente: Usted le dice a un empleado que vaya a hacer un depsito al banco y le da el siguiente algoritmo escrito en un papel: 1. Inicio 2. Dirigirse a la agencia ms cercana. 3. Entrar al banco

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 4. Analizar colas en las cajas. 5. Si hay mucha gente en todas las colas entonces a. Salir del banco b. Regresar al trabajo 6. Sino a. Buscar la cola mas vaca b. Encolarse en esa cola c. Hacer el deposito d. Salir del banco e. Regresar al trabajo. 7. Fin La estructura de control empieza en la instruccin 4, en donde se plantea una pregunta (hay mucha gente en todas las colas?) para la cual existir una respuesta verdadero o falso que depende del momento en que el trabajador la evalu. Dependiendo del resultado o respuesta a esta pregunta se ejecutaran las subinstrucciones bajo la instruccin 5 (si la respuesta es verdadera) o bajo la instruccin 6 (si la respuesta es falsa). 3. Operaciones Iterativas (ciclos): Una operacin iterativa es una estructura de control que repite la ejecucin de un bloc de instrucciones. En algunos algoritmos, es necesaria la ejecucin repetida de un cierto bloc de instrucciones, es decir que se deben ejecutar los mismos pasos una y otra vez. Podramos resolver este problema rescribiendo el mismo bloc de instrucciones la cantidad de veces que se deban repetir, pero esto, aunque nos lleve al resultado deseado, resulta ser muy ineficiente, sobretodo cuando el numero de instrucciones a repetir es muy grande. Las operaciones iterativas trabajan como una estructura que controla la ejecucin repetida de dichas instrucciones, regresando a ejecutar el mismo bloc una y otra vez, y permitindonos as tener que escribir dichas instrucciones una sola vez. Generalmente, estn asociadas a una condicin (algo que es verdadero o falso) la cual indicara cuando debe dejarse de repetir la ejecucin. Si la condicin es verdadera se vuelve a repetir la ejecucin del bloc de instrucciones, sino, se para la repeticin y se reanuda en la siguiente instruccin despus de la estructura de iteracin. 1. Instruccin1 2. Instruccion2 3. Instruccion3 .

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 N. Iteracin: InstruccionN1 InstruccinN2 InstruccionN3 .

Este block de instrucciones se ejecutara hasta que la condicin asociada sea falsa.

N+1. InstruccinN+1

(cuando la iteracin para, se reanuda la ejecucin secuencial del programa)

Un caso en el que es necesaria una estructura de control para modificar el orden de la ejecucin de los programas es la solucin al problema siguiente: Suponga que uno de sus empleados le pregunta que es exactamente lo que tiene que hacer durante sus horas de trabajo. Usted le muestra unas cajas y le dice que lo que tiene que hacer es trasladar las cajas una por una al otro lado del cuarto, y eso debe hacerlo hasta que llegue su hora de salida o hasta que se le acaben las cajas. Entonces escribe el algoritmo de esta forma: 1. Inicio 2. Mientras que no llegue su hora de salida y no se acaben las cajas haga: a. Levante una caja b. Crguela hasta llegar al fondo del cuarto c. Coloque la caja en su lugar d. Regrese al punto de partida e. Revise la hora y el nmero de cajas. 3. Fin Ntese que denotamos nuestra estructura de control utilizando la palabra mientras. Asociamos a dicha estructura una condicin que evaluara si llego la hora de salida o se terminaron las cajas. Mientras que esto no pase, el ejecutor del algoritmo deber ejecutar las sub-instrucciones escritas bajo la instruccin 2, una y otra vez. Este es un buen ejemplo de cmo, utilizando una estructura de control como esta, iterativa, nos ahorramos cdigo. Otra forma de mostrar iteratividad en el algoritmo seria la siguiente: 1. 2. 3. 4. 5. Inicio Levante una caja Crguela hasta llegar al fondo del cuarto Coloque la caja en su lugar Regrese al punto de partida

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 6. Revise la hora y el nmero de cajas. 7. Si no ha llegado la hora de salida y las cajas no se han terminado entonces a. Regresar a paso 2 8. Sino a. Ir al paso 9 9. Fin Notemos que ac, lo que utilizamos es un condicional, el cual nos regresa al punto inicial o nos lleva al final dependiendo de la condicin dada. De esta forma, el lector o ejecutor de nuestro algoritmo, es forzado a ejecutar repetidamente el bloc de instrucciones necesario mostrando iteracin (repeticin). COMO REPRESENTAMOS UN ALGORITMO? Ya que estaremos escribiendo algoritmos que tendrn como objetivo ser traducidos a un programa de computadora, es importante saber la forma en que los deberamos representar o la forma en que no los deberamos representar. En un principio podemos pensar en dos formas para representar o escribir un algoritmo: 1. Utilizando lenguajes naturales Podemos pensar en utilizar nuestro lenguaje natural para describir cada uno de los pasos a seguir en nuestro algoritmo, sin embargo podemos encontrarnos con algunas desventajas: o o o Ambigedad: Las instrucciones pueden estar abiertas a dos o ms interpretaciones. demasiado verbal: Las instrucciones pueden tener muchas palabras innecesarias. demasiado sensible al contexto: depende mucho en la experiencia con el lenguaje del lector o ejecutor del algoritmo. Esto quiere decir que en para algunos lectores algunas palabras significan otra cosa dado la experiencia que han tenido con ella.

2. Utilizando lenguajes de programacin formales: Ya que escribir nuestro algoritmo en lenguaje natural puede no dejarnos cumplir con las caractersticas principales de un algoritmo, tambin podemos pensar en irnos del otro lado y escribir nuestro algoritmo en algn lenguaje de programacin formal, pero esto tambin puede traernos algunas desventajas: o o bajamos mucho de nivel, es decir, estamos muy cerca del lenguaje que entiende la computadora, y muy lejos del lenguaje que nosotros entendemos Requiere que manejemos la sintaxis complicada de un lenguaje de programacin, y que cualquiera que lo lea, pueda entenderla.

Podemos escribir algoritmos de muchas formas, pero hay una herramienta o lenguaje especial para escribir algoritmos enfocados a programacin llamado pseudo-

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 cdigo. El pseudo-cdigo se puede definir como una descripcin detallada y legible de que debe hacer un algoritmo o un programa de computacin, que utiliza las convenciones estructurales de los lenguajes de computacin, pero emite detalles (sintaxis especfica de los lenguajes). Es tambin, una simple lista numerada de instrucciones para realizar una tarea y existen tres reglas que nos pueden ayudar a escribir buen pseudo-cdigo: 1. Numerar cada instruccin, lo cual nos servir para reforzar la nocin de secuencia ordenada de operaciones. En el caso de sub-instrucciones pertenecientes a las operaciones condicionales e iterativas, agregaremos un punto en la numeracin, si es necesario. 2. Cada instruccin debe ser no ambigua (el agente ejecutor de la instruccin, en este caso el lector, debe de ser capaz de entender exactamente que se quiere hacer con la instruccin) y eficazmente computable. 3. El algoritmo debe de ser completo, es decir que dentro de el se deben tomar en cuanta todas las posibilidades o todo lo que puede pasar. Es mucho ms fcil entender pseudo-cdigo analizando ejemplos. Cada uno de los ejemplos a continuacin muestra una de las estructuras de control utilizada en los algoritmos: operaciones secuenciales, operaciones condicionales y operaciones iterativas. EJEMPLO 1 Calculando Impuesto de Ventas Como primer ejemplo se nos pide que escribamos un algoritmo pseudo-cdigo que calcule el precio final de un producto aplicndole el impuesto sobre ventas. Los tres tipos de instrucciones a introducir en este ejemplo son: input (GET), asignar/calcular (), y output (PUT). Tambin utilizaremos BEGIN y END para representar el comienzo o final de un algoritmo. 1. 2. 3. 4. 5. 6. 7. BEGIN GET precio_producto GET tasa_impuesto impuesto precio_producto * tasa_impuesto precio_final precio_producto + impuesto PUT precion_final END

Note que las operaciones (instrucciones) estn numeradas y cada una de ellas es no ambigua y efectivamente computable. Se utiliza GET como una representacin de input hacia el algoritmo, lo que nos permite no especificar en que forma se har dicho input. A la hora de que este algoritmo se traduzca a un lenguaje de programacin, el traductor (o programador) decidir como obtener la informacin. De la misma forma utilizamos PUT para indicar un output, sin especificar.

andreaq@galileo.edu

Ciencias de la Computacin I - 2013

Utilizamos nombres para representar valores aun no conocidos. Un ejemplo es precio_producto el cual representa el precio del producto, cuyo valor no sabemos especficamente, pero al ejecutar el algoritmo, esta palabra tomara un valor. Tambin utilizamos nombres para representar el resultado de alguna operacin, como es el caso de precio_final. El smbolo () representa asignacin: operamos la multiplicacin, y le asignamos un nombre. Mas adelante vamos a ver que a estos nombres se les llaman variables. EJEMPLO 2 - Calculando sueldos semanales La ganancia de un empleado depende las horas trabajadas por semana y la tasa de pago por hora. Sin embargo, si se trabajan ms de 40 horas a la semana, se gana, por cada hora extra, lo que se ganara por una hora y media. Bsicamente lo que se tiene que hacer es un algoritmo en pseudo-codigo que calcule el sueldo semanal dado la tasa de pago por hora, y las horas trabajadas. 1. 2. 3. 4. 5. 6. 7. 8. BEGIN GET horas_trabajadas GET pagoxhora IF horas_trabajadas <= 40 THEN 4.1 sueldo pagoxhora X horas_trabajadas ELSE 5.1 sueldo (pagoxhora X 40) + (1.5 X pagoxhora X (horas_trabajadas 40) END IF DISPLAY sueldo END

Este ejemplo introduce la estructura de control condicional. Basndose en una pregunta de respuesta verdadero o falso (condicin) hecha en la lnea 4, se ejecuta: la lnea 4.1 si la respuesta es verdadera; de lo contrario, si la respuesta es falsa, se ejecuta las lneas dentro de la clusula 5, en este caso la lnea 5.1. En ambos casos se contina la ejecucin del cdigo en la lnea 6, en donde termina la estructura con un END IF, y luego se ejecuta la instruccin 7. La sintaxis de la operacin de control de IF es IF condicion THEN . consecuencia ELSE alternativa END IF

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 Es importante mencionar que dentro de un condicional no es necesario tener una alternativa (set de instrucciones que se ejecuta si la condicin es falsa). Si no hay nada que ejecutar en el caso de que la condicin se haga falsa, no es necesario escribir la parte ELSE dentro del condicional. IF condicin THEN . consecuencia END IF Si en dado caso tenemos otras condiciones, es decir, otros casos (caminos), la sintaxis seria de esta forma IF condicion1 THEN . ELSE IF condicion2 THEN . ELSE IF condicion3 THEN .. ELSE . END IF De tal forma que si la condicion1 es verdadera, ejecutara solo las sub-instrucciones de ese paso; si la condicion1 es falsa, se va a evaluar la condicion2, si es verdadera ejecuta las subinstrucciones de ese paso, sino va a ver la condicion3 as sucesivamente hasta que no se cumpla ninguna condicin asociada con un IF y se ejecuten las sub-instrucciones del ELSE. Los IFs escritos de esta forma se les llama IFs encadenados. Si en dado caso, necesitamos poner un IF inmediatamente dentro de la consecuencia de otro IF, lo podemos hacer de esta forma: IF condicion1 THEN IF condicion2 THEN ELSE END IF ELSE END IF A estos IFs dentro del consecuente se les llama IFs anidados.

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 EJEMPLO 3 Calculando promedio de un grupo de quizes. Para este ejemplo se nos requiere hacer un algoritmo que calcule el promedio de un grupo de quizes. Los valores de entrada (input) que se nos proveen son : el nmero de quizes, y las notas de cada uno. 1. 2. 3. 4. 5. BEGIN GET numero_quizes suma 0 (representa la suma acumulada de los quizes) contador 0 (representa cuantos quizes vamos contando) WHILE contador < numero_quizes DO 5.1 GET nota_quiz 5.2 suma suma + nota_quiz 5.3 contador contador + 1 END WHILE 6. promedio suma / numero_quizes 7. PUT promedio 8. END Este ejemplo introduce la clusula de control iterativa. Mientras la condicin en la lnea 5 sea verdadera, se ejecutan las sub-instrucciones de la misma, es decir las lneas de la 5.1 a la 5.3. se ejecutan repetidamente. Cuando la condicin se hace falsa, se reanuda la ejecucin en la lnea 6 donde se indica la terminacin de la estructura de control con un END WHILE y luego se sigue ejecutando desde la instruccin 6. En pseudo-codigo hay varias formas de representar una estructura de control iterativa. En el ejemplo se utilizo un WHILE, el cual utilizamos para decir Mientras esta condicin se cumpla, siga iterando. Para este caso, la condicin que se escribe despus de la palabra WHILE es la condicin que queremos que se cumpla para seguir iterando o repitiendo. Aparte del WHILE podemos utilizar un REPEAT. El REPEAT se utiliza cuando estamos diciendo Repita .. hasta que se cumpla esta condicin. En este caso, la condicin asociada a la estructura iterativa debe ser la condicin que queremos que se cumpla para que pare de iterar, es decir, para que termine la repeticin. El mismo ejemplo utilizando un REPEAT se vera de la siguiente forma: 1. 2. 3. 4. 5. BEGIN GET numero_quizes suma 0 contador 0 REPEAT 5.1. GET nota_quiz 5.2. suma suma + nota_quiz 5.3. contador contador + 1 UNTIL contador = numero_quizes (condicin para parar de iterar) 6. promedio suma / numero_quizes 7. PUT promedio 8. END

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 A parte del REPEAT y WHILE, tambien tenemos una estructura de control iterativa que trabaja un poco diferente, el FOR. El FOR en un algoritmo se utiliza generalmente cuando podemos contar las veces que vamos a iterar, o cuando tenemos consciencia de cuantas veces debemos repetir la ejecucion de las instrucciones. Cuando la estructura haya iterado ese nmero de veces, entonces va a parar. En el caso de este ejemplo, se puede utilizar un FOR, porque sabemos que el numero de examenes a leer es numero_quizes, entonces de cierta forma podemos tener el contador contando desde 1 hasta numero_quizes. 1. 2. 3. 4. BEGIN GET numero_quizes suma 0 FOR contador 1 TO numero_quizes DO 4.1. GET nota_quiz 4.2. suma suma + nota_quiz 4.3. contador contador + 1 END FOR 5. promedio suma / numero_quizes 6. PUT promedio 7. STOP El FOR se puede interpretar como PARA el contador igual a 1 hasta numero_quizes haga Con esta estructura, la iteracion se para el contador empezando desde 1 hasta que llegue a numero_quizes. No se especifica la condicion porque esta implicita, el FOR va a parar de iterar cuando el contador se pase de numero_quizes, o sea mayor al numero de quizes.

EJEMPLOS EJEMPLO 1 Escriba un algoritmo en pseudo-cdigo que dados 3 nmeros saque el promedio de los mismos Para este caso, lo nico que hay que hacer es obtener los tres nmeros: GET numero1 GET numero2 GET numero3 Despus, sumarlos y asociar (asignarle) el total a una variable: suma numero1 + numero2 + numero3 Despus de esto sacamos el promedio dividiendo dentro de 3 promedio suma / 3

andreaq@galileo.edu

Ciencias de la Computacin I - 2013

y despus desplegar el resultado obtenido: DISPLAY promedio De tal forma que nuestro algoritmo queda asi: 1. 2. 3. 4. 5. 6. 7. 8. BEGIN GET numero1 GET numero2 GET numero3 suma numero1 + numero2 + numero3 promedio suma / 3 DISPLAY promedio END

EJEMPLO 2 Escriba un algoritmo en pseudo-cdigo que dado una calificacin, haga los siguiente: si la calificacin esta arriba de 61 despliegue Usted gano!, si la calificacin es 61 despliegue Casi pierde! y si es menor que 61 Usted perdi!. En este caso es necesario utilizar una operacin de control, ya que debemos hacer diferentes cosas para 3 diferentes casos en los que se pueda encontrar la calificacin. Lo primero que hacemos es obtener la calificacin: GET calificacin Despus, utilizaremos una operacin de control para tomar un camino determinado dependiendo de las condiciones dadas, (1) Calificacin mayor a 61, (2) Calificacin igual a 61, o (3) Calificacin menor que 61. Solo tendremos que escribir dos operaciones IF, ya que si no se cumplen las condiciones (1) y (2), definitivamente se cumple la (3). IF ( calificacin > 61 ) DISPLAY Usted gano! ELSE IF ( calificacin = 61) DISPLAY Casi pierde! ELSE DISPLAY Usted perdi! END IF De tal forma que nuestro algoritmo completo quedara as: 1. BEGIN 2. GET calificacin 3. IF ( calificacin > 61 ) 3.1 DISPLAY Usted gano!

andreaq@galileo.edu

Ciencias de la Computacin I - 2013 4. ELSE IF ( calificacin = 61) 4.1 DISPLAY Casi pierde! 5. ELSE 5.1 DISPLAY Usted perdi! 6. END IF 7. END EJEMPLO 3 Escriba un algoritmo que dado 20 nmeros, calcule la suma entre los mismos y la despliegue. Adems, cada vez que se sume un nmero se debe desplegar la suma acumulada hasta el momento. En este caso no tenemos que obtener el total de nmeros a sumar, ya que sabemos que es 20. Lo primero que tenemos que hacer es asignar un nombre a la variable que va a llevar la cuenta de cuantos nmeros hemos sumado. Dado que al empezar la ejecucin del algoritmo no se ha sumado nada, este contador comienza con un valor de 0. contador 0 Adems de eso, tenemos que definir algo en donde ir guardando la suma acumulada. Como al empezar la ejecucin no hemos sumado nada entonces ese valor tambin es 0. suma 0 Ya con esto ya podemos empezar a sumar los nmeros. Esto lo hacemos con un ciclo ya que son instrucciones que se tienen que repetir 20 veces, es mas fcil escribir una operacin iterativa, que escribir 20 veces las mismas instrucciones. A la hora de que se escriba una operacin iterativa siempre se tiene que tener claro que es lo que se va a repetir. En este caso las instrucciones a repetir son: GET numero suma suma + numero DISPLAY suma contador contador + 1 Es decir, obtenemos el valor del n-esimo nmero (donde n es igual al contador+1), lo agregamos a la suma acumulada, desplegamos la suma, como se nos pide, e incrementamos el contador. Estas instrucciones deben repetirse mientras el contador sea menor que 20, ya que cuando llega a 20 quiere decir que ya sumamos los 20 nmeros. Despus desplegamos la suma total DISPLAY suma El algoritmo completo quedara as:

andreaq@galileo.edu

Ciencias de la Computacin I - 2013

BEGIN contador 0 suma 0 WHILE contador <= 20 DO 4.1 GET numero 4.2 suma suma + numero 4.3 DISPLAY suma 4.4 contador contador + 1 END WHILE 5. DISPLAY SUMA 6. END 1. 2. 3. 4.

EJERCICIOS 1. Escriba un algoritmo en pseudo-cdigo que dado los dos lados de un triangulo rectngulo determina la hipotenusa del mismo 2. Escriba un algoritmo en pseudo-cdigo que dado el rea de un circulo calcule su permetro y el volumen de una esfera con el mismo radio. 3. Escriba un algoritmo en pseudo-cdigo que encuentre el total a pagar por una persona en un almacn de ropa, dado el total de consumo y la tasa de impuesto. Tomando en cuenta que, si la persona tiene un total de consumo mayor a Q500 se le hace un 5% de descuento; mayor a Q1000 se le hace un 10% y Q1500 un 15%. 4. Escriba un algoritmo en pseudo-cdigo que dado un ao encuentre si es bisiesto o no. 5. Escriba un algoritmo en pseudo-cdigo que lea un nmero y despliegue su cuadrado. El algoritmo tiene que hacer esto repetidamente hasta que el numero ledo sea 0. 6. Escriba un algoritmo en pseudo-cdigo que dado un numero n, despliegue los nmeros desde 1 hasta el numero n

andreaq@galileo.edu

Вам также может понравиться