Llenguatges de programació (Pla 01)

Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: Descripción: \\dima.udg.edu\usuaris$\ima\villaret\images\IMA.gif

 

3105IG0017 - Llenguatges de programació (Pla 01)

 

 

Aquesta pàgina pretén ser la referència de l’assignatura en quant a guió, material, novetats i enunciats, necessaris.

 

 

 

FINALS 2a: noteslp1112b.pdf

 

 

 

 

Guió de Teoria:

 

Núm. de sessió

Data

Descripció

Material

Exercicis

1

6 de febrer

1. Introducció

    Què és un LP

    Computació

    Paradigmes:

      Imperatiu

      Funcional

Bib 2. Cap. 1,2

 

 

 

2

13 de febrer

      Lògic

    Perspectiva històrica

Bib 1. Cap. 2

diagramaLP

 

3

20 de febrer

    Definició de llenguatges (compilació)

       Lèxic    

       Sintàctic

       Semàntic

  

 

Bib 1. Cap. 4

-           

4

27 de febrer

      Compilació/interpretació

      Criteris de disseny de LP

 

2. Paradigma Funcional

          Lambda-càlcul

 

 

Bib 1. Cap. 4

 

sempf.pdf

Bib. 5

 

Feu les substitucions de la pàgina 11 de les transparències.

5

5  de   març

          Lambda-càlcul

sempf.pdf

Bib. 5

 

        Feu els exercicis 6 i 9 de la llista d’exercicis de classe de: exercicis_lambda.pdf

        Feu el combinador G’ tal que G’ X -> (beta) X G’

6

12 de març

          Lambda-càlcul

sempf.pdf

Bib. 5

 

Feu el combinador G’ tal que G’ X -> (beta) X G’.

Demostreu que T també és un combinador de punt fixe.

Trobeu els termes M i N tals que:

-          M tingui forma normal, N no i (M N) en tingui.

-          M no tingui forma normal,  N si i (M N) en tingui.

7

19 de març

Lambda-càlcul: exercicis i exàmen en grup

 

 

8

26 de març

3. Paradigma Lògic

      Lògica Proposicional

             Sintaxi i Semàntica

             Regles de Deducció

             Resolució

 

Bib 6. Cap. 1 i 2

Transpes suport:

   sempl.pdf

 

Demostreu la solidesa o no de les regles:

- Resolució: (p o C) (¬p o D) |- (C o D)

- MM: (p -> q)  q |- p

Passeu a CNF la fórmula de la página 20 de les transpes.

 

2 d’abril

 

 

 

9

9 d’abril

 

 

 

10

16 d’abril

             Completesa refutacional

      Lògica de Primer Ordre

             Sintaxi i Semàntica

             Procediments d’Herbrand

Bib 6. Cap. 3

Transpes suport:

   sempl.pdf

 

 

11

23 d’abril

             Unificació

             Resolució

             SLD-Resolució

Bib 6. Cap. 3

Transpes suport:

   sempl.pdf

- Passeu a CNF la fórmula de la transparencia 43.

- Calculeu amb resolución les solucions de:

     suma(X,Y,s(s(0)))

- Trobeu l’unificador de:

     f(f(f(a,a),X2),X1) = f(X1,f(X2,f(a,a)))

12

30 d’abril

 

 

 

13

 7 de maig

             Unificació

             SLD-Resolució

Bib 6. Cap. 3

Transpes suport:

   sempl.pdf

 

14

14 de maig

Treball personal i tutories virtuals

 

 

15

21 de maig

   Exercicis i exàmens de repàs.

 

examenlp1011.pdf

examenlp1011b.pdf

 

           

 

 

 

Guió de Laboratori:

 

Núm. De sess

Data

Descripció

Material

Exercicis proposats

1

6 de febrer

 

 

 

2

13 de febrer

HASKELL

Introducció

Tipus

 

 

tema1.pdf

 

tema2.pdf

 

3

20 de febrer

Definint funcions

tema3.pdf

 

1: Primeres funcions

- cesar::String->Int->String que donada una cadena de caràcters i un enter ens torna la cadena codificada segons el mètode d’encriptació CESAR.

 

4

27 de febrer

Funcions d’ordre Superior

 

Polimorfisme

tema4.pdf

 

tema5.pdf

2: Llistes i ordre superior

- capgirar::[a]->[a] que donada una llista ens retorna la llista capgirada.

- esPalindrom::[Int]->Bool que donada una llista d’enters ens diu si és o no un palíndrom.

- estadistica::String->(Int,Int,Int) que donada una cadena de caràcters ens torna una tupla indicant el nombre de paraules, de lletres i d’altres caràcters que te.

- llargada::[a]->Int que donada una llista ens digui la seva llargada. S’ha d’utilitzar la funció map.

5

5  de   març

Tipus i Classes

 

 

tema6.pdf

 

tema7.pdf

 

3: més funcions i tipus

- fusioOrdenada :: [Int] -> [Int] ->[Int]

que donades dues llistes d’enters ens retorni la seva concatenació ordenada, per exemple: fusioOrdenada [1,3] [2,4] = [1,2,3,4]

-  cercaelement:: (Eq a)=>ABin a->a->Int

que donat un arbre binari d’as I una a, ens diu quants ocurrencies hi ha.

- alcada:: ABin a -> Int

que donat un arbre binari ens diu l’alçada que hi ha.

- nivells:: ABin a -> [a]

Que ens retorna el recorregut en nivells d’un arbre.

6

12 de març

Classes (2)

Llistes

Repàs i Pràctica

 

tema7.pdf

tema8.pdf

S’han de lliurar com a molt tard el 26 de marc:

minihaskA.pdf

 

minihaskB.pdf

7

19 de març

Treball personal

 

Enunciat pràctica de Haskell (en parelles)

     practhask1112.pdf

     practhask1112b.pdf

     Combinators.hs

8

26 de març

Treball personal

 

 

 

2 d’abril

 

 

 

9

9 d’abril

 

 

 

10

16 d’abril

PROLOG

Intro, exemple genealogia

 

classesprolog.ppt

 

11

23 d’abril

Model de còmput a prolog

Arbre de cerca

Llistes

Exemples

 

classesprolog.ppt

exercicisLlistes.pdf

12

30 d’abril

 

 

 

13

 7 de maig

Tall

Exemples

Aritmètica

 

 

classesprolog.ppt

exercicisLlistes2.pdf

14

14 de maig

Enunciat de la pràctica

 

Treball personal i tutories virtuals

 

La pràctica es pot fer amb grups de 2.

S’ha de lliurar l’informe amb el codi comentat i exemples d’execució abans del 4 de juny.

ressist.pdf

 

 

15

21 de maig

Entrada/sortida

Tipus de dades

 

 

 

Exercicis de lambda-càlcul

exercicis_lambda.pdf

 

Pràctiques de programació funcional

 

        

Pràctiques de programació Lògica

 

 

Bibliografia:

 

1.      Lenguajes de programación” (Thomson),

2.      Concepts in programming languages” (Cambridge press)

3.      Razonando con Haskell” (Thomson)

o       Transpes dels autors (José Gallardo)

4.      The art of Prolog” (MIT Press)

5.      Apunts de teoria de programació funcional: progfunc.pdf

o       Transpes: sempf.pdf

6.      Apunts de teoria de programació lògica: apuntspl.pdf

o       Transpes: sempl.pdf

7.      Apunts d’Ulf Nilsson sobre Sicstus i clpfd: clpfd.pdf