Mis Primeros 100 Algoritmos v5.0

MIS PRIMEROS 100 ALGORITMOS UNITEC 2013 Problemas propuestos NOTA: Todos los algoritmos deben tener su diagrama de flu

Views 227 Downloads 77 File size 315KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MIS PRIMEROS 100 ALGORITMOS UNITEC 2013

Problemas propuestos NOTA: Todos los algoritmos deben tener su diagrama de flujo y el pseudocódigo respectivo (Para esto se puede hacer uso del programa gratuito PSEINT) 1) Desarrolle un algoritmo que permita determinar si un número dado es par, impar o cero. 2) Desarrolle un algoritmo que halle tres números consecutivos cuya suma sea 69. 3) Desarrolle un algoritmo para determinar si una fecha expresada mediante tres datos: día, mes y año es una fecha valida. Así por ejemplo, la fecha 20-7-1969 equivale a Día =20, mes = 7 y año = 1969 es una fecha valida. No serán fechas válidas 31-11-1987 (noviembre tiene 30 días), ni tampoco 14-13-1980 (ya que el número del mes debe ser menor o igual a 12) NOTA: Los meses con 30 días son el mes 4, 6, 9 y 11. Los demás tienen 31 días, excepto el mes 2 que tiene 28 días. Se asume que el año a considerar es un año válido y que no es bisiesto 4) Desarrolle un algoritmo que permita determinar de una serie de números cuántos son par, impar o cero. 5) Desarrolle un algoritmo que lea un número, y si es negativo que lo imprima. 6) Desarrolle un algoritmo que lea una serie de números, imprima el número si es negativo y el positivo del mismo. 7) Desarrolle un algoritmo que le permita leer el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima el nombre de la persona si es un hombre casado y mayor de 40 años o una mujer soltera menor de 50 años. 8) Desarrolle un algoritmo que le permita leer las notas de las materias que ha cursado un estudiante hasta el momento, saque su promedio e imprima su nombre, número de carnet y el promedio. 9) Desarrolle un algoritmo para leer el nombre de un empleado, el salario básico por hora y el número de horas trabajadas durante una semana. Calcule el salario neto, teniendo en cuenta que si el número de horas trabajadas durante la semana es mayor de 48 horas, esas horas demás se consideran horas extras y tienen un recargo del 35%. Imprima el nombre del empleado y su salario neto. 10) Desarrolle un algoritmo que le permita determinar dadas tres cajas cada una con 15 números, en cuál caja está un número dado. 11) Desarrolle un algoritmo que le permita determinar el número medio de tres números. El número medio es aquel que no es el mayor ni el menor. 12) Desarrolle un algoritmo que le permita obtener la sucesión de Fibonacci 0,1,1,2 etc. Recuerde que la serie de Fibonacci se genera empezando con los números 0 y 1 y calculando cada nuevo miembro como la suma de dos miembros precedentes en la sucesión. Imprima los primeros n términos de la sucesión. 13) La compañía de telefonía Acme, desea calcular el monto a cobrar a sus clientes. Si se conoce para un cliente el número de teléfono, el total de llamadas realizadas en el mes y el total de minutos consumidos en esas llamadas. 14) El Seniat ha establecido un nuevo impuesto a las compras de productos, el cual está determinado por el tipo de artículo a facturar, según la siguiente tabla: Tipo de producto

Tasa impuesto

Exclusivo 30% Lujo 20% Económico 10% Accesible 5% Para cada compra se conoce, monto de la compra y el tipo de producto. Se desea elaborar el algoritmo que nos permita para cada compra realizada, calcular el impuesto que deberá cancelar el cliente y el monto total de la factura, a la cual se le realiza un descuento, cuyo porcentaje es conocido. 15) Elabore un algoritmo que dado un valor X, calcule Para X positivo: 2 4 6 F(x) = (x - 2) + (x - 4) + (x - 6) 2 4 Para X negativo: 2 4 6 F(x) = (x + 2) + (x + 4) + (x + 6) 2 4 16) Suponga que se leen los datos de tres artículos comprados en una tienda donde para cada artículo se conoce el nombre del artículo, la cantidad a comprar del artículo y el precio del mismo. Calcule el monto total a pagar por el articulo si adicionalmente se desea cobrar el impuesto sobre la venta de 14.5%, en aquellas compras cuyo monto supera los $50.000

17) Elabore un algoritmo, que calcule el aumento de sueldo de un trabajador, conociendo del mismo, su nombre, tipo de trabajador, su sueldo y la cantidad de hijos que tiene. El porcentaje de aumento del sueldo viene dado por el tipo de trabajador que es: Tipo de trabajador ‘V’ 10% ‘G’ 15% ‘E’ 20% ‘O’ 30% Adicionalmente se le paga una prima por cada hijo la cual es conocida y la misma para todos. 18) Escriba un algoritmo que determine cuáles son los múltiplos de 5 comprendidos entre 1 y N 19) El colegio “Mi angelito” desea calcular el monto a pagar por inscripción del nuevo año escolar, para las familias con hijos en el colegio. Para ello se conoce el número de hijos que tiene la familia en el colegio, el monto de matrícula por niño, el monto de la mensualidad del mes de septiembre por niño y el monto de la sociedad de padres. Elabore un algoritmo que calcule el total a pagar por la familia, si la sociedad de padres se cobra una vez por familiar y si se otorga un descuento por la cantidad de hijos en el colegio que viene dado por la siguiente tabla. Cantidad de hijos Descuento 2 niños 10% 3 niños 15% > 3 niños 20% 20) Escriba un algoritmo que encuentre el estudiante de primer semestre con mejor nota media. Se sabe que este año entraron 150 estudiantes y que en primer semestre todos tienen 5 asignaturas. Dar el nombre y la nota media. 21) Escriba un algoritmo que calcule la suma de los divisores de un número introducido por teclado. 22) Escriba un algoritmo que genere la lista de los divisores de un número introducido por teclado. 23) Escriba los pasos lógicos y secuenciales para comprar una camisa en un almacén especifico 24) Suponga que una persona desea invertir su capital en un banco y desea saber cuánto dinero ganará después de seis meses si el banco paga a razón de 2% mensual 25) Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas. El vendedor desea saber cuánto 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 26) Una tienda ofrece un descuento del 14% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra 27) Un estudiante desea saber cuál 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 especial 28) Un maestro desea saber qué porcentaje de hombres y qué porcentajes de mujeres hay en un grupo de estudiantes 29) Realizar un algoritmo que calcule la edad de una persona a partir de la fecha de nacimiento 30) Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un dato desconocido 31) La presión, el volumen y la temperatura de una masa de aire se relación por la fórmula: masa = (presión * volumen) / (0.37 * (temperatura + 460)) Realizar el algoritmo que calcule dicha masa, conociendo los datos que hacen parte de la formula 32) Calcular el número de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la fórmula es: num. Pulsaciones = (220 – edad) / 10 33) El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio que lo debe vender para obtener una ganancia del 30% 34) Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada cual invierte con respecto a la cantidad total invertida 35) Determinar si un estudiante aprueba o reprueba un curso, sabiendo que aprobará si su promedio de tres calificaciones es mayor o igual a 60, reprueba en caso contrario 36) Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40 horas o menos se le paga a $16.000 por hora. Si trabaja más de 40 horas se le paga $16.000 por cada una de las primeras 40 horas y $20.000 por cada hora extra

37) Una persona enferma que pesa 70Kg, se encuentra en reposo y desea saber cuántas 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 38) Realizar un pseudocódigo que imprima el nombre de un artículo, clave, precio original y su precio con descuento. El descuento lo hace con base a la clave, si la clave es A el descuento es del 10% y si la clave es B el descuento es del 20% (solo existen 2 claves) 39) Desarrolle un pseudocódigo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o más se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento de 10% 40) Una empresa quiere hacer una compra de varias piezas de la misma clase de fábrica de refacciones. La empresa dependiendo del monto de la compra, decidirá qué hacer para pagar el fabricante.  Si el total de la compra excede de $500.000 la empresa tendrá la capacidad de invertir su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagará solicitando un crédito al fabricante  Si el monto total de la compra no excede de $500.000 la empresa tendrá la capacidad de invertir si propio dinero un 70% y el restante 30% lo pagará solicitando crédito al fabricante  El fabricante cobrará por concepto de intereses un 20% sobre la cantidad que se le pague a crédito 41) Calcular el total que una persona debe pagar en una cauchera, si el precio de cada caucho es de $28.000 si se compran menos de 5 cauchos y de $27.000 si se compran 5 o más. 42) En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un número que se escoge al azar. Si el número 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 cuánto dinero se le descuenta 43) Calcular el número de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aeróbico; la fórmula que se aplica cuando el sexo es femenino es: numPulsaciones = (220 - edad) / 10, si el sexo es masculino numPulsaciones = (210 - edad) / 10 44) Una compañía de seguros está abriendo un dpto. 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 $500.000 la cuota a pagar será por el 3% del monto, y si el monto es mayor que $500.000 la cuota a pagar será el 2% del monto. La afianzadora desea determinar cuál será la cuota que debe pagar un cliente 45) En una escuela el pago de los alumnos se determina según el número de materias que cursan. El costo de todas las materias es el mismo. 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 último periodo es mayor o igual que 17, se le hará un descuento del 30% sobre el pago; si el promedio obtenido es menor que 17 deberá pagar completo. Obtener cuanto debe pagar un alumno 46) Calcular e imprimir la tabla de multiplicar de un número cualquiera, imprimir el multiplicando, el multiplicador y el producto 47) Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 00:00:00 horas hasta las 23:59:59 horas 48) Se desea saber el promedio de notas que tiene un estudiante. Hasta la fecha ha cursado 6 materias; además se quiere el número de materias reprobadas y el número de materias aprobadas 49) Se requiere que se obtenga la misma información pero para todos los estudiantes de una escuela. Decir cuál es el promedio máximo de toda la escuela. Utilice el carnet del estudiante como variable de control de la repetición 50) Elabore un algoritmo que dada las horas trabajadas de una persona y el valor por hora, calcule su salario e imprimirlo 51) A un trabajador le pagan según sus horas trabajadas y la tarifa está a un valor por hora. Si la cantidad de horas trabajadas es mayor a 40 horas, la tarifa por hora se incrementa en un 50% para las horas extras. Calcular el salario del trabajador dadas las horas trabajadas y la tarifa. 52) A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000, por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. Calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo. 53) Dado un monto calcular el descuento considerando que por encima de 100 el descuento es el 10% y por debajo de 100 el descuento es el 2%. 54) Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos 55) Dado un tiempo en minutos, calcular los días, horas y minutos que le corresponden 56) Calcular mediante un algoritmo repetitivo la suma de los N primeros números naturales.

57) Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable DIA introducida por teclado. Los días de la semana son 7; por consiguiente, el rango de valores de DIA será 1..7, y caso de que DIA tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala. 58) Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra de un artículo determinado, del que se adquieren una o varias unidades. El IVA es del 19% y si el precio bruto (precio venta más IVA) es mayor de $13000 se debe realizar un descuento del 5%. 59) Desarrollar un algoritmo para calcular e imprimir el factorial de un número. 60) Calcular la media de 100 números e imprimir su resultado 61) Calcular y visualizar la suma los números pares comprendidos entre 20 y N (ambos incluidos) 62) Hacer un algoritmo que determine si tres valores ingresados pueden ser lados de un triángulo. Ninguno de sus lados puede ser superior a la suma de los otros dos. 63) Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado 64) Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que pida por teclado dos números enteros y muestre su suma, resta, multiplicación, división y el resto (módulo) de la división. Si la operación no es conmutativa, también se mostrará el resultado invirtiendo los operadores 65) Una empresa de bienes raíces, ofrece casas de interés social, bajo las siguientes condiciones: Si los ingresos del comprador son iguales a $800.000 o menor, la inicial será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años. Si lo ingresos del comprador son mayores de $800.000 la inicial será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en siete años. La empresa quiere obtener cuanto debe pagar un comprador por concepto de inicial y cuanto por cada pago mensual. 66) Una persona desea inicial un negocio, para lo cual piensa verificar cuánto dinero le prestará 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 $10.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 $10.000.000 o más, 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 él. 67) Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que calcule el área y el perímetro de un triángulo rectángulo dada la base y la altura. 68) Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que tras introducir una medida expresada en centímetros la convierta en pulgadas (1 pulgada = 2,54 centímetros) 69) Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos 70) Desarrolle un algoritmo que, dada una variable cuyo valor es leído desde el teclado, imprima por pantalla si l número es o no mayor que 0 (cero) 71) Calcular el promedio de 10 números 72) Suponiendo que una paella se puede cocinar exclusivamente con arroz y gambas, y que para cada cuatro personas se utiliza medio kilo de arroz y un cuarto de kilo de gambas, escribir un programa que pida por pantalla el número de comensales para la paella, el precio por kilo de los ingredientes y muestre las cantidades de los ingredientes necesarios y el costo de la misma 73) Desarrolle un algoritmo para calcular el área de un cubo 74) Desarrolle un algoritmo para calcular el área de un triangulo 75) Desarrolle un algoritmo para hallar el cuadrado de un número ingresado 76) Desarrolle un algoritmo para hallar la raíz cuadrada de un número positivo 77) Desarrolle un algoritmo para calcular las primeras diez potencias de 2 78) Desarrolle un algoritmo para hallar los números impares del 9 al 3 79) Desarrolle un algoritmo para hallar los números pares del -50 al -80 80) Desarrolle un algoritmo que dado tres números muestre en orden creciente dichos números, por ejemplo: 9, 20 y 1 debe arrojar: 1, 9 y 20 81) Desarrolle un algoritmo para decir si una hora es válida, el formato es HH:MM:SS 82) Desarrolle un algoritmo para que dado una vocal en mayúscula imprima esa misma vocal en minúscula 83) Desarrolle un algoritmo para mostrar el mensaje de acuerdo al color de un semáforo, teniendo en cuenta la siguiente tabla: 1 = Rojo (Significa no pasar)

2 = Verde (Significa adelante) 3 = Amarillo (Significa precaución) 4 = No está asociado a ningún color 84) Desarrolle un algoritmo que dado dos números (positivos o negativos) diga cuál es el mayor y el menor 85) Desarrolle un algoritmo que dado un número entero diga cuantos digito tiene ese número 86) Desarrolle un algoritmo que dado un número entero entre 1 y 10 escriba en pantalla dicho número en letras 87) Desarrolle un algoritmo que calcule el perímetro de una circunferencia 88) Desarrolle un algoritmo que dado un número entero diga cuál es el número anterior y posterior 89) Diseñar un algoritmo para leer las longitudes de los tres lados de un triángulo (L1, L2, L3) y calcular el área del mismo de acuerdo con la siguiente fórmula: area = √SP(SP-L1)(SP-L2)(SP-L3) dónde: SP = (L1 + L2 + L3) / 2 90) Desarrolle un algoritmo que ingresados 3 números N1, N2 y N3 intercambie sus valores de esta forma: N1 = debe quedar con el valor de N3 N2 = debe quedar con el valor de N1 N3 = debe quedar con el valor de N2 91) Desarrolle un algoritmo que lea un valor en euros y lo convierta a pesetas (1 euro = 166,386 ptas) 92) Desarrolle un algoritmo que lea dos valores reales y nos muestre los resultados de sumar, restar, dividir y multiplicar dichos números. 93) En una fábrica de computadoras se planea ofrecer a los clientes un descuento que dependerá del número 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 número de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o más se les da un 40% de descuento. El precio de cada computadora es de $550.000 94) Un departamento de climatología ha realizado recientemente su conversión al sistema métrico. Diseñar un algoritmo para realizar las siguientes conversiones: a. Leer la temperatura dada en la escala Celsius e imprimir en su equivalente Fahrenheit (la fórmula de conversión es “F=9/5 ºC+32”). b. Leer la cantidad de agua en pulgadas e imprimir su equivalente en milímetros (25.5 mm = 1 pulgada)\ 95) El siguiente es el menú de un restaurante de bocadillos. Diseñar un algoritmo capaz de leer el número de unidades consumidas de cada alimento ordenado y calcular la cuenta total. Bocadillo de jamón (2.500) Bocadillo de queso (2.000) Patatas fritas (1.000) Refresco (1.750) Cerveza (1.250) 96) En una tienda 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 la caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará el 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 97) El seguro social requiere clasificar a las personas que se jubilarán en el año 2015. 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 más 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 más. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o más y una antigüedad en su empleo de 25 años o más. Determinar en qué tipo de jubilación, quedará adscrita la persona. 98) Dado un número natural n se desea calcular la suma de los números naturales desde 1 hasta n. 99) Desarrollar un algoritmo que imprima los números impares en orden descendente que hay entre 1 y 100. 100)

Calcular las suma de los cuadrados de los números entre 1 y 100