Ejercicios de Examen
Ejercicios de Examen
Ejercicios de Examen
5 Haga un programa en Fortran que le pregunte al usuario un nmero )por teclado) del
1 al 5 y que, a continuacin, muestre la vocal correspondiente al nmero ledo
(a=1,e=2,i=3,o=4, u=5). El programa deber indicar al usuario que hay un error si el
nmero no est en el intervalo [1,5] (no es necesario preguntar otro nmero). Se
valorar especialmente la brevedad del programa.
6 Un nmero narcisista es un nmero de N dgitos que resulta ser igual a la suma de las
potencias de orden N de sus dgitos. Por ejemplo: 153= 13+ 53+ 33 . Escriba un
subprograma que reciba un nmero como parmetro y devuelva un dato indicando si es
o no narcisista. A continuacin escriba un programa principal que ilustre el
funcionamiento del subprograma.
El nmero que se pasa al subprograma se puede representar de varias formas:
-Como un dato INTEGER
-Como un vector de INTEGER junto con un INTEGER que indica el nmero de dgitos
del nmero.
-Como cadena de caracteres.
Elija la representacin que considere ms oportuna y explique (razonadamente) por qu
ha elegido esa y no otra.
7 Haga un programa que lea una matriz por teclado de tamao M x N (cmo mximo,
M y N pueden valer 100). A continuacin, el programa debe calcular la suma de los
mximos de las filas pares siempre y cuando estos sean nmeros impares. Por ejemplo,
dada la matriz
1324536574
3 4 2 3 4 5 4 6 8 9 mximo=9
3768453486
3 0 3 6 2 4 1 3 2 4 mximo=6
4372879071
3 5 4 6 2 7 5 6 4 3 mximo=7
La suma que se pide es 9+7=16
9 Escriba un programa que calcule los nmeros primos menores que 1000 utilizando el
llamado mtodo de la criba de Eratstenes. Este mtodo consiste en definir una lista con
los nmeros del 2 al 1000 para, a continuacin, proceder de la siguiente forma: tomar el
primer elemento de esa lista que no haya sido tachado (ese ser un nmero primo) y
tachar en la lista todos sus mltiplos. Repetir el proceso anterior con el siguiente
nmero que est sin tachar en la lista. Al finalizar el proceso quedarn sin tachar slo
los nmeros primos.
Xi+1 = Xi /2 + N/(2*Xi)
Desarrolla una funcin que calcule la raz cuadrada de un nmero N con una
precisin i.
12 Escriba un subprograma que devuelva en dos variables de salida los dos nmeros
que ms se repiten en un vector, esto es, la moda y la segunda moda.
14 (2 puntos) Escriba una funcin que calcule la covarianza de dos series de nmeros
de igual tamao. Si considera necesario implementar tambin una funcin para la
media ,hgalo. La covarianza entre dos series de nmero se define:
15 Tenemos una bscula que tiene los siguientes tipos de pesos: 50kg, 20kg, 10kg, 5kg,
y 1kg. Debe implementar un programa que permita seleccionar el nmero mnimo de
pesas que se debe colocar en la bscula dado un peso introducido por el usuario. Por
ejemplo, si el peso dado es de 78kg, se debe colocar 1 pesa de 50Kg, 2 de 10Kg, 1 de
5Kg y 3 de 1Kg.
18 Haz una funcin que tome los elementos de la diagonal principal de una matriz
cuadrada y los multiplique, uno a uno, con los de la diagonal secundaria, para
finalmente devolver su sumatoria.
Ejemplo:
| 1 4 2 | Diagonal principal = (1 7 6)
| 5 7 3 | Diagonal secundaria = (2 7 1)
| 1 4 6 | Clculo = 1x2 + 7x7 + 6x1 = 57