Está en la página 1de 2

Instituto Tecnológico de Costa Rica

Campus Tecnológico Local San José


Escuela de Computación Práctica #4
Bachillerato en Ingeniería en Computación
IC-1802 Introducción a la Programación
Profesor: Ing. Eduardo Adolfo Canessa M., M.Sc.
I Semestre 2023
Indicaciones:
 Se presenta a continuación una serie de ejercicios propuestos como Práctica #4 los cuales son
de carácter obligatorio, es recomendable que hagan la práctica con tiempo para que se
familiaricen bien con los conceptos planteados en el curso.

 Siga las indicaciones al pie de la letra y desarrolle el código necesario.

 Como recomendación para práctica para examen, se recomienda que primero aplique el
método de solución de problemas y escriba su algoritmo en papel, o generar el pseudocódigo,
para luego pasarlo a un archivo .py para probar el funcionamiento de su algoritmo utilizando el
entorno de desarrollo de su predilección con Python 3.6 o superior

Ejercicios prácticos.

1. Escriba una función vectorAscendente(vector), que recibe un vector y devuelve True si los
elementos del vector están en orden ascendente y False en caso contrario.

2. Escriba una función repetidas(f1,f2), que reciba dos strings y retorne el número de
palabras que están tanto en f1 como en f2

>>> repetidas(“hola mundo feliz”, “droppy es un perro feliz”)


1

3. Escriba una función convierte(cadena) que reciba un string y devuelva el mismo string, con
los caracteres en minúscula convertidos a mayúscula y viceversa. No use el método swapcase()

4. Escriba una función transpuesta(matriz) que reciba una matriz de dimensiones nxm, y devuelva
la transpuesta de dicha matriz. Si se tiene una matriz A, AT sería la transpuesta, y se define por la
fórmula:
AT[i][j]=A[j][i]

5. Escriba una función que reciba una matriz nxm y un vector de tamaño n, y multiplique el vector por
la matriz. La multiplicación de un vector por una matriz consiste en multiplicar cada elemento del
vector por cada una de las columnas de la matriz, formando como resultado otro vector.
>>> multiplicar([2,2,2],[[3,4,2],[1,3,8],[2,4,6]])

6. Escriba la función buscar(str1,str2,inicio,fin), que devuelva el primer índice de


str2 dentro de str1, o -1 en caso de no encontrarse. La búsqueda deberá iniciar en el índice
indicado por el parámetro inicio, y deberá finalizar en el índice indicado por el parámetro fin.

7. Escriba una función subVector(vec1, vec2) que reciba como entrada 2 arreglos (con
acceso a sus posiciones por medio de índices) y determine si el primer arreglo es un sub-arreglo del
segundo. Ejemplos: si los vectores de entrada son [2, 3] y [1, 2, 3, 4, 5, 6, 7, 8,
9, 0] el resultado sería True. Si los vectores son: [1, 2, 3, 5] y [1, 2, 3, 4, 5, 6,
7, 8, 9, 0] el resultado sería False.
Instituto Tecnológico de Costa Rica
Campus Tecnológico Local San José
Escuela de Computación Práctica #4
Bachillerato en Ingeniería en Computación
IC-1802 Introducción a la Programación
Profesor: Ing. Eduardo Adolfo Canessa M., M.Sc.
I Semestre 2023

8. Escriba una función unirOrdenar(vector1, vector2) que reciba como argumentos dos
vectores del mismo tamaño, una ambos vectores y ordene sus elementos de menor a mayor
utilizando ordenamiento burbuja. No se pueden utilizar los métodos append ni extend de listas.

>>> unirOrdenar([10, 7, 5, 12, 11, 2], [6, 1, 8, 3, 4, 9])


[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

9. Escriba una función diagonalPrincipal(matriz) que reciba como argumento una matriz
cuadrada de dimensiones nxn y devuelva el vector diagonal principal de la matriz.

10. Escriba una función productoMatriz(A, B) que reciba como argumento dos matrices A y B
y devuelva el producto matricial AB. Asuma que las matrices lo son desde el punto de vista
matemático. Deberá de realizar las validaciones correspondientes de forma tal que se determine si
es matemáticamente viable realizar el producto matricial AB. Si el producto matricial AB no es
viable, se deberá de hacer la indicación al usuario mediante un mensaje de error, indicando porqué

11. Escriba una función booleana triangularSuperior(matriz) que reciba como argumento
una matriz cuadrada de dimensiones nxn e indique si la misma es una matriz estrictamente
diagonal superior o no.
Ejemplo: la matriz

1 8 3
0 2 4
0 0 5

Es estrictamente triangular superior. Note la diagonal marcada.

12. Escriba una función horizontal(matriz) que reciba como argumento una matriz y devuelva
el reflejo horizontal de la misma.

13. Escriba una función vertical(matriz) que reciba como argumento una matriz y devuelva el
reflejo vertical de la misma.

14. Escriba una función descomponer(vector) que reciba un vector de tamaño 2*n y obtenga
dos nuevos vectores de tamaño n que contengan los elementos del vector que se envió como
argumento, de forma tal que el primer elemento del vector va ser el primero del primer vector
resultante, el segundo elemento del vector va a ser el primero del segundo vector resultante y así
sucesivamente.

También podría gustarte