1. DESARROLLO DE PRACTICA CONDICIONAL NIVEL I<br />1.- Dada la siguiente expresión:<br /> R = raíz cuadrada [(a)2 – (b)2] <br />Elabore un algoritmo que muestre un mensaje cuando no tiene una solución real. <br />ANÁLISIS: VISUALIZACIÓN:<br />Especificación EntradaDatoVariableTipoValor de aarealValor de bbreal<br />EXPRESIÓNIngrese el valor de a: Ingrese el valor de b: El resultado es: (a)Calcular(b)(R)<br />Variables InternasDatoVariableTipoValor de DDreal<br />Especificación SalidasDatoVariableTipoResultadoRreal<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ Expresióna, b, D, R: realInicio Leer (a, b) D = (a^2) – (b^2) Si (D >=0) entonces R = raíz cuadrada (D) Escribir (R) Sino Escribir (“No tiene solución real”) Fin_ siFin <br />2.- Elaborar un algoritmo que permita resolver una ecuación de primer grado de la forma: A x +B =0. <br />ANÁLISIS: VISUALIZACIÓN:<br />Especificación EntradaDatoVariableTipo1° coeficienteAreal2° coeficienteBreal<br />ECUACIÓN DE PRIMER GRADOIngrese el primer coeficiente: Ingrese el segundo coeficiente: La raíz de la ecuación es: (A)Calcular(B)(X)<br />Especificación SalidasDatoVariableTipoRaízxreal<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ Ecuación de Primer GradoA, B, x: realInicio Leer (A, B) Si (A = 0) entonces Escribir (“No tiene solución”) Sino X = - B/A Escribir (x) Fin_ siFin <br />3.-Escribir un algoritmo para resolver una ecuación de segundo grado de la forma: <br />A x² + B x + C = 0<br /> ANÁLISIS: PSEUDOCÓDIGO: <br />Algoritmo_ Ecuación de segundo gradoA, B, C, D, R, Y, XP, XS: realInicio Leer (A, B, C) Si (A<>0) entonces D = (B^2) – (4 * A * C) Si (D>=0) entonces XP =( -B – (D^1/2))/2*A XS = ( -B + (D^1/2))/2*A Escribir (XP,XS) Sino R = ((-D)^1/2)/(2*A) Y = - B/ (2 *A) Escribir (Y, “-”, R, “i”) Escribir (Y, “+”, R, “i”)) Fin_ si Sino Si (B<>0) entonces XP = - C / B Escribir (XP) Sino Escribir (“No tiene solución”) Fin_ si Fin_ siFin <br />Especificación EntradaDatoVariableTipo1° CoeficienteAreal2° CoeficienteBreal3° CoeficienteCreal<br />Variables InternasDatoVariableTipoDiscriminanteDrealValor de YYRealValor de RRreal<br />Especificación SalidasDatoVariableTipoPrimera raízXPrealSegunda raízXSreal<br />VISUALIZACIÓN:<br />ECUACIÓN DE SEGUNDO GRADOIngrese el coeficiente del término cuadrático: Ingrese el coeficiente del término con X:Ingrese el término independiente es: La primera Raíz es:La segunda Raíz es:El resultado es: (A)Calcular(B)(C)(XP)(XS)<br />DIAGRAMA DE FLUJO: <br />4.- Se desea ingresar un número por teclado y determinar si es par o impar.<br />ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoNumeroaentero<br />Algoritmo_ numero impar o parA, D: enteroPr, Pa: carácterPr = “primo”Pa = “par”Inicio Leer (a) Si (a>0) entonces D = a mod 2 Si (D=0) entonces Escribir (Pa) Sino Escribir (Pr) Fin_si Sino Escribir (“Ingrese un numero positivo”) Fin_siFin <br />Variables InternasDatoVariableTipoValor DDreal<br />Especificación SalidasDatoVariableTipoNumero primoPrcaracterNumero parPacaracter<br />VISUALIZACIÓN:<br />NUMERO ES PAR O IMPARIngrese un número: El número es: (a)Calcular( )<br />DIAGRAMA DE FLUJO:<br />5.- Escribir algoritmo que simule una calculadora con cuatro operaciones básicas (suma +, resta -, multiplicación * y división /”. El usuario ingresará un número, el operador y el segundo número y a continuación se visualizará el resultado.<br />Algoritmo_ Calculadora BásicaA, B, O: realO: enteroInicio Leer (A, B, O) Si (O=1) entonces R = A + B Sino Si (O=2) entonces R = A - B Sino Si (O = 3) entonces R = A * B Sino Si (O = 4) entonces Si (B<>0) entonces R = A / B Sino Escribir (“El valor de B debe ser diferente de cero”)Fin_ siSino Escribir (“Operador no definido”)Fin_ siFin _si Fin_ si Fin_ si Escribir (R)Fin ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoPrimer NumeroARealSegundo NumeroBRealOperadorOReal<br />Especificación SalidasDatoVariableTipoResultado Rentero<br />VISUALIZACIÓN:<br />CALCULADORA BÁSICAIngrese el primer número:Ingrese el segundo número:Operadores disponibles: 1) Operador suma 2) Operador resta 3) Operador de multiplicar 4) Operador de divisiónIngresa el número del operador elegido:El resultado es: (A)Calcular(B)<br />(O)<br />DIAGRAMA DE FLUJO:<br />6.- Escribir un algoritmo que permita el ingreso de 02 números y determine cual es el mayor y cual es el menor de ellos.<br />ANÁLISIS: VISUALIZACIÓN:<br />Especificación EntradaDatoVariableTipoPrimer numeroarealSegundo numerobreal<br />MAYOR Y MENOR DE DOS NÚMEROSIngrese el primer número: Ingrese el segundo número: El numero mayor es:El numero menor es: (a)Calcular(b)()()<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ Menor y mayor de dos númerosa, b: realInicio Leer (a, b) Si (a >b) entonces Escribir (a, b) Sino Escribir (b, a) Fin_siFin <br />7.- Elabore un algoritmo que determine si un número es capicúa o no es capicúa <br />Especificación EntradaDatoVariableTipoNumeroNentero<br />Algoritmo_ numero capicúaN, a, b, c, d, e: enterosc, nc: caráctersc = “Si es capicúa”nc = “No es capicúa”Inicio Leer (N) Si (N > 0) entonces Si (N > 9 and N < 100) entonces a = N div 10b = N mod 10 Si (a = b) entoncesEscribir (sc)Sino Escribir (nc)Fin_ si Sino Si (N >99 and N<1000) entonces a = N div 100 N = N mod 100b = N div 10c = N mod 10 Si (a = c) entonces Escribir (sc) Sino Escribir (nc) Fin_ si Sino Si (N>999 and N<10000) entonces a = N div 1000N = N mod 1000b = N div 100N = N mod 100c = N div 10d = N mod 10 Si (a = d and b = c) entonces Escribir (sc)SinoEscribir (nc)Fin_ si Sino Si (N>9999 and N<10000) entoncesa = N div 10000N = N mod 10000b = N div 1000N = N mod 1000c = N div 100N = N mod 100d = N div 10e = N mod 10Si (a=e and b=d) entoncesEscribir (sc)Sino Escribir (nc)Fin_ siSinoEscribir (“No hay operación definida para el numero dado”)Fin_ si Fin _si Fin_si Sino Escribir (“El valor debe ser positivo”) Fin_ siFin ANÁLISIS: PSEUDOCÓDIGO: <br />variables InternasDatoVariableTipo1° digitoaentero2° digitobEntero3° digitocEntero4° digitodEntero5° digitoeEntero<br />Especificación EntradaDatoVariableTipoNo es capicúanccaracterSi es capicúasccaracter<br />VISUALIZACIÓN:<br />NUMERO CAPICÚAIngresa el número:El numero: ()(A)(N)(B)<br />60579089535<br />DIAGRAMA DE FLUJO:<br />8.- Elabore un Algoritmo que ingresado un número cualquiera permita un mensaje indicando de cuantos dígitos está conformado (máximo 3 dígitos). <br />Algoritmo_ cuantos dígitos tiene el númeron: enteroU, D, T: carácterU= “un digito”D = “dos dígitos”T = “tres dígitos”Inicio Leer (n) Si (n>=1 and n<=999) entonces Si (n<=9) entonces Escribir (U) Sino Si (n<=99) entonces Escribir (D) Sino Escribir (T) Fin_si Fin_si Fin_ siFin ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoNumeronentero<br />Especificación SalidasDatoVariableTipoUn dígitosUCarácterDos dígitosDCarácterTres dígitosTCarácter<br />VISUALIZACIÓN:<br />CUANTOS DÍGITOS TIENE EL NUMEROIngrese un número: El número de cifras son: (n)Calcular( )<br />DIAGRAMA DE FLUJO:<br />9.-Ingresar dos números por teclado (a, b) y hacer las siguientes operaciones según sea el caso: <br />Sumar (a +b) los números, si éstos son pares.<br />Restar (b -a), si éstos son impares.<br />Multiplicar(a*b), si uno es par y el otro impar.<br />ANÁLISIS: PSEUDOCÓDIGO: <br /> <br />Especificación EntradaDatoVariableTipoPrimer NumeroaenteroSegundo Numerobentero<br />Algoritmo_ Condicionesa, b, R, P, S: enteroInicio Leer (a, b) Si (a>0 and b>0) entonces P = a mod 2 R = b mod 2 Si (P = 0 and R = 0) entonces S = a + b Sino Si (P = 0 or R = 0) entonces S = a *b Sino S = b - a Fin_si Fin_si Escribir (S) SinoEscribir (“Ingrese un numero mayor que cero”) Fin_ siFin <br />Especificación SalidasDatoVariableTipoResultadoSentero<br />Variables InternasDatoVariableTipoValor PPEnteroValor RREntero<br />VISUALIZACIÓN:<br />CONDICIONESIngrese el primer numero: Ingrese el segundo numeroEl Resultado es: (a)Calcular(b)(S)<br />DIAGRAMA DE FLUJO:<br />10.- Los alumnos de Algoritmos serán aprobados sólo si la nota del examen parcial es mayor o igual que 12 y si el número de programas resueltos es al menos 15. Hacer un algoritmo que determine si un alumno es aprobado o desaprobado. <br />Algoritmo_ Aprobado o desaprobadonp, pr: enteroA, D: carácterA = “Aprobado”D = “Desaprobado”Inicio Leer (np, pr) Si (np>0 AND pr>0) entonces Si (np>= 12 and pr>=15) entonces Escribir (A) Sino Escribir (D) Fin_si Sino Escribir (“Ingrese valores positivos”) Fin_siFin ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoNota del parcialnpEnteroNumero de programas resueltosprEntero<br />Especificación SalidasDatoVariableTipoAprobado ACarácterDesaprobadoDCarácter<br />VISUALIZACIÓN:<br />APROBADO O DESAPROBADOIngrese la nota parcial: Ingrese el número de programas resueltos:El alumno (a) esta: (pr)Calcular( )( np)<br />DIAGRAMA DE FLUJO: <br />11.- Sea el siguiente cuadro: PSEUDOCÓDIGO: <br />OPCIÓNEVALUACIÓN1 R = (a3 – 3b2 + 2c)2 M = 2b 3a + 2c3 C = raíz cuadrada( b3 +3/b2 + a)+24 D = - 3.1415 * B + 2 (b+1) <br />Algoritmo_ OpcionesR, M, C, D, a, b, c, B: realop: enteroInicio Leer (op) Si (op=1) entonces Leer (a, b, c) R = (a^3) – (3 * (b^2)) + (2 * c) Escribir (R) Sino Si (op=2) entonces Leer (a, b, c)M = (2 * b) * (3^ a) + (2 * c) Escribir (M) Sino Si (op = 3) entonces Leer (a, b) Si (B>0) entonces C = (((b ^2) + 3 / (b ^ (2 + a)))^(1/2) ) + 2 Escribir (C) Sino Escribir (“El valor de b tiene que ser un numero mayor que cero”) Fin_ si Sino Si (op = 4) entonces Leer (b, B) D = - 3.1415 * B + 2 ^ (b + 1) Escribir (D) Sino Escribir (“La opción elegida no está definida”) Fin _si Fin_si Fin_ siFin <br /> ANÁLISIS: <br />Especificación EntradaDatoVariableTipoPrimer NumeroaRealSegundo NumerobRealTercer NumerocRealCuarto NumeroBRealopciónopentero<br />Especificación SalidasDatoVariableTipoValor de RRRealValor de CCRealValor de MMRealValor de DDReal<br />OPCIONESOpciones disponibles: 1) R = (a^3) – (3 * (b^2)) + (2 * c) 2) M = (2 * b) * (3^ a) + (2 * c) 3) C = (((b ^2) + 3 / (b ^ (2 + a)))^(1/2) ) + 2 4) D = - 3.1415 * B + 2 ^ (b + 1)Ingresa la opción:Ingrese el valor de a:Ingrese el valor de b:Ingrese el valor de c:El resultado es: CALCULADORA BÁSICAIngrese el primer numero:Ingrese el segundo numero:Operadores disponibles: 1) Operador suma 2) Operador resta 3) Operador de multiplicar 4) Operador de divisiónIngresa el numero del operador elegido:El resultado es: (a)(A)(op)(B)(b)(A)(c)(A)VISUALIZACIÓN:<br />786765160020<br />1043940591185<br />DIAGRAMA DE FLUJO:<br />DESARROLLO DE LA PRÁCTICA CONDICIONALES NIVEL II<br />Se necesita calcular el salario semanal de un empleado al que se le paga por hora. Suponga que la compañía paga horas extras con una tarifa una y media veces mayor y que dichas horas son todas las que exceden las cuarenta primeras.<br />Especificación EntradaDatoVariableTipoSueldo por hora shRealCantidad de horaschEntero<br />ANÁLISIS: VISUALIZACIÓN:<br /> <br />Variables InternasDatoVariableTipoHoras extrasheEnteroSueldo extra seReal<br />SALARIO SEMANALIngrese el pago por hora: Ingrese la cantidad de horas: El salario neto es: (sh)Calcular(sn)(ch)<br />Especificación salidaDatoVariableTipoSalario netosnReal<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ salario semanalsn, sh, se: realch, he: enteroInicio Leer (ch, sh) Si (ch>40) entonces sn=ch*sh Sino He=ch-40se= he*(2.5 *sh)sn= (40*sh)+se Fin_ siEscribir (sn)Fin <br />Escriba un algoritmo que muestre el mensaje “ALTO” si el valor de la variable puntaje es mayor que 100, y “BAJO” si el valor de puntaje es 100 o menos.<br />ANÁLISIS: VISUALIZACIÓN:<br />Especificación EntradaDatoVariableTipoPuntajePReal<br />VALOR DEL PUNTAJEIngrese el puntaje: El puntaje es: (P)Calcular()<br />Especificación salidaDatoVariableTipoAltoaCarácterBajobCarácter<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ valor del puntajeP: realb, a: carácterb = “bajo”a = “alto”Inicio Leer (P) Si (P >100) entonces Escribir (a) Sino Escribir (b) Fin_ siFin <br />Escriba un algoritmo que muestre el mensaje de Alerta si el valor de la variable temperatura es mayor o igual que 100, o bien si el valor de la variable presión es menor o igual a 200, o ambas. De lo contrario debe mostrar el mensaje de Normal.<br />TEMPERATURA Y PRESIÓNIngrese el presión: Ingrese la temperatura:El la presión y la temperatura están en: (p)Calcular(t)()ANÁLISIS: VISUALIZACIÓN:<br />Especificación EntradaDatoVariableTipoTemperaturatrealPresiónpreal<br />Especificación SalidaDatoVariableTipoAlertaaCarácterNormalnCarácter<br />PSEUDOCÓDIGO: DIAGRAMAS DE FLUJO:<br />Algoritmo_ Temperatura y Presionp, t: realn, a: caráctern = “normal”a = “alerta”Inicio Leer (p, t) Si (p < = 200 or t > = 100) entonces Escribir (a) Sino Escribir (n) Fin_ siFin <br />Considere una expresión cuadrática como:<br /> x² - x – 2<br />Para describir dónde es positiva esta expresión (es decir, mayor que cero), hay que describir un conjunto de números que sean menores que la raíz más pequeña (que es –1), o bien, mayores que la raíz más grande (que es +2). Escriba un algoritmo que sea muestre el mensaje “Positivo” cuando está formula tenga valores positivos.<br />Considere una expresión cuadrática como:<br />x² - 4x +3<br />Para describir dónde es negativa esta expresión, hay que describir un conjunto de números que sean simultáneamente mayores que la raíz más pequeña (+1) y menores que la raíz más grande (+3). Escriba un algoritmo que sea muestre el mensaje “Negativo” cuando está formula tenga valores negativos.<br />Algoritmo_ mayor y menora,b,c,d,ma,me,mab,meb: realInicio Leer (a, b,c,d) Si (a>b) entonces ma = a me = b Sino ma = b me = a fin_ si Si (c>d) entonces mab = c meb = d Sino mab = d meb = c fin_ si Si (me>meb) entonces me = meb fin_ si Si (ma>mab) entonces ma = mab fin_ si Escribir (ma,me)FinEscribir un algoritmo que permita el ingreso de 04 números y determine cual es el mayor y cual es el menor de ellos.<br />ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoPrimer numeroaRealSegundo numerobRealtercer numerocRealcuarto numerodreal<br />Variables InternasDatoVariableTipoDato menormebrealDato mayormabreal<br />Especificación SalidasDatoVariableTipoNumero mayormaRealNumero menormereal<br />VISUALIZACIÓN:<br />MAYOR Y MENORIngrese el primer número: Ingrese el segundo número:Ingrese el tercer número:Ingrese el cuarto número:El mayor es: El menor es: (a)Calcular(c)(b)(d)( ma)( me)<br />DIAGRAMA DE FLUJO:<br />Calcular y visualizar la suma y el producto de dos números pares (ingresados por teclado) comprendidos entre 20 y 400, ambos inclusive. Mostrar el mensaje fuera de rango si los números no están comprendidos entre 20 y 400.<br />Algoritmo_ dentro del rangoa, b, M, N, S, P: enteroInicio Leer (a, b) Si (a>0 AND b>0) entonces M = a mod 2 N = b mod 2 Si (M =0 and N=0) entonces Si (a> 20 and a<400 and b>20 and b<400) S = a + b P = a * b Escribir (S, P) Sino Escribir (“Esta fuera de rango”) Fin_si Sino Escribir (“los números no son pares”) Fin_si Sino Escribir (“Los valores tienen que ser positivos”) Fin_ siFin ANÁLISIS: PSEUDOCÓDIGO: <br />Especificación EntradaDatoVariableTipoPrimer numeroaenteroSegundo numerobentero<br />Variables InternasDatoVariableTipoValor de MMenteroValor de NNEntero<br />Especificación SalidasDatoVariableTiposumaSenteroProductoPentero<br />VISUALIZACIÓN:<br />DENTRO DEL RANGOIngrese el primer número: Ingrese el segundo número:La suma es:El producto es: (a)Calcular( )(b)( )<br />DIAGRAMA DE FLUJO:<br />En Merpisa hay una promoción por compras. Se está haciendo descuentos según el monto de la compra. Si la compra es mayor o igual a S/. 5, 000 el descuento es del 16%; si la compra es mayor o igual a S/.4,000 pero menor que 5,000 el descuento es del 14%; si la compra es mayor o igual a 2,500 pero menor que 3,000 se hace un descuento del 10%. Determinar cuanto es el monto final a pagar por las compras realizadas.<br />ANÁLISIS: PSEUDOCÓDIGO: <br />Algoritmo_ DescuentosC, D, M: realInicio Leer (C) Si (C >= 5000) entonces D = C *0.16 Sino Si (C >= 4000) entonces D = C * 0.14 Sino Si (C >= 2500 and C< = 3000) entonces D = C * 0.10 Sino Escribir (“Usted no tiene descuento”) Fin_ si Fin_ si Fin_ si M = C – D Escribir (M)Fin <br />Especificación EntradaDatoVariableTipoCompraCreal<br />Variables InternasDatoVariableTipoDescuentoDreal<br />Especificación SalidasDatoVariableTipoMontoMreal<br />VISUALIZACIÓN:<br />DESCUENTOSIngresar la cantidad de compra: El monto total a pagar es: DESCUENTOSIngresar la cantidad de compra: El monto total a pagar es: (C)(C)CalcularCalcular(M)(M)<br />DIAGRAMA DE FLUJO: <br />