Ejer ProgUNMSM01
-
Upload
christian-alexander-quispe-mayta -
Category
Documents
-
view
18 -
download
4
Transcript of Ejer ProgUNMSM01
![Page 1: Ejer ProgUNMSM01](https://reader036.fdocumento.com/reader036/viewer/2022082417/55cf9bc9550346d033a75f2a/html5/thumbnails/1.jpg)
Universidad Nacional Mayor de San Marcos - FISI
Introducción a la Computación e Ingeniería de Software
Juan Gamarra – Fany Sobero 1
EJERCICIOS DE PROGRAMACIÓN
1. Calcular e imprimir el área de un
triángulo cuya base y altura se su-
ministran por el teclado. Recuerde
que el área de un triángulo es igual
a la base por altura entre dos.
2. Elaborar un programa para calcular
el número de billetes o monedas de
S/.200.00, S/.100.00, S/.50.00,
S/.20.00, S/.10.00, S/.5.00,
S/.2.00, S/.1.00, S/.0.50, S/.0.20,
S/ 0.10, S/ 0.05, que debe pagarse a
un empleado, se debe ingresar el
nombre del empleado y su sueldo a
pagar.
3. Escriba un programa que lea un ángu-
lo en grados sexagesimales y lo con-
vierta a radianes.
4. Escriba un programa que lea un núme-
ro de segundos "D" y lo convierta a
"H" horas, "M" minutos, "S" segun-
dos.
5. Escribir un programa donde se ingre-
se un número natural y determine la
cantidad de dígitos que tiene.
6. Escribir un programa que calcule el
interés "I" que produce un capital
"C" durante "n" años a una tasa de
interés de "R" % anual de interés
compuesto. En la siguiente formula,
R en tanto por uno; por ejemplo: el
tanto por uno de 20% es 0.20
(20/100) y de 50% es 0.50 (50/100).
CRCIn 1
7. Escriba un programa que lea un núme-
ro y redondee a la centena más pró-
xima y visualiza la salida.
Entrada Salida
2362 2400
2342 2300
2962 3000
8. Escribir un programa que redondee un
numero "N" a la cifra decimal "Y".
Si "Y" es positivo el redondea se
hace a la derecha del punto decimal,
si es negativo a la izquierda del
punto decimal.
numero numero redondeado
3262.54 1 3262.5
8424.588 2 8424.59
3262.54 -1 3260
8424.58 -2 8400
9. Ingresar base y exponente, imprimir
la potencia de base elevado al expo-
nente. La base y/o exponente pueden
ser positivos o negativos.
10. Determinar el nombre del día, para
una fecha ingresada desde el tecla-
do, si se sabe que el 1 de enero de
1900 fue lunes.
11. Escriba un programa que lea 3 núme-
ros enteros durante la corrida e im-
prima el mayor y el menor.
12. Escribir un programa que determine
que si año (AAAA) es bisiesto. Un
año es bisiesto si es múltiplo de 4.
Los años múltiplos de 100 no son bi-
siestos, salvo si lo son también de
400. 1984 y 2000 son bisiestos, 1800
no es bisiesto.
13. Escriba un programa para hallar las
raíces de la ecuación de segundo
grado: ax2+bx+c=0 dados por:
a
dbr
21
a
dbr
22
siendo :
acbd 42 14. Escribir un programa que lea tres
números e imprima el mayor, el menor
y el intermedio.
15. Elaborar un programa donde se ingre-
se el sueldo de un trabajador, su
respectiva categoría (A,B,C) y su
año de ingreso. Luego se halle e im-
prima su nuevo sueldo si el incre-
mento es:
a) Categoría "A" 15% para los que ingresaron a trabajar antes de 2000 y 12% para el resto.
b) Categoría "B" 20% para los que ingresaron a trabajar antes de
2000 y 17% para el resto.
c) Categoría "C" 25% para los que
ingresaron a trabajar antes de 2000 y 22% para el resto.
16. De cuatro números x,w,y,z, que se
ingresan por el teclado, imprimir
los cuatro números en forma descen-
dente.
17. De cuatro números x,w,y,z, que se
ingresan por el teclado, imprimir
los dos intermedios.
![Page 2: Ejer ProgUNMSM01](https://reader036.fdocumento.com/reader036/viewer/2022082417/55cf9bc9550346d033a75f2a/html5/thumbnails/2.jpg)
Universidad Nacional Mayor de San Marcos - FISI
Introducción a la Computación e Ingeniería de Software
Juan Gamarra – Fany Sobero 2
18. De cuatro números x,w,y,z, que se
ingresan por el teclado, imprimir el
mayor y el menor.
19. Escriba un programa que ingrese la
fecha actual (dd_mm_aa) y la fecha
de nacimiento de una persona; luego
calcule y visualice la edad del in-
dividuo. Si la edad es menor de un
año de edad, la edad se debe dar en
meses y días en caso contrario, la
edad le calculará en años.
20. Elaborar un programa que lea la
calificación entre 0 y 10, y la
transforme en nota alfabética según
la siguiente tabla:
N. NUMÉRICA N. ALFABÉTICA
0<=nota<3 Muy deficiente
3<=nota<5 Insuficiente
5<=nota<6 Suficiente
6<=nota<7 Bien
7<=nota<9 Notable
9<=nota<=10 Sobresaliente
21. Escribir un programa que permita
jugar a las adivinanzas. El usuario
tiene que elegir un entero de un so-
lo dígito. El programa tiene que pe-
dir si el número es par o impar (0 ó
1), y el resto cuando el numero se
divide entre 5. A partir de esa in-
formación se debe determinar el nú-
mero.
22. Imprimir un listado de los números
del 1 al N, si N es ingresado por el
teclado.
23. Calcular la sumatoria de los prime-
ros N números enteros positivos, si
N es ingresado por el teclado.
24. Imprimir un listado de números con-
secutivos desde M hasta N, donde M y
N son ingresados por el teclado.
25. Hallar la media aritmética de los
primeros N números enteros positi-
vos, si N es ingresado por el tecla-
do.
26. Imprimir la suma de los números
impares menores a N, si N es ingre-
sado por el teclado.
27. Imprimir la suma de los números
pares menores a N, si N es ingresado
por el teclado.
28. Imprimir los enteros desde el uno
hasta N, con su respectivo cuadrado,
si N es ingresado por el teclado.
29. Imprimir los números de FIBOCCIANI
menores a mil. Recuerde que los nú-
meros de FIBOCCIANI se calculan de
los dos números anteriores.
30. Escribir un programa que permita
calcular mediante restas sucesivas
el cociente y el residuo de dos nú-
meros naturales.
31. Escribir un programa que calcule el
producto de dos números naturales
mediante el "algoritmo ruso del pro-
ducto". El algoritmo consiste en du-
plicar el primer factor y tomar la
parte entera del cociente del segun-
do factor entre 2. Si el segundo
factor es impar se acumula el primer
factor donde se ha de obtener el re-
sultado. El proceso termina cuando
el segundo factor sea cero.
PRIMER FACTOR
SEGUNDO FACTOR
ACUMULADOR
30 15 30
60 7 90
120 3 210
240 1 450
480 0 450
32. Escribir un programa que permita
imprimir los números de fibbonaci
menores que 1000. Recuerde que un
número de fibbonaci se calcula como
la suma de los dos números anterio-
res, así: 0,1,1,2,3,5,8,...
a) Utilizando tres variables. b) Utilizando dos variables.
33. Escribir un programa que imprima los
“n” términos de la serie de
FIBBONACCI, si los dos valores ini-
ciales son ingresados por el tecla-
do. Un término se halla sumando el
valor de los dos anteriores.
34. Escribir un programa que permita
calcular el promedio de los números
positivos ingresados por el teclado,
después de cada ingreso debe consul-
tar al usuario si desea continuar y
proceder según la respuesta.
35. Escribir un programa que permita
calcular el promedio de los números
positivos ingresados por el teclado,
el ingreso termina cuando el numero
ingresado es CERO.
36. Escribir un programa que determine
si un numero es primo. Un numero
primo es un numero que sólo es divi-
sible por si mismo y por la unidad.
37. Escribir un programa que permita
calcular el MCD (Máximo común divi-
sor) de dos números utilizando el
algoritmo de Euclides.
MCD(70,12)=2 MCD(60,36)=12
5 1 5 1 1 2
70 12 10 60 36 24 12 0
10 2 0 14 12 0
![Page 3: Ejer ProgUNMSM01](https://reader036.fdocumento.com/reader036/viewer/2022082417/55cf9bc9550346d033a75f2a/html5/thumbnails/3.jpg)
Universidad Nacional Mayor de San Marcos - FISI
Introducción a la Computación e Ingeniería de Software
Juan Gamarra – Fany Sobero 3
38. Escribir un programa que permita
calcular el mcm (mínimo común múlti-
plo), si se sabe que
MCD(N1,N2)*mcm(N1,N2) es igual al
producto de N1 por N2, donde N1,N2
son los números.
39. Escribir un programa que imprima los
números del N al M, su cuadrado y su
cubo, si N y M se ingresan por el
teclado.
40. Imprimir el factorial de un número
que se ingrese por teclado. El fac-
torial de un número se calcula mul-
tiplicando los numeros consecutivos
desde 1 hasta el número, por ejem-
plo: 0!=1, 1!=1 2!=1*2, 3!=1*2*3,
4!=1*2*3*4, etc.
41. Imprimir los números de uno al diez,
cada uno con su respectivo facto-
rial.
42. Obtener todos los divisores de un
número entero positivo ingresado
desde el teclado.
43. Escribir un programa que calcule e
imprima el valor de e como la suma
de la serie:
e= 1/0! + 1/1! + 1/2! + ... + 1/N!,
la precisión del resultado será ma-
yor cuanto mayor sea el dato de en-
trada N (entero positivo).
44. Escribir un programa que visualice
un cuadrado mágico de orden impar n,
comprendido entre 3 y 11. Un cuadra-
do mágico se compone de números en-
teros comprendidos entre 1 y n2. La
suma de los números que figura en
cada línea, cada columna y cada dia-
gonal son idénticas.
Regla de construcción:
a) El número 1 se coloca en la casi-lla central de la primera fila.
b) Cada número siguiente se coloca
en la fila anterior y columna si-guiente.
c) Después de ubicar un número múl-
tiplo de “N” no se aplica la re-gla anterior, sino se coloca en
la fila siguiente y misma colum-na.
d) Se considera que la fila anterior
a la primera es la última, y la
columna posterior a la ultima es
la primera.
17 14 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
45. Escribir un programa que permita
determinar sus factores primos sin
incluir uno de un número natural ma-
yor que 1. Los factores primos son
los números primos que multiplicados
dan el número natural; ejemplo: los
factores primos de 180=2*2*3*3*5.
46. Escribir un programa para hallar la
raíz cuadrada de un número N usando
el algoritmo de (Newton-Rapson). El
algoritmo consiste en:
Hacer X= n/10 Mientras valor_absoluto(X2-
N) > 0.0001 X=X+(N-X2)/(2X)
Finmientras X es el valor de la raíz cuadrada de
N.
47. Ingresar un número entero en el
sistema decimal, convertirlo al sis-
tema binario e imprimirlo en panta-
lla.
48. Ingresar un número entero en el
sistema decimal, convertirlo al sis-
tema octal e imprimirlo en pantalla.
49. Ingresar un número binario e impri-
mirlo. Durante el ingreso solo se
debe permitir el ingreso 0 y 1, caso
contrario el número debe ser recha-
zado.
50. Imprimir la tabla de la resta de un
número ingresado desde el teclado.
51. Imprimir la tabla de la división de
un número ingresado desde el tecla-
do.
52. Escribir un programa que imprima la
tabla de multiplicar del 0 al 9, co-
mo multiplicando, y del 1 al 11 como
multiplicador.
53. Escribir un programa para hallar el
valor de X de un polinomio en:
AnXn+An-1X
n-1+An-2Xn-
2+...A0, Utilice el algoritmo de
Hoorner.
Hágase "U" igual a cero. Para I=N bajar a 0 hacer
U(actual)=U(contador)*X+AI
Finpara U es el valor del polinomio
54. Escribir un programa que imprima los
enteros desde 1 hasta N, con su res-
pectivo cuadrado. Suponer para este
programa que el computador no puede
multiplicar. Calcular el cuadrado de
como la suma los N números impares.
NRO NRO^2 OBTENIDO COMO
1 1 1
2 4 1+3
3 9 1+3+5
4 16 1+3+5+7
![Page 4: Ejer ProgUNMSM01](https://reader036.fdocumento.com/reader036/viewer/2022082417/55cf9bc9550346d033a75f2a/html5/thumbnails/4.jpg)
Universidad Nacional Mayor de San Marcos - FISI
Introducción a la Computación e Ingeniería de Software
Juan Gamarra – Fany Sobero 4
55. Hallar todos los números de tres
dígitos CDU tales que si se invierte
el orden de sus cifras aumentan en
297.
56. En una reunión hubo 820 apretones de
mano. Sabiendo que cada persona sa-
ludo a otra sola una vez y a todas
las demás. Elaborar un programa que
determine cuantas personas asistie-
ron a la reunión.
57. En un torneo de fútbol participan 6
equipos. El torneo se desarrolla en
2 ruedas y todos juegan contra to-
dos. Escribir un programa que deter-
mine cuantos partidos se van ha ju-
gar y cuanto durará el torneo, si
cada cuatro fechas se descansan una.
58. El área de un rectángulo es "M"
metros cuadrados. Determinar cuantos
valores y que valores puede tomar el
perímetro "P", sabiendo que sus la-
dos miden un número entero de me-
tros. "M" será ingresado por el te-
clado.
59. Imprimir los números primos menores
que N 500, si N se ingresa por el
teclado. Recuerde que los números
primos son aquellos que se dividen
entre sí mismos y entre uno.
60. Escribir un programa que imprima los
"x" primeros números primos, si “x”
es ingresado por el teclado.
61. Escribir un programa que imprima los
“n” primeros números perfectos, si
“n” es ingresado por el teclado. Un
numero perfecto es un entero positi-
vo que es igual a la suma de sus di-
visores, excluido si mismo.
62. Obtener el calendario correspondien-
te a un mes si se conoce una fecha
del mismo, por ejemplo: MA 25 12
1995 (martes 25 de diciembre de
1995).
63. Escribir un programa que calcule el
valor de la depreciación anual de un
bien. El valor de la depreciación
total es igual a el valor inicial
del bien menos el valor del bien
después de "N" años de vida. El pro-
grama debe considerar el método para
calcular la depreciación anual, si
se pulsa:
"A" Método del Saldo doblemente de-
clinante.
"B" Método de la suma del número de
años.
"C" Método de la línea recta.
MÉTODO DEL SALDO DOBLEMENTE DECLINANTE
La depreciación anual disminuye un porcentaje constante cada año. Pa-
ra obtener el factor de deprecia-ción se divide a 2 entre el número de años de la vida del bien, y ca-da año la depreciación anual es el producto del factor por el valor del bien al comienzo del año (y no de la depreciación total).
MÉTODO DE LA SUMA DEL NUMERO DE AÑOS
El factor de depreciación anual es una fracción cuyo denominador es la suma se 1 a "N", donde "N" es el número de años de vida de un bien, y cuyo numerador es "N" para el primer año, "N-1" para el se-gundo año, "N-2" para el tercer año, y así sucesivamente. La de-preciación anual se obtiene multi-
plicando el factor para cada año por el valor de la depreciación total.
MÉTODO DE LA LÍNEA RECTA
La depreciación anual se obtiene al dividir el valor de la depre-ciación total por el número de años de vida del bien. El valor de depreciación anual es el mismo pa-ra todos los años.
ejemplo: El valor inicial del bien es de 8800, el valor del bien des-pués de 10 años de vida es 800, Vida de un bien 10 años.
VALOR TOTAL DE DEPRECIACIÓN:
8800-800=8000
MÉTODO DEL SALDO DOBLEMENTE DECLINANTE
Factor de depreciacion=2/10
Depreciación para el primer año: 8000*0.20=1600
Depreciación para el segundo año: 8000-1600)*0.20= 6400*0.20=1280
Depreciación para el tercer año:
(6400-1280)*0.20= 5120*0.20=1024
Así sucesivamente.
MÉTODO DE LA SUMA DEL NUMERO DE AÑOS
1+2+3+...+10=55
Depreciación para el primer año=10/55=1454.55
Depreciación para el segundo año=9/55=1309.01
Depreciación para el tercer año=8/55=1163.63
Así sucesivamente.
MÉTODO DE LA LÍNEA RECTA
![Page 5: Ejer ProgUNMSM01](https://reader036.fdocumento.com/reader036/viewer/2022082417/55cf9bc9550346d033a75f2a/html5/thumbnails/5.jpg)
Universidad Nacional Mayor de San Marcos - FISI
Introducción a la Computación e Ingeniería de Software
Juan Gamarra – Fany Sobero 5
Depreciación para cada
año=8000/10=800
64. Escribir un programa que lea "N"
números, los almacene en un vector y
luego calcule e imprima el promedio.
65. Escribir un programa que almacene
"N" números en un vector y luego de-
termine el mayor y el menor elemento
y cuantas veces lo repiten ambos.
66. Escribir un programa que obtenga un
vector D[I] con los datos de A[I]
que no le encuentra en b[I].
67. Escribir un programa que lea números
entre el rango de 0 a 10 y determine
la frecuencia de cada número. El in-
greso termina cuando se ingresa un
número fuera del rango.
68. Escribir un programa que permita
hallar la mediana de un conjunto de
números enteros. La mediana se ha-
lla:
Los elementos son puestos en
orden, y
Si “n” es par, la mediana es
igual al promedio de los dos
elementos centrales. Si “n” es
impar, la mediana es igual al
elemento central.
69. Escribir un programa que calcule la
moda de un conjunto de datos.
70. Escribir un programa que almacena en
un Array un cuadrado mágico de di-
mensión "n"(donde "n" un número en-
tero, positivo e impar de 1 al 17).
Regla de construcción en el problema
44.
71. Escribir un programa que calcule la
desviación estándar, según:
n
i
ii
n
xxdes
1
2)(
72. Escribir un programa que almacene en
un array el cuadrado latino de orden
"N" un cuadro latino del mismo or-
den. Un cuadrado latino de orden "N"
es una matriz cuadrada en que la
primera fila contiene los "N" prime-
ros números naturales y cada una de
las siguientes contiene la rotación
de la fila anterior un lugar a la
derecha.
Ejemplo: un cuadrado latino de orden
4.
1 2 3 4
4 1 2 3
3 4 1 2
2 3 4 1
73. Escribir un programa que almacene
los resultados de las elecciones ge-
nerales para alcalde en la ciudad
"X". Luego calcule el total de votos
por distrito y por candidato y lo
imprima con el siguiente formato:
DISTRITO
CANDIDATOS A B C
1 194 48 45
2 180 20 16
3 221 90 20
4 432 61 18
74. Escribir un programa que lea "N"
números primos los almacene en un
vector y luego los imprima en orden
inverso a la entrada. No se deben
repetir el ingreso.
75. Escribir un programa que sume dos
matrices.
76. Escribir un programa que calcule el
producto de 2 matrices
C[n,r]=A[n,m]*B[m,r].
Para hallar los elementos de C:
jk
m
k
kiji BAC ,
1
,, *