ejercicios-i1m-2011

Upload: carlos-chura

Post on 07-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/19/2019 ejercicios-I1M-2011

    1/342

    Ejercicios de “Informática de 1odeMatemáticas” (2011–12)

     José A. Alonso Jiménez

    Grupo de Lógica Computacional

    Dpto. de Ciencias de la Computación e Inteligencia Artificial

    Universidad de Sevilla

    Sevilla, 1 de Octubre de 2011 (Versión de 30 de mayo de 2012)

    http://www.cs.us.es/~jalonsohttp://www.cs.us.es/glchttp://www.cs.us.es/http://www.us.es/http://www.us.es/http://www.cs.us.es/http://www.cs.us.es/glchttp://www.cs.us.es/~jalonso

  • 8/19/2019 ejercicios-I1M-2011

    2/342

    2

    Esta obra está bajo una licencia Reconocimiento–NoComercial–CompartirIgual 2.5 Spainde Creative Commons.

    Se permite:

    copiar, distribuir y comunicar públicamente la obra

    hacer obras derivadas

    Bajo las condiciones siguientes:

    Reconocimiento. Debe reconocer los créditos de la obra de la manera espe-cificada por el autor.

    No comercial. No puede utilizar esta obra para fines comerciales.

    Compartir bajo la misma licencia. Si altera o transforma esta obra, o generauna obra derivada, sólo puede distribuir la obra generada bajo una licencia

    idéntica a ésta.

    Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licen-cia de esta obra.

    Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular

    de los derechos de autor.

    Esto es un resumen del texto legal (la licencia completa). Para ver una copia de esta

    licencia, visite  

      o envie unacarta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

    http://creativecommons.org/licenses/by-nc-sa/2.5/es/http://creativecommons.org/licenses/by-nc-sa/2.5/es/

  • 8/19/2019 ejercicios-I1M-2011

    3/342

    Índice general

    1 Definiciones elementales de funciones (1)   7

    2 Definiciones elementales de funciones (2)   133 Definiciones por comprensión (1)   23

    4 Definiciones por comprensión (2)   29

    5 Definiciones por comprensión (3): El cifrado César   39

    6 Definiciones por recursión   45

    7 Definiciones por recursión y por comprensión (1)   53

    8 Definiciones por recursión y por comprensión (2)   69

    9 Definiciones sobre cadenas, orden superior y plegado   81

    10 Definiciones por plegado   99

    11 Codificación y transmisión de mensajes   107

    12 Resolución de problemas matemáticos   113

    13 Demostración de propiedades por inducción   12514 El 2011 y los números primos   133

    15 Listas infinitas   141

    16 Ejercicios de exámenes del curso 2010-11   149

    17 Combinatoria   155

    18 Tipos de datos algebraicos   173

    3

  • 8/19/2019 ejercicios-I1M-2011

    4/342

    4 Índice general

    19 Tipos de datos algebraicos: árboles binarios   179

    20 Tipos de datos algebraicos: fórmulas proposicionales   187

    21 Tipos de datos algebraicos: Modelización de juego de cartas   191

    22 Cálculo numérico   201

    23 Ecuación con factoriales   211

    24 Aplicaciones de la programación funcional con listas infinitas   215

    25 División y factorización de polinomios mediante la regla de Ruffini   221

    26 Operaciones con el TAD de polinomios   229

    27 Operaciones con vectores y matrices   237

    28 Ejercicios complementarios   255

    29 Relaciones binarias   271

    30 Operaciones con conjuntos   279

    31 Implementación del TAD de los grafos mediante listas   299

    32 Problemas básicos con el TAD de los grafos   305

    33 Enumeraciones de los números racionales   319

    A Exámenes   327A.1 Examen 1 (26 de Octubre de 2011) . . . . . . . . . . . . . . . . . . . . . . . . 327

    A.2 Examen 2 (30 de Noviembre de 2011)  . . . . . . . . . . . . . . . . . . . . . . 328

    A.3 Examen 3 (25 de Enero de 2012)   . . . . . . . . . . . . . . . . . . . . . . . . . 330

    A.4 Examen 4 (29 de Febrero de 2012)   . . . . . . . . . . . . . . . . . . . . . . . . 334A.5 Examen 5 (21 de Marzo de 2012)   . . . . . . . . . . . . . . . . . . . . . . . . 337

    A.6 Examen 6 (2 de Mayo de 2012) . . . . . . . . . . . . . . . . . . . . . . . . . . 340

  • 8/19/2019 ejercicios-I1M-2011

    5/342

    Introducción

    Este libro es una recopilación de las soluciones de ejercicios de la asignatura de“Informática” (de 1o del Grado en Matemáticas) correspondientes al curso 2011–12.

    El objetivo de los ejercicios es complementar la introducción a la programaciónfuncional y a la algorítmica con Haskell presentada en los temas del curso. Los apuntes

    de los temas se encuentran en Temas de "Programación funcional1.

    Los ejercicios sigue el orden de las relaciones de problemas propuestos durante el

    curso y, resueltos de manera colaborativa, en la wiki del curso2.

    1  

    2  

    5

    http://www.cs.us.es/~jalonso/cursos/i1m-11/temas/2011-12-IM-temas-PF.pdfhttp://www.glc.us.es/~jalonso/ejerciciosI1M2011G1http://www.glc.us.es/~jalonso/ejerciciosI1M2011G1http://www.cs.us.es/~jalonso/cursos/i1m-11/temas/2011-12-IM-temas-PF.pdfhttp://www.glc.us.es/~jalonso/ejerciciosI1M2011G1http://www.cs.us.es/~jalonso/cursos/i1m-11/temas/2011-12-IM-temas-PF.pdf

  • 8/19/2019 ejercicios-I1M-2011

    6/342

    6 Índice general

  • 8/19/2019 ejercicios-I1M-2011

    7/342

    Relación 1

    Definiciones elementales de funciones

    (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    7

  • 8/19/2019 ejercicios-I1M-2011

    8/342

    8 Relación 1. Definiciones elementales de funciones (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    9/342

    Ejercicios de programación funcional (2011–12)   9

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    10/342

    10 Relación 1. Definiciones elementales de funciones (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    11/342

    Ejercicios de programación funcional (2011–12)   11

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    12/342

    12 Relación 1. Definiciones elementales de funciones (1)

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    13/342

    Relación 2

    Definiciones elementales de funciones

    (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    13

  • 8/19/2019 ejercicios-I1M-2011

    14/342

    14 Relación 2. Definiciones elementales de funciones (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    15/342

    Ejercicios de programación funcional (2011–12)   15

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    16/342

    16 Relación 2. Definiciones elementales de funciones (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    17/342

    Ejercicios de programación funcional (2011–12)   17

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    18/342

    18 Relación 2. Definiciones elementales de funciones (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    19/342

    Ejercicios de programación funcional (2011–12)   19

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    20/342

    20 Relación 2. Definiciones elementales de funciones (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    21/342

    Ejercicios de programación funcional (2011–12)   21

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    22/342

    22 Relación 2. Definiciones elementales de funciones (2)

  • 8/19/2019 ejercicios-I1M-2011

    23/342

    Relación 3

    Definiciones por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    23

  • 8/19/2019 ejercicios-I1M-2011

    24/342

    24 Relación 3. Definiciones por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    25/342

    Ejercicios de programación funcional (2011–12)   25

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    26/342

    26 Relación 3. Definiciones por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    27/342

    Ejercicios de programación funcional (2011–12)   27

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    28/342

    28 Relación 3. Definiciones por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    29/342

    Relación 4

    Definiciones por comprensión (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    29

  • 8/19/2019 ejercicios-I1M-2011

    30/342

    30 Relación 4. Definiciones por comprensión (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    31/342

    Ejercicios de programación funcional (2011–12)   31

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    32/342

    32 Relación 4. Definiciones por comprensión (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    33/342

    Ejercicios de programación funcional (2011–12)   33

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    34/342

    34 Relación 4. Definiciones por comprensión (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    35/342

    Ejercicios de programación funcional (2011–12)   35

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    36/342

    36 Relación 4. Definiciones por comprensión (2)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    37/342

    Ejercicios de programación funcional (2011–12)   37

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    38/342

    38 Relación 4. Definiciones por comprensión (2)

  • 8/19/2019 ejercicios-I1M-2011

    39/342

    Relación 5

    Definiciones por comprensión (3): El

    cifrado César

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    39

  • 8/19/2019 ejercicios-I1M-2011

    40/342

    40 Relación 5. Definiciones por comprensión (3): El cifrado César

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    41/342

    Ejercicios de programación funcional (2011–12)   41

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    42/342

    42 Relación 5. Definiciones por comprensión (3): El cifrado César

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    43/342

    Ejercicios de programación funcional (2011–12)   43

     

  • 8/19/2019 ejercicios-I1M-2011

    44/342

    44 Relación 5. Definiciones por comprensión (3): El cifrado César

  • 8/19/2019 ejercicios-I1M-2011

    45/342

    Relación 6

    Definiciones por recursión

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    45

  • 8/19/2019 ejercicios-I1M-2011

    46/342

    46 Relación 6. Definiciones por recursión

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    47/342

    Ejercicios de programación funcional (2011–12)   47

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    48/342

    48 Relación 6. Definiciones por recursión

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    49/342

    Ejercicios de programación funcional (2011–12)   49

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    50/342

    50 Relación 6. Definiciones por recursión

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    51/342

    Ejercicios de programación funcional (2011–12)   51

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    52/342

    52 Relación 6. Definiciones por recursión

  • 8/19/2019 ejercicios-I1M-2011

    53/342

    Relación 7

    Definiciones por recursión y por

    comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    53

  • 8/19/2019 ejercicios-I1M-2011

    54/342

    54 Relación 7. Definiciones por recursión y por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    55/342

    Ejercicios de programación funcional (2011–12)   55

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    56/342

    56 Relación 7. Definiciones por recursión y por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    57/342

    Ejercicios de programación funcional (2011–12)   57

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    58/342

    58 Relación 7. Definiciones por recursión y por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    59/342

    Ejercicios de programación funcional (2011–12)   59

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    60/342

    60 Relación 7. Definiciones por recursión y por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    61/342

    Ejercicios de programación funcional (2011–12)   61

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    62/342

    62 Relación 7. Definiciones por recursión y por comprensión (1)

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 8/19/2019 ejercicios-I1M-2011

    63/342

    Ejercicios de programación funcional (2011–12)   63