Sie sind auf Seite 1von 2

UNSA Escuela Profesional de Ciencia de la Computación

Laboratorio 1 (13/09/2019): Estructuras Discretas II


Prof. Wilber Ramos Lovón

Estudiante: Sección:

1. Definir la función esSuma que recibe tres enteros como argumentos y verifica si el primero de
ellos es la suma de los otros dos.

2. Definir la función esPositivo que verifica si el número ingresado es entero positivo.

3. Definir una función que verifique si los tres números ingresados pueden ser lados de un triangulo,
ningún lado de un triángulo puede ser mayor que la suma de los otros dos.

4. Definir una función que calcule el área de un triángulo cuando los números a, b y c sean los
lados de un triángulo, si es que no lo fueran de un mensaje adecuado.

5. Escribir una función adj, con dos argumentos, que adjunte un dígito a la derecha de un número
entero; tal que, por ejemplo, adj 234 6 = 2346.

6. Definir la función sumatoria que recibe dos enteros como argumentos, que son el número inicial
y final respectivamente de una sucesión de números que se incrementa de uno a uno, y retorna
la sumatoria.

7. Defina la función nOr que es la negación de la disyunción.

8. Defina la función implica que es la condicional

9. Defina una función que reciba una lista de enteros y retorne otra lista con sólo elementos que
estuvieron en posición impar de la lista de entrada (comience a contar las posiciones desde 1).
Ejemplo : posImpar [2,4,6,8,10] = [2,6,10] (porque están en las posiciones 1,3,5 respectivamente).

10. Defina una función que reciba una lista de enteros y retorne otra lista con sólo elementos que
estuvieron en posición par de la lista de entrada (comiencen a contar las posiciones desde 1).
Ejemplo : posPar [2,4,6,8,10] = [4,8] (porque están en las posiciones 2,4 respectivamente).

11. Definir una función adjuntar :: Int ->Int ->[Int] ->[Int] donde el primer argumento es el entero
a insertar a la lista , el segundo argumento es la posición donde el primer entero será insertado
en la lista y el tercero ser la lista donde se insertará el primer entero. (comenzar a contar las
posiciones desde cero) Ejemplo: adjuntar 789 2 [1,5,6,7,8] =[1,5,789,6,7,8]

12. Definir las funciones conjunción y disyunción , que serán la conjunción y disyunción en listas
de booleanos ([Bool]) , así : conjunción [True,False,True,True] = False y donde disyunción
[True,False,True,True] = True

13. Definir la función dividirEn, con dos argumentos, que divide una cadena en la posición dada,
así: dividirEn 3 “Manolito” = (“Man”,“olito”)
2

14. Defina una función que implemente el algoritmo busqueda binaria, donde la lista que ingresa
esta ordenada.

15. Defina una función que implemente el algoritmo busqueda binaria, donde la lista que ingresa no
esta ordenada.

16. Defina un nuevo tipo de dato llamado MatrizCuadrada

17. Implementar el nuevo tipo MatricesCuadradas y las funciones :

a) dimensión :: MatrizCuadradas ->Int ; devuelve el tamaño de la matriz


b) valor :: MatrizCuadrada ->Fila ->Columna ->Float, que devuelve el valor de la casilla
indicada. Esta función no está definida cuando Fila y Columna están fuera del rango
válido.Los tipos Fila y Columna son sinónimos de Int.
c) todosIguales :: MatrizCuadrada ->Bool, que indica si todos los elementos de la matriz
cuadrada tienen el mismo valor.
d ) identidad :: MatrizCuadrada ->Bool, que indica si la matriz es una matriz identidad.
e) máximo :: MatrizCuadrada ->Int, que devuelve el valor máximo de la matriz.
f ) mínimo :: MatrizCuadrada ->Int, que devuelve el valor mínimo de la matriz.
g) suma :: MatrizCuadrada ->MatrizCuadrad ->MatrizCuadrada , que devuelve la suma de
dos matrices cuadradas
h) resta :: MatrizCuadrada ->MatrizCuadrad ->MatrizCuadrada , que devuelve la resta de
dos matrices cuadradas
i ) multiplo :: Float ->MatrizCuadrada ->MatrizCuadrada , que devuelve el producto de un
número por un matriz cuadrada
j ) determinante :: MatrizCuadrada ->Float , que devuelve la sumas de dos matrices cuadradas
k ) inversa :: MatrizCuadrada ->MatrizCuadrad , que devuelve la inversa de una matriz
cuadrada , si existe su inversa

Das könnte Ihnen auch gefallen