Esercizi 1)Si scriva in Caml un’espressione che introduce una variabile x con valore 3, quindi introduce una variabile y con valore x+2, quindi una variabile.

Slides:



Advertisements
Presentazioni simili
Punti Fissi.
Advertisements

Funzioni e procedure Ogni linguaggio di programmazione ad alto livello mette a disposizione del programmatore questi strumenti, ed il C non è da meno!
Lezione 8 Anno accademico Titolare corso: Prof. Costanza Torricelli
Strutture dati In linguaggio C. Strutture Spesso gli algoritmi lavorano su insiemi di dati eterogenei Per esempio, per descrivere le caratteristiche di.
3TC – 5/11/2010 Cicli while e do.. While Contatori e Totalizzatori.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Sintassi (prima parte)
Lez. 11 (10/11) - PBElementi di Programmazione1 Lezione 11 Esercizi.
Universita di Camerino
Linguaggi di programmazione
Esercitazione guidata 1
Semantica di linguaggi di programmazione Ne esistono differenti stili a seconda di paradigma di programmazione uso (validazione, prototyping, verifica.
Dipartimento di Matematica
Algoritmi e Programmazione
1 Semantica Operazionale di un frammento di Java: lo stato.
Esercitazione Frame. Argomento Realizzazione di un tipo di dato astratto Usare le eccezioni per segnalare situazioni particolari Invariante e funzione.
Breve panoramica sulle librerie standard: assert.h, stdio.h
PRIMO ESERCIZIO (del ) Mostrare l'evoluzione dello stato (ambiente di classi, heap, pila, System.out) dopo ciascuna istruzione del main: public.
Anno accademico Array e puntatori in C.
Esercizi su alberi binari di ricerca
Laboratorio di Linguaggi lezione IV Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso di Laurea in.
Laboratorio di Linguaggi lezione IX: Dentro le Librerie Marco Tarini Università dellInsubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
CORSO DI PROGRAMMAZIONE II
CORSO DI PROGRAMMAZIONE II Introduzione alla ricorsione
Basi di Dati II Sara Romano
Introduzione alla programmazione lll
-calcolo Vogliamo studiare le problematiche relative al meccanismo di chiamata di funzione (eg differenze fra binding statico e dinamico) in isolamento.
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
mosaic manipola oggetti primitivi (ruota e unisci) regole:
Il Linguaggio C.
Le funzioni.
Lezione VIII Laboratorio di Programmazione. Streams formattati In C è sfruttata linformazione riguardo al tipo di un certo dato per impostare la formattazione.
Lezione XI Laboratorio di Programmazione. Ereditarieta Fondamentale proprieta dei linguaggi OO. Permette di specificare un nuova classe derivata da unaltra.
Elementi di programmazione ad oggetti a. a. 2009/2010 Corso di Laurea Magistrale in Ingegneria Elettronica Docente: Mauro Mazzieri, Dipartimento di Ingegneria.
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
Implementazione di un linguaggio ad alto livello (con riferimento a Java)
Esercizi su alberi binari di ricerca
1 Tecniche per il passaggio dei parametri. 2 Contenuti ¥la tecnica base (nei vari paradigmi) ¥ passaggio per costante, per riferimento, di funzioni, procedure.
1 Implementazione di (ambiente e) memoria nel linguaggio imperativo.
Un interprete astratto per l’inferenza dei tipi
Il linguaggio C Puntatori e dintorni.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
1 Corso di Informatica (Programmazione) Lezione 8 (7 novembre 2008) Programmazione in Java: operatori aritmetici, operatori di assegnamento e cast.
1 Blocchi e ambiente locale in linguaggi funzionali e imperativi.
Ugo de'Liguoro - Informatica 2 a.a. 03/04 Lez. 7 Tipi di dato e strutture dati Specifica e realizzazione di strutture informative come classi.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
1 Controllo di sequenza: espressioni e comandi. 2 Contenuti ¥espressioni pure (senza blocchi e funzioni) ¥ regola di valutazione, operazioni strette e.
Lo stato  I domini della semantica restano invariati: Ide, Val (Int  { ,  }) Loc (locazioni di memoria), FunctDecl. ma definiamo 2 funzioni: Loc :
Metodologie di Programmazione Esercizi sulla semantica di Java.
Elementi di semantica denotazionale ed operazionale
1 Programmazione Funzionale: ML 1 implementazione del -calcolo tipato l definizione di nuovi tipi ricorsivi l i valori dei nuovi tipi sono termini, che.
Valutazione parziale, specializzazione di interpreti, compilazione
1 Sottoprogrammi e astrazioni funzionali in linguaggi funzionali.
Fondamenti di Informatica 2 Ingegneria Informatica e Ingegneria Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
1 Invocazione di metodi Com := Path Id (Expr_list) 4 path trattati come nelle variabili  path p’ 4 Risoluzione del nome: Ide * (Ide | Loc) * Cenv * Heap.
Ex.1 - Semantica dell’Assegnamento Com := Path Ide = Expr (assegnamento) Com * Cenv * Heap * Astack  com Heap * Astack * Cenv Una soluzione parziale:
Progetto Parte II OCAML.
Esercizi.
1 Implementazione dell’ambiente (linguaggio funzionale)
Elementi di semantica operazionale
Laboratorio di Linguaggi... altre D O M A N D E ! Marco Tarini Università dell’Insubria Facoltà di Scienze Matematiche, Fisiche e Naturali di Varese Corso.
Infiniti Sia c un punto di accumulazione per D Definizione: si dice che f è infinita in un intorno di c se Nota bene: essere infiniti è una proprietà “locale”
PRIMITIVA DI UNA FUNZIONE O INTEGRALE INDEFINITO
1 Controllo di sequenza: espressioni e comandi. 2 Contenuti ¥espressioni pure (senza blocchi e funzioni) ¥ regola di valutazione, operazioni strette e.
1 Sottoprogrammi e astrazioni funzionali in linguaggi funzionali.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Lezione n. Parole chiave: Corso di Laurea: Insegnamento: Docente: A.A Salvatore Cuomo Esercizi sui dati strutturati 13 Tipi di dati strutturati.
13. Strutture dati dinamiche Ing. Simona Colucci Informatica - CDL in Ingegneria Industriale- A.A
Esercizi.
Transcript della presentazione:

Esercizi 1)Si scriva in Caml un’espressione che introduce una variabile x con valore 3, quindi introduce una variabile y con valore x+2, quindi una variabile x con valore x+y ed infine una variabile z con valore l’astratto rispetto y di x+y. In questo ambiente vale y+z(x). 2)Utilizzando il linuaggio didattico funzionale puro si mostri la sintassi astratta definita dalla esperssione del punto 1. 3)Utilizzando l’interprete del linguaggio didattico si mostri l’inte- ra catena dei record di attivazione generata dall’interprete applicato alla valutazione dell’espressione in 2.

Ex1: Soluzione 1)Si scriva in Caml un’espressione che introduce una variabile x con valore 3, quindi introduce una variabile y con valore x+2, quindi una variabile x con valore x+y ed infine una variabile z con valore l’astratto rispetto y di x+y. In questo ambiente vale y+z(x). let x=3 in let y=x+2 in let x = x+y in let z = function y -> x+y in y+z(x)

Ex2: Soluzione 2)Utilizzando il linuaggio didattico funzionale puro si mostri la sintassi astratta definita dalla esperssione del punto 1. let x=3 in let y=x+2 in let x = x+y in let z = function y -> x+y in y+z(x) let(“x”, Eint 3, let(“y”, sum(Den “x”, Eint 2), let(“x”, sum(Den “x”,Den “y”), let(“z”, fun([“y”],sum(Den “x”, Den “y”), sum(Den “y”, appl(Den “z”,[Den “x”])6

Ex3: Soluzione E sum(Den “y”, appl(Den “z”,[Den “x”])6 3)Utilizzando l’interprete del linguaggio didattico si mostri l’inte- ra catena dei record di attivazione generata dall’interprete applicato alla valutazione dell’espressione in 2. let(“x”, Eint 3, let(“y”, sum(Den “x”, Eint 2), let(“x”, sum(Den “x”,Den “y”), let(“z”, fun([“y”],sum(Den “x”, Den “y”), E sum(Den “y”, appl(Den “z”,[Den “x”])6 envstack cstack Tempvalstack _ = unbound Expr1 let(“x”,Eint 3, E) Unbound envstack cstack Tempvalstack _ = unbound Expr2 let(“x”,Eint 3, E) Expr1 Eint 3 Unbound

Ex3: Soluzione - continua let(“x”, Eint 3, let(“y”, sum(Den “x”, Eint 2), let(“x”, sum(Den “x”,Den “y”), let(“z”, fun([“y”],sum(Den “x”, Den “y”), E sum(Den “y”, appl(Den “z”,[Den “x”])6 envstack cstack Tempvalstack _ = unbound Expr2 let(“x”,Eint 3, E) Expr1 Eint 3 Unbound envstack cstack Tempvalstack _ = unbound Expr2 let(“x”,Eint 3, E) Expr2 Eint 3 Unbound envstack cstack Tempvalstack _ = unbound Expr2 let(“x”,Eint 3, E) Unbound Int(3)

Ex3: Soluzione - continua 2 let(“x”, Eint 3, let(“y”, sum(Den “x”, Eint 2), let(“x”, sum(Den “x”,Den “y”), let(“z”, fun([“y”],sum(Den “x”, Den “y”), E sum(Den “y”, appl(Den “z”,[Den “x”])6 envstack cstack Tempvalstack _ = unbound Expr2 let(“x”,Eint 3, E) Unbound Int(3) envstack cstack Tempvalstack _ = unbound -- Unbound x = Int(3) Expr1 E