Relacion 4
Relacion 4
Relacion 4
Caracteres
June 8, 2016
1. Diseñar un algoritmo que inicialice un array de tamaño n con todas sus
posiciones a cero
4. Dominó
(a) Escribir una función que indique si dos chas de dominó encajan o
no. Las chas son recibidas en dos tuplas, por ejemplo: (3,4) y (5,4).
(b) Escribir una función que indique si dos chas de dominó encajan o
no. Las chas son recibidas en una cadena, por ejemplo: 3-4 2-5.
Nota: utilizar la función split de las cadenas.
5. Campaña electoral.
(a) Escribir una función que reciba una tupla con nombres, y para cada
nombre imprima el mensaje Estimado XXX, vote por mí.
(b) Utilizando la función del literal a), escribir una función que reciba
una tupla con nombres, una posición de origen p y una cantidad n,
e imprima el mensaje anterior para los n nombres que se encuentran
a partir de la posición p.
(c) Realizar una función similar a la del ejercicio a) anterior para que
tenga en cuenta el género del destinatario, para ello, deberán recibir
una tupla de tuplas, conteniendo el nombre y el género. Por ejemplo:
1
6. Vectores
(a) Escribir una función que reciba dos vectores y devuelva su producto
escalar.
(b) Escribir una funcion que reciba dos vectores y devuelve un vector
suma
(c) Escribir una función que reciba dos vectores y devuelva si son o no
ortogonales (utilice la función anterior). Dos vectores son ortogonales
si su producto escalar es cero
7. Matrices
(a) Escribir una función que reciba una Matriz y un escalar y devuelva
su producto escalar.
(b) Escribir una funcion que reciba dos Matrices y devuelve una Matriz
suma
(c) Escribir una funcion que reciba dos Matrices y devuelve una Matriz
producto
8. En sistema decimal, las cifras que componen un número son las cantidades
que están multiplicando a las distintas potencias de diez (10, 100, 1000,
10000, etc.). Por ejemplo, 745 = 7 · 100 + 4 · 10 + 5 · 1, o lo que es lo
mismo: 745 = 7 · 102 + 4 · 101 + 5 · 100 . En el sistema binario, las cifras
que componen el número multiplican a las potencias de dos (1, 2, 4, 8, 16,
. . . .)
101102 = 0 · 20 + 1 · 21 + 1 · 22 + 0 · 23 + 1 · 24 = 2 + 4 + 16 = 2210
1102 = 0 · 20 + 1 · 21 + 1 · 22 = 2 + 4 = 610
10111010012 = 1·20 + 1·23 + 1·27 + 1·25 + 1·26 + 1·29 = 74510
7910 impar 1
3910 impar 1
1910 impar 1
910 impar 1 =⇒ 7910 = 1011112
410 par 0
210 par 0
110 impar 1
2
(a) Escribir una función que reciba una cadena de unos y ceros (es decir,
un número en representación binaria) y devuelva el valor decimal
correspondiente.
(b) Escribir una función que reciba un numero entero y devuelva una
cadena de unos y ceros que representa su valor binario
(a) Devuelva tres listas, una con los menores, otra con los mayores y otra
con los iguales a k.
(b) Devuelva una lista con aquellos que son múltiplos de k.
10. Escribir una función que reciba una lista de tuplas (Apellido, Nombre,
Inicial_segundo_nombre) y devuelva una lista de cadenas donde cada
una contenga primero el nombre, luego la inicial con un punto, y luego el
apellido.
(a) Realizar una función que, dada una lista, devuelva una nueva lista
cuyo contenido sea igual a la original pero invertida. Así, dada la lista
[0 Di0 ,0 buen0 ,0 dı́a0 ,0 a0 ,0 papa0 ], deberá devolver [0 papa0 ,0 a0 ,0 dı́a0 ,0 buen0 ,0 Di0 ].
(b) Realizar otra función que invierta la lista, pero en lugar de devolver
una nueva, modique la lista dada para invertirla, SIN USAR LIS-
TAS AUXILIARES
12. Escribir una función empaquetar para una lista, donde empaquetar sig-
nica indicar la repetición de valores consecutivos mediante una tupla
(valor, cantidad de repeticiones). Por ejemplo, empaquetar([1, 1, 1, 3, 5, 1, 1, 3, 3])
debe devolver [(1, 3), (3, 1), (5, 1), (1, 2), (3, 2)].
13. Hay un tipo de pasatiempos que propone descifrar un texto del que se
han suprimido las vocales. Por ejemplo, el texto .n .j.mpl. d. p.s.t..mp.s
se descifra sustituyendo cada punto con una vocal del texto. La solución
es un ejemplo de pasatiempos Diseña un programa que ayude al creador
de pasatiempos. El programa recibirá una cadena y mostrará otra en la
que cada vocal ha sido reemplazada por un punto
(c) Imprima dicha cadena cada dos caracteres. Ej.: recta debería im-
primir rca
(d) Dicha cadena en sentido inverso. Ej.: hola mundo! debe imprimir
!odnum aloh
3
(e) Imprima la cadena en un sentido y en sentido inverso. Ej: reejo
imprime reejoojelfer.
(a) Inserte el caracter entre cada letra de la cadena. Ej: separar y ,
debería devolver s,e,p,a,r,a,r
(b) Reemplace todos los espacios por el caracter. Ej: mi archivo de
texto.txt y \_ debería devolver mi\_archivo\_de\_texto.txt
(c) Reemplace todos los dígitos en la cadena por el caracter. Ej: su clave
es: 1540 y X debería devolver su clave es: XXXX
16. Escribir una función que reciba una cadena que contiene un número entero
y devuelva una cadena con el número y las separaciones de miles. Por
ejemplo, si recibe 1234567890, debe devolver 1.234.567.890
17. Escribir una función que dada una cadena de caracteres, devuelva:
(c) Las palabras que comiencen con la letra A. Por ejemplo, si recibe
Antes de ayer debe devolver Antes ayer.
(b) Devuelva solamente las letras vocales. Por ejemplo, si recibe sin
consonantes debe devolver i ooae.
(c) Reemplace cada vocal por su siguiente vocal. Por ejemplo, si recibe
vestuario debe devolver vistaerou.
4
(b) Devuelva la que sea anterior en orden alfábetico. Por ejemplo, si
recibe kde y gnome debe devolver gnome.
20. Matrices
(a) Escribir una función que reciba dos matrices y devuelva la suma.
(b) Escribir una función que reciba dos matrices y devuelva el producto.
(c) Escribir una función que opere sobre una matriz y mediante elimi-
nación gaussiana devuelva una matriz triangular superior.
Escribir una función que reciba un texto y una longitud y devuelva una
lista de cadenas de como máximo esa longitud. Las líneas deben ser cor-
tadas correctamente en los espacios (sin cortar las palabras).
22. Diseña un algoritmo que dena el tipo Libro, cuyos campos son autor,
titulo y año de publicación. Después cree una variable de tipo libro cuyos
campos se leen desde teclado y, nalmente, muestre por pantalla los años
desde que se publicó. Por ejemplo:
23. Dena la clase Punto, con los campos x e y. Diseñe una funcion distancia
que calcula la distancia euclidea entre dos puntos. Cree dos variables p1 y
p2 de tipo punto, pidiendo las coordenadas desde la consola. Finalmente,
calcule la distancia existente entre los dos puntos y la muestre por pantalla.
24. Diseñar un algoritmo que lea el nombre, cédula y edad de los alumnos de
clase y:
25. Un taller necesita una aplicación para gestionar los coches que tiene que
reparar. De cada coche es necesario almacenar:
5
(d) Presupuesto (numérico): valor presupuestado de la reparación.