Sie sind auf Seite 1von 6

UNIVERSIDAD DE EL SALVADOR

FACULTAD DE CIENCIAS NATURALES Y MATEMTICA


ESCUELA DE MATEMTICA
Programacin 1
Guia de ejercicios 4 Listas, Tuplas, Funciones y Cadenas

Listas 9. Escriba un programa que lea n datos enteros y


1. Escriba un programa que llene todas las casillas que los ordene por el mtodo de la burbuja.
(lea los elementos) de una lista de longitud n
dada. 10. Escriba un programa que lea una lista de
enteros, y un nmero entero a parte. El
2. Escriba un programa que muestre pida una programa debe indicar cuntas veces el nmero
secuencia de n valores reales y luego muestre aparece en la lista.
su suma.
11. Escriba un programa que lea una lista de
3. Escriba un programa que pida una secuencia de enteros, y un nmero entero a parte. El
n valores reales y luego muestre su promedio. programa debe indicar en qu ndice aparece la
primera ocurrencia del nmero en la lista.
4. Escriba un programa que lea los elementos de
una lista de nmeros reales de longitud n , y 12. Escriba un programa que lea una lista de
proporcione su suma, producto, el mayor y el enteros, y un nmero entero a parte. El
menor. programa debe indicar en qu ndice aparece la
ltima ocurrencia del nmero en la lista.
5. Considere una clase de 20 alumnos. Escriba un
programa que lea las notas finales de la materia 13. Escriba un programa que lea n datos enteros y
y calcule e imprima el promedio de la materia. que calcule e imprima:
a) Media aritmtica. El promedio de todos los
6. Escriba un programa que pida una secuencia de datos.
n enteros y luego la muestre en orden inverso. b) Moda. El dato que ms veces aparece
Haga dos soluciones diferentes. dentro de la lista (puede no haber, haber una
o varias modas).
7. Escriba un programa que solicite un nmero c) Mediana. El dato central teniendo la
entero n no mayor que 100 y que imprima los susecin ordenada.
nmeros de 1 a n y los guarde en una lista de
la siguiente forma: Si n=7 , la lista deber ser: 14. En matemtica, dados dos vectores
7254361 A=[a1 , a2 ,, an ] y B=[b 1 , b 2 , ,b n ] , el
producto interno de A y B est dado por la
8. Escriba un programa que lea y guarde un expresin AB=a1 b1 +a2 b2 ++a n b n . Escriba
mximo de 100 datos reales mientras estos sean un programa que lea dos listas de nmeros
positivos (es decir que se detenga la lectura reales (ambas del mismo tamao) y calcule e
cuando el usuario escriba un cero o un nmero imprima su producto interno.
negativo). Luego que calcule la varianza de
esos datos. 15. Escriba un programa que lea una lista de datos


n enteros y determine la posicin en que se
(x i x )2 encuentra el elemento ms cercano al promedio
i=1
x= de todos los datos.
n1
16. Escriba un programa que guarde y calcule los
primeros 40 factoriales. Luego que determine 25. Similar al ejercicio anterior pero luego de pedir
mediante bsqueda binaria si un nmero las secuencias el programa debe indicar si la
introducido por el usuario es uno de ellos. relacin es simtrica.

17. Escriba un programa que lea un nmero entero 26. Similar al ejercicio anterior pero luego de pedir
binario puro, bit a bit, de un mximo de 16 bits las secuencias el programa debe indicar si la
y que encuentre su representacin decimal. Por relacin es transitiva.
ejemplo: 10001002=6810
27. Similar al ejercicio anterior pero luego de pedir
18. Escriba un programa que lea un nmero entero las secuencias el programa debe indicar si la
positivo menor que 232 y muestre su relacin es antisimtrica.
representacin binaria (de a lo sumo 32 bits).
28. Similar al ejercicio anterior pero luego de pedir
19. Escriba un programa que pida dos secuencias las secuencias el programa debe indicar si la
A y B de n valores enteros entre 1 y 20 relacin es de orden parcial.
inclusive (de igual longitud entre s).
29. Similar al ejercicio anterior pero luego de pedir
20. Escriba un programa que pida dos listas X y las secuencias el programa debe indicar si la
Y de n valores enteros entre 1 y 20 inclusive relacin es de orden total.
(de igual longitud entre s). Estas dos
secuencias sern consideradas de tal manera 30. Similar al ejercicio anterior pero luego de pedir
que el primer elemento de la primera secuencia las secuencias el programa debe indicar si la
y el primer elemento de la segunda secuencia relacin es de equivalencia.
forman un par ordenado; el segundo elemento
de la primera secuencia y el segundo elemento 31. Similar al ejercicio anterior pero luego de pedir
de la segunda secuencia forman otro par las secuencias el programa debe mostrar las
ordenado; y as sucesivamente. Estos pares clases de equivalencia si la relacin es de
ordenados simulan una relacin R en equivalencia.
A={1, 2,3, 4, , 20} (revisar unidad de
relaciones de la materia Lgica Matemtica).
Luego de pedir ambas secuencias el programa Funciones
debe indicar el dominio de la relacin. 32. Escriba una funcin que reciba como parmetro
una lista y devuelva True si todos los
21. Similar al ejercicio anterior pero luego de pedir elementos son nmeros reales.
las secuencias el programa debe indicar el
rango de la relacin. 33. Escriba una funcin que dadas dos listas que
simulan conjuntos de datos, devuelva la unin
22. Similar al ejercicio anterior pero luego de pedir de los dos conjuntos.
las secuencias el programa debe mostrar la
relacin inversa. 34. Escriba una funcin que dadas dos listas que
simulan conjuntos de datos, devuelva la
23. Similar al ejercicio anterior pero luego de pedir interseccin de los dos conjuntos.
las secuencias el programa debe indicar si la
relacin es igual a su inversa. 35. Escriba una funcin que reciba una lista y la
devuelva invertida. Luego investigue sobre el
24. Similar al ejercicio anterior pero luego de pedir mtodo reverse de las listas.
las secuencias el programa debe indicar si la
relacin es reflexiva. 36. Escriba una funcin que utilice una lista para
realizar la conversin manual de un nmero de
base 10 en su correspondiente de base 16. 41. Escriba una funcin que reciba un nmero
Luego escriba un programa que pida un nmero entero positivo y devuelva una lista con los
decimal positivo cualquiera y muestre la nmeros naturales menores o iguales a l de la
conversin usando la funcin previamente siguiente manera:
creada. Si la entrada es 1, la salida ser [1].
Si la entrada es 2, la salida ser [1,2].
37. Escriba una funcin que reciba una lista y un Si la entrada es 3, la salida ser [1,3,2].
valor arbitrario, y que busque el valor en la Si la entrada es 4, la salida ser [1,3,4,2].
lista. Si lo encuentra, debe devolver el ndice de Si la entrada es 5, la salida ser
la posicin donde est, y si no, devolver 1. [1,3,5,4,2]
Luego investigue el mtodo index de las Si la entrada es 6, la salida ser
listas. [1,3,5,6,4,2], y as sucesivamente.

38. Escriba una funcin que dada una lista de 42. Escriba una funcin que reciba un nmero
nmeros reales la devuelva ordenada. Luego entero positivo n y devuelva una lista con los
investigue el mtodo sort de las listas. primeros n nmeros primos, de la siguiente
manera:
39. Se tienen ocho esferas de igual tamao y color. Si la entrada es 1, la salida ser [1].
Siete de ellas tienen el mismo peso y una tiene Si la entrada es 2, la salida ser [1,2].
un peso levemente mayor. Cmo se puede
Si la entrada es 3, la salida ser [1,2,3].
detectar cul es la esfera de distino peso
Si la entrada es 4, la salida ser [1,2,3,5].
utilizando una balanza nicamente dos veces?
Cdifique una solucin que determine cul es Si la entrada es 5, la salida ser
la esfera de distinto peso. Para ello utilice una [1,2,3,5,7], y as sucesivamente.
lista de ocho casillas que simula las esferas y
cuyo contenido es el peso de las esferas. Una 43. Escriba una funcin que reciba una lista de
condicin para la implementacin es la nmeros enteros y devuelva True slo si todos
creacin de una funcin llamada pesar, que los elementos de la lista son nmeros primos.
recibe dos parmetros (los dos pesos a colocar Si alguno de los elementos de la lista no es un
en la balanza cada vez que ser usada) y retorna nmero primo deber devolver False.
un entero que puede ser -1 (pesa ms el primer
parmetro), 1 (pesa ms el segundo) o 0 (ambos 44. Escriba una funcin que reciba una lista de
pesos son iguales). nmeros y devuelva True slo si los
elementos de la lista corresponden al inicio de
40. Escriba un programa para la solucin de una sucesin aritmtica. En otro caso deber
ecuaciones de segundo grado de una variable devolver False.
real, de la forma f ( x)=a x 2+ b x+ c , por
medio de la ecuacin cuadrtica 45. Escriba una funcin que reciba una lista de
b b + 4 a c
2 nmeros y devuelva True slo si los
x= . Recuerde que hay tres elementos de la lista corresponden al inicio de
2a
posibilidades: a) que haya una nica solucin, una sucesin geomtrica. En otro caso deber
b) que haya dos soluciones reales y c) que haya devolver False.
dos soluciones complejas. Implemente en el
programa una funcin que reciba los tres 46. Escriba una funcin que reciba el primer
coeficientes reales de la ecuacin ( a , b y c ) nmero de una sucesin aritmtica ( a1 ), el
y devuelva la nica solucin real o una tupla valor de la diferencia ( d ) de los elementos de
con las dos soluciones. la sucesin y un nmero entero positivo n; y
que devuelva una lista con los primeros n Cadenas
nmeros de tal sucesin.
50. Escriba un programa que solicite una cadena y
47. Escriba una funcin que reciba el primer diga si la cadena es un palndromo. Un
nmero de una sucesin geomtica ( a1 ), el palndromo es una palabra que es igual de
valor de la razn ( r ) y un nmero entero derecha a izquierda y de izquierda a derecha.
positivo n; y que devuelva una lista con los
primeros n nmeros de tal sucesin. 51. Escriba un programa que lea una lista de
caracteres y luego desplace hacia la derecha la
48. Dado un arreglo de longitud n que contiene lista (de manera cclica). Por ejemplo, si la lista
nmeros enteros colocados en forma introducido es h o l a entonces se mostrar
ascendente, implementar el mtodo de a h o l.
bsqueda binaria para localizar un determinado
elemento y reportar en qu posicin se 52. Escriba un programa que lea una lista de
encuentra. Este mtodo funciona de la siguiente caracteres, lea un nmero entero y luego
manera: desplace hacia la derecha la lista (de manera
a) Se sita en la mitad de la lista y se compara cclica) segn el entero ledo. Luego debe
el elemento en esa posicin con el buscado. mostrarlo. Si el nmero entero es negativo,
b) Si el elemento en esa posicin es igual, el desplace a la izquierda. Por ejemplo, si la lista
algoritmo se detiene. introducido es h o l a y el nmero es 2
c) Si el elemento en esa posicin es mayor, se entonces se mostrar l a h o.
toma la mitad inferior de la lista y se
procede con el paso a). 53. Escriba una funcin que dada una cadena,
d) Si el elemento en esa posicin es menor, se devuelva True si contiene una frace
toma la mitad superior de la lista y se palndromo. Investigue en
procede con el paso a). http://es.wikipedia.org/wiki/Palndromo sobre
Se contina con estos pasos hasta encontrar el algunas famosas fraces palndromos. Ntese
elemento o hasta que ya no hay ms elementos que las palabras tildadas se cotejan con sus
entre los cuales buscar. correspondientes no tildadas y se ignoran los
espacios y los signos de puntuacin.
49. Un cajero automtico debe entregar un monto
en dlares equivalente a la cantidad digitada 54. Escriba una funcin que dada una cadena, la
por el cliente. Escriba un programa que le devuelva codificada usando la clave
indique a la mquina cuntos billetes de las murcilago, en donde cada letra de esa palabra
diferentes denominaciones (100, 50, 20, 10, 5, se sustituye por un nmero, as: m=0, u=1, r=2,
1) debe entregar segn la solicitud de un c=3, i=4, e=5, l=6, a=7, g=8, o=9.
cliente.
Aplique la siguiente poltica: Se entrega la 55. Escriba una funcin que reciba una cadena y
mayor cantidad posible de billetes de la mayor devuelva el nmero de veces que se repite cada
denominacin disponible, por ejemplo, si el vocal, sin distinguir maysculas, tildes y
cliente solicita USD 537, se le entregarn 5 diresis. Devuelva los cinco valores en una
billetes de USD 100, uno de USD 20, uno de tupla, donde la posicin cero contendr el
USD 10, uno de USD 5 y dos de USD 1. nmero de veces que se repite la letra a, la
Implemente dos variantes: primero asumiendo posicin 1 el nmero de veces que se repite la
una provisin ilimitada de billetes y despus letra e, y as sucesivamente.
asumiendo una cantidad finita de billetes
alojados fsicamente en el cajero.
Matrices
56. Escriba una funcin que dada una lista, retorne 65. Escriba una funcin que dada una matriz de
True si esta lista es una matriz bidimensional nmeros complejos, devuelva True si esta es
(es decir, si se trata de una lista de listas del triangular inferior y False en caso contrario.
mismo tamao entre s) y False en caso
contrario. 66. Escriba una funcin que dada una matriz
triangular de nmeros complejos, devuelva el
57. Escriba una funcin que dada una lista, retorne determinante de dicha matriz.
True si esta lista es una matriz bidimensional
de nmeros reales y False en caso contrario. 67. Escriba una funcin que devuelva en una
matriz, los elementos del tringulo de Pascal de
58. Escriba una funcin que dada una lista, retorne n filas. Por ejemplo, el tringulo de pascal de
True si esta lista es una matriz bidimensional 6 filas es la siguiente matriz:
de nmeros complejos y False en caso 1 1 1 1 1 1
contrario. 1 2 3 4 5
59. Escriba un programa que llene (lea los 1 3 6 10
elementos) de una matriz de dimensin nm . 1 4 10
1 5
60. Escriba una funcin que dadas las dimensiones
de una matriz, lea del teclado todos sus valores 1
y devuelva la matriz correspondiente.
68. Escriba una funcin que dadas dos matrices de
61. Escriba una funcin que busque un valor nmeros complejos, devuelva la suma de estas
determinado en una matriz. Si lo encuentra, si es posible, en caso contrario, deber lanzar
debe devolver una tupla con la posicin donde una excepcin de tipo ValueError.
se encuentra, sino, deber devolver False.
69. Escriba una funcin que dadas dos matrices de
62. Escriba una funcin que dada una matriz nmeros complejos, devuelva el producto de
cuadrada de nmeros complejos, devuelva el estas si es posible, en caso contrario, deber
resultado de la suma de los elementos de la fila lanzar una excepcin de tipo ValueError.
y columna centrales, si tiene. Note el caso La funcin del producto de dos matrices
particular del elemento central de la matriz que Am n =[ ai , j ] y B n p=[ b i , j ] es: C i , j =[ c i , j ] , con
se encuentra en ambas hileras, por lo que debe n
descartarlo una vez de la suma total. c i , j= a i ,kb k , j , 1im, 1 j p .
k=1

63. Escriba una funcin que dada una matriz 70. Escriba una funcin que dada una matriz de
cuadrada de nmeros complejos, devuelva el nmeros complejos, devuelva la transpuesta. La
resultado de la suma de los elementos de las matriz transpuesta de M mn=[ mi , j ] es
diagonales principal y secundaria. Note que M nm=[ m j ,i ] .
cuando el orden de la matriz es impar, el
elemento central aparece en ambas diagonales, 71. Escriba una funcin que reciba una matrz de
por lo que debe descartarlo una vez de la suma nmeros y devuelva True si dicha matriz es
total. diagonal cuadrada y False si no lo es. Una
matriz M =[ ai , j]n es diagonal cuadrada si y
64. Escriba una funcin que dada una matriz de
slo si ( i , j)[i j a i, j=0] (es decir si y
nmeros complejos, devuelva True si esta es
slo si todos los elementos que no estn en la
triangular superior y False en caso contrario. diagonal principal son cero).
cuyas casillas se han colocado caracteres.
72. Escriba una funcin que reciba una matrz de Escriba un programa que muestre la cuadrcula
nmeros y devuelva True si dicha matriz es y solicite una palabra del usuario, luego la
simtrica y False si no lo es. Una matriz busque en la matriz e indique la posicin en la
M =[ai , j]nm es simtrica si y slo si se encuentra la primera y ltima letras de la
( i , j)[ai , j=a j ,i ] (es decir si y slo si todos palabra.
los elementos se reflejan respecto de la
diagonal principal). Por ejemplo, de las 75. Escriba un programa que, en un tablero vaco
siguientes matrices la primera es simtrica de ajedrez, haga lo siguiente: Pida una
mientras que la segunda no: coordenada inicial y una final. Que el programa
coloque una pieza de caballo en la casilla

[ ]
2 3 5 inicial y muestre en pantalla la secuencia de
3 5 4 movimientos necesarios para que el caballo
5 4 1 llegue a la casilla final. Recuerde que el caballo
en el ajedrez slo puede moverse en

[
2 3
1 5 ] trayectorias con forma de L segn la siguiente
figura:
Note que para que una matriz sea simtrica
debe ser cuadrada.

73. Escriba una funcin que reciba una matrz


cuadrada de nmeros y devuelva True si dicha
matriz es un cuadrado mgico y False si no
lo es. Una matriz es cuadrado mgico si y slo
si la suma de los nmeros por columnas, filas y
diagonales principales es la misma. Por
ejemplo, la siguiente matriz es cuadrado
mgico:

[ ]
4 9 2
3 5 7 76. Escriba un programa, que dada una coordenada
8 1 6 inicial para un caballo en un tablero de ajedrez,
calcule la ruta que debe seguir para pasar por
todas las casillas sin repetir ninguna.
74. Se tiene una cuadrcula de dimensin nm , en

Das könnte Ihnen auch gefallen