Вы находитесь на странице: 1из 8

Lista de trabajos prácticos

Enero 2009
1) (grupo de 2 personas) Realizar un programa que lea los números enteros de un vector
creados con la función random, y escriba los valores que son mayores que la media.
Estos valores deben ser guardados en un vector.
2) (grupo de 2 personas) Realizar un programa que calcule el producto de dos números,
mediante sumas y la división de dos números mediante restas, la opción la debe
elegir el usuario y las operaciones las debe realizar una función.
3) (grupo de 2 personas) Realizar un programa que de los primeros 1000 números que
habrá introducido en un vector previamente mediante la función random, escriba los
números pares y la media aritmética de los impares. La media se debe calcular
mediante una función
4) (grupo de 1 persona) Realizar un programa que genere la sucesión 1, 1/2!, 1/3!, 1/4!,
1/5!, mediante el uso de una función que realice el factorial. El programa debe
además dar la posibilidad de dar como resultado la suma total de la sucesión.
5) (grupo de 2 personas) Realizar un programa que visualice la siguiente serie: 0, 1, 1, 2,
4, 7, 13, 24, 44, 81, etc. A partir de los valores: 0, 1, y 1
Se introducirá por teclado el número de elementos que debe tener la serie.

6) (grupo de 2 personas) Dada la siguiente ecuación realizar el programa que calcule el


valor de x, para valores de a y b introducidos por el usuario por teclado. Las sumas y
productos las debe realizar una función.

7) (grupo de 2 personas) Realizar un programa que devuelva el número mayor o el menor


de los contenidos en una matriz de 10x10 elementos. Ambas búsquedas las debe
realizar una función. Las opciones de mostrar el mayor, el menor o ambos las debe
elegir el usuario por pantalla y los 100 elementos se deben crear con la función
random.
8) (grupo de 2 personas) Realizar un programa que invierta las posiciones de un vector de
500 elementos que se habrán creado con la función random. La escritura en pantalla
la debe realizar una función.
9) (grupo de 2 personas) Realizar un programa que lea 1000 números enteros de un
vector, y que posteriormente muestre los cuadrados de los pares y que muestre la
posición de los elementos en orden inverso. Se debe utilizar la función random para
crear el vector.
10) (grupo de 2 personas) Diseñar un algoritmo que realice el cálculo del módulo de un
vector mediante una función. El número de elementos del vector se debe poder leer
de pantalla y los elementos del mismo mediante el uso de la función random.
11) (grupo de 2 personas) Dadas las notas de 10 estudiantes, realizar un programa que
calcule los siguientes datos: número de asignaturas aprobadas, número de
asignaturas suspendidas, nota media, nota media de las asignaturas aprobadas, nota
media de las asignaturas suspendidas, en total y por cuatrimestre. Los datos de cada
estudiante estarán guardados en cada fila de una matriz y los datos de las
asignaturas en cada columna de la fila en cuestión. El número de asignaturas a
considerar es 12, las de las seis primeras columnas corresponderán al primer
cuatrimestre y las seis restantes al segundo.
12) (grupo de 2 personas) Diseñar un programa que realice la búsqueda de los elementos
de un vector de 5 elementos en una matriz, los elementos de la matriz de dimensión
30x30 se generarán con la función random. El programa debe guardar en una matriz
las posiciones en las que se encuentra el elemento buscado. La búsqueda la debe
realizar una función.
13) (grupo de 2 personas) Realiza un programa que ordene un vector de menor a mayor.
Los elementos del vector se deben generar con la función random.
14) (grupo de 2 personas) Realizar un programa que genere de forma aleatoria 200
números y los guarde en un vector, y luego escriba por pantalla los pares y en
sentido contrario. Estos valores previamente se habrán guardado en un vector.
15) (grupo de 2 personas) Realizar un programa que determine el número de entradas
igual a cero de una matriz A cuyas dimensiones se lean de teclado y cuyo contenido
se genere mediante la función random. Finalmente imprimir la matriz en pantalla en
ambos modos: comenzando por la primera fila y columna y comenzando por las
últimas.
16) (grupo de 1 persona) Realizar un programa que dada una matriz A de orden nxm,
permute los renglones k e i. La permuta la realizará una función. Las dimensiones y
las filas a intercambiar se leerán de teclado y el contenido de la misma se generará
utilizando la función random.
17) (grupo de 2 personas) Realizar un programa que ordene una matriz de menor a mayor
o viceversa de acuerdo a la opción elegida por el usuario. Los elementos de la matriz
se deben generar con la función random.
18) (grupo de 2 personas) Realizar un programa que escriba el recorrido en diagonal de
una matriz cuadrada de nxn elementos empezando en el extremo inferior izquierdo y
finalizando en el último elemento de la diagonal principal. Por ejemplo para la
siguiente matriz.
Ejemplo:
1 2 3
4 5 6
7 8 9
El resultado sería: 7 4 8 1 5 9
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.

19) (grupo de 2 personas) Realizar un programa que, dada una matriz “A” de nxn
elementos, actualice la matriz de manera que la resultante tenga divididos a los
elementos de la diagonal principal por la suma de los elementos que no forman parte
de ella.
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.

20) (grupo de 2 personas) Realizar un programa que detecte en una matriz “A” de nxm
elementos enteros desordenados, aquellos elementos que están repetidos y son
pares, escribiendo el elemento y el número de veces que se repite en otra matriz,
mostrando esta última en pantalla haciendo uso de una función.
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.
21) (grupo de 1 persona) Realizar un algoritmo tal que: dados dos vectores “a” y “b”
ambos de tamaño n, escribir un tercer vector “c” de la siguiente forma: si el
elemento k de a es mayor que el elemento k de b, entonces en el elemento k de c se
pone un 1; si es menor, entonces se coloca un -1; y si ambos elementos son iguales,
en c se coloca un 0. Mostrar el vector resultado por pantalla escribiendo sus valores
en ambas direcciones. Haciendo uso de una función a la que se le pase como
parámetro el sentido de impresión en pantalla.
22) (grupo de 2 personas) Sean dos matrices “A” y “B” de dimensiones mxn y lxk. Diseñar
un algoritmo que detecte aquellos elementos presentes en ambas matrices y los
escriba, indicando su posición en las dos matrices (suponiendo que no hay valores
repetidos dentro de ninguna de las dos matrices).
23) (grupo de 1 persona) Realizar una función que calcule el factorial de un número, y
utilizarla en un algoritmo que realice el siguiente cálculo:

24) (grupo de 2 personas) Escribir una función que guarde en un vector los elementos
superiores a partir de la diagonal secundaria de una matriz.
Ejemplo:
1 2 3
4 5 6
7 8 9
El resultado sería: 1 2 3 4 5 7
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.

25) (grupo de 2 personas) Escribir una función que guarde en un vector los elementos
sobre la diagonal principal de una matriz.
Ejemplo:
1 2 3
4 5 6
7 8 9
El resultado sería: 1 2 3 5 6 9
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.

26) (grupo de 2 personas) Escribe una función que guarde en un vector los elementos
inferiores a partir de la diagonal secundaria de una matriz.
Ejemplo:
1 2 3
4 5 6
7 8 9
El resultado sería: 3 5 6 7 8 9
Las dimensiones de la misma se leerán de teclado y el contenido se generará utilizando la función
random.
27) (grupo de 2 personas) Diseñar un programa que de acuerdo a una variable de entrada
realice una de estas operaciones: la suma de dos matrices, la resta de dos matrices,
o el producto de una matriz por un escalar. Implementar las distintas operaciones
con procedimientos.
Las dimensiones de las mismas se leerán de teclado y el contenido se generará utilizando la función
random.

28) (grupo de 2 personas) Diseñar un programa que para un valor de t=9, genere la
siguiente figura:
*****
******
*******
********
*********
El valor de t lo debe leer de teclado.
29) (grupo de 2 personas) Diseñar un programa que produzca la siguiente salida:

ZYXWVTSRQPONMLKJIHGFEDCBA
YXWVTSRQPONMLKJIHGFEDCBA
XWVTSRQPONMLKJIHGFEDCBA
WVTSRQPONMLKJIHGFEDCBA
VTSRQPONMLKJIHGFEDCBA
TSRQPONMLKJIHGFEDCBA
SRQPONMLKJIHGFEDCBA
RQPONMLKJIHGFEDCBA
QPONMLKJIHGFEDCBA
PONMLKJIHGFEDCBA
ONMLKJIHGFEDCBA
NMLKJIHGFEDCBA
MLKJIHGFEDCBA
LKJIHGFEDCBA
KJIHGFEDCBA
JIHGFEDCBA
IHGFEDCBA
HGFEDCBA
GFEDCBA
FEDCBA
EDCBA
DCBA
CBA
BA
A

30) (grupo de 2 personas) Diseñar un programa que para n=4 visualice la siguiente salida:

1
1 2
1 2 3
1 2 3 4 El valor de n debe ser leído de teclado.
1 2 3
1 2
1

31) (grupo de 2 personas) Si x representa la media de los números x1, x2, …, xn, entonces
la varianza es la media de los cuadrados de las desviaciones de los números de la
media.

Varianza =
1
n
Σ(x -x) ,
i
2
desde i=1 hasta n.

Y la desviación estándar es la raíz cuadrada de la varianza. Escribir un programa que


lea una lista de números reales, los cuente y a continuación calcule e imprima su
media, varianza y desviación estándar. Utilizar funciones para calcular la media,
varianza y desviación estándar.
32) (grupo de 2 personas) Escribir un programa que lea una cadena de caracteres y la
visualice en un cuadrado.
33) (grupo de 2 personas) Escribir un programa que lea una línea de caracteres y visualice
la línea de tal forma que las vocales sean sustituídas por el carácter que más veces
se repite en una línea.
34) (grupo de 3 personas) Los resultados de las últimas elecciones a alcalde en el pueblo x
han sido las siguientes:
Distrito Candidato Candidato Candidato Candidato
A B C D
1 194 48 206 45
2 180 20 320 16
3 221 90 140 20
4 432 50 821 14
5 820 61 946 18

Escribir un programa que haga las siguientes tareas:


a) Imprimir la tabla anterior con cabeceras incluidas
b) Calcular e imprimir el número total de votos recibidos por cada candidato y el
porcentaje con respecto al total de votos emitidos. Asimismo visualizar el
candidato más votado.
c) Si algún candidato recibe más del 50 por ciento de los votos el programa
imprimirá un mensaje declarándole ganador.
d) Si ningún candidato recibe más del 50 por ciento de los datos, el programa debe
imprimir el nombre de los dos candidatos más votados que serán los que pasen a
la segunda ronda de elecciones.
35) (grupo de 2 personas) Escribir un programa que convierta un número romano (en
forma de cadena de caracteres) en número arábigo.
Reglas de conversión:
M 1000
D 500
C 100
L 50
X 10
V 5
I 1

36) (grupo de 2 personas) Escribir un programa que lea una colección de cadenas de
caracteres de longitud arbitraria. Por cada cadena leída debe hacer lo siguiente:
a) Imprimir la longitud de la cadena.
b) Contar el número de ocurrencia de palabras de cuatro letras.
c) Sustituir cada palabra de cuatro letras por una cadena de cuatro asteriscos e
imprimir la nueva cadena.
37) (grupo de 2 personas) Se dice que una matriz tiene un punto de silla si alguna posición
de la matriz es el menor valor de su fila, y a la vez el mayor de su columna. Escribir
un programa que tenga como entrada una matriz de números reales, y calcule la
posición de un punto de silla (si es que existe).
38) (grupo de 2 personas) Escribir un programa que determine si una frase o una palabra
es un palíndromo. Un palíndromo es una cadena de caracteres que se leen de igual
forma en ambos sentidos; por ejemplo: ana, dabale arroz a la zorra el abad.
39) (grupo de 2 personas) Escribir un programa en el que se genere aleatoriamente n
vector de 20 números enteros. El vector ha de quedar de tal forma que la suma de
los diez primeros sea mayor que la suma de los diez últimos elementos. Mostrar el
vector original y el vector con la distribución indicada.
40) (grupo de 2 personas) Un número primo es una cantidad entera que es divisible sólo
por 1 y por sí mismo. Por ejemplo, 7 es un número primo, pero 6 no lo es.
Calcular y presentar una lista con los n primeros números primos.
41) (grupo de 2 personas) Escribir un programa que lea una frase y mediante una función
llamada espejo, la escriba al revés, luego el programa principal debe escribirla en
pantalla. Por ejemplo para la frase: “Esto es un ejemplo de frase” se debe imprimir
en pantalla: esarf ed olpmeje nu se otse.
42) (grupo de 2 personas) Escribir un programa que lea una cadena de caracteres
alfanuméricos y devuelva de la misma los caracteres numéricos. Por ejemplo para la
siguiente cadena: “Esta es una cadena de caracteres 4lf4n8m3r1c0s” se debe
imprimir en pantalla: 4 4 8 3 1 0
43) (grupo de 2 personas) Escribir un programa que lea una frase y devuelva la misma
codificada de tal forma que las vocales se sustituyan por números: a por 5, e por 4, i
por 3, o por 2 y u por 1.
44) (grupo de 2 personas) Escribir un programa que lea una palabra y muestre sus letras
en forma de pirámide. Por ejemplo:
TELÉFONO
**T**
*ELE*
FONO
45) (grupo de 2 personas) Generar la siguiente pirámide de dígitos utilizando bucles
anidados.
1
232
34543
4567654
567898765
67890109876
7890123210987
890123454321098
90123456765432109
0123456789876543210

46) (grupo de 2 personas) Calcular el sen x de forma aproximada sumando los n primeros
términos de la serie infinita:
Sen x=x - x3/3! + x5/5! – x7/7! + …
Donde x se expresa en radianes (nota PI radianes =180º)
Nota: El número factorial debe ser calculado por una función.
47) (grupo de 2 personas) Diseñar un programa que de acuerdo a una variable de entrada
realice una de estas operaciones: la inversa de una matriz, el determinante de la
misma y/o la traspuesta. Implementar las distintas operaciones con procedimientos.
Las dimensiones de las mismas se leerán de teclado y el contenido se generará utilizando la función
random.

48) (grupo de 1 persona) Realizar un programa que genere la siguiente sucesión y la


muestre en pantalla:

El programa debe además dar la posibilidad de dar como resultado la suma total de
la sucesión.
49) (grupo de 2 personas) Realizar un programa que lea líneas de texto introducidas por
teclado, obtenga las palabras de cada línea y las escriba en pantalla por orden
alfabético.
50) (grupo de 2 personas) Realizar un programa que indique si las dos cadenas
introducidas por teclado son o no anagramas. Se considera que dos cadenas son
anagramas si contienen exactamente los mismos caracteres en el mismo o en
diferente orden. Hay que ignorar los blancos y considerar que se introducen letras
solo en minúsculas.
51) (grupo de 1 persona) Realizar un programa que calcule la suma de los términos de la
serie ½, 2/22, 3/33, 4/44, … .
52) (grupo de 1 persona) Realizar un programa que tome un valor de x como entrada y
realice el cálculo de ex, considerando que dicho valor se puede aproximar por la suma
de la sucesión: 1+x+x2/2!+x3/3!+x4/4!+ +xn/n! . El factorial se debe calcular con
el uso de funciones.
53) (grupo de 2 personas) Diseñar un programa que solicite al usuario un valor no negativo
n y visualice la siguiente salida:

1 2 3 … n-1 n
1 2 3 … n-1

1 2 3
1 2
1
El valor de n debe ser leído de teclado.

54) (grupo de 1 persona) Diseñar un programa que para un valor de t=4, genere la
siguiente figura:
*
**
***
****
El valor de t lo debe leer de teclado.

55) (grupo de 1 persona) Diseñar un programa que para un valor de t=4, genere la
siguiente figura:
****
****
****
****
El valor de t lo debe leer de teclado.
56) (grupo de 2 personas) Realizar un programa que cuente el número de espacios en
blanco de la entrada de datos. Un carácter es un espacio en blanco si es un blanco
(‘‘), una tabulación (‘\t’), un carácter de nueva línea (‘\n’) o un avance de página
(‘\f’).
57) (grupo de 2 personas) Realizar un programa que lea una cadena de caracteres y la
visualice en un cuadrado.
58) (grupo de 2 personas) Realizar un programa que lea una frase y a continuación
visualice cada palabra de la frase en columna, seguido del número de letras que
compone cada palabra.
59) (grupo de 2 personas) Realizar un programa que lea una línea de caracteres, y
visualice la línea de tal forma que las vocales sean sustituídas por el carácter que
más veces se repite en la línea.
60) (grupo de 3 personas) Realizar un programa que calcule la frecuencia de aparición de
las vocales de un texto proporcionado por el usuario y las muestre en una columna
ordenadas de mayor a menor por frecuencia de aparición. Debe además mostrar las
palabras de la frase en una columna ordenadas de menor a mayor, en otra
ordenadas de mayor a menor y en otra colocadas por orden alfabético.
61) (grupo de 2 personas) Realizar un programa que lea una línea de caracteres, y
visualice la línea de tal forma que las vocales sean sustituidas por:
a: 5, e: 4, i: 3, o: 2, u: 1
62) (grupo de 2 personas) Realizar un programa que lea una cadena de caracteres y la
visualice en un cuadrado.
63) (grupo de 2 personas) Realizar un programa que visualice la siguiente serie: 1, 3, 8,
22, 65, 209, etc. Este es el modo de calcular cada elemento de la serie:
1^1
2^1+1^2
3^1+2^2+1^3
4^1+3^2+2^3+1^4
5^1+ 4^2+ 3^3 + 2^4 + 1^5
Se introducirá por teclado el número de elementos que debe tener la serie.

64) (grupo de 2 personas) Realizar un programa que visualice la siguiente serie: 1, 2, 2, 4,


2, 4, 2, 4, 6, etc. Este es el modo de calcular cada elemento de la serie:
Son las diferencias entre números primos.
Números primos: 2, 3, 5, 7, 11, 13…
diferencias: 1, 2, 2, 4, 2…….
Se introducirá por teclado el número de elementos que debe tener la serie.

65) (grupo de 2 personas) Realizar un programa que visualice la siguiente serie: 1, 4, 9,


61, 52, 63, 94, etc. Esta serie muestra los cuadrados de los número naturales
escritos al revés, las unidades a la izquierda, las decenas a la derecha.
Se introducirá por teclado el número de elementos que debe tener la serie.

66) (grupo de 1 persona) Realizar un programa que visualice la serie que muestra las
potencias de 3.
Se introducirá por teclado el número de elementos que debe tener la serie.

67) (grupo de 2 personas) Realizar un programa que visualice la siguiente serie: 101, 316,
192, 225, 283, etc. Este es el modo de calcular cada elemento de la serie:
a(n+2)=a(n)+91 si n es impar
a(n+2)=a(n)-91 si n es par
Se introducirá por teclado el número de elementos que debe tener la serie.

Вам также может понравиться