Successfully reported this slideshow.

dqwrwer

5,091 views

Published on

qwerqe

Published in: Business, Travel
  • Be the first to comment

dqwrwer

  1. 1. LÓGICA DE PROGRAMACIÓN Y ALGORITMOS<br />A L G O R I T M O S<br />“ESTRUCTURA FUNDAMENTAL DE ALGORITMOS”<br />Estructuras dentro de Algoritmos<br />Los algoritmos están conformadas por varias estructuras fundamentales, cada una con sus respectivas divisiones. La primera estructura se trabajará en esta unidad, y las otras en las dos siguientes. Estas estructuras son Estructuras secuenciales, Estructuras de decisión, Estructuras Caso y Estructuras repetitivas.<br /> <br />1. Estructura secuencial: Un estructura secuencial es la estructura más simple dentro de los tipos de algoritmos, donde una acción o instrucción sigue a otra en secuencia hasta llegar al FIN del algoritmo. Está consta de las 3 partes primordiales: Los Datos de entrada, el Proceso y los Datos de salida.<br />1.1. Datos de entrada: Es el lugar donde se LEEN todas las variables necesarias para hacer los cálculos y las operaciones. Siempre empiezan con la palabra LEA o LEER, y a continuación van el nombre de esas variables separadas por coma (,).<br />1.2. Proceso: Son todos los cálculos que se deben realizar dentro del algoritmos para dar solución al problema planteado. Cada cálculo ocupa una línea por separado y cada uno de estos debe almacenarse en una variable cualquiera.<br />1.3. Datos de salida: Es el lugar donde se IMPRIMEN o MUESTRAN todas las variables que almacenaron los cálculos. Siempre empiezan con la palabra IMPRIMIR, IMP o ESCRIBA, y a continuación van los nombres de esas variables separadas por coma (,).<br />Primer ejemplo de un algoritmo. La teoría dice que para solucionar un problema por medio de los algoritmos se deben seguir unos pasos (vistos en la unidad anterior de PRE-LÓGICA). Acá sólo aplicaremos los tres conceptos anteriores.<br />PROBLEMA: Desarrolle un algoritmo que calcule la multiplicación de dos números.<br />Datos de entrada (Los necesarios para realizar los cálculos. Para multiplicar los dos números, se necesitan estos dos datos). Por lo tanto manejaremos dos variables A y B, los cuales son nombres de variables que representan esos dos números. Además, en la parte del proceso, se necesita una variable C para almacenar el resultado. También se dice que la línea de datos de entrada empieza con la palabra LEER y las variables separadas por coma (,); entonces se coloca de la siguiente forma:<br />LEA A, B<br />Proceso(son los calculos a realizar). Para multiplicar dos números (A y B) se podría poner AxB, A.B o (A)(B); pero la multiplicación el algoritmos se representa por un asterico. Por lo tanto se pone A * B. Además, la teoría dice que el cálculo se guarde en una variable (C), quedaría así:<br />C = A * B<br />Datos de salida (Los cálculos solicitados para dar solución al problema). En este caso sería la mutiplicación que se pide y que se almacenó en la variable C. Además, se dice que la línea de datos de salida empieza con la palabra IMPRIMIR (Esta es la que se va a manejar en esta pa´gina) y luego las variables separadas por coma (,); entonces se coloca de la siguiente forma:<br />IMPRIMA C<br />Con lo anterior hemos hecho el primer algoritmo; pero para verlo de una forma concisa, el resultado sería el siguiente (Recuerde las partes de un algoritmo explicado en la unidad anterior).<br />INICIOLEER A, BC=A * BIMPRIMIR CFIN<br />Volver <br />2. Asignación de información<br />2.1. Asignación Interna: La asignación interna se da dentro de un algoritmo cuando se le lleva un valor o una variable a otra variable. Por ejemplo, cuando se coloca X = 15, le estamos asignando el 15 a la variable X. También se pudo colocar X = W, y estamos haciendo una asignación interna de variable a variable.<br />2.2. Asignación Externa: La asignación externa se da cuando se asigna por valor a la variable por medio de la palabra LEA; pero este valor sólo lo tomará cuando se haga una depuración o prueba de escritorio al ejercicio (Tema que se explicará más adelante). Por ejemplo, Lea X.<br />2.3. Actualización: La actualización se presenta cuando una variable cambia de valor por segunda vez. Por ejemplo, EDAD = 20 es una asignación interna; pero si luego colocamos EDAD = EDAD + 10, la variable se actualizará al valor de 30. <br />Volver <br />3. Operaciones primordiales y básicas<br />Las operaciones primordiales y básicas son todas aquellas operaciones que incluyen los operadores aritméticos, combinados con algunas variables. El ejemplo más sencillo, es cuando en un algoritmo se pide realizar sumas, restas, multiplicaciones, divisiones, exponentes como cuadrados o cubos, mitades, terceras o cuartas partes, raíces cuadradas o cúbicas, entre otras.<br />Utilice las siguientes operaciones dependiendo lo solicitado por un algoritmo.<br />Para sumar dos valores: valor1 + valor2Para restar dos valores: valor1 - valor2Para dividir dos valores: valor1 / valor2Para multiplicar dos valores: valor1 * valor2Para calcular el cuadrado de un valor: (valor ** 2) o bien (valor ^ 2)Para calcular el cubo de un valor: (valor ** 3) o bien (valor ^ 3)Para calcular la potencia N de cualquier valor: (valor ** N) o bien (valor ^ N)Para calcular la mitad de un valor: valor / 2Para calcular la tercera parte de un valor: valor / 3Para calcular la enésima parte de un valor: valor / NPara calcular el doble de un valor: valor * 2Para calcular el triple de valor: valor * 3Para calcular la raíz cuadrada de un valor: valor ** (1 / 2) o bien (valor ^ (1 / 2)Para calcular la raíz cúbica de un valor: valor ** (1 / 3) o bien (valor ^ (1 / 3))Para calcular la raíz enésima de un valor: valor ** (1 / N) o bien (valor ^ (1 / N))<br />En estos ejemplos no se ponen todas las posibles operaciones; pero si la mayoría de ellas. Algunas otras de pueden deducir como por ejemplo el quintuple de un valor: valor * 5.<br />Volver <br />4. Fórmulas generales<br />Luego de trabajar la conversión de expresiones matemáticas en expresiones algorítmicas será muy fácil el trabajo en esta unidad con fórmulas porque lo único que se tendría que hacer es convertirla de tal forma que sea entendible en algoritmos y al mismo tiempo lo será para un computador (esa es la finalidad de los algoritmos, realizar soluciones a problemas usando esta potente herramienta).<br />5. Ejemplos de algoritmos secuenciales<br />Ejemplo1: Desarrolle un algoritmo que calcule e imprima el doble de un número.<br />INICIOLEER NUMDOBLE=NUM*2IMPRIMIR DOBLEFIN<br />Todo algoritmos empieza con INICIO, luego van los datos de entrada (con la palabra LEA y las variables), en este caso sólo es una variable llamada NUM que representa el número al cual se le va a sacar el DOBLE. Luego en el proceso se aplica la teoría del doble de un valor (se multiplca * 2). Finalmente se ponen los datos de salida con la palabra IMPRIMIR. Recuerde que termina con la palabra FIN.<br />Para ponerlo un poco más complejo, vamos a combinar varias operaciones al mismo tiempo.<br /> <br />Ejemplo2: Calcular el doble de la suma de dos números y el triple de la resta de esos mismos números.<br />INICIOLEER num1, num2sum = num1 + num2doble = sum * 2resta = num1 - num2triple = resta * 3IMPRIMIR doble, tripleFIN<br />También se podría hacer de siguiente manera para ahorrar código y haciendo lo mismo del ejercicio anterior.<br />INICIOLEER num1, num2doble = (num1 + num2) * 2 triple = (num1 - num2) * 3IMPRIMIR doble, tripleFIN<br />Observe en el ejercicio anterior que para poder realizar los cálculos de doble y triple, antes se tuvo que realizar los cálculos de suma y resta. Esto es porque al desarrollar estas operaciones, se deben realizar de derecha a izquierda, ya que las del lado derecho son necesarias para calcular las de la izquierda, y sin ellas no se podría realizar los cálculos. Para entender estos conceptos observe el orden en cual se desarrollan las siguientes operaciones.<br /> <br />Ejemplo 3: Desarrollar un algoritmo que permita calcular la raíz cuadrada de la mitad de la multiplicación de la dos números. Además calcular la raíz cúbica de del doble del triple de la cuarta parte de la suma del cuadrado del primer número más el cubo del segundo número.<br />INICIOLEER num1, num2mult = num1 * num2 mit = mult / 2raiz2 = mit ^ (1 / 2)cubo = num2 ^ 3cuad = num1 ^ 2sum = cuad + cubocua_parte = sum / 4triple = cua_partedoble = triple * 2raiz3 = doble ^ (1 / 3)IMPRIMIR raiz2, raiz3FIN<br />También se podría hacer de esta forma más corta:<br />INICIOLEER num1, num2raiz2 = ((num1 * num2) / 2) ^ (1 / 2)raiz3 = (((((num1 ^ 2) + (num2 ^ 3)) / 4) * 3) * 2) ^ (1 / 3)IMPRIMIR raiz2, raiz3FIN<br /> <br />Ejemplo 4: También existen algoritmos del mundo laboral como este ejemplo. Desarrolle un algoritmo que lea el número de horas y el valor de cada laborados por un empleado e imprima su salario básico.<br />INICIOLEER NUMHOR, VLRHORSALBAS = NUMHORA * VLRHORIMPRIMIR SALBASFIN<br />Observe que para determinar el salario básico se multiplicaron las dos variables (algo que se hace en la vida cotidiana, constantemente).<br /> <br />Ejemplo 5: Calcular e imprimir el área de un cuadrado.<br />INICIOLEER LADOAREA = LADO * LADOIMPRIMIR AREAFIN<br />En este ejemplo se está usando una fórmula matemática, donde para hallar el área de un cuadrado de multiplica dos veces un lado, lo que es lo mismo que LADO ^ 2.<br />6. Calcular porcentajes dentro de un algoritmo<br />Para calcular porcentajes dentro de algoritmos existen 3 fórmulas principales:<br />6.1. Fórmula 1: PORC = VAR * P/100. VTOT = VAR ± PORC VAR Donde, <br />PORC: Nombre de la variable del porcentaje. : Variable a la que se le sacará el porcentaje.P: Porcentaje que se pide.VTOT: Es el valor total, luego de los porcentajes.El signo (±) depende de si el porcentaje suma o resta al valor. Si son varios los porcentajes, se deben colocar con sus respetivos signos.<br /> <br />Ejemplo 1: A un empleado le retienen el 18% de su salario básico. Calcular el salario neto, sabiendo que le entregan una bonificación del 1.3% del salario básico<br />INICIOLEER sal_basporc1 = sal_bas * 18/100porc2 = sal_bas * 1.3/100vtot = sal_bas – porc1 + porc2IMPRIMIR vtotFIN<br />Al momento de usar las variables de porcentajes se recomienda utilizar un nombre nemotécnico que permita identificar el tipo de porcentaje que se va a calcular, por tal motivo se recomienda cambiar o asignar un nombre a cada uno de los porcentajes. Para nuestro caso quedaría así:<br />INICIOLEER sal_basreten = salbas * 18/100bonif = salbas * 1.3/100sal_neto = sal_bas – reten + bonifIMPRIMIR sal_netoFIN<br />Observe con cuidado los signos de la retención y la bonificación. Es sumamente importante DEDUCIR que signo debe ir antes de la variable; porque si se coloca el equivocado, cambiará totalmente el resultado.<br /> <br />Ejemplo 2: Las medidas de una cancha de fútbol fue ampliada en un 20%. Determinar el área total de esa cancha.<br />INICIOLEER med_can_futampl = med_can_fut * 20/100area_tot = med_can_fut + amplIMPRIMIR area_totFIN<br />Volver <br />6.2. Fórmula 2: <br />VTOT = VAR ± (VAR * P/100) Donde, <br />VAR: Variable a la que se le sacará el porcentaje(s).P: Porcentaje(s) que se pide(n).VTOT: Es el valor total, luego de el porcentaje(s).<br />Para la segunda fórmula lo que se hace es combinar las dos líneas de la primera fórmula en una sola, reemplazando el porcentaje por su equivalente.<br />El signo (±) se usa igual que en la fórmula 1. Pero para el porcentaje se tiene que dar el resultado de la división de P/100. Ej: 10%= 10/100 = 0.1<br />Si seguimos la definición de algoritmos, la segunda fórmula se tendría que utilizar en todos los casos; pero sólo se debe usar CUANDO UN ALGORITMO PIDA LOS PORCENTAJES POR SEPARADO (por ejemplo: calcular la disminución, el aumento, incremento, etc). Si no se piden se RECOMIENDA UTILIZAR ESTA FÓRMULA<br /> <br />Ejemplo 3: Calcular salario neto de empleado, sabiendo que se le hace una retención del 30% de su salario básico.<br />INICIOLEER sal_bassal_neto = sal_bas – (sal_bas * 0.3)IMPRIMIR sal_netoFIN<br /> <br />Ejemplo 4: Calcular el área total de un terreno sabiendo que fue reducida en un 10%, y luego le fue adicionada un 1%.<br />INICIOLEER area_terarea_tot = area_ter - (area_ter * 0.1) + (area_ter * 0.01)IMPRIMIR area_totFIN<br />Volver <br />6.3. Fórmula 3: <br />VTOT = VAR * 1 ± P/100 Donde, <br />VAR: Variable a la que se le sacará el porcentaje(s).P: Porcentaje(s) que se pide(n) - sólo el resultado. TOT: Es el valor total, luego de los porcentajes.<br />Para la tercera parte lo que se hace es sumar o restar todos los porcentajes del 100% (el 100% es 1), y se multiplica por la variable que va a ser afectada por estos porcentajes.<br />Luego de realizar la suma o la resta de los porcentajes, SÓLO SE DEBE COLOCAR ESE ÚLTIMO RESULTADO. Ejemplo del 10% MÁS. 10% más es igual a 0.1, si le sumamos 1 nos dará 1.1. También se puede coger el 100% y empezar a sumarle o restarle los porcentajes. Si tenemos 100% y le agregamos un 10% mas, nos quedaría 110%, lo que equivale a 1.1 (110/100=1.1).<br />Esta fórmula es considerada como la más adecuada para los algoritmos en cuanto a que es más corta; pero se tiene que aplicar perfectamente la adición o la substracción de los porcentajes.<br /> <br />Ejemplo 5: Calcular salario neto de empleado, sabiendo que se le hace una retención del 45% de su salario básico. (Por simple lógica, si del salario básico se le retendrá un 45%, el trabajador recibirá un 55%. A esto es a lo que va enfocada esta fórmula. En el algoritmo se hará la operación 1-45/100 = 1-0.45 = 0.55. Y se colocará este último resultado 0.55. Además observe que 0.55 corresponde al 55%.)<br />INICIOLEER sal_bassal_neto = sal_bas * 0.55IMPRIMIR sal_netoFIN<br /> <br />Ejemplo 6: El desempleo aumento en el primer trimestre un 9.5% y en el segundo disminuyo en 1.5%. Calcular el valor del desempleo actual. (1 + 0.095 – 0.015 = 1 + 0.08 = 1.08)<br />INICIOLEER val_desval_tot = val_des * 1.08IMPRIMIR val_totFIN<br />8. Ejercicios Resueltos Secuenciales (primera parte)<br />1- Lea dos números. Calcular e imprimir la suma, la resta, la multiplicación y la división del primer número por el segundo. <br />INICIOLEER num1, num2suma = num1 + num2resta = num1 - num2mult = num1 * num2div = num1 / num2IMPRIMIR suma, resta, mult, divFIN<br />2- lea dos números. Calcular e imprimir la suma, la resta, la multiplicación de la suma por la resta, la división de la multiplicación por la suma y hallar el cuadrado de dichos números.INICIOLEER num1, num2suma = num1 + num2resta = num1 - num2mult = suma * restadiv = mult / sumaIMPRIMIR suma, resta, mult, divFIN<br />3- Lea dos números. Calcular e imprimir el primer número multiplicado por el segundo y dividir ese resultado por la suma de los dos números.INICIOLEER num1, num2mult = num1 * num2div = mult / (num1 + num2)IMPRIMIR mult, divFIN<br />4- Elabore un algoritmo que lea el número. Calcule e imprima su raíz cuadrada.INICIOLEER numraiz = num ^ (1 / 2)IMPRIMIR raizFIN<br />5- Elabore un algoritmo que lea un número negativo e imprima el número y el positivo del mismo.INICIOLEER num_negnum_pos = num_neg * (-1)IMPRIMIR num_neg, num_posFIN<br />6- Dados los dos lados de un rectángulo, calcule el perímetro y el área del mismo.INICIOLEER lado1, lado2perim = lado1 * 2 + lado2 * 2area = lado1 * lado2IMPRIMIR perim, areaFIN<br />7- Dada un cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido.INICIOLEER cant_pes, unid_cambequiv_dol = cant_pes / unid_cambIMPRIMIR equiv_dolFIN<br />8- La presión, el volumen y la temperatura de una masa de aire se relacionan por la formula: masa = (presión * volumen)/(0.37 * (temperatura + 460)).<br />INICIOLEER pres, vol, tempmasa = (pres * vol) /(0.37 * (temp + 460))IMPRIMIR masaFIN<br />9- Calcular el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es: num. pulsaciones = (220 - edad)/10.INICIOLEER edadnum_pulsa = (220 - edad) / 10.IMPRIMIR num_pulsaFIN<br />10- Elaborar un algoritmo para leer la edad de una persona y permita calcular la cantidad de meses que ha vivido.INICIOLEER edadnum_meses = edad * 12IMPRIMIR num_mesesFIN<br />11- Realizar un algoritmo que calcule la edad de una persona por medio de su fecha de nacimiento.INICIOLEER fec_nac, fec_actedad = fec_act – fec_nacIMPRIMIR edadFIN<br />12- Escribe un programa que convierta una temperatura en grados Fahrenheit en grados Celsius.INICIOLEER temp_fartemp_cels = temp_far * 123IMPRIMIR temp_celsFIN<br />13- Si un corazón humano late una media de una vez por segundo durante 78 años, ¿cuántas veces en total late en toda la vida?.INICIOTot_latidos = 78 * 360 * 24 * 60 * 60IMPRIMIR tot_latidosFIN<br />14- Si un corazón humano late una media de una vez por segundo. ¿cuántas veces en total late en 50 años?. Considere que cada año tiene 365.25 días. INICIOTot_latidos = 50 * 365.25 * 24 * 60 * 60IMPRIMIR tot_latidosFIN<br />15- Elaborar un algoritmo que lea dos variables A y B respectivamente e intercambie el valor de A para B y el valor de B para A. Imprima los dos valores.INICIOLEER a, baux = aa = bb = auxIMPRIMIR a, bFIN<br />16- Lea dos valores A y b e intercámbielos sin utilizar una variable auxiliar.INICIOLEER a, ba = b * a b = a / ba = a / bIMPRIMIR a, bFIN<br />17- Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera.INICIOLEER tiem_lunes, tiem_mier, tiem_viertiem_prom = (tiem_lunes + tiem_mier + tiem_vier) / 3IMPRIMIR tiem_promFIN<br />18- Se sabe que 50 manzanas cuestan $10.000. Hacer un algoritmo que halle el valor unitario de la manzana y determine cuánto costarían 80 manzanas.INICIOvalor_manzanas = 10.000 / 50valor_80m = valor_manzanas * 80IMPRIMIR valor_manzanas, valor_80mFIN<br />19- Un maestro necesita saber el porcentaje de hombres y el porcentaje de mujeres que hay en un grupo de estudiantes.INICIOLEER cant_hom, cant_mujporc_hombre = cant_hom / (cant_hom + cant_muj) * 100porc_mujer = cant_muj / (cant_hom + cant_muj) * 100IMPRIMIR porc_mujer, porc_hombreFIN<br />20- Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.INICIOLEER dinero1, dinero2, dinero3tot_inver = dinero1 + dinero2 + dinero3porc1 = dinero1 / tot_inver * 100porc2 = dinero2 / tot_inver * 100porc3 = dinero3 / tot_inver * 100IMPRIMIR porc1, porc2, porc3FIN<br />21- Calcular el 10% de número.INCIOLEER numporc = num * 10 / 100IMPRIMIR porcFIN<br />22- Calcular el 45% del cuadrado de un número.INICIOLEER numcua = num ^ 2porc = cua * 45 / 100IMPRIMIR porcFIN<br />23- Calcular el 120% de la ecuación: J = O * M + N – K2INICIOLEER o, m, n, kj = o * m + n – k * 1.2porc = j * 120/100IMPRIMIR porcFIN<br />24- Desarrolle un algoritmo que lea dos valores y calcule el 33.33% de cada uno.INICIOLEER val1, val2porc1 = val1 * 33.33 / 100porc2 = val2 * 33.33 / 100IMPRIMIR porc1, porc2FIN<br />25- Calcular el 15% de un número y el 1.5% de otro número.INICIOLEER num1, num2porc1 = num1 * 15 / 100porc2 = num2 * 1.5 / 100IMPRIMIR porc1, porc2FIN<br />26- Calcular el 0.8% de un número y el 98% del cuadrado del cuadrado del mismo número.INICIOLEER numporc1 = num * 0.8 / 100porc2 = (num ^ 2) * 98 / 100IMPRIMIR porc1, porc2FIN<br />27- Lea dos números. Calcular e imprimir el 18% y el 6.3% del primer número, el 7.4% y el 3.5% del segundo número.INICIOLEER num1, num2porc1 = num1 * 18/100porc1 = num1 - num2porc1 = num1 * num2porc1 = num1 / num2IMPRIMIR porc1, porc1, porc1, porc1FIN<br />28- Haga un algoritmo que calcule el 80% del cuadrado de la suma de dos números. Y el 5% del doble del triple de la mitad de la suma de los mismos números.INICIOLEER num1, num2porc1 = ((num1 + num2) ^ 2)) * 80 / 100porc2 = ((num1 + num2) / 2) * 3 * 2) * 5 / 100IMPRIMIR porc1, porc2FIN<br />29- Leer un número. Descontarle el 67%. Imprima el número, el descuento y el número después de sacarle el porcentaje.INICIOLEER numdesc = num * 67 / 100num_tot = num - descIMPRIMIR num, desc, num_totFIN<br />30- Se dice que el precio de una pelota de tenis es el 20% de un balón de fútbol. Desarrolle un algoritmo que lea el precio del balón de fútbol y determine el precio de la pelota de tenis.INICIOLEER prec_balon_futprec_balon_ten = prec_balon_fut * 20 / 100IMPRIMIR prec_balon_tenFIN<br />8. Ejercicios Resueltos Secuenciales (segunda parte)<br />31- A la mamá de Juan le preguntan su edad, y ella contesta: Tengo tres hijos, pregúntele la edad a Juan. Miguel tiene 2/3 la edad de Juan, margarita tiene 4/3 de la edad de Miguel y mi edad es la suma de las tres. Hacer un algoritmo que muestre la edad de los cuatro.INICIOLEER edjuanedmiguel = edjuan * (2 / 3)edmarga = edmiguel * (4 / 3 )edmama = edjuan + edmiguel + edmargaIMPRIMIR edjuan, edmiguel, edmarga, edmamaFIN<br />32- Elaborar un algoritmo que lea de un mismo registro la cédula de un empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Se debe imprimir la cédula, el nombre y el salario devengado en la semana.INICIOLEER ced, nom, sbh, htssaldev = sbh * htsIMPRIMIR ced, nom, saldevFIN<br />33- La temperatura de ayer tuvo una disminución del 23% en la mañana de hoy, y en la tarde aumento un 17% en relación a la misma temperatura de ayer. Determinar la disminución, el incremento y la temperatura actual.INICIOLEER temp_ayerdism = temp_ayer * 23/ 100aum = temp_ayer * 17/ 100temp_actual = temp_ayer – dism + aumIMPRIMIR dism, aum, temp_actualFIN<br />34- La temperatura de hoy tuvo una disminución del 5% en la mañana, y en la tarde aumento un 40% luego de realizada esa disminución. Determinar y la temperatura actual.INICIOLEER temp_hoydism = temp_ hoy * 5/ 100temp_tem = temp_hoy – dismaum = temp_tem * 40/ 100temp_actual = temp_tem + aumIMPRIMIR temp_actual FIN<br />35- Calcular la distancia que fue reducida de una competencia, sabiendo que la competencia tenia una distancia de 5000 mts y la reducción fue de un 37%.INICIOdistan = 5000reduc_comp = distan * 37/ 100IMPRIMIR reduc_compFIN<br />36- Sacar el 10% de la raíz cuadrada de Õ.INICIOpi = 3,1416porc = (pi ^ (1 /2)) * 10/ 100IMPRIMIR porcFIN<br />37- Un estudiante tuvo rendimiento no conocido. Este tuvo un incremento de 90%. Cuál es su incremento y su rendimiento después del aumento.INICIOLEER rendim_estincrem = rendim_est * 90/ 100rendim_final = rendim_est + incremIMPRIMIR increm, rendim_finalFIN<br />38- Lea los datos correspondientes a una venta efectuada por un vendedor, nombre, código del articulo, cantidad vendida, valor unitario. Se debe calcular su comisión sobre la venta. Al vendedor le corresponde el 3.8% de comisión. Se debe imprimir los datos del vendedor.INICIOLEER nom, cod, cantven, vlrunitvta = cantven * vlrunitcomis = vta * 3.8 / 100IMPRIMIR nom, vta, comisFIN<br />39- Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.INICIOLEER sb, v1, v2, v3tot_vta = v1 + v2 + v3com = tot_vta * 0.10tpag = sb + comIMPRIMIR tpag, comFIN<br />40- Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra.INICIOLEER tcd = tc * 0.15tp = tc - dIMPRIMIR tpFIN <br />41- El dueño de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.INICIOLEER prec_compraganancia = prec_compra * 30 / 100prec_venta = prec_compra + gananciaIMPRIMIR prec_venta FIN<br />42- Determinar el 50% del salario básico de un empleado.INICIOLEER sal_basporc = sal_bas * 50 / 100IMPRIMIR porcFIN <br />43- Calcular el valor de retención del salario de un empleado, sabiendo que se le hace un descuento del ISS del 27.777%INICIOLEER salarval_retenc = 27.777 / 100IMPRIMIR val_retencFIN <br />44- Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.INICIOLEER sal_anteriornuevo_sal = nuevo_sal * 1.25IMPRIMIR nuevo_salFIN <br />45- Calcular el salario real de un empleado sabiendo que es el salario neto menos una retención del 2%.INICIOLEER sal_netosal_real = sal_neto – (sal_neto * 2 /100)IMPRIMIR sal_realFIN <br />46- A un empleado le hacen una retención para el ISS del 4% y otra para el ICBF del 3% del salario básico. Además le dan un subsidio de transporte del 1%. Calcular los porcentajes y el salario neto.INICIOLEER sal_basicoretenc_iss = sal_basico * 4 / 100retenc_icbf = sal_basico * 3 / 100subs_transp = sal_basico * 1 / 100sal_neto = sal_basico - retenc_iss - retenc_icbf + subs_transp IMPRIMIR retenc_iss, retenc_icbf, subs_Transp., salnetoFIN <br />47- Elaborar un algoritmo que lea la cédula del empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Se debe calcular el salario neto sabiendo que la retención en la fuente es del 12.5% del salario bruto. Imprimir la cédula del empleado, el nombre, el salario bruto, valor de la retención en la fuente y el salario neto.INICIOLEER ced, nom, sbh, htssalbruto = sbh * htsretfte = salbruto * 12.5 / 100salneto = salbruto - retfteIMPRIMIR ced, nom, salbruto, retfte, salnetoFIN<br />48- Elaborar un algoritmo que lea de un mismo registro la cédula del empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Se debe calcular el salario neto sabiendo que la retención en la fuente es del 2.25% del salario bruto y la retención del ISS es de 7.35% del salario bruto. También se debe calcular una bonificación que corresponde al 16% del salario. Imprimir todos los datos del empleado.INICIOLEER ced, nom, sbh, htssalbruto = sbh * htsretfte = salbruto * 2.25 / 100retiss = salbruto * 7.35 / 100bonif = salbruto * 16 / 100salneto = salbruto – retfte – retiss + bonifIMPRIMIR ced, nom, salbruto, retfte, retiss, bonif, salnetoFIN<br />49- En una empresa desean dar un incentivo a sus trabajadores consistente en: Un aumento de salario del 7%, una bonificación del 6% y $15.000 de subsidio de transporte. A cada empleado se les hacen las siguientes retenciones: 1% para aportes al seguro social, 4.99% para aportes parafiscales y un 0.87% para la natillera de la empresa. Desarrolle un algoritmo que calcule el salario neto para un empleado e imprima cada uno de los porcentajes, y el salario neto.INICIOsubs_transp = 15000LEER sal_basicoretenc_iss = sal_basico * 1 / 100aport_paraf = sal_basico * 4.99 / 100natillera = sal_basico * 0.87 / 100aumen = sal_basico * 7 / 100bonif = sal_basico * 6 / 100sal_neto = sal_basico - retenc_iss – aport_paraf - natillera + aumen + bonif + subs_transp IMPRIMIR retenc_iss, aport_paraf, natillera, aumen, bonif, subs_Transp., sal_netoFIN <br />50- Elaborar un algoritmo que calcule el valor neto a pagar de un artículo, sabiendo que al comprador se le otorga un descuento del 10% y se le cobra un impuesto del IVA que corresponde al 16%. Se debe leer el código, la descripción, la cantidad y el valor unitario del producto.INICIOLEER nom, cod, cantven, vlrunitvta = cantven * vlrunitcomis = vta * 3.8 / 100IMPRIMIR nom, vta, comisFIN<br />51- En el almacén EL TREBOL se tienen 694 unidades del producto BLU154, usted debe elaborar un algoritmo que actualice el inventario en el momento en que se efectúa una venta de dicho producto. Se debe imprimir el saldo actual.INICIOunidades = 694LEER cant_vendidasaldo_actual = unidades – cant_vendidaIMPRIMIR saldo_actualFIN<br />52- Después de una semana en Nueva York, de las vueltas que te dan en los establecimientos te encuentras con muchas monedas de níquel y peniques. Realiza un programa que te permita saber a cuánto asciende en dólares y centavos de dólar una cantidad de niqueles y peniques. Nota: 1 níquel son 5 peniques, y un penique es un centavo de dólar. 100 centavos son 1 dólar. INICIOLEER moneda_niq, moneda_pencant_pen = (moneda_niq * 5) + moneda_pen cant_dolares = cant_pen * 100IMPRIMIR cant_dolaresFIN<br />53- Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara después de un mes si el banco paga a razón de 2% mensual.INICIOLEER cap_invgan = cap_inv * 0.02IMPRIMIR ganFIN<br />54- Gracias a la construcción de un túnel entre la ciudad A y la ciudad B la distancia entre estas dos se vio reducida en un 48%. Desarrolle un algoritmo que lea la distancia anterior y permita calcular la distancia actual.INICIOLEER dist_anterdist_actual = dist_anter * 0.52IMPRIMIR dist_actualFIN<br />55- Luego de 30 años de levantado un puente en la ciudad A y B, éste sucumbe debido al mal estado de sus bases. Al hacerlo deja incomunicadas a estas ciudades. Para llegar de una ciudad a otra hay que tomar una ruta alterna que aumentó la distancia y el tiempo en un 75%. Calcular el tiempo y la distancia actual sabiendo que la distancia anterior era igual a 50Km y el tiempo era de 4 horas.INICIOdist_ant = 50tiemp_ant = 4dist_actual = dist_anter * 1.75tiemp_actual = tiemp_anter * 1.75IMPRIMIR dist_actual, tiemp_actualFIN<br />56- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la siguiente información: Ginecología 40%, Pediatría 30% y Traumatología 30%. Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.INICIOLEER presup_anualgineco = presup_anual * 40 / 100pediat = presup_anual * 30 / 100trauma = presup_anual * 30 / 100IMPRIMIR gineco, pediat, traumaFIN<br />57- Elaborar un algoritmo que calcule la nota definitiva de un estudiante de lógica, es de saber que la nota definitiva consta de 4 notas que valen el 25% cada una. Se deben leer los datos del estudiante y sus respetivas notas.INICIOLEER nota1, nota2, nota3, nota4nota_def = (nota1 * 0.25) + (nota2 * 0.25) + (nota3 * 0.25) + (nota4 * 0.25)IMPRIMIR nota_defFIN<br />58- Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales, 30% de la calificación del examen final y 15% de la calificación de un trabajo final.INICIOLEER c1, c2, c3, ef, tfprom = (c1 + c2 + c3)/3ppar = prom * 0.55pef = ef * 0.30ptf = tf * 0.15cf = ppar + pef + ptfIMPRIMIR cfFIN<br />59- Un alumno desea saber cual será su promedio general en las tres materias mas difíciles que cursa y cual será el promedio que obtendrá en cada una de ellas. Estas materias se evalúan como se muestra a continuación: La calificación de las materias se obtiene de la siguiente manera: En Matemáticas un examen del 90% y el promedio de tareas un 10%. En Física un examen del 80% y el promedio de tareas un 20%. Y en Química un examen del 85% y el promedio de tareas un 15%.Nota: En matemáticas y química se pidieron tres tareas, y en física sólo dos.INICIOLEER ex_mat, tar_mat1, tar_mat2, tar_mat3LEER ex_fis, tar_fis1, tar_fis2 LEER ex_quim, tar_quim1, tar_quim2, tar_quim3nota_matem= (ex_matem * 0.9) + ((tar_mat1 + tar_mat2 + tar_mat3) * 0.1)nota_fis= (ex_fis * 0.8) + ((tar_fis1 + tar_fis2) * 0.2)nota_quim= (ex_quim * 0.85) + ((tar_quim1 + tar_quim2 + tar_quim3) * 0.15)prom_general = nota_matem + nota_fis + nota_quimIMPRIMIR prom_generalFIN<br />60- Calcular un porcentaje X de un valor Y y sumarle el doble de del 10% de Z.INICIOLEER x, y, zporc = y * x / 100 + (2 * z * 0.1)IMPRIMIR porcFIN <br />8.1. Ejercicios propuestos de Algortimos Secuenciales con fórmulas y porcentales (Taller 3)<br />Una gran parte de los algoritmos requiere de la solución de Fórmulas matemáticas, fórmulas físicas, porcentajes y demás operaciones que se resolverán de una forma sencilla y muy similar a como se hace una operación en la vida cotidiana.<br />1. Desarrolle un algoritmo que lea el valor del pasaje y el número de pasajeros que abordarán un microbús. Calcular el valor total a pagar.<br />2. Una persona recibe una cantidad no conocida en dólares. Haga un algoritmo que determine el valor equivalente en pesos, sabiendo que el dólar tiene un costo de $2.550.<br />3. Un atleta recorre tres distancias diferentes en tres competiciones distintas. Calcular e imprimir la distancia promedio.<br />4. Una persona ingresa a un gimnasio pesando una cantidad desconocida. Luego de una sesión de trabajo redujo su peso en un 10%, posteriormente, asistió a una última sesión en la que rebajó 18.5%. En un período de 8 días de inactividad aumentó un 3% de su peso. Calcular e imprimir cada una de las disminuciones, el aumento y el peso actual de esa persona.<br />5. En un montallantas se ofrece un descuento del 50% sobre el valor de la compra. Se pide desarrollar un algoritmo que lea el número de llantas, el valor de cada llanta y el nombre del comprador. Calcular el valor de la compra y el valor total después del descuento.<br />6. Desarrollar el mismo ejercicio anterior, pero sabiendo que el valor de cada llanta es de $40.000 y que el descuento es del 35%.<br />7. Calcular el salario neto de un empleado sabiendo que se le hace una retención del 3% para pensión y 5% para salud. Se debe leer el valor de cada hora y el número de horas trabajadas por el empleado. <br />8. Calcular e imprimir el salario básico, el salario neto y cada uno de los porcentajes que tiene un empleado en su liquidación de nómina. Tenga en cuenta que recibe un auxilio de alimentación del 1% del salario básico y un subsidio de transporte de $45.000. Luego se le hacen unas deducciones correspondientes al 1.5%, 28.1% y 0.55% por concepto de salud, pensión y aportes parafiscales respectivamente. Luego de calculado el salario neto, se pide sacar un 0.05% del salario neto para una donación a una catástrofe.<br />9. Calcular el peso equivalente en Gramos de una fruta que tiene un peso no conocido en Kilogramos.<br />10. El peso de un vehiculo (en toneladas) se redujó en un 15% luego de hacerle unas reparaciones. Se pide calcular el peso actual luego de la reducción. Por último se pide calcular el equivalente en Kilogramos y en gramos de ese peso actual.<br />11. Desarrolle un algoritmo que lea una cantidad de meses y una distancia recorrida en metros. Calcule de esos meses: El número de horas, el número de minutos, el número de segundos y el número de días. De la distancia calcular el número de centímetros, el número de milímetros y el número de hectómetros.<br />12. Desarrolle un algoritmo que resuelva las siguientes ecuaciones: (un algoritmo para cada una).A) Área del Prisma rectangular = abc (Siendo a,b y c los lados). B) Área de la Pirámide = 1/3 hb (Siendo h la altura y b la base).C) Área del perímetro = 2- r (Siendo r el radio).D) Área del pentágono regular = 1,721 a (Siendo a el lado).E) x = -d ± b - la raíz cuadrada de 4ac<br />13. Desarrolle un algoritmo que permita calcular el resultado de las siguientes ecuaciones:A) El área de la elipse = p a b (siendo a y b las semilongitudes de sus ejes).B) El área del cilindro = p .r2 .h (siendo r el radio y h la altura)C) El área del círculo = p .r2 (Siendo r el radio).D) La velocidad = d / t (Siendo d la distancia y t el tiempo).E) La aceleración = (Vi –t ) / 2 (Siendo Vi la velocidad inicial y t el tiempo).F) La fuerza = m / a (Siendo m la masa y a la aceleración).G) El volumen de la esfera = 4/3 p .r3 (Siendo r el radio).<br />14. Leer la temperatura de un día (en grados centígrados). Convertir ese temperatura a ºK y ºF. Luego leer una temperatura en grados Kelvin y convertirla a Fahrenheit. Por último leer una temperatura en grados Fahrenheit y convertirlo a grados Celsius y a grados Kelvin. Tenga en cuenta las siguientes fórmulas: °C = °K - 273.15 (convertir de °K a °C) °F = °K (9/5) - 459.67 (convertir de °K a °F) °F = (9/5) .°C + 32 (convertir de °C a °F).<br />15. Leer un número positivo. Calcular e imprimir su negativo.<br />16. Calcular la raíz cuadrada del 1.3% de un número, la raíz cúbica del 20% de otro número y la tercera parte del 5% de otro número.<br />17. Leer dos números calcular: El 5% y el 50% del primer número. El 7% y el 0.7% del doble del segundo número. El 23.333% de la raíz cuadrada de la suma de los dos últimos. Por último, el doble, el triple, la mitad y la quinta parte de esa raíz.<br />18. Un jugador anotó tres cantidades de goles en tres encuentros. Se pide calcular el número total de goles y su promedio.<br />19. Un ratón se comió el 40% de un pedazo de queso y su peso aumentó en un 1,1%. Leer el peso del queso y el peso del ratón. Calcular e imprimir el peso actual de los dos.<br />20. Desarrolle un algoritmo que lea la producción de lapiceros de una empresa en el día de ayer. Calcular e imprimir la producción actual y el valor al que asciende la producción final, sabiendo que cada lapicero cuesta $800 y la producción creció un 93%.<br />21. Resuelva la ecuación Fx = (1 / (1+x*x).<br />22. Calcular la tangente de las funciones Seno y Coseno, sabiendo que Tan = Sen / Cos.<br />23. Calcular el 2% del promedio de 4 números.<br />24. Desarrolle un algoritmo que imprima el número 50 y otro número cualquiera que es leído.<br />25. Desarrolle un algoritmo que calcule la resta de un número con el doble de otro. Además, calcule la división del número 100 y un tercer número.<br />26. Una persona tiene 500 dólares y ésta desea saber a cuantos pesos colombianos equivale, sabiendo que cada dolor cuesta $2.500.<br />27. Desarrolle un algoritmo con el mismo enunciado anterior; pero desconociendo el valor de cada dólar.<br />28. Desarrolle un algoritmo que dé solución a la ecuación contable ACTIVO = PASIVO + PATRIMONIO. Además, de otra empresa calcular su patrimonio.<br />29. Calcule la velocidad final de un vehículo cuya velocidad inicial se decremento en 50 y posteriormente aumentó en un 3,9% después del incremento anterior.<br />30. Desarrolle un algoritmo que imprima la raíz cuadrada de 16, la capital de Antioquia y la raíz cúbica de un número.<br />31. Calcular el número de días y horas vividos por una persona de la cual se desconoce su año de nacimiento.<br />32. La banda ancha incrementó la velocidad de transferencia de datos en Internet en un 230%. Imprima la velocidad anterior y la velocidad actual.<br />33. En una biblioteca se prestaron 457 libros en los últimos días. Calcular el número total de libros que hay en la actualidad sabiendo que al iniciar la biblioteca había YLibros.<br />34. A un libro le fueron arrancadas un porcentaje no conocido de hojas más otras 50. Leer el número total de páginas que tenía inicialmente y calcule el número de hojas actuales.<br />35. Un tendero empezó el día con un Valor X en dinero. Luego tuvo 4 ventas por un valor de $800.000 y finalmente pagó a sus acreedores el 10% de todo lo que tenía en caja. Imprima el dinero con el que empezó, el dinero con el que terminó y el pago a sus acreedores.<br />“ESTRUCTURAS DE DECISIÓN”<br />OBJETIVOS <br />Conocer las partes que tiene una estructura de decisión y su importancia dentro del desarrollo de algoritmos. <br />Diferenciar los tipos de estructuras de decisión y aplicarlos de manera correcta en la solución de un problema determinado. <br />Reconocer los componentes de las Estructuras Caso y las múltiples ventajas que tiene en algunos casos frente a las estructuras de decisión. <br />“ESTRUCTURAS DE DECISIÓN”<br />1. Definición de una estructura de decisión: Las estructuras de decisión, como su nombre lo indican, son estructuras que se usan en caso tal de que un algoritmo tenga alguna pregunta o tenga que decidir sobre una operación cualquiera.<br />Para realizar las condiciones, se debe repasar los operadores relacionales: IGUAL (=), MAYOR QUE (>), MENOR QUE (<), MAYOR IGUAL QUE (> =), MENOR IGUAL QUE (<) y DIFERENTE (<>) o (!=).<br />Las condiciones se pueden realizar de la siguiente manera:<br />VARIABLE contra VARIABLE: SI (SALARIO = SALARIONETO) ENTVARIABLE contra CONSTANTE: SI (SALARIO > 5´000.000) ENTCONSTANTE contra VARIABLE: SI (500.000 < SALARIONETO) ENTVARIABLE contra CÁLCULO: SI (SALARIO >= SALARIO+AUMENTO)CÁLCULO contra VARIABLE: SI (SALARIO–AUMENTO <= SALNETO)CONSTANTE contra CÁLCULO: SI (450.000 != SALARIO - DISMIN)CÁLCULO contra CONSTANTE: SI (NETO + AUMENTO = 550.000)CÁLCULO contra CÁLCULO: SI (SALBAS – RETEF > SALBAS + AUM)<br />Volver <br /> <br />2. Tipos de estructuras de decisión<br />2.1. Estructuras de Decisión Simples: Es cuando sólo se requiere de una sólo estructura o una sola pregunta. Su sintaxis es la palabra SI, seguida de una pregunta o condición (la cual va encerrada en medio de paréntesis), y por último termina con la palabra ENTONCES (algunos colocan sólo sus 3 primeras letras: ENT), que significa ENTONCES. Así como todo algoritmo tiene su FIN, todas estructura de decisión OBLIGATORIAMENTE, tiene su fin, el cual se escribe FIN-SI. Ejemplo: <br />SI (CONDICIÓN) ENTONCES...Instrucciones, cálculos y/operacionesFIN-SI<br />En medio de la estructura, SOLO se colocan las instrucciones, cálculos u operaciones que se deban desarrollar cuando la pregunta sea verdadera. Las demás operaciones van fuera de la estructura de decisión. Las instrucciones o cálculos se debe colocar un poco corridos hacia la derecha para identificar perfectamente donde empieza la estructura y donde termina.<br />Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero por el segundo. Tenga en cuenta que sólo se puede dividir si el segundo número no es igual a cero.<br />INICIOLEER num1, num2SI (num2 != O) ENTdiv = num1/num2IMPRIMIR divFIN-SIFIN<br />Volver <br /> <br />2.2. Estructuras de Decisión Dobles: Es cuando sólo se requiere de dos estructuras, dos preguntas o sólo se tienen dos posibilidades. Su sintaxis es idéntica a la estructura simple, sólo que como ya se manejan dos posibilidades se agrega la palabra SINO, en medio de la estructura. Ej:<br />SI (CONDICIÓN) ENTONCES...Instrucciones, cálculos y/ operaciones (pregunta verdadera)SINO...Instrucciones, cálculos y/ operaciones (pregunta falsa)FIN-SI.<br />En este caso la primera instrucción se desarrollarán cuando la pregunta sea verdadera, y la otra, cuando sea falsa.<br />Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero por el segundo sólo si el segundo número no es igual a cero, de lo contrario calcule su multiplicación.<br />INICIOLEER num1, num2SI (num2 != O) ENTdiv = num1 / num2IMPRIMIR divSINOmult = num1 * num2IMPRIMIR multFIN-SIFIN<br />Volver <br /> <br />2.3. Estructuras de Decisión Múltiples: Es cuando se requiere el uso de mas de dos estructuras, dos preguntas o tiene muchas posibilidades. Su sintaxis es una combinación de las dos estructuras anteriores. Se debe utilizar un SI-SINO para cada una de las probabilidades, EXCEPTO PARA LA ÚLTIMA. Y se debe tener en cuanta que el número de SI que tenga un algoritmo, TIENE que ser igual al de FIN-SI. Cada estructura se debe desplazar un poco hacia la derecha al momento de abrirla, pero se cierran hacia el lado izquierdo. Ejemplo:<br />SI (CONDICIÓN1) ENTONCES...Instrucciones, cálculos y/ operaciones (pregunta1 verdadera)SINOSI (CONDICIÓN2) ENTONCES...Instrucciones, cálculos y/ operaciones (pregunta2 verdadera)SINOSI (CONDICIÓN-n) ENTONCES...Instrucciones, cálculos y/ operaciones (pregunta-n verdadera)FIN-SIFIN-SIFIN-SI<br />En este caso las primeras instrucciones se desarrollarán cuando la pregunta sea verdadera, y las otras, cuando sea falsa.<br />Ejemplo: Desarrolle un algoritmo que lea dos número y calcule división del primero por el segundo sólo si el segundo es menor que el primero. Si el segundo es mayor que el primero calcule su suma y si son iguales calcule su resta.<br />INICIOLEER num1, num2SI (num1 < num2) ENTdiv = num1 / num2IMPRIMIR divSINOSI (num2 > num1) ENTsum = num1 + num2IMPRIMIR sumSINOSI (num2 = num1)resta = num1 –num2IMPRIMIR restaFIN-SIFIN-SIFIN-SIFIN<br />Para evitar el uso de muchas variables y el algoritmo se realice de una manera optima se recomienda utilizar una sola variable para mostrar el resultados de las operaciones. Observe el siguiente ejemplo:<br />INICIOLEER num1, num2SI (num1 < num2) ENTresultado = num1 / num2SINOSI (num2 > num1) ENTresultado = num1 + num2SINOSI (num2 = num1)resultado = num1 –num2FIN-SIFIN-SIFIN-SIIMPRIMIR resultadoFIN<br />Además observe, y tenga muy en cuenta que CUANDO SE REALIZA UNA OPERACIÓN, O UN CÁLCULO EN TODAS LAS ESTRUCTURAS DE DECISIÓN, ÉSTA INTRUCCIÓN SE PUEDE COLOCAR DESPUÉS DE CERRAR TODAS LAS ESTRUCTURAS DE DECISIÓN. Ese es el caso de la instrucción IMPRIMIR resultado, que se podría colocar después de cada cálculo, pero como se repite en todas las condiciones, es recomendable colocarlo al final, después de cerrar las estructuras.<br />Algunas preguntas dentro de un ejercicio, requerirán de preguntas con varias condiciones, para lo cual se usan los operadores booleanos para separarlas: And o ^ que es Disyunción Y. Or o v que es Conjunción O. Not o ! que es Negación. En los algoritmos manejaremos los operadores ^, v y !.<br />Por ejemplo: Se pide determinar si un triangulo es equilátero, escaleno o isósceles. Se leen sus 3 lados.<br />INICIOLEER Lado1, Lado2, Lado3SI (Lado1=Lado2) ^ (Lado1=Lado3) ENTIMP “ES EQUILÁTERO”SINOSI (Lado1!=Lado2) ^ (Lado1!=Lado3) ^ (Lado2!=Lado3) ENTIMP “ES ESCALENO”SINOIMP “ES ISOSCELES”FIN-SIFIN-SIFIN<br />Para entender mejor las estructuras de decisión, vamos a realizar varios ejercicios del tema; pero basado en el último taller de algoritmos secuenciales.<br />3. Ejercicios Resueltos de estructuras de decición1. Desarrolle un algoritmo que lea el valor del pasaje y el número de pasajeros que abordarán un microbús. Calcular el valor total a pagar. Además, imprima un mensaje que diga si tiene sobre cupo o no. Tenga en cuenta que a un microbús le caben 20 pasajeros.<br />INICIOLEER numpas, valpasvaltot = numpas * valpasIMPRIMIR valtotSI (numpas > 20)IMPRIMIR “TIENE SOBRECUPO”SINOIMPRIMIR “NO TIENE SOBRECUPO”FINSIFIN<br /> <br />2. Una persona recibe una cantidad no conocida en dólares. Haga un algoritmo que determine el valor equivalente en pesos, sabiendo que el dólar tiene un costo de $2.550 si se cambian menos de 100 dólares, $2.600 si se cambian entre 100 y 350 y finalmente, cuestan $3.000 si se cambian más de 350.<br />INICIOLEER cantdolSI (cantdol < 100)ceqpes = cantdol * 2550SINOSI (cantdol >= 100)ceqpes = cantdol * 2600SINOSI (cantdol > 350)ceqpes = cantdol * 3000FINSIFINSIFINSIIMPRIMIR ceqpesFIN<br /> <br />3. Un atleta recorre tres distancias diferentes en tres competiciones distintas. Calcular e imprimir la distancia promedio. Imprima “Excelente distancia” si el promedio es mayor a 12 kilómetros.<br />INICIOLEER dis1, dis2, dis3disprom = (dis1 + dis2 + dis3) / 3IMPRIMIR dispromSI (disprom > 12)IMPRIMIR “EXCELENTE DISTANCIA”FINSIFIN<br /> <br />4. Una persona ingresa a un gimnasio pesando una cantidad desconocida. Luego de una sesión de trabajo redujo su peso en un 10%, posteriormente, asistió a una última sesión en la que rebajó 18.5%. En un período de 8 días de inactividad aumentó un 3% de su peso. Calcular e imprimir cada una de las disminuciones, el aumento y el peso actual de esa persona, además imprima si tiene sobrepeso o no. Nota: El límite es hasta 78 kg).<br />INICIOLEER pesdred1 = pesd * 0.1red2 = pesd * 0.185aum = pesd * 0.03pesact = pesd – red1 – red2 + aumIMPRIMIR red1, red2, aum, pesactSI (pesact > 78)IMPRIMIR “TIENE SOBRE PESO”SINOIMPRIMIR “NO TIENE SOBRE PESO”FINSIFIN<br /> <br />5. En un montallantas se ofrece un descuento del 20% sobre el valor de cada llanta si el número de llantas no supera las 10, de lo contrario tiene un descuento del 50%. Se pide desarrollar un algoritmo que lea el número de llantas y el valor de cada llanta. Calcular el valor de la compra y el valor total después del descuento.<br />INICIOLEER nll, vll, ncSI (nll <=10)vrll = vll *0.8SINOvrll = vll *0.5FINSIcompra = nll * vllvreal = nll * vrllIMPRIMIR compra, vrealFIN<br /> <br />6. Desarrollar el mismo ejercicio anterior, pero sabiendo que el valor de cada llanta es de $40.000 y que el descuento es del 35% y 60%.<br />INICIOLEER nll, ncSI (nll <=10)vrll = 40.000 * 0.65SINOvrll = 40.000 * 0.4FINSIcompra = nll * 40.000vreal = nll * vrllIMPRIMIR compra, vrealFIN<br /> <br />7. Calcular el salario neto de un empleado sabiendo que se le hace una retención del 3% para pensión y 5% para salud si su salario básico no llega a los $400.000, si este es mayor a $800.000 los porcentajes serán del 4% para pensión y 7% para salud; en caso contrario los porcentajes serán 9% y 7% respectivamente. Se debe leer el valor de cada hora y el número de horas trabajadas por el empleado.<br />INICIOLEER vh, nhtsb = vh * nhtSI (sb < 400.000)pension = sb * 0.03salud = sb * 0.05SINOSI (sb > 800.000)pension = sb * 0.04salud = sb * 0.07SINOpension = sb * 0.09salud = sb * 0.07FINSIFINSIsneto = sb – salud - pensionIMPRIMIR snetoFIN<br /> <br />8. Calcular e imprimir el salario básico, el salario neto y cada uno de los porcentajes que tiene un empleado en su liquidación de nómina. Tenga en cuenta que recibe un auxilio de alimentación del 1% del salario básico y un subsidio de transporte de $45.000 si su salario no asciende a $300.000, sino no tendrá auxilio de alimentación y el subsidio de transporte será de $25.000. Luego se le hacen unas deducciones correspondientes al 1.5%, 28.1% y 0.55% por concepto de salud, pensión y aportes parafiscales respectivamente. Luego de calculado el salario neto, se pide sacar un 0.05% del salario neto para una donación a una catástrofe.<br />INICIOLEER vh, nhtsb = vh * nhtSI (sb < 300.000)aux = sb * 0.01subt = 45.000SINOaux = 0subt = 25.000FINSIsalud = sb * 0.015pension = sb * 0.281paraf = sb * 0.55sneto = sb + aux + subt – salud – pension – parafdonac = sneto * 0.005sneto2 = sneto - donacIMPRIMIR sb, sneto2, aux, salud, pension, paraf, donacFIN<br /> <br />9. Calcular el peso equivalente en Gramos de una fruta que tiene un peso no conocido en Kilogramos, sólo si el peso sobrepasa los 5 kilogramos, de lo contrario calcular el equivalente en onzas. 16 onzas son una libra. 2 libras son 1 kilogramo. Un kilogramo son 1000 gramos. <br />INICIOLEER pesfrutSI (pesfrut > 5)peso = pesfrut * 1000SINOpeso = (pesfrut / 2) * 16FINSIIMPRIMIR pesoFIN<br /> <br />10. El peso de un vehículo (en toneladas) se redujo en un 15% luego de hacerle unas reparaciones. Se pide calcular el peso actual luego de la reducción. Por último se pide calcular el equivalente en kilogramos y en gramos de ese peso actual. Si la reducción es mayor a 3½ toneladas imprima un mensaje “El vehículo quedó liviano”.<br />INICIOLEER pesvehred = pesveh * 0.15pesact = pesveh – redpeskil = pesact * 1000pesgr = peskil * 1000IMPRIMIR pesact, peskil, pesgrSI (red > 3,5)IMPRIMIR “VEHÍCULO QUEDÓ LIVIANO”FINSIFIN<br /> <br />11. Resolver la ecuación del área del perímetro = 2- R, sólo si R es diferente de 2.<br />INICIOLEER rSI (R <> 0)aperim = 2 - rIMPRIMIR aperimFINSIFIN<br /> <br />12. Resolver la ecuación = (-b Öa) / 2bc, sólo si a es positivo y las variables c y b no son iguales a 0.<br />INICIOLEER d, b, a, cSI (a > 0) ^ (b < > 0) ^ (c < > 0)x1 = (-b * a ^ (1/2)) / (2 * b * c)IMPRIMIR x1FINSIFIN<br /> <br />13. Leer la temperatura de un día (en grados centígrados). Imprimir un mensaje “HACE FRIO” si la temperatura es menor a 23°C, imprima “ES UN BUEN DÍA” si la temperatura es mayor e igual que 23°C e inferior a 30°C. En caso que la temperatura sea igual o superior a 30°C imprima “HACE CALOR”.<br />INICIOLEER tempgcSI (tempgc < 23)IMPRIMIR “HACE FRIO”SINOSI (tempgc < 30)IMPRIMIR “BUEN DÍA”SINOIMPRIMIR “HACE CALOR”FINSIFINSIFIN<br /> <br />14. Leer un número. Calcular e imprimir su valor absoluto (el valor absoluto de un número negativo es su positivo, y el de un número positivo es el mismo número. Ejemplo: Valor Absoluto de –5 = 5, Valor absoluto de 3 = 3).<br />INICIOLEER numSI (num > 0)vabs = numSINOvabs = num * (-1)FINSIIMPRIMIR vabsFIN<br /> <br />15. Leer la nota de un estudiante (en números enteros) e imprimir su equivalente en letras sabiendo que si la nota es 5 su equivalente es EXCELENTE, 4 es BUENO, 3 es ACEPTABLE, 2 INSUFICIENTE y 1 DEFICIENTE.<br />INICIOLEER notaSI (nota = 5)IMPRIMIR “EXCELENTE”SINOSI (nota = 4)IMPRIMIR “BUENO”SINOSI (nota = 3)IMPRIMIR “ACEPTABLE”SINOSI (nota = 2)IMPRIMIR “INSUFICIENTE”SINOSI (nota = 1)IMPRIMIR “DEFICIENTE” FINSIFINSIFINSIFINSIFINSIFINSIFIN<br /> <br />16. Desarrollar el mismo ejercicio anterior pero leyendo una nota con sus decimales y teniendo en cuenta que si la nota es mayor o igual que 4.6 es EXCELENTE, si la nota está entre 3.6 y 4.5 es BUENO, si la nota está entre 3.0 y 3.5 es ACEPTABLE, si la nota mayor o igual que 2.0 y menor que 3.0 es INSUFICIENTE y si la nota es menor a 2.0 la nota en letras es DEFICIENTE.<br />INICIOLEER notaSI (nota >= 4.6)IMPRIMIR “EXCELENTE”SINOSI (nota >= 3.6)IMPRIMIR “BUENO”SINOSI (nota >= 3.0)IMPRIMIR “ACEPTABLE”SINOSI (nota >= 2.0)IMPRIMIR “INSUFICIENTE”SINOSI (nota < 2.0)IMPRIMIR “DEFICIENTE” FINSIFINSIFINSIFINSIFINSIFINSIFIN<br /> <br />17. Un ratón se comió el 40% de un pedazo de queso y su peso aumentó en un 1,1%. Leer el peso del queso y el peso del ratón. Calcular e imprimir el peso actual de los dos sólo si el 20% del peso del ratón es inferior al peso final del queso.<br />INICIOLEER pesr, pesqSI (pesr * 0.2 < pesq * 0.6)red = pesq * 0.4aum = pesr * 0.01pesactq = pesq - redpesactr = pesr + aumIMPRIMIR pesactr, pesactqFINSIFIN<br /> <br />18. Calcule el promedio de goles anotados por un jugador en 4 encuentros, sólo si la suma de éstos es superior a 20.<br />INICIOLEER cg1, cg2, cg3, cg4SI (cg1 + cg2 + cg3 + cg4 > 20)prom = (cg1 + cg2 + cg3 + cg4) / 4IMPRIMIR promFINSIFIN<br /> <br />19. Calcular la tangente de las funciones Seno y Coseno, sabiendo que Tan = Sen / Cos. Tenga en cuenta que no se puede dividir por 0; en caso contrario imprima “NO ES POSIBLE DIVIDIR”<br />INICIOLEER sen, cosSI (cos < > 0)tan = sen /cosIMPRIMIR tanSINOIMPRIMIR “NO ES POSIBLE DIVIDIR”FINSIFIN<br /> <br />20. Desarrolle un algoritmo que dé solución a la ecuación contable ACTIVO = PASIVO + PATRIMONIO. Además, imprima si la empresa tiene saldo en cero, tiene perdida o tiene alguna ganancia.<br />INICIOLEER pas, patact = pas + patSI (act = 0)IMPRIMIR “EMPRESA TIENE SALDO EN CERO”SINOSI (act < 0)IMPRIMIR “EMPRESA TIENE PERDIDA”SINOIMPRIMIR “EMPRESA TIENE GANANCIAS”FINSIFINSIFIN<br /> <br />21. Calcular el número de días y horas vividos por una persona de la cual se desconoce su año de nacimiento. Sólo si el año de nacimiento es anterior al año 2000.<br />INICIOLEER anac, aactualSI (anac < 2000)numdias = (aactual – anac) * 365numhoras = (aactual – anac) * 24IMPRIMIR numdias, numhorasFINSIFIN<br /> <br />22. La banda ancha incrementó la velocidad de transferencia de datos en Internet en un 230%. Imprima la velocidad anterior y la velocidad actual, teniendo en cuenta que un equipo tiene banda ancha y otro no. Leer si tiene banda ancha o no un computador y tenga en cuenta que si no la tiene el incremento es 0.<br />INICIOLEER velant, tbaSI (tba = “SI”)velact = velant * 3.3SINOLEER porcvelact = velant * porc / 100FINSIIMPRIMIR velant, velactFIN<br /> <br />23. En una biblioteca se prestaron 457 libros en los últimos días. Calcular el número total de libros que hay en la actualidad sabiendo que al iniciar la biblioteca había Ylibros, imprima si hay libros o no.<br />INICIOLEER Ylibrostotlib = Ylibros – 457SI (totlib > 0)IMPRIMIR “HAY LIBROS”SINOIMPRIMIR “NO HAY LIBROS”FINSIFIN<br /> <br />24. Un tendero empezó el día con un Valor X en dinero. Luego tuvo 4 ventas por un valor de $800.000 y finalmente pagó a sus acreedores el 10% de todo lo que tenía en caja. Imprima el dinero con el que empezó, el dinero con el que terminó y el pago a sus acreedores. Imprima si se le pagó a proveedores más de $50.000 o no.<br />INICIOLEER xvaloracreed = (xvalor + 800.000) * 0.1vfinal = xvalor + 800.000- acreedIMPRIMIR Xvalor, vfinal, acreedSI (acreed > 50.000)IMPRIMIR “PAGÓ MÁS DE 50.000 A ACREEDORES”SINOIMPRIMIR “NO PAGÓ MÁS DE 50.000 A ACREEDORES”FINSIFIN<br /> <br />25. Calcular el salario neto de empleado sabiendo que se le hace una retención del 25%. Imprima un mensaje que diga si gana más del mínimo, gana menos o gana el salario mínimo.<br />INICIOLEER salbas, salminsalneto= salbas * 0.75IMPRIMIR salnetoSI (salneto > salmin)IMPRIMIR “GANA MAS DEL SALARIO MINIMO”SINOSI (salneto > salmin)IMPRIMIR “GANA MENOS DEL SALARIO MINIMO”SINOIMPRIMIR “GANA EL SALARIO MINIMO”FINSIFINSIFIN<br /> <br />26. Resolver la siguiente ecuación Aux = i (n-3) / n2+x<br />INICIOLEER salbas, salminsalneto= salbas * 0.75IMPRIMIR salnetoSI (salneto > salmin)IMPRIMIR “GANA MAS DEL SALARIO MINIMO”SINOSI (salneto > salmin)IMPRIMIR “GANA MENOS DEL SALARIO MINIMO”SINOIMPRIMIR “GANA EL SALARIO MINIMO”FINSIFINSIFIN<br /> <br />27. Calcular la raíz cuadrada del triple del valor de PI - X. <br />INICIOLEER xrta = 3 * 3,1416 - xSI (x > 0)raiz = rta ^ (1 / 2)IMPRIMIR raizSINOIMPRIMIR “NO SE PUEDE SACAR RAÍZ DE UN NÚMERO NEGATIVO”FINSIFIN<br /> <br />28. Goku es un personaje de las tiras cómicas que tiene la particularidad que puede transformarse y aumentar su nivel de pelea luego de determinados entrenamientos. Desarrolle un algoritmo que lea el nivel de pelea antes de una transformación que aumentó su nivel de pela en un 300%. Imprimir su nivel de pelea actual y su aumento, sólo si el nivel final es mayor a 5000.<br />INICIOLEER nivelantesaum = nivelantes * 300 / 100nivelfinal = nivelantes + aumSI (nivelfinal > 5000) ENTIMPRIMIR nivelantes, nivelfinalSINOIMPRIMIR “NIVEL FINAL NO SUPERÓ LOS 5000”FINSIFIN<br />4. Estructuras de decisión anidadas<br />Las estructuras de decisión anidadas se usan cuando una pregunta va dentro de otra (s) preguntas sin la palabra SINO. Este tipo de estructuras se usan cuando se necesitan que se cumplan una condición para seguir con la otra y reemplaza a las estructuras que usan el operador (Y) (AND) o (^). Por ejemplo: Calcular la suma de 2 números sólo si los dos son pares y los dos son positivos.<br />INICIOLEER num1, num2SI (num1 mod 2 = 0) ^ (num2 mod 2 = 0) ^ (num1 > 0) ^ (num2 > 0)suma = num1 + num2IMPRIMIR sumaFINSIFIN<br />Para que este ejercicio pueda calcular la suma, tendrán que cumplirse las 4 condiciones antes mencionadas. Este ejercicio también se puede hacer con Estructuras de decisión Anidadas.<br />INICIOLEER num1, num2SI (num1 mod 2 = 0) SI (num2 mod 2 = 0) SI (num1 > 0) SI (num2 > 0)suma = num1 + num2IMPRIMIR sumaFINSIFINSIFINSIFINSIFIN<br />Como ya se explicó el manejo de las estructuras de decisión, cuando se cumple una condición (o sea que es verdadera) se pasa a realizar las instrucciones que hay allí; pero acá se encuentra con otra preguntas que repite el mismo proceso hasta el final, y para ejecutar la suma, se tendrían que cumplir las 4 condiciones, en caso contrario no haría nada.<br />Volver <br />4.1. Taller 4 (Estructuras de decisión) <br />1- Leer dos números e imprimirlos si por lo menos hay uno positivo.2- Leer dos números calcular la suma de los números. Imprima los números leídos y la suma sólo si su suma es negativa.3- Leer el nombre, la edad y el sexo de cualquier persona e imprimir el nombre sólo si la persona es de sexo masculino y es mayor de edad. Tenga en cuenta que la variable sexo puede tomar dos valores: M si es Masculino o F es Femenino.4- Leer la cédula, el nombre, la edad, el sexo y el estado civil de cualquier persona e imprimir el nombre sólo si la persona es una mujer, soltera, mayor de edad. Tenga en cuenta que la variable sexo puede tomar dos valores: M si es Masculino o F es Femenino y la variable estado civil se manejará: 1 si es casado, 2 si es soltero y 3 si es otro.5- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Si el salario bruto es mayor a $250.000 la retención en la fuente es del 27% del salario bruto. Imprimir la cédula del empleado, el nombre, el salario bruto, el valor de retención y el salario neto.6- Leer un número, imprimirlo y decir si es par o impar.7- Leer un número, imprimirlo y decir si es positivo o negativo.8- Leer dos número e imprimir sólo los positivos.9- Leer un numero y escribir el valor absoluto del mismo.10- Leer dos números, calcular e imprimir su división sólo si el segundo número es diferente de cero. Si el segundo número es igual cero no ejecute el cálculo e imprima un mensaje que diga DIVISIÓN NO ES POSIBLE”.11- Leer el nombre y la edad de cualquier persona. Imprimir el nombre sólo si la personas es mayor de edad, de lo contrario imprima un mensaje que diga “NO PUEDE VOTAR”.12- Leer el nombre, la edad, el sexo y el estado civil de cualquier persona e imprimir, si es hombre o mujer menor de edad, o es un hombre casado de cualquier edad, el nombre de la persona y un mensaje que diga “USTED NO SE MANDA”. En los demás casos imprima sólo el nombre.13- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Si el salario bruto es menor a $130.000 la retención en la fuente es del 9% y la retención para el ISS será del 5%; de lo contrario la retención en la fuente será del 12% y la retención para el ISS será del 8% del salario bruto. Se debe imprimir todos los datos del empleado.14- Elaborar un algoritmo que lea la cédula de un empleado, el nombre, el salario básico por hora y las horas trabajadas en la semana. Calcular el salario neto sabiendo que si las horas trabajadas en la semana es mayor a 48, esas horas demás se consideran como horas extras y tienen un 35% de recargo. Se debe imprimir la cédula del empleado, el nombre y el salario neto.<br />15- Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.<br />16- Un vendedor desea calcular la comisión sobre la venta de cualquier cantidad de un articulo. El vendedor le corresponde el 5% de comisión si el valor unitario del articulo vendido es menor a $350 y el 7% si el valor unitario es de $350 o más. Se debe imprimir los datos del vendedor.<br />17- Elaborar un algoritmo que calcule la nota definitiva de un estudiante de lógica, teniendo en cuenta que la nota definitiva consta de 4 notas que valen un 25% cada una. Imprimir los datos del estudiante y un mensaje que diga “PERDIÓ” si en realidad lo perdió; de lo contrario imprima “GANÓ”. Se deben leer los datos del estudiante y sus respectivas notas. Gana con una nota mayor o igual a 3.0 de lo contrario pierde.<br />18- Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobará si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.<br />19- En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿Cual será la cantidad que pagara una persona por su compra? <br />20- Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40 horas o menos se le paga $16 por hora, si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.<br />21- Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.<br />22- Desarrolle un algoritmo que lea dos números y los imprima en forma ascendente.<br />23- Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas calorías consume su cuerpo durante todo el tiempo que realice una misma actividad. Las actividades que tiene permitido realizar son únicamente dormir o estar sentado en reposo. Los datos que tiene son que estando dormido consume 1.08 calorías por minuto y estando sentado en reposo consume 1.66 calorías por minuto.<br />24- Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves).<br />25- Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%<br />26- Se debe elaborar un algoritmo que calcule el salario neto de un trabajador, sabiendo que si el salario bruto es menor a $135.000 la retención en la fuente es del 7% y la retención del ISS es del 8.5%. de lo contrario la retención en la fuente es del 9.5% y la retención del ISS es del 10%. Se debe leer cédula y salario básico. Imprimir todos los datos y los cálculos efectuados.<br />27- Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica 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 crédito 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 crédito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crédito.<br />28- Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.<br />29- Leer tres números diferentes e imprimir el numero mayor de los tres.<br />30- 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. Leer el número de horas trabajadas y precio por cada hora.<br />31- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguientes condiciones: Si el tiempo es de menos de 1 año la utilidad es 5 % del salario. Si el tiempo es de 1 año o mas y menos de 2 años la utilidad es del 7% del salario. Si son 2 años o mas y menos de 5 años, la utilidad es de 10%. Si son 5 años o mas y menos de 10 años, la utilidad es del 15% y si son 10 años o mas la utilidad es del 20%.<br />32- En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores mencionados.<br />33- El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen tres tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o mas y una antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25 años o mas. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o mas y una antigüedad en su empleo de 25 años o mas. Determinar en que tipo de jubilación, quedara adscrita una persona.<br />34- Se debe elaborar un algoritmo que lea cédula, nombre, básico hora y las horas trabajadas en la semana de un empleado. Calcular el salario neto teniendo en cuenta que si el salario bruto es menor o igual a $120.000 la retención en la fuente será del 14% y la retención del ISS será del 8%. Si el salario bruto está entre $120.000 y $160.000 la retención en la fuente será del 16% y la retención del ISS será del 13%. Pero si el salario bruto es superior a $160.000 la retención en la fuente será del 17% y la retención del ISS será del 10%. Se debe imprimir la cédula del empleado, el nombre, el salario bruto, el valor de deducciones y el salario neto.<br />35- Para calcular el salario neto de un empleado se debe leer cédula, nombre y salario básico. Y se debe tener en cuenta las siguientes condiciones: para salarios básicos hasta $400.000, no hay retenciones de ninguna clase. Para salarios de más $400.000 hasta $800.000 la retención en la fuente será del 12% y la retención del ISS será del 10%. Y para salarios superiores a $800.00 la retención en la fuente que le corresponde será del 15% y la retención del ISS será del 12%. Imprimir todos los datos y cálculos del empleado.<br />36- Elabore un algoritmo que calcule salario neto mensual de un empleado. Se debe leer cédula, nombre, salario básico hora y las horas trabajadas. Para calcularlo se debe tener en cuenta lo siguiente: Si el salario básico es menor o igual a $480.000 se le hará una retención en la fuente del 4% y para el ISS un 6%. Si el salario básico es mayor a $480.000 y menor o igual a $560.000 se le hará una retención en la fuente del 7% y para el ISS un 8%. Si el salario básico es mayor a $560.000 y menor o igual a $745.000 se le hará una retención en la fuente del 10% y para el ISS un 11%. Si el salario básico es mayor a $560.000 y menor o igual a $900.000 se le hará una retención en la fuente del 20% y para el ISS un 30%. Si el salario básico es mayor a $900.000 se le hará una retención en la fuente del 25% y para el ISS un 35%. Imprimir todos los datos.<br />37- Realice un algoritmo que lea nombre, edad, sexo (F = Femenino, M = Masculino), estado civil (1 = Casado, 2 = Soltero, 3 = Otro) de cualquier persona e imprimir: Si es menor de edad un mensaje que diga “NO PUEDE VOTAR”. Si es mujer, mayor de edad y casada imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 1”. Si es mujer, mayor de edad y soltera imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 2”. Si es hombre mayor de edad imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 3”. Y Si es hombre o mujer que no sea ni soltero ni casado imprima un mensaje que diga “PUEDE VOTAR EN LA MESA 4”.<br />38- Un hombre desea calcular la comisión sobre la venta de una cantidad no conocida de un articulo. Al vendedor le corresponde el 5% de comisión si el valor de la venta total es menor o igual a $545.000. Si el valor de la venta total es mayor a $545.000 y menor o igual a $750.000 la comisión será del 7% y si la venta total es mayor a $750.000 la comisión será del 9%. Se debe leer el nombre del vendedor, la descripción del articulo, la cantidad vendida, el valor unitario. Imprimir todos los datos del vendedor.<br />39- Elaborar un algoritmo que calcule la nota definitiva de un estudiante, teniendo en cuenta que la nota definitiva consta de 4 notas que valen las dos primeras un 10% y las otras dos 40% respectivamente. Imprimir los datos del estudiante y un mensaje que diga “DEBE HABILITAR” si perdió la materia con una nota definitiva menor a 3.0 y mayor igual a 2.5. Si la nota definitiva es menor a 2.5 imprima un mensaje “PERDIÓ. DEBE REPETIR”. Y si la nota definitiva es mayor o igual a 3.0 imprima un mensaje que diga “GANÓ. FELICITACIONES”. Se deben leer los datos del estudiante y sus respectivas notas. <br />40- Lea 3 números y calcule su promedio. Luego imprimir un mensaje que diga “ES MAYOR AL PROMEDIO”, “ES MENOR QUE EL PROMEDIO” o “ES IGUAL AL PROMEDIO” a los números que cumplan cada condición.<br />41- Lea 3 números e imprima el número mayor y un mensaje, el número menor y un mensaje y el número medio con su respectivo mensaje. Asuma que no existen números iguales.<br />42- Lea 3 números e imprima el número mayor, el número menor y el número medio. Además, imprimir los números que sean iguales.<br />43- Calcular el pago de un local por parte de inquilino. Lea el nombre del inquilino, la cédula, la dirección del local, fecha en que fue ocupado el local y la fecha de pago. Para calcular el valor a pagar se debe tener en cuenta: El valor del arrendamiento mensual equivale a $1.500.000, pero si el inquilino paga antes de 30 días se concede un descuento del 0.5% por cada día que le falta para cumplir el mes y si el pago es después de 30 días se le cobrará un interés equivalente al 2.5% por cada día que esté en mora. Se debe imprimir el total pagado y los datos del inquilino.<br />44-Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos, un medico determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor que el rango que le corresponde, se determina su resultado como positivo y en caso contrario como negativo. La tabla en la que el medico se basa para obtener el resultado es la siguiente:<br />EDAD ------------NIVEL HEMOGLOBINA0 - 1 mes ----------------13 - 26 g%> 1 y < = 6 meses -------10 - 18 g%> 6 y < = 12 meses ------11 - 15 g%> 1 y < = 5 años ---------11.5 - 15 g%> 5 y < = 10 años -------12.6 - 15.5 g%> 10 y < = 15 años ------13 - 15.5 g%mujeres > 15 años -------12 - 16 g%hombres > 15 años ------14 - 18 g%<br />4.3. Taller 5 (Recuperación de estructuras de decisión)<br />1) Calcular el total que una persona debe pagar en un llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas.<br />2) En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuanto dinero se le descuenta.<br />3) Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aerobico; la formula que se aplica cuando el sexo es femenino es: num.pulsaciones = (220 - edad)/10, y si el sexo es masculino: num. pulsaciones = (210 - edad)/10<br />4) Una compañía de seguros esta abriendo un depto. de finanzas y estableció un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efectúa la fianza es menor que $50 000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $50 000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cual será la cuota que debe pagar un cliente.<br />5) En una escuela la colegiatura de los alumnos se determina según el numero de materias que cursan. El costo de todas las materias es el mismo.<br />Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por un alumno en el ultimo periodo es mayor o igual que 9, se le hará un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deberá pagar la colegiatura completa, la cual incluye el 10% de IVA.Obtener cuanto debe pagar un alumno.<br />6) Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: Si los ingresos del comprador son menores de $8000 o mas el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si los ingresos del comprador son menos de $8000 o mas el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7 años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial.<br />7) El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que consiste en que los dueños de la empresa deben obligatoriamente depositar en una cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del SAR, la cual le será descontada de su pago. Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total de dinero que estará depositado a esa cuenta cada mes, y el pago mensual que recibirá.<br />8) Una persona desea iniciar un negocio, para lo cual piensa verificar cuanto dinero le prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a menos que el monto por hipotecar su casa sea muy pequeño. Si el monto de la hipoteca es menor que $1 000 000 entonces invertirá el 50% de la inversión total y un socio invertirá el otro 50%. Si el monto de la hipoteca es de $ 1 000 000 o mas, entonces invertirá el monto total de la hipoteca y el resto del dinero que se necesite para cubrir la inversión total se repartirá a partes iguales entre el socio y el.<br />9) El gobierno del estado de México desea reforestar un bosque que mide determinado numero de hectáreas. Si la superficie del terreno excede a 1 millón de metros cuadrados, entonces decidirá sembrar de la sig. manera:Porcentaje de la superficie del bosque Tipo de árbol70% pino20% oyamel10% cedro<br />Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces decidirá sembrar de la sig. manera:Porcentaje de la superficie del bosque Tipo de árbol50% pino30% oyamel20% cedro<br />El gobierno desea saber el numero de pinos, oyameles y cedros que tendrá que sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros. También se sabe que una hectárea equivale a 10 mil metros cuadrados.<br />10) Una fabrica ha sido sometida a un programa de control de contaminación para lo cual se efectúa una revisión de los puntos IMECA generados por la fabrica. El programa de control de contaminación consiste en medir los puntos IMECA que emite la fabrica en cinco días de una semana y si el promedio es superior a los 170 puntos entonces tendrá la sanción de parar su producción por una semana y una multa del 50% de las ganancias diarias cuando no se detiene la producción. Si el promedio obtenido de puntos IMECA es de 170 o menor entonces no tendrá ni sanción ni multa. El dueño de la fabrica desea saber cuanto dinero perderá después de ser sometido a la revisión.<br />11) Una persona se encuentra con un problema de comprar un automóvil o un terreno, los cuales cuestan exactamente lo mismo. Sabe que mientras el automóvil se devalúa, con el terreno sucede lo contrario. Esta persona comprara el automóvil si al cabo de tres años la devaluación de este no es mayor que la mitad del incremento del valor del terreno. Ayúdale a esta persona a determinar si debe o no comprar el automóvil.<br />12) En una fabrica de computadoras se planea ofrecer a los clientes un descuento que dependerá del numero de computadoras que compre. Si las computadoras son menos de cinco se les dará un 10% de descuento sobre el total de la compra; si el numero de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o mas se les da un 40% de descuento. El precio de cada computadora es de $11,000<br />13) En una llantera se ha establecido una promoción de las llantas marca “Ponchadas”, dicha promoción consiste en lo siguiente: Si se compran menos de cinco llantas el precio es de $300 cada una, de $250 si se compran de cinco a 10 y de $200 si se compran mas de 10. Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que compra y la que tiene que pagar por el total de la compra.<br />14) En un juego de preguntas a las que se responde “Si” o “No” gana quien responda correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas son:1. Colon descubrió América?2. La independencia de Colombia fue en el año 1810?3. The Doors fue un grupo de Rock Americano?<br />15) Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de algún aparato si este cuesta $2000 o mas. Además, independientemente de esto, ofrece un 5% de descuento si la marca es “NOSY”. Determinar cuanto pagara, con IVA incluido, un cliente cualquiera por la compra de su aparato.<br />16) Determinar cuanto pagara una persona que compre manzanas en una frutería que tiene los siguientes descuentos:NUM. DE KILOS COMPRADOS % DESCUENTO0 - 2 0%2.01 - 5 10%5.01 - 10 15%10.01 en adelante 20%<br />17) El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. La manera de planificarlas depende de lo siguiente: Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo saldo sea de $10 000. Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20 000, pero si su capital tiene actualmente un saldo superior a los $20 000 no pedirá ningún préstamo.<br />Posteriormente repartirá su presupuesto de la siguiente manera. $5000 para equipo de computo, $2000 para mobiliario y el resto la mitad será para la compra de insumos y la otra para otorgar incentivos al personal. Desplegar que cantidades se destinaran para la compra de insumos e incentivos al personal y, en caso de que fuera necesario, a cuanto ascendería la cantidad que se pediría al banco.<br />18. Una institución educativa estableció un programa para estimular a los alumnos con buen rendimiento académico y que consiste en lo siguiente:Si el promedio es de 9.5 o mas y el alumno es de preparatoria, entonces este podrá cursar 55 unidades y se le hará un 25% de descuento.Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria, entonces este podrá cursar 50 unidades y se le hará un 10% de descuento.Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podrá cursar 50 unidades y no tendrá ningún descuento.Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento.Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4 o mas y el alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún descuento.Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrá cursar 55 unidades y se le hará un 20% de descuento.Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá cursar 55 unidades y no tendrá descuento.<br />Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos de profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de $180 por cada cinco unidades.<br />19) Que lea tres números diferentes y determine el numero medio del conjunto de los tres números (el numero medio es aquel numero que no es ni mayor, ni menor).<br />20) Leer el nombre, la edad y el teléfono de dos personas. Imprimir todos los datos, sólo si tienen la misma edad.<br />21) En las pruebas ICFES se presentan dos tipos pruebas, una de aptitud matemática y otra de lenguaje. Leer los puntajes obtenidos por un estudiante en cada prueba e imprimir en cuál obtuvo el mayor puntaje o si fueron iguales.<br />22) Leer un símbolo químico e imprimir el elemento sólo si es Hidrógeno, Oxigeno o Nitrógeno.<br />23) Leer la fecha de nacimiento de una persona e imprimir su signo del zodiaco.<br />24) Leer los tres lados de un triángulo (A,B y C). Imprima que tipo de triángulo es teniendo en cuenta que es equilátero sólo si tres lados son iguales, si dos de sus lados son iguales es un triángulo isósceles y si todos son desiguales es escaleno.<br />25) Leer el nombre, la edad y el teléfono de dos personas. Imprimir todos los datos, sólo si tienen la misma edad y tienen distinto nombre.<br />26) Leer tres números e imprimir cual de ellos es el mayor.<br />27) Leer dos números e imprimir sólo los positivos.<br />28) Se pide leer la edad, el peso y la estatura de una persona e imprimir si puede o no participar en una competencia. Los requisitos para participar son: ser mayor de edad, pesar mas de 50 Kilogramos y medir mas de 1.50 Metros.<br />29) Lea un día de la semana e imprima ES UN EXCELENTE DÍA si es sábado o domingo, de lo contrario imprima ES UN PÉSIMO DÍA, TENEMOS QUE ESTUDIAR.<br />30) Calcule el cuadrado de un número sólo si es igual a 10, 20 o 30.<br />31) Una persona desea realizar un viaje a alguna de estas tres ciudades: ESTADOS UNIDOS, FRANCIA O ITALIA. Desarrolle un algoritmo que lea el estado del clima, y el valor de descuento ofrecido por la agencia de viaje. Diga a cual ciudad debe ir teniendo en cuenta que si el estado del clima es bueno y el descuento es de 500 dólares viajará a ESTADOS UNIDOS, si el clima está regular y el descuento es de 1000 dólares viajará a FRANCIA, sino lo hará a ITALIA.<br />32) Desarrolle un algoritmo que lea el salario básico de un empleado, el estado (1:ACTIVO, 2:SUSPENDIDO) y el número de hijos. Calcular el salario neto de un empleado teniendo en cuenta que si está activo y el número de hijos es mayor de 4 le hace un descuento del 10% del salario básico y se le da un auxilio de alimentación de 50.000. Si está activo y el número de hijos es menor o igual que 4 se le hace un descuento del 15% y un auxilio de 25.000. Si está suspendido y el número de hijos es mayor de 5 se le hace un descuento del 5% y se le da un auxilio de 40.000 y en los demás casos a cada empleado se le hace un descuento del 5% y se da un auxilio de 30.000.<br />33) A nivel nacional se van a desarrollar unas competencias para estudiantes. Se pide hacer un algoritmo que lea edad, sexo (M: MASCULINO, F: FEMENINO), estatura y peso de un participante e imprima a que competencia se puede inscribir, tenga en cuenta que si es hombre, mayor de edad y mide más de 1.80 puede participar en baloncesto. Si es hombre, mayor de edad y mide 1.80 o menos puede participar en fútbol. Si es hombre, mayor de edad y pesa más de 150Kg puede participar en sumo. Si es mujer, pesa más de 50Kg y mide más de 1.60 puede participar en voleibol. Y si es mujer, con edad entre 15 y 40 años puede participar en atletismo.<br />34) Lea la edad de una persona y el estado civil (1:SOLTERO, 2:CASADO 3:SEPARADO) e imprima NO DEPENDO DE MÍ MISMO sólo si es una persona menor de edad o si es casado. De lo contrario imprima YO YA ME MANDO.<br />35) Leer 4 números y calcular la suma de los 4 números sólo si el primer número es positivo y el segundo mayor de 10, calcular la resta de los tres primeros números sólo si el tercer número es negativo y el cuarto es menor de 100 y calcular la multiplicación del primero y el último sólo si el tercero es positivo o el cuarto es mayor de 100.<br />36) El costo de la entrada al parque norte depende de la edad que tenga la persona que va a entrar: Si la persona tiene entre 0 y 2 años entran gratis. Si tiene entre 3 y 7 años paga $2.000. Si tiene entre 8 y 16 años paga $3.000. Si tiene entre 17 y 35 años paga $3.500. Y si tiene más de 35 paga $4.000.<br />37) Leer el mes en el cual nació una persona, y decir si nació en navidad o no.<br />38) Leer la base y la altura de un triángulo. Calcule su área sólo si la base es diferente que la altura, sino calcule el doble de su base y el cuadrado de la altura.<br />5. Estructuras Caso<br />Estas estructuras son similares a las estructuras de decisión, pero con la diferencia de que ahorra espacio y es mucha más sencillo de manejar. Aunque tiene algunas limitaciones y condiciones.<br />SINTAXIS:CASO (VARIABLE)CASO VALOR1: INSTRUCCIONESCASO VALOR2: INSTRUCCIONESCASO VALOR3: INSTRUCCIONESCASO VALORN: INSTRUCCIONESOTRO CASO: MENSAJES DE ERRORFIN CASO<br />Esta estructura se usa cuando el valor que tome una variable sea finito y se conozcan esos valores. Y al final tiene una opción en caso de digitarse un valor erróneo. Por ejemplo: Leer el número de un día e imprimir el nombre de ese día, teniendo en cuenta que 1 es lunes, 2 es el martes, y así sucesivamente. Con estructuras de decisión sería así:INICIOLEER numdiaSI (numdia = 1) ENTIMPRIMIR “LUNES”SINOSI (numdia = 2) ENTIMPRIMIR “MARTES”SINOSI (numdia = 3) ENTIMPRIMIR “MIÉRCOLES”SINOSI (numdia = 4) ENTIMPRIMIR “JUEVES”SINOSI (numdia = 5) ENTIMPRIMIR “VIERNES”SINOSI (numdia = 6) ENTIMPRIMIR “SÁBADO”SINOSI (numdia = 7) ENTIMPRIMIR “DOMINGO”FINSIFINSIFINSIFINSIFINSIFINSIFINSIFINObserve que la variable numdia toma valores finitos (de 1 hasta 7) y todos son conocidos; por tal motivo se puede usar en una estructura caso. INICIOLEER numdiaCASO (numdia)CASO 1: IMPRIMIR “LUNES”CASO 2: IMPRIMIR “MARTES”CASO 3: IMPRIMIR “MIÉRCOLES”CASO 4: IMPRIMIR “JUEVES”CASO 5: IMPRIMIR “VIERNES”CASO 6: IMPRIMIR “SÁBADO”CASO 7: IMPRIMIR “DOMINGO”OTRO CASO: IMPRIMIR “ERROR. NÚMERO DE DÍA NO EXISTE.”FINCASOFIN<br />EJEMPLO 2: Leer la nota de un estudiante (en números enteros) e imprimir su equivalente en letras sabiendo que si la nota es 5 su equivalente es EXCELENTE, 4 es BUENO, 3 es ACEPTABLE, 2 INSUFICIENTE y 1 DEFICIENTE.INICIOLEER notaCASO (NOTA)CASO 5: IMPRIMIR “EXCELENTE”CASO 4: IMPRIMIR “BUENO”CASO 3: IMPRIMIR “ACEPTABLE”CASO 2: IMPRIMIR “INSUFICIENTE”CASO 1: IMPRIMIR “DEFICIENTE” OTRO CASO: IMPRIMIR “ERROR. NOTA NO EXISTE.”FINCASOFIN<br />EJEMPLO3: En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores mencionados.INICIOLEER tot_comp, bolCASO (bol)CASO “Blanca”: desc = 0CASO “Verde”: desc = tot_comp * 0.10CASO “Amarilla”: desc = tot_comp * 0.25CASO “Azul”: desc = tot_comp * 0.50CASO “Roja”: desc= tot_compOTRO CASO: IMPRIMIR “ERROR. COLOR NO EXISTE” FIN IMPRIMIR descFIN<br />Volver <br />  <br />5.1. Taller 6 (Estructuras Caso)<br />1) Leer el número de un mes y decir a que mes corresponde teniendo en cuenta que 1 es enero, 2 es febrero y así sucesivamente.<br />2) Una persona desea viajar a una ciudad de Colombia. Las opciones que tiene son las siguientes: 01-Medellín, 02-Bogotá, 03-Cali, 04-Bucaramanga, 05-Cartagena, 06-San Andres y Providencias y 07-Santamarta. Leer el código de una de esas ciudades e impirmir el nombre de la ciudad. <br />3) Determinar el salario neto de un empleado sabiendo que si es de tipo A1 gana $450.000, A2 gana $500.000, A3 gana $600.000, A4 $800.000, y A5 gana $1.000.000. A cada empleado se le hace una retención del 1.5% para ahorros.<br />4) En una central telefónica se tienen los siguientes códigos postales, provincias y tarifas. Desarrolle un algoritmos que lea el código postal e imprima la provincia a la que se llama y la tarifa para esa provincia. <br />CODIGOPROVINCIATARIFA984GALICIAPTS 50578ALAVESPTS 60284ZAMORAPTS 70259ARMUNIAPTS 80219VIGOPTS 85025MADRIDPTS 90018OSASUNAPTS 95005CANTABRIAPTS 100001SEVILLAPTS 110000MURCIAPTS 150<br />5) Desarrolle una algoritmo que lea la marca (T: TOYOTA, M: MAZDA, C: CHEVROLET Y O: OTRO. Además, lea el tipo de vehículo (1: NACIONAL 2: EXTRANJERO) e imprima el valor sabiendo que este depende de la siguiente tabla:<br />MARCATIPO DE VEHÍCULOVALORTOYOTANACIONAL$40.000.000MAZDANACIONAL$45.000.000CHEVROLETNACIONAL$30.000.000TOYOTAEXTRANJERO$50.000.000MAZDAEXTRANJERO$55.000.000CHEVROLETEXTRANJERO$38.000.000OTRONACIONAL O EXTRANJERO$30.000.000<br />“ESTRUCTURAS REPETITIVAS”<br />OBJETIVOS <br />Conocer las principales funciones de una estrucutura repetitiva y su aplicabilidad dentro de la solución de problemas por medio de algoritmos. <br />Diferenciar los tipos de estructuras repetitivas (ciclo Para, Mientras y Repita) y aplicarlos de manera correcta en la realización de algoritmos que requieran repetir varias veces un mismo proceso. <br />Determinar acumuladores, contadores, promedios y porcentajes en algoritmos que los requieran. <br />Calcular series y sucesiones aplicando conceptos básicos de estructuras repetitivas. <br />“ESTRUCTURAS REPETITIVAS”<br />OBJETIVOS <br />Conocer las principales funciones de una estrucutura repetitiva y su aplicabilidad dentro de la solución de problemas por medio de algoritmos. <br />Diferenciar los tipos de estructuras repetitivas (ciclo Para, Mientras y Repita) y aplicarlos de manera correcta en la realización de algoritmos que requieran repetir varias veces un mismo proceso. <br />Determinar acumuladores, contadores, promedios y porcentajes en algoritmos que los requieran. <br />Calcular series y sucesiones aplicando conceptos básicos de estructuras repetitivas. <br />“ESTRUCTURAS REPETITIVAS”<br />1. Definición<br />Como su nombre lo indica, estas estructuras se utilizan cuando se necesita REPETIR una instrucción varias veces. Estas estructuras simplifican el trabajo considerablemente. También son llamadas CICLOS. Por ejemplo, si un algoritmo pide que lea uno, dos, tres o cuatro número, resultaría fácil leer una, dos, tres o cuatro variables; pero si se pide leer 100, 1000 o 1´000.000 variables sería imposible su realización, mientras que con las estructuras repetitivas sería demasiado sencillo.<br />Los algoritmos se realizan como si fueran a hacer una sola vez (un número, un estudiante, un trabajador) y se encierran esas instrucciones en medio de la estructura repetitiva.<br />Volver <br /> <br />2. Condiciones para utilizar un ciclo<br />Un ciclo PARA se usa principalmente cuando se conoce el número de veces que se va a repetir el ciclo, si se desea se puede usar cuando se va ha hacer N veces. NUNCA CUANDO NO SE CONOZCA EL FINAL del ciclo.<br />Un ciclo MIENTRAS se usa principalmente cuando el ciclo se va a realizar N (REGISTRO IDENTIFICADOR) o cuando NO se conoce el número de veces que se va a repetir el ciclo (REGISTRO CENTINELA). Se puede hacer también cuando se conoce el número de veces que se repite el ciclo; pero en ese caso es más funcional el ciclo PARA.<br />Un ciclo HASTA se puede usar en cualquiera de los 3 casos anteriores; pero su uso sólo se da en casos específicos. Este ciclo es muy usado en programación para validar información.<br />Volver <br />3. Tipos de estructuras repetitivas<br />Las estructuras más importantes son: Ciclos PARA, Ciclos MIENTRAS y Ciclos HASTA.<br /> <br />3.1. Ciclos PARA<br />Este ciclo empieza con la palabra PARA y necesita de una variable que tiene un INICIO, un FINAL y un INCREMENTO. Todo lo anterior se coloca en una misma línea, separados por coma (,). Y del mismo modo como un algoritmo o una estructura de decisión tienen un fin, esta estructura repetitiva también lo tiene y se llama FIN-PARA. Existen dos tipos de ciclos PARA: Cuando se conoce el número de veces que se va repetir el ciclo, y el otro tipo es cuando el ciclo se va a realizar N veces (en este caso, N es el FINAL).<br />  <br />3.1.1. Ciclo Para (conociendo el número de veces que se repite)<br />Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, se coloca el final del ciclo, o sea el número de veces que se va a repetir. Por ejemplo que se diga: Haga un proceso para 500 estudiantes o para 20 números o 2.000 empleados. Ahí está el final del ciclo. La sisntaxis es la siguiente:<br />PARA (VAR=INICIO, FINAL, INCREMENTO) Instrucciones que se repiten N vecesFIN-PARA<br />3.1.2. Ciclo Para (cuando se repite N veces)<br />Este ciclo se utiliza cuando en el enunciado del ejercicio o problema, no se coloca el final del ciclo, sino que se dice que el proceso de va a hacer N veces (en algunos casos N se reemplaza por otra variables. Por ejemplo que se diga: Haga un proceso para X estudiantes o para N números o Z empleados). N es el FINAL del ciclo. La sintaxis es la siguiente:<br />LEER FINALPARA (VAR=INICIO, FINAL, INCREMENTO) Instrucciones que se repiten N vecesFIN-PARA<br />La variable VAR se puede definir de cualquier manera (se pueda dar cualquier nombre), siempre y cuando no tenga el mismo nombre de alguna de las demás variables que intervienen en el algoritmo. En el primer método (cuando se conoce el número de veces que se va a realizar el ciclo), se reemplaza el INICIO, el FINAL y el INCREMENTO por los respectivos valores; mientras que en el segundo el FINAL no se reemplaza, sino que se deja el nombre de esa variable que se leyó antes del ciclo.<br />Ejemplo 1: Desarrolle un algoritmo que lea un número y calcule su cuadrado. <br />INICIOLEER NUMCUAD=NUM**2IMPRIMIR CUADFIN<br />Como puede observar en el enunciado del Ejemplo1, sólo se pide leer UN SOLO número. Por tal motivo no requiere de una estructura repetitiva, mientras que los dos ejemplos siguientes SI la necesita.<br />  <br />Ejemplo 2: Desarrolle un algoritmo que lea 100 números y calcule su cuadrado.<br />Lo que se tiene que hacer es encerrar las instrucciones del Ejemplo1, que se manejan y se han usado anteriormente, en una estructura repetitiva, teniendo presente que la variable empieza en 1 y termina en 100 con incrementos de 1 porque se CONOCE EL NÚMERO DE VECES que se va a arealizar el ciclo. <br />INICIO PARA (X=1, 100, 1)LEER NUMCUAD = NUM ** 2IMPRIMIR CUADFIN-PARAFIN<br /> <br />Ejemplo 3: Desarrolle un algoritmo que lea N números y calcule su cuadrado. <br />Este ejemplo empieza en 1 y termina en N (FINAL) con incrementos de 1, por lo tanto NO SE CONOCE EL FINAL del ciclo (SE DEBE LEER):<br />INICIOLEER FINPARA (X=1, FIN, 1)LEER NUMCUAD = NUM ** 2 IMPRIMIR CUAD FIN-PARAFIN<br />Tenga muy presente cuál va a ser el incremento a utilizar, porque dependiendo de él, el algoritmo puede tener éxito o no. Por ejemplo, si en el ejercicio anterior se coloca incrementos de 2, el ciclo no se hará para 100 números sino para 50, y eso no es lo que solicita el algoritmo.<br /> <br />Ejemplo 4: Lea la edad de un estudiantes e imprima si es mayor de edad o no.<br />INICIOLEER EDADSI (EDAD >= 18) ENTONCES IMPRIMIR “ES MAYOR DE EDAD”SINO IMPRIMIR “NO ES MAYOR DE EDAD”FIN-SIFIN<br /> <br />Ejemplo 5: Lea la edad de 50 estudiantes e imprima a cada uno si es mayor de edad o no.<br />INICIOPARA (EST=1, 50, 1) LEER EDAD SI (EDAD >= 18) ENTONCES IMPRIMIR “ES MAYOR DE EDAD” SINO IMPRIMIR “NO ES MAYOR DE EDAD” FIN-SIFIN-PARAFIN<br /> <br />Ejemplo 6: Lea la edad de N estudiantes e imprima a cada uno si es mayor de edad o no.<br />INICIOLEER NPARA (EST=1, N, 1) LEER EDAD SI (EDAD >= 18) ENTONCES IMPRIMIR “ES MAYOR DE EDAD” SINO IMPRIMIR “NO ES MAYOR DE EDAD” FIN-SIFIN-PARAFIN<br />Volver <br />3.2. Ciclo MIENTRAS<br />Este ciclo empieza con la palabra MIENTRAS o se pone su abreviatura MQ (Mientras Que). Al igual que el ciclo PARA, necesita de una variable que tiene un INICIO, un FIN y un INCREMENTO. Pero a diferencia del ciclo anterior, estos datos van en distintas líneas. Este ciclo también tiene un fin de estructura: FIN-MIENTRAS o FIN-MQ. Existen tres tipos de ciclos MIENTRAS: Cuando se conoce el número de veces que se va repetir el ciclo, cuando el ciclo se va a realizar N veces y cuando no se conoce el número de veces que se va a repetir el ciclo.<br /> <br />3.2.1. Ciclo Mientras (conociendo el número de veces que se repite)<br />Tiene la misma definición de un ciclo PARA de este tipo. La sintaxis es la siguiente:<br />VAR=INICIOMIENTRAS QUE (VAR<=FIN)Instrucciones que se repitenVAR=VAR+INCREMENTOFIN-MIENTRAS<br /> <br />3.2.2. Ciclo Mientras (con registro identificador)<br />Son los mismos conceptos y ejemplos de un ciclo que va hasta N. Está estructura es también conocida como MIENTRAS con REGISTRO IDENTIFICADOR. La sintaxis es la siguiente:<br />LEER FINVAR=INICIOMIENTRAS QUE (VAR<=FIN)Instrucciones que se repitenVAR=VAR+INCREMENTOFIN-MIENTRAS<br />  <br />3.2.3. Ciclo Mientras (con registro centinela)<br />Estructura muy diferente a las dos anteriores. En este ciclo no se conoce el número de veces que se van a repetir las instrucciones. También conocido como Ciclo MIENTRAS CON REGISTRO CENTINELA. Un ejemplo de este Ciclo puede ser: Realizar un algoritmo para un grupo de estudiantes, una cantidad de empleados o varios números. Aquí se sabe que se van a

×