TEMA: Taller
Diseñar un algoritmo que permita emitir la factura correspondiente, aplicandole el iva (16%) y si el precio es de la factura es mayor a 500 se le da un descuento del 15%.
Repaso para el acumulativo
1. Realizar un programa que le presente un menú al usuario con las siguientes opciones: lo desarrollan todos - 1. Leer dos números enteros positivos únicamente, 2. Sumar los dos números leídos, 3. Restarle al primer número el segundo (siempre y cuando el primero sea mayor que él segundo, en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal, 4. Multiplicar los dos números (siempre y cuando ninguno de los números sea igual a cero, , en caso contrario indicar con un mensaje que la operación no es posible realizarla y volver al menú principal,), 5. Dividir el primer número dado por el segundo, 6 Salir Nota: Se debe garantizar que el usuario haya ingresado los dos números antes de poder realizar cualquier operación y que no se puede escribir un resultado sin la realización de una operación.
| |
Solución: | |
Proceso sin_titulo numero1 = -1 numero2 = -1 ya_se_digito_los_numeros = "no" Repetir Escribir "" Escribir "****************************************************************" Escribir "* 1. Leer dos nœmeros enteros positivos œnicamente. *" Escribir "* 2. Sumar los dos nœmeros le'dos. *" Escribir "* 3. Restarle al primer nœmero el segundo. *" Escribir "* 4. Multiplicar los dos nœmeros. *" Escribir "* 5. Dividir el primer nœmero dado por el segundo. *" Escribir "* 6. Salir. *" Escribir "****************************************************************" Escribir "" Leer opciones Escribir "" Segun opciones Hacer 1: Escribir "" Escribir "1. Leer dos nœmeros enteros positivos œnicamente." Escribir "" Escribir "Digite el Primer Numero" Leer numero1 Escribir "Digite el Segundo Numero" Leer numero2 ya_se_digito_los_numeros = "no" Si numero1 > 0 Entonces Si numero2 > 0 Entonces ya_se_digito_los_numeros = "si" Sino numero1 = -1 numero2 = -1 Escribir "Hace falta digitar un numero entero Positivo en el Segundo Valor" Fin Si Sino numero1 = -1 numero2 = -1 Escribir "Hace falta digitar un numero entero Positivo en el Primer Valor" Fin Si 2: Escribir "" Escribir "2. Sumar los dos nœmeros le'dos." Escribir "" Si ya_se_digito_los_numeros = "si" Entonces Escribir "Suma de los dos numeros = ( " numero1 " + " numero2 " = " ( numero1 + numero2 ) " )" Sino Escribir "" Escribir "****************************************************************" Escribir "* Hace falta digitar los dos numeros *" Escribir "****************************************************************" Escribir "" Fin Si 3: Escribir "" Escribir "3. Restarle al primer nœmero el segundo." Escribir "" Si ya_se_digito_los_numeros = "si" Entonces Si numero1 > numero2 Entonces Escribir "Resta de los dos numeros = ( " numero1 " - " numero2 " = " ( numero1 - numero2 ) " )" Sino Escribir "La operaci—n no es posible realizarla." Fin Si Sino Escribir "" Escribir "****************************************************************" Escribir "* Hace falta digitar los dos numeros *" Escribir "****************************************************************" Escribir "" Fin Si 4: Escribir "" Escribir "4. Multiplicar los dos nœmeros." Escribir "" Si ya_se_digito_los_numeros = "si" Entonces Si numero1 > 0 Entonces Si numero2 > 0 Entonces Escribir "Multiplicacion de los dos numeros = ( " numero1 " * " numero2 " = " ( numero1 * numero2 ) " )" Sino Escribir "No se puede Multiplicar porque el Segundo Numero es Cero." Fin Si Sino Escribir "No se puede Multiplicar porque el Primer Numero es Cero." Fin Si Sino Escribir "" Escribir "****************************************************************" Escribir "* Hace falta digitar los dos numeros *" Escribir "****************************************************************" Escribir "" Fin Si 5: Escribir "" Escribir "5. Dividir el primer nœmero dado por el segundo." Escribir "" Si ya_se_digito_los_numeros = "si" Entonces Si numero2 <> 0 Entonces Escribir "Division de los dos numeros = ( " numero1 " / " numero2 " = " ( numero1 / numero2 ) " )" Sino Escribir "No se puede Dividir porque el Segundo Numero es Cero." Fin Si Sino Escribir "" Escribir "****************************************************************" Escribir "* Hace falta digitar los dos numeros *" Escribir "****************************************************************" Escribir "" Fin Si 6: Escribir "" Escribir "****************************************************************" Escribir "* HASTA LUEGO. *" Escribir "****************************************************************" Escribir "" De Otro Modo: Escribir "" Escribir "****************************************************************" Escribir "* Opcion No VALIDA. *" Escribir "****************************************************************" Escribir "" Fin Segun Hasta Que opciones = 6 FinProceso | |
2. Desarrollar un algoritmos que permita realizar la sumatoria de los primeros 100 números utilizando los 3 ciclos (para, repita, mientras) | |
Solución: | |
Proceso sin_titulo cantidad_de_numeros = 100 suma = 0 Para i<-0 Hasta cantidad_de_numeros Con Paso 1 Hacer suma = suma + i Fin Para Escribir "" Escribir "CICLO FOR -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma Escribir "" suma = 0 i = 0 Repetir i = i + 1 suma = suma + i Hasta Que i > ( cantidad_de_numeros - 1) Escribir "" Escribir "CICLO REPETIR HASTA -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma Escribir "" suma = 0 i = 0 Mientras i < cantidad_de_numeros Hacer i = i + 1 suma = suma + i Fin Mientras Escribir "" Escribir "CICLO HACER MIENTRAS -> Sumatoria de los primeros " cantidad_de_numeros " es = " suma Escribir "" FinProceso | |
3. Cree un algoritmo que capture un mes en números y el software muestre un mensaje que indique cuantos días tiene ese mes. Ejemplo: si se digita "07", el algoritmo debe mostrar "Julio, tiene treinta un días". El algoritmo debe también advertir que si se trata de febrero tiene 28 días, pero si el año fuera bisiesto tendría 29. | |
Solución: | |
Proceso sin_titulo Dimension mes[12] mes[1]='Enero' mes[2]='Febrero' mes[3]='Marzo' mes[4]='Abril' mes[5]='Mayo' mes[6]='Junio' mes[7]='Julio' mes[8]='Agosto' mes[9]='Septiembre' mes[10]='Octubre' mes[11]='Noviembre' mes[11]='Diciembre' Escribir "Digite un numero entre 1 y 12" Leer n es_bisiesto = "" Si (n>=1) && (n<=12) Entonces Segun n Hacer 1, 3, 5, 7, 8, 10, 12: maximo_dia_mes = 31 2: maximo_dia_mes = 28 es_bisiesto = ", pero si fuera A–o Bisiesto tendria 29 dias." 4, 6, 9, 11 : maximo_dia_mes = 30 Fin Segun Escribir mes[n] " tiene " maximo_dia_mes " dias " es_bisiesto Sino Escribir "Debe digitar un valor de mes entre 1 y 12" Fin Si FinProceso | |
4. Se requiere que solo con la utilización de ciclos y condicionales, usted pueda convertir un número decimal < a 5000 a número Romano. | |
Solución: | |
Proceso sin_titulo Escribir "Digite un numero entre 1 y 5000" Leer decimal Si (decimal>=1) && (decimal<=5000) Entonces Escribir "********* Conversion a Romano *********" Dimension unidad[10] DImension decenas[10] Dimension centenas[10] Dimension miles[6] unidad[1]='' unidad[2]='I' unidad[3]='II' unidad[4]='III' unidad[5]='IV' unidad[6]='V' unidad[7]='VI' unidad[8]='VII' unidad[9]='VIII' unidad[10]='IX' decenas[1]='' decenas[2]='X' decenas[3]='XX' decenas[4]='XXX' decenas[5]='XL' decenas[6]='L' decenas[7]='LX' decenas[8]='LXX' decenas[9]='LXXX' decenas[10]='XC' centenas[1]='' centenas[2]='C' centenas[3]='CC' centenas[4]='CCC' centenas[5]='CD' centenas[6]='D' centenas[7]='DC' centenas[8]='DCC' centenas[9]='DCCC' centenas[10]='CM' miles[1]='' miles[2]='M' miles[3]='MM' miles[4]='MMM' miles[5]='[IV]' miles[6]='[V]' miles_= trunc(decimal/1000) MOD 10 centenas_= trunc(decimal/100) MOD 10 decenas_= trunc(decimal/10) MOD 10 unidades_= decimal MOD 10 Escribir miles[miles_+1] centenas[centenas_+1] decenas[decenas_+1] unidad[unidades_+1] Sino Escribir "Lo siento solo sirve la conversion entre numeros de 1 a 5000" Fin Si FinProceso |
No hay comentarios.:
Publicar un comentario