LISP. C. Montangero Dipartimento d'informatica - Università di Pisa 2014

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "LISP. C. Montangero Dipartimento d'informatica - Università di Pisa 2014"

Transcript

1 LISP C. Montangero Dipartimento d'informatica - Università di Pisa 2014

2 John McCarthy Creatore del LISP LISt Processor, 1965 Time sharing memorandum, 1959 Thor, 1967 AI, dal 1956 con C. Shannon Premio Turing 1971

3 Sommario Il contesto storico Gli obiettivi Il nucleo funzionale del linguaggio sintassi semantica: sistema di transizioni semantica: l'interprete meta-circolare Le definizioni ricorsive L'incidente del binding dinamico Le liste di proprietà e il gc Conclusioni: un assessment di parte

4 La trimurti dei tardi anni '50 FORTRAN COBOL LISP (formule/array) (record/file) (simboli) John Backus ('77) Grace Hopper John McCarthy ('71)

5 Algol60 McCarthy Bauer Backus ( 78) Naur ('05) Perlis ('66) Sintassi formale (BNF), scoping statico, sistema di tipi call by name

6 LISP: obiettivi applicativi Elaborazione simbolica list processing, ossia manipolazione di formule logiche (prova programmi, AI) di analisi (derivazione, integrazioni) programmi interpretazione/compilazione trasformazione verifica alberi di ricerca AI (non-determinismo)

7 Esempio Dimostrazione automatica: Riconoscere P(a) come P[x/a] verificare la corrispondenza tra x e a Costruire Q[x/a] sostituendo ogni "x" (libero) in Q con "a"

8 Esempio: giochi

9 LISP: obiettivi teorici Trattare i linguaggi come oggetti matematici "ragionar sui programmi" to use a prefix notation (emphasizing the operator rather than the operands of an expression); to use the concept of function as widely as possible; to provide higher order functions and hence a notation for functions (based on Church s (1941) λ-notation); es: ottimizzazione equivalenza per sostituzione trasparenza del riferimento (referencial transparency) x:=f();p(x,x) p(f(),f())? To avoid the need for explicit erasure of unused list structures

10 LISP: struttura dati S-expr : (PLUS A B) espressioni simboliche, perché le foglie sono simboli detti anche atomi perchè privi di struttura ma ci torniamo sopra cfr arrayin FORTRAN, recordin COBOL oggi coesistono naturalmente

11 LISP: struttura dati Alberi binari Proto sintassi astratta (PLUS A B) abbrevia (PLUS. (A. (B. NIL))) struttura a lato rappresenta A+B CAR CDR Cella cons = parola IBM 704 CAR = contents of the addresspart of register CDR = contents of the decrementpart of register

12 LISP: codice Nei progetti iniziali: sintassi concreta MLISP (Meta LISP) o LISP2, per scrivere i programmi Espressione aritmetica da manipolare :(PLUS A B) da calcolare : plus[a;b] S-expr usate come rappresentazione interna ritardata realizzazione del traduttore codifica in S-expr del linguaggio per definirne la semantica Incidente favorevole (insieme all'interpretazione): LISP1.5 è type-less (come il linguaggio macchina) favorisce l auto modifica dei programmi "Syntactic sugar causes cancer of the semicolon." Alan Perlis in realtà ci sono i numeri (interi) Controllo dinamico dei tipi (a tempo d'esecuzione)

13 LISP e concorrenti Linguaggi funzionali vs imperativi (con stato) LISP: ambiente di valutazione delle variabili a-list : Nomi Valori» semantica per riferimento, contrapposta a FORTRAN e COBOL valutazione di una variabile: env o mem» env : Nomi Locazioni» mem : Locazioni Valori semantica per valore degli altri terminologia antica» da History of Programming Languages

14 LISP e concorrenti Altri linguaggi "simbolici" SNOBOL manipolava direttamente stringhe di caratteri "pattern" per individuare i punti da sostituire, back-tracking IPL (sexi) pioneered the concept of list processing albeit in an assembly-language style» (A. Newell, C. Shaw, and H. Simon (Nobel '78))

15 Cose di casa nostra Anni '60: Roma ROMALISP C. Böhm et al: ri-fare per capire per usare: non c'era SourceForge!» non era ovvio portare un sistema di programmazione da una macchina a un'altra Anni '70: Pisa MagmaLISP CM, G. Pacini e F. Turini estensione per non-determinismo

16 Il linguaggio (puro) Primitive di manipolazione S-expr: CONS : S-expr ₓ S-expr S-expr CAR, CDR : S-expr S-expr ATOM : S-expr {T, NIL} EQ : Atom ₓ Atom {T, NIL} Forme: espressioni da valutare speciali: (QUOTE f) (COND (p 1 f 1 )... (p n f n ))

17 Il linguaggio puro (2) Forme generali: (f op f 1... f n ) : applica f op ai valori ottenuti da f 1... f n Definizioni (LAMBDA x f) Dichiarazione (LABEL fn f) : definisce f(x) sostituisce il combinatore Y: : nomina f come fn (ricorsione)

18 Il linguaggio (pragmaticamente impuro) Componente imperativa DEFINE, per le definizioni di funzione PROG, SETQ, per programmi sequenziali RPLACA, RPLACD, per effetti collaterali sulle liste» ridefinizione dei puntatori» incubo teorico

19 Evalquote e Apply (primitive)

20 Apply (2)

21 Eval

22 Un esempio, finalmente! First = car, rest = cdr Non serve label Ricorda qualcosa?

23 Un altro esempio Tests è la lista di coppie del cond Second = cadr

24 L'interprete metacircolare

25 Espressioni condizionali (COND) if p 1 then c 1 elseif... elseif p n then c n endif

26 Scelte in FORTRAN if x<ythen \\21 else \\22 end if \\24 Costrutto di controllo trasposto dal linguaggio di macchina: IF(X-Y)21,22,22 C X-Y< GOTO 24 C X-Y C JOIN 24...

27 Apply pairs aggiunge a env i legami parametri-argomenti

28 Eval

29 Esempio: Wang algorithm......

30 Wang algorithm (2)......

31 LISP e λ-calcolo λ-calcolo formalismo teorico per lo studio della calcolabità equivalente alla Macchina di Turing Universale (A. Church, 1936) paradigma: calcolo di funzioni: calcolo per riduzione (sostituzione testuale): nessuna struttura dati: e.g.: interi codificati (astutamente) come funzioni

32 LISP e λ-calcolo (2) LISP (puro) struttura dati: S-expr simula la sostituzione testuale a-list (association list) ambiente di valutazione: a-list : Nomi Valori Semantica Lips1.5: con interprete (meta-circolare) λ-calcolo: nessuna fino al 1975 (Dana Scott ( 76)) McCarthy: "non ho capito molto del lavoro di Church" "ho preso la notazione per le funzioni"

33 Vera scienza

34 Inserto: il combinatore paradossaley se N= (n=0->1,n*f(n-1)) λf. λn.n assomiglia al fattoriale ((λf. λn.n)?) 3 ((λf. λn.n) (λf. λn.n) ) 3 = (λn. (n=0->1,n*(λf. λn.n (n-1)) )) 3 = 3*(λf. λn.n (n-1)) ci metto (Y λf. λn.n), dove Y = (λg. (λg.g(g g)) (λg.g(g g))) :-(

35 Y F punto fisso di F Y F = (λg.(λg.g(g g)) (λg.g(g g))) F = (λg. F(g g)) (λg. F(g g)) = F( (λg. F(g g)) (λg. F(g g)) ) = F( Y F ) per cui, dato che N = (n=0->1,n*f(n-1)) ((λf. λn.n) (Yλf. λn.n)) 3 3=0->1,3*((Yλf. λn.n) 2) 3*( ((λf. λn.n) (Y λf. λn.n)) 2 ) diventa ma YF = F(YF) e così via...

36 Scherzi della memoria Acknowledgments The inadequacy of the LAMBDA-notation for naming recursive functions was noticed by N. Rochester, and he discovered an alternative to the solution involving label which has been used here.

37 Binding dinamico (def show (lambda () x )) (def try (lambda (x) (show) )) (show) (x)? (try t) (show) [x/t] [x/t](x) t In C ecc, il comportamento di show è univoco: il primo x è indefinito binding statico: le due "x" si riferiscono a due celle diverse In LISP, dipende dal contesto d'invocazione: binding dinamico λz.pz = 2 o 3?

38 Involontario Scoperto da J. Slagle Durante la tesi (integrazione simbolica) (def testr (lambda (x p f u) (cond ((p x) (f x)) ((atom x) (u)) (t (testr (cdr x) p f (lambda () (testr (car x) p f u)))) ) )) Tipico esempio di programmazione funzionale Problema noto come FUNARG(functional argument)

39 La madre di tutte le funzioni higher order (defun map (FUN X) (cond((null X) X) (t(cons (FUN (first X)) (map FUN (rest X> map restituisce la lista dei risultati dell applicazione di fun a ogni elemento di X Alla base del modello MapReduce di Google

40 Esempio (map '(lambda (x) (list x x)) '(CHITTY BANG)) restituisce X è zucchero sintattico per (QUOTE X) ((CHITTY CHITTY) (BANG BANG)) Se usiamo map per definire consall, tale che (consall'beat '(HARVARD YALE)) dia ((BEAT HARVARD) (BEAT YALE))

41 Esercizio (defun consall(x L) (map '(lambda(y)???) L)) (consall 'BEAT '(HARVARD YALE)) dia ((BEAT HARVARD) (BEAT YALE))

42 Cave! (defun consall(x YS) (map '(lambda(y) (list X y)) YS)) dà invece: ((HARVARD YALE) HARVARD) ((YALE) YALE)) perché X è legato a (HARVARD YALE) e non a BEAT: (defun map (FUN X) La X di map maschera quella di consall Cambiare nome è poco generale...

43 La soluzione: chiusure Due nuove forme speciali FUNCTION per marcare le funzioni CLOSURE per conservare l ambiente Si risolve anche il problema delle funzioni come valori proceduralizzazione della conoscenza

44 La soluzione: nuovi problemi? Ambiente: Interprete: lista Compilatore: stack Stack: Funarg : abbastanza bene Funzioni come valori: Havoc Cactus stack

45 La storia continua... J. Moses nel 67 osserva many LISP implementers don t care about the FUNARG problem, i.e. that interpreted and compiled programs can behave differently E più naturale implementare il binding statico in un compilatore che in un interprete... Scheme, un dialetto del LISP sviluppato negli anni settanta, oltre a usare lo statico, abbandona completamente lo stack, e alloca i frame nello heap

46 Le liste di proprietà Avevamo detto: "atomi, perchè senza struttura" In realtà sono "classi statiche"/"record" In LISP 1.5 predefinite, con i selettori PNAME: nome esterno (lista di caratteri) EXPR: definizione di funzione (lambda-expr) SUBR: definizione di funzione (primitiva) TRACE: indicatore di traccia dell'esecuzione APVAL: valore di top-level (S-expr)

47 Le liste di proprietà APVAL: NIL vale NIL, T vale T, F vale T cset[obj;value] permette di definirlo Eval si ridefinisce anche in termini di π : Atom ₓ Atom S-expr

48 Poi... putprop: Atom ₓ S-expr ₓ Atom S-expr apply[putprop;(a V P);...] ha valore V (= identità sul secondo argmento) effetto collaterale: definisce la proprietà P di A Record dinamici selettori definibili a run-time MLISP2 (1973) usa la "dot notation"

49 Garbage-collection Atomi p-list Pila di controllo a-list Lista libera

50 LISP: innovazioni P. Graham, What Made LISP Different, May Conditionals They were invented by McCarthy for LISP: since he was on the Algol committee got conditionals into Algol, whence they spread to most other languages. 2. A function type In LISP, functions are first class objects, they're a data type just like integers, strings, etc, and can be stored in variables, can be passed as arguments, and so on. 3. Recursion Recursion existed as a mathematical concept before LISP of course, but LISP was the first programming language to support it.

51 LISP: innovazioni (2) 4. A new concept of variables In LISP, all variables are effectively pointers. Values are what have types, not variables, and assigning or binding variables means copying pointers, not what they point to. 5. Garbage - collection 6. Programs composed of expressions LISP programs are trees of expressions, each of which returns a value. This is in contrast to Fortran and most succeeding languages, which distinguish between expressions and statements.

52 LISP: innovazioni (3) 7. A symbol type Symbols differ from strings in that you can test equality by comparing a pointer. 8. A notation for code Using trees of symbols 9. The whole language always available There is no real distinction between read -time, compile - time, and runtime. [...] reading at runtime enables programs to communicate using s-expr, an idea recently reinvented as XML.

53 Due culture... When LISP was first invented, all these ideas were far removed from ordinary programming practice, which was dictated largely by the hardware available in the late 1950s. Over time, the default language, embodied in a succession of popular languages, has gradually evolved toward LISP:

54 Compilatore Meglio: generatore di codice La sintassi astratta viene gratis! self-hosting: compila se stesso Conviene una macchina intermedia Lisp-machine Reale, da Symbolics Esercizio: trasformare l interprete in un compilatore

55 Due culture Conditionals 2. A function type 3. Recursion 4. A new concept of variables 5. Garbage collection are now widespread. 6. Programs composed of expressions -is starting to appear in the mainstream 7. A symbol type -Python has a form of this, though there doesn't seem to be any syntax for it. 8. A notation for code 9. The whole language always available - are so far still unique tolisp

56 LISP vs il resto del mondo Though useful to present-day programmers, it's strange to describelisp in terms of its variation from the random expedients other languages adopted. La vitalità del LISP si deve probabilmente alla flessibilità che gli deriva in definitiva dalla sua originaria accidentale type-freeness. Oggi l'interesse verso la manipolazione di programmi, e più in generale di modelli, (metaprogrammazione) riporta in auge quest concetti.

57 Conclusioni Graham dice ancora: That [la flessibilità] was not, probably, how McCarthy thought of it. LISP wasn't designed by to fix the mistakes in Fortran LISP came about more as the byproduct of an attempt to axiomatize computation. Un interesse teorico simile si ha oggi per sistemi di tipi higher order: permettere di manipolare funzioni di funzioni con garanzie tipo quelle fornite dai correnti linguaggi per il prim'ordine.

58 Bibliografia J. McCarthy et al. LISP 1.5 Manual (1963) J. McCarthy. History of LISP. Newell, A. and F.C. Shaw. "Programming the Logic Theory Machine." Feb Proceedings of the Western Joint Computer Conference, pp D.C. Smith, H.J. Enea. MLISP2 (1973)

59 Bibliografia D. S. Scott,"Data types as lattices". LNCS 499, P. Graham. ANSI Common LISP. Prentice-Hall, P. Graham. What Made LISP Different. May J. Moses. The Function of FUNCTION in LISP Or Why the FUNARG Problem Should be Called the Environment Problem. MIT Mem G. Steele. A History of Scheme. SchemeHistory-2006public.pdf

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Programmazione Funzionale

Programmazione Funzionale Programmazione Funzionale LP imperativi: apparenza simile modello di progettazione = macchina fisica Famiglia dei LP imperativi = progressivo miglioramento del FORTRAN Obiezione: pesante aderenza dei LP

Dettagli

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined

Dettagli

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 3 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 5 Marzo 2013 Storicamemente Introduzione al paradigma funzionale 1977: ACM Turing

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I

Dettagli

Capitolo 5: Algol 60, Pascal e C

Capitolo 5: Algol 60, Pascal e C Capitolo 5: Algol 60, Pascal e C Algol 60 (58-63) -Backus, McCarthy -fino al Pascal (70) è stato lo standard accademico punti positivi -BNF!! -block structure (begin-end), recursion, higher order functions,

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 3 Alberto Ceselli (thanks C. Braghin) ceselli@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 09 Marzo 2009 Storicamemente

Dettagli

Question 1: introduction to computer programming and Linux/gvim/gcc/make/gdb

Question 1: introduction to computer programming and Linux/gvim/gcc/make/gdb Question 1: introduction to computer programming and commands Question 1: introduction to computer programming and Linux/gvim/gcc/make/gdb What is a compiler? (2 points) Cos è un compilatore? (2 punti)

Dettagli

Introduzione a Matlab

Introduzione a Matlab Introduzione a Matlab Ruggero Donida Labati Dipartimento di Tecnologie dell Informazione via Bramante 65, 26013 Crema (CR), Italy ruggero.donida@unimi.it Perché? MATLAB is a high-level technical computing

Dettagli

Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza. Dispense del Corso di Intelligenza Artificiale

Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza. Dispense del Corso di Intelligenza Artificiale Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza Dispense del Corso di Intelligenza Artificiale Anno Accademico 2003/04 Linguaggi per l Intelligenza Artificiale Daniele

Dettagli

Linguaggi di Programmazione LISP

Linguaggi di Programmazione LISP Linguaggi di Programmazione LISP Carlo Lepori Scuola di Ingegneria del Canton Ticino (STS) Introduzione In questa parte del corso Linguaggi di programmazione affronteremo alcune tematiche riguardanti la

Dettagli

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web.

13-03-2013. Introduzione al Semantic Web Linguaggi per la rappresentazione di ontologie. L idea del Semantic Web. Corso di Ontologie e Semantic Web Linguaggi per la rappresentazione di ontologie Prof. Alfio Ferrara, Prof. Stefano Montanelli Definizioni di Semantic Web Rilievi critici Un esempio Tecnologie e linguaggi

Dettagli

Brevissima introduzione al Lisp

Brevissima introduzione al Lisp Brevissima introduzione al Lisp Versione preliminare Giorgio Ausiello, Luigi Laura May 16, 2001 Queste pagine costituiscono un riferimento per gli studenti del corso di Informatica Teorica e non hanno

Dettagli

ML for Dummies. Luca Abeni September 3, 2015

ML for Dummies. Luca Abeni September 3, 2015 ML for Dummies Luca Abeni September 3, 2015 1 Introduzione Mentre un linguaggio di tipo imperativo rispecchia l architettura di Von Neumann, descrivendo i programmi come sequenze di istruzioni che modificano

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

Dettagli

PROGRAMMAZIONE II Corso B Introduzione al corso

PROGRAMMAZIONE II Corso B Introduzione al corso AA 2014-2015 PROGRAMMAZIONE II Corso B Introduzione al corso Andrea Corradini o Email: andrea@di.unipi.it o Web: www.di.unipi.it/~andrea 1 INFORMAZIONI GENERALI Pagina web del corso: http://www.di.unipi.it/~andrea/didattica/pr2-b-14/

Dettagli

Programma di Paradigmi e possibili domande. Capitolo 1

Programma di Paradigmi e possibili domande. Capitolo 1 Definizione di macchina astratta Programma di Paradigmi e possibili domande Capitolo 1 Una macchina astratta per il linguaggio L detta ML, è un qualsiasi insieme di algoritmi e strutture dati che permettono

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione Capitolo 2 Variabili, Espressioni e Comandi Prof. Mauro Gaspari: gaspari@cs.unibo.it Valori e Tipi Un valore (= value) è una delle entità fondamentali che i programmi sono

Dettagli

L interesse nella macchina di Turing

L interesse nella macchina di Turing Aniello Murano Macchina di Turing universale e problema della fermata 6 Lezione n. Parole chiave: Universal Turing machine Corso di Laurea: Informatica Codice: Email Docente: murano@ na.infn.it A.A. 2008-2009

Dettagli

Newborn Upfront Payment & Newborn Supplement

Newborn Upfront Payment & Newborn Supplement ITALIAN Newborn Upfront Payment & Newborn Supplement Female 1: Ormai manca poco al parto e devo pensare alla mia situazione economica. Ho sentito dire che il governo non sovvenziona più il Baby Bonus.

Dettagli

Compatibilità del Portale Piaggio con Internet Explorer 10 e 11. Internet Explorer 10

Compatibilità del Portale Piaggio con Internet Explorer 10 e 11. Internet Explorer 10 Italiano: Explorer 10 pagina 1, Explorer 11 pagina 2 English: Explorer 10 page 3 and 4, Explorer 11 page 5. Compatibilità del Portale Piaggio con Internet Explorer 10 e 11 Internet Explorer 10 Con l introduzione

Dettagli

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

Linguaggi e Traduttori: Introduzione al corso

Linguaggi e Traduttori: Introduzione al corso Linguaggi e Traduttori: Introduzione al corso Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di

Dettagli

By E.M. note sull'uso di GAMBAS

By E.M. note sull'uso di GAMBAS By E.M. note sull'uso di GAMBAS GAMBAS viene installato sotto Xubuntu nella directory: /usr/share/gambas2 link problema su uso dell'esempio SerialPort http://gambasrad.org/zforum/view_topic?topic_id=1057

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Scritto da DEApress Lunedì 14 Aprile 2014 12:03 - Ultimo aggiornamento Martedì 26 Maggio 2015 09:34

Scritto da DEApress Lunedì 14 Aprile 2014 12:03 - Ultimo aggiornamento Martedì 26 Maggio 2015 09:34 This week I have been walking round San Marco and surrounding areas to find things that catch my eye to take pictures of. These pictures were of various things but majority included people. The reason

Dettagli

Introduzione ai Web Services Alberto Polzonetti

Introduzione ai Web Services Alberto Polzonetti PROGRAMMAZIONE di RETE A.A. 2003-2004 Corso di laurea in INFORMATICA Introduzione ai Web Services alberto.polzonetti@unicam.it Introduzione al problema della comunicazione fra applicazioni 2 1 Il Problema

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

Prolog: aritmetica e ricorsione

Prolog: aritmetica e ricorsione Capitolo 13 Prolog: aritmetica e ricorsione Slide: Aritmetica e ricorsione 13.1 Operatori aritmetici In logica non vi è alcun meccanismo per la valutazione di funzioni, che è fondamentale in un linguaggio

Dettagli

Prova finale di Ingegneria del software

Prova finale di Ingegneria del software Prova finale di Ingegneria del software Scaglione: Prof. San Pietro Andrea Romanoni: Francesco Visin: andrea.romanoni@polimi.it francesco.visin@polimi.it Italiano 2 Scaglioni di voto Scaglioni di voto

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Foglio di calcolo. Foglio di calcolo: nomi celle

Foglio di calcolo. Foglio di calcolo: nomi celle Foglio di calcolo L'astrazione offerta da un programma di gestione di fogli di calcolo è quella di una matrice (un foglio a quadretti). Colonne: A, B, C,... Righe: 1, 2, 3,... Ogni cella ha un nome composto

Dettagli

LINGUAGGI - COMPILATORI - INTERPRETI

LINGUAGGI - COMPILATORI - INTERPRETI LINGUAGGI - COMPILATORI - INTERPRETI Per poter risolvere un dato problema utilizzando un computer è necessario che questo venga guidato da una serie di istruzioni che specificano, passo dopo passo, la

Dettagli

Introduzione alla Programmazione

Introduzione alla Programmazione Programmazione 1: Introduzione alla Programmazione Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it www.dmi.unisa.it/people/nappi it/people/nappi

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem.

Copyright 2012 Binary System srl 29122 Piacenza ITALIA Via Coppalati, 6 P.IVA 01614510335 - info@binarysystem.eu http://www.binarysystem. CRWM CRWM (Web Content Relationship Management) has the main features for managing customer relationships from the first contact to after sales. The main functions of the application include: managing

Dettagli

Progetto per il corso di Linguaggi di Programmazione e Compilatori A.A. 2003-2004 ML--

Progetto per il corso di Linguaggi di Programmazione e Compilatori A.A. 2003-2004 ML-- Progetto per il corso di Linguaggi di Programmazione e Compilatori A.A. 2003-2004 ML-- Luca Padovani lpadovan@cs.unibo.it 1 Introduzione Scopo del progetto è scrivere un compilatore per un linguaggio funzionale

Dettagli

Algoritmi e strutture di dati 2

Algoritmi e strutture di dati 2 Algoritmi e strutture di dati 2 Paola Vocca Lezione 2: Tecniche golose (greedy) Lezione1- Divide et impera 1 Progettazione di algoritmi greedy Tecniche di dimostrazione (progettazione) o Greedy algorithms

Dettagli

Famiglie di tabelle fatti

Famiglie di tabelle fatti aprile 2012 1 Finora ci siamo concentrati soprattutto sulla costruzione di semplici schemi dimensionali costituiti da una singola tabella fatti circondata da un insieme di tabelle dimensione In realtà,

Dettagli

DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori.

DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori. 1 DEFINIZIONE DI NUOVI TIPI Un tipo è un insieme di valori. Per definire un nuovo tipo occorre specificare: 1. un nome per il tipo 2. come costruire i valori del tipo, cioè quali sono i costruttori del

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

Manutenzione del software

Manutenzione del software del software Generalità Leggi dell evoluzione del software Classi di manutenzione Legacy systems Modelli di processo per la manutenzione 1 Generalità La manutenzione del software è il processo di modifica

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

API e socket per lo sviluppo di applicazioni Web Based

API e socket per lo sviluppo di applicazioni Web Based API e socket per lo sviluppo di applicazioni Web Based Cosa sono le API? Consideriamo il problema di un programmatore che voglia sviluppare un applicativo che faccia uso dei servizi messi a disposizione

Dettagli

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO Linguaggio macchina Uno per ogni processore o famiglia di processori Linguaggio assembler Versione simbolica di quello macchina. LINGUAGGI DI ALTO

Dettagli

Universita' degli Studi di Udine UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA

Universita' degli Studi di Udine UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA Universita' degli Studi di Udine FACOLTA' DI SCIENZE MATEMATICHE FISICHE E NATURALI UNA PROPOSTA PER L'INTRODUZIONE DI CAPACITA' DI META-RAPPRESENTAZIONE IN UN LINGUAGGIO DI PROGRAMMAZIONE LOGICA Relatore:

Dettagli

U Corso di italiano, Lezione Quindici

U Corso di italiano, Lezione Quindici 1 U Corso di italiano, Lezione Quindici U Buongiorno, anche in questa lezione iniziamo con qualche dialogo formale M Good morning, in this lesson as well, let s start with some formal dialogues U Buongiorno,

Dettagli

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo

Sezione 1 / Section 1. Elementi d identità: il marchio Elements of identity: the logo Sezione 1 / Section 1 2 Elementi d identità: il marchio Elements of identity: the logo Elements of identity: the logo Indice 2.01 Elementi d identità 2.02 Versioni declinabili 2.03 Versioni A e A1, a colori

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

Apprendimento Automatico

Apprendimento Automatico Metodologie per Sistemi Intelligenti Apprendimento Automatico Prof. Pier Luca Lanzi Laurea in Ingegneria Informatica Politecnico di Milano Polo regionale di Como Intelligenza Artificiale "making a machine

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

ENPCOM European network for the promotion of the Covenant of Mayors

ENPCOM European network for the promotion of the Covenant of Mayors ENPCOM European network for the promotion of the Covenant of Mayors Censimento e monitoraggio dei consumi energetici e comportamento dei cittadini Controllo Energetico dei Consumi degli Edifici Monitoraggio

Dettagli

Novità versione 10 News release 10

Novità versione 10 News release 10 Novità versione 10 News release 10 Contenuto/Content Novità generali introdotte con la release 10...3 Novità ambiente CAD...4 Novità ambiente CAM...5 Novità moduli opzionali...6 General changes introduced

Dettagli

DIAGRAMMI DI SEQUENZA

DIAGRAMMI DI SEQUENZA DIAGRAMMI DI SEQUENZA Francesco Poggi fpoggi@cs.unibo.it A.A. 2015-2016 Premessa As always, there is never a correct solution to any modelling problem. It s more that some models are more precise, and

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

We take care of your buildings

We take care of your buildings We take care of your buildings Che cos è il Building Management Il Building Management è una disciplina di derivazione anglosassone, che individua un edificio come un entità che necessita di un insieme

Dettagli

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch drag & drop visual programming appinventor realizzazione app per Google Android OS appinventor è un applicazione drag & drop visual programming Contrariamente ai linguaggi tradizionali (text-based programming

Dettagli

Breve Excursus su Evoluzione della Programmazione. Corso di Linguaggi e Metodologie di Programmazione

Breve Excursus su Evoluzione della Programmazione. Corso di Linguaggi e Metodologie di Programmazione Breve Excursus su Evoluzione della Programmazione Corso di Linguaggi e Metodologie di Programmazione Introduzione Le slide presenti in questo documento hanno il solo scopo di riassumere i momenti fondamentali

Dettagli

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico

WELCOME. Go to the link of the official University of Palermo web site www.unipa.it; Click on the box on the right side Login unico WELCOME This is a Step by Step Guide that will help you to register as an Exchange for study student to the University of Palermo. Please, read carefully this guide and prepare all required data and documents.

Dettagli

Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo.

Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo. STATE MACHINE Per il progetto MESA 2015 andremo ad utilizzare Unity3D per la creazione di alcuni exergame da utilizzar ein ambito riabilitativo. Per poter gestire in modo efficiente lo sviluppo di vari

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

LabMecFit. versione beta. by S.Frasca Dipartimento di Fisica Università Sapienza Roma

LabMecFit. versione beta. by S.Frasca Dipartimento di Fisica Università Sapienza Roma LabMecFit versione beta by S.Frasca Dipartimento di Fisica Università Sapienza Roma LabMecFit è un programma che permette di elaborare i dati prodotti da DataStudio. I dati devono essere salvati da DataStudio

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky:

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky: Focusky Focusky è l innovativo e professionale software progettato per creare resentazioni interattive ad alto impatto visivo e ricco di effetti speciali (zoom, transizioni, flash, ecc..). A differenza

Dettagli

(ETC) MATRICOLE DISPARI

(ETC) MATRICOLE DISPARI Elementi di Teoria della Computazione (ETC) MATRICOLE DISPARI Docente: Prof. Luisa Gargano BENVENUTI! Finalità: Fornire gli elementi di base delle teorie che sono di fondamento all'informatica 1. Computabilità

Dettagli

PROGRAMMA DI LINGUA INGLESE

PROGRAMMA DI LINGUA INGLESE PROGRAMMA DI LINGUA INGLESE CLASSE IG ANNO SCOLASTICO 2014/2015 Prof.ssa Rossella Mariani Testo in adozione: THINK ENGLISH 1 STUDENT S BOOK, corredato da un fascicoletto introduttivo al corso, LANGUAGE

Dettagli

Brevissima introduzione al Lisp

Brevissima introduzione al Lisp Brevissima introduzione al Lisp Giorgio Ausiello, Luigi Laura 2 marzo 2004 Queste pagine costituiscono un riferimento per gli studenti del corso di Informatica Teorica e non hanno nessuna pretesa di completezza

Dettagli

Italian Extension. Written Examination. Centre Number. Student Number. Total marks 40. Section I Pages 2 7

Italian Extension. Written Examination. Centre Number. Student Number. Total marks 40. Section I Pages 2 7 Centre Number 2015 HIGHER SCHOOL CERTIFICATE EXAMINATION Student Number Italian Extension Written Examination Total marks 40 General Instructions Reading time 10 minutes Working time 1 hour and 50 minutes

Dettagli

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione

Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione. Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Informatica: Evoluzione dei Linguaggi di Specifica e Programmazione Ugo Montanari Dipartimento di Informatica, Università di Pisa 0 Roadmap Perchè i linguaggi? Che cosa sono i linguaggi? Esempio: i numeri

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org

Debtags. Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini enrico@debian.org Debtags Dare un senso a 20000 pacchetti. 16 settembre 2006 14 slides Enrico Zini (enrico@debian.org) 1/14 Fondazioni teoretiche Classificazione a Faccette (sfaccettature) Scoperte del cognitivismo (capacità

Dettagli

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

Dettagli

Unbounce Optimization

Unbounce Optimization Unbounce Optimization Alberto Mucignat Milano, 01 dicembre 2015 Doralab - Experience Design Company User Intelligence User Experience Design Business value 2 3 Full stack UX design Architettura dell informazione

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Introduzione a GCC: GNU Compiler Collection

Introduzione a GCC: GNU Compiler Collection Introduzione a GCC: GNU Compiler Collection Caratteristiche di GCC Compilatore multipiattaforma modulare Disponibile per tutti i principali sistemi operativi Può produrre programmi per la maggior parte

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione

HTML e Linguaggi. Politecnico di Milano Facoltà del Design Bovisa. Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione HTML e Linguaggi Politecnico di Facoltà del Design Bovisa Prof. Gianpaolo Cugola Dipartimento di Elettronica e Informazione cugola@elet.polimi.it http://home.dei.polimi.it/cugola Indice Il linguaggio del

Dettagli

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Minicorso tematico: Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria ricca@mat.unical.it Presentiamoci

Dettagli

User Guide Guglielmo SmartClient

User Guide Guglielmo SmartClient User Guide Guglielmo SmartClient User Guide - Guglielmo SmartClient Version: 1.0 Guglielmo All rights reserved. All trademarks and logos referenced herein belong to their respective companies. -2- 1. Introduction

Dettagli

The Elves Save Th. Il gioco del Villaggio segreto di Babbo Natale

The Elves Save Th. Il gioco del Villaggio segreto di Babbo Natale The Elves Save Th Il gioco del Villaggio segreto di Babbo Natale Bianca Bonnie e and Nico Bud had avevano been working lavorato really hard con making molto impegno per a inventare new board game un nuovo

Dettagli

Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the

Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the 1 2 3 Le cellule staminali dell embrione: cosa possono fare Embryonic stem cells are exciting because they can make all the different types of cell in the body scientists say these cells are pluripotent.

Dettagli

Società per la Biblioteca Circolante Programma Inglese Potenziato

Società per la Biblioteca Circolante Programma Inglese Potenziato Società per la Biblioteca Circolante Programma Inglese Potenziato STRUTTURE GRAMMATICALI VOCABOLI FUNZIONI COMUNICATIVE Presente del verbo be: tutte le forme Pronomi Personali Soggetto: tutte le forme

Dettagli

Programma svolto di Lingua Inglese A.S. 2014-15 Classe: 1F Docente: Federica Marcianò

Programma svolto di Lingua Inglese A.S. 2014-15 Classe: 1F Docente: Federica Marcianò Programma svolto di Lingua Inglese A.S. 2014-15 Classe: 1F Units 1-2 Pronomi personali soggetto be: Present simple, forma affermativa Aggettivi possessivi Articoli: a /an, the Paesi e nazionalità Unit

Dettagli