FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR EJERCICIOS PROPUESTOS 1.- Hacer un programa que muestre los números que son múltiplos de 2 comprendidos entre 100 a 200 inclusive. 2.- Hacer un programa que muestre los números primos del 2 al 31 3.- Hacer un programa que registre nombre y 3 notas por cada alumno sabiendo que el salón de clases es de 30 alumnos, debe mostrar cual fue el promedio de cada alumno, decir si aprobó o reprobó y ademas decir cual fue el mejor alumno. 4.- Hacer un programa que pida 3 opciones: 1) Calcular area de un cuadrado dado el LADO 2) Calcular Area de un Circulo dado R 3)Terminar. El programa termina cuando se opta por la opción 3 y en ese momento debe deicr el area total acumulada de todos los cuadrados y circulos ingresados. Condicionales: 1.-Calcule la diferencia de Áreas de 2 círculos de Radios R1 y R2 X,Y R cuyos centros están ubicados en la coordenada 5,5 2..-Ingresar la edad de una persona y decir si es niño, joven, adulto o anciando. Asuma los límites de edad para las diferentes etapas. 3.-Ingresar un numero del 1 al 7 decir cual dia de la semana le corresponde. 4. Lo mismo para los meses (vea ejer 3) 5.-Determinar si un año es bisiesto dado el Año . 6.- Determinar la diferencia de dias entre dos fechas dadas al computador : DD1 MM1 AA1 y DD2 MM2 AA2 (DD es dia MM mes y AA año) 7.- Deteminar cuantos dias falta para que acabe un mes suponiendo que no hay años bisiestos, dados DD MM y AA 8.- Deteminar cuantos dias falta para que acabe un año suponiendo que no hay años bisiestos, dados DD MM y AA. 9.- Determinar el signo zodiacal de una persona dada su fecha de nacimiento. FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR EJERCICIOS RESUELTOS 1. A un trabajador le pagan según sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. la tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa. variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e inicio leer: horas_trabajadas,tarifa si: horas_trabajadas <= 40 entonces salario <-- horas_trabajadas * tarifa si_no tarifa_extra <-- tarifa + 0.50 * tarifa horas_extras <-- horas_trabajadas - 40 salario <-- horas_extras * tarifa_extra + 40 * tarifa fin_si imprimir: salario. fin 2. 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. variables: sueldo,sueldo_neto,descuento inicio leer: sueldo si: sueldo <= 1000 entonces descuento <-- sueldo * 0.1 si_no si: sueldo <= 2000 entonces descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1 si_no descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1 fin_si imprimir: descuento. fin 3. 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%. variables: monto,descuento inicio leer: monto si: monto > 100 entonces descuento <-- monto * 10 / 100 si_no descuento <-- monto * 2 / 100 fin_si imprimir: monto, descuento fin FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR 4. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos. variables: tiempo_seg,minutos,segundos inicio leer: tiempo_seg si minutos <-- tiempo_seg div 60 entonces segundos <-- tiempo_seg mod 60 fin_si imprimir: minutos,segundos. fin 5. Dado un tiempo en minutos, calcular los dias, horas y minutos que le corresponden. variables: tiempo,dias,horas,minutos inicio leer: tiempo si: dias <-- tiempo div 1440 x <-- tiempo mod 1440 horas <-- x div 60 minutos <-- x mod 60 imprimir: dias,minutos,horas fin_si fin 6. Calcular mediante un algoritmo repetitivo la suma de los naturales. N primeros números Inicio Leer : N X<--1 S<--0 Mientras x<=N hacer S<--s+1 X<--x+1 Fin _ mientras Imprimir: s Fin 7. Modificar el ejercicio 1 para obtener la suma de los salarios de todos los trabajadores. Inicio Leer: N X<--1 S<--0 Mientras x<=N hacer Leer:h, t S<--h*t Imprimir s S<--s+s X<--x+1 Fin _ mientras Imprimir: s Fin FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR 8. Dada las horas trabajadas de una persona la tarifa de pago. Calcular su salario e imprimirla. Inicio leer: h, t S<--h * t Imprimir: s fin (Para dos personas) inicio leer: h, t S<--h * t Imprimir s Leer: h, t S<--h * t Imprimir: s Fin 9. Dado N notas de un estudiante calcular: a) b) c) d) Cuantas notas tiene desaprobados. Cuantos aprobados. El promedio de notas. El promedio de notas aprobadas y desaprobadas. Inicio Leer: N X<--1 Cd<--0 NA <-0 acum_desap <-0 acum_ap <- 0 acum <- 0 Mientras x<=N hacer Leer: not Si: not < 10.5 entonces CD<--cd+1 acum_desap <- acum_desap + not Sino NA <- NA + 1 acum_ap <- acum_ap + not fin _ si acum <- acum + not x<--x+1 Fin _ mientras prom_ap <- acum_ap /NA prom_desap <- acum_desap/CD prom <- acum / N Imprimir: prom, prom_ap, prom_desap, NA, CD Fin FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR 10. Dado un numero determinar la suma de sus dígitos. Inicio Leer: n S<--0 Mientras n<>0 hacer R<--n mod 10 S<--s + r N<--n div 10 Fin _ mientras Imprimir: s Fin 11.Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra de un articulo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el precio bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe realizar un descuento del 5%. Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d) Inicio Leer precio, Nart Pv= Precio * Nart IVA= Pv * 0.15 Pb= Pv + IVA Si Pb >= 50 entonces d= (Pb * 5)/100 Sino d= 0 Finsi Pl= Pb - d Escribir Pv, IVA, Pb,d, Pl Fin 12. Realizar un algoritmo que permita pedir 50 números naturales y determine e imprima cuantos son pares, impares, positivos y negativos. variables:par(p), impares(im), positivos(pos), negativos(n) Inicio p= 2 in= 0 pos.= 0 n= 0 Para x= 1 hasta 50 Leer n Si n mod 2= 0 entonces p= p + 1 Sino in= in + 1 Finsi Si n > 0 entonces Pos= pos + 1 Sino n= n + 1 Finsi Fin_para Escribir p, in, pos, n Fin FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR 13. Desarrollar un algoritmo para calcular e imprimir el factorial de un número. variables: factorial(f). numero(n) Inicio f= 1 Para x= 1 hasta n f = f * x Fin_para Escribir f Fin 14. Calcular la media de 100 números e imprimir su resultado. variables: suma(s), media Inicio s= 0 x= 1 Mientras x<= 100 hacer Leer n s = s + n x = x + 1 Finmientras media = s /100 Escribir media Fin 15. Calcular y visualizar la suma y el producto de los números pares comprendidos entre 20 y 400 ambos inclusive. variables: suma(s), producto(p) Inicio s = 0 p = 1 x = 20 Mientras x<= 400 hacer s = s +1 p = p *x x = x +1 Finmientras Escribir s, p Fin 16.-Hacer un programa que al ingresar un número de Amstrong nos escriba si es o no es un número de amstrong, y si no es que indique que vuelva a intentar. Variables número, número original, digito INICIO LEER NÚMERO Numeró original Suma 0 Mientras NUMERO < > 0 hacer dijito <- digito mod 10 Suma <- suma + dijito ^ 3 Numero <- numero mod 10 Si suma = Número _ original Entonces Escribir "es un numero de amstrong" Sino Escribir "no es un numero de amstrong, intente otra vez" Finsi Fin FUNDAMENTOS DE PROGRAMACION I PROF. OSWALDO ENRIQUE LAGUADO AGUILAR RECUERDA: Un número con n dígitos es un número armstrong si la suma de las potencias n-ésimas de los dígitos que lo forman es igual al propio número. Algunos ejemplos: 153=13+53+33 370=33+73+03 371=33+73+13 407=43+03+73 O lo que viene siendo lo mismo en un lenguaje coloquial. Son números armstrong todos aquellos que al elevar cada uno de los números que lo componen al número total de dígitos que contiene, la suma de dichos resultados es igual al propio número. 17.-Hacer un programa que registre el nº de créditos de un alumno. *El número máximo de crédito es 25 *Imprimir número de crédito y total de crédito. Variables crédito, numero_de_crédito Inicio total_de_crédito <- 0 Leer crédito Si total_de_crédito + crédito < = 25 entonces Total_de_crédito <total_de_crédito + crédito Numero_de_crédito <- número_de_cedito + 1 Fin si Imprimir Numero_de_crédito, crédito Fin 18.-Hacer un programa para escribir la primera vocal leída del teclado. *Se supone que se leen, uno a uno, carácter desde el teclado Variables vocal Carácter J Inicio sw = 1 Mientras sw = 1 hacer Leer J si (J= "a") o (J = "e") o (J = "i") o (J = "o") o (J ="u") Escribir "LA PRIMERA VOCAL INGRESADA FUE",J sw <- 0 fin_si Fin_mientras Fin 19.-Hacer un programa que no determine un numero tiene o no parte fraccionaria. Variables parte_fracciomaria Real n Inicio Escribir "ingresa numero" Leer n Si n = trunc(n) entonces // trunc es una funcion // que elimina los decimales de un numero Escribir "numero no tiene parte fraccionaria" Sino Escribir" numero con parte fraccionaria" fin si Fin