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

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

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

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

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

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 alberto.ceselli@unimi.it Università degli Studi di Milano 5 Marzo 2013 Storicamemente Introduzione al paradigma funzionale 1977: ACM Turing

Dettagli

Question 1: introduction to computer programming

Question 1: introduction to computer programming Question 1: introduction to computer programming Question 1: introduction to computer programming What is a compiler? (4 points). Cos è un compilatore? (4 punti). c 2006 Marco Bernardo 1/14 Question 1:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Introduzione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Argomenti trattati Che cosa è python Variabili Assegnazione Condizionale Iterazione in una lista di

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

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

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

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

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

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio A.A. 2006/2007 Laurea di Ingegneria Informatica Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio Obbiettivi Acquisire familiarità con la nozione di oggetto Apprendere le proprietà

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

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

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

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

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

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

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

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

Algebra Booleana ed Espressioni Booleane

Algebra Booleana ed Espressioni Booleane Algebra Booleana ed Espressioni Booleane Che cosa è un Algebra? Dato un insieme E di elementi (qualsiasi, non necessariamente numerico) ed una o più operazioni definite sugli elementi appartenenti a tale

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

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

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

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

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

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

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Fondamenti di Informatica Modulo 1 Programma dell'a.a. 2003/2004 Luigi Romano Dipartimento di Informatica

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

Programmazione I - Laboratorio

Programmazione I - Laboratorio Programmazione I - Laboratorio Esercitazione 2 - Funzioni Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2.

Dettagli

I metodi formali nel processo di sviluppo del software

I metodi formali nel processo di sviluppo del software I metodi formali nel processo di sviluppo del software I metodi formali consentono di creare una specifica più completa, uniforme e non ambigua di quelle prodotte usando i metodi convenzionali ed orientati

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

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE Andrea Bobbio Anno Accademico 2000-2001 Algebra Booleana 2 Calcolatore come rete logica Il calcolatore può essere visto come una rete logica

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno UD 3.1b: Costrutti di un Algoritmo Dispense 1.2 I Costrutti di base 13 apr 2010

Dettagli

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

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

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

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

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

IL LINGUAGGIO LISP. Marco Broglia

IL LINGUAGGIO LISP. Marco Broglia IL LINGUAGGIO LISP Marco Broglia Lisp: carta d identità ci.1 Carta d Identità Nome: Lisp (List Processor) Nato il: autunno 1958 Genere: interprete Padre: John McCarthy Incubazione: IBM 704 Segni particolari:

Dettagli

Introduction. The Structure of a Compiler

Introduction. The Structure of a Compiler Introduction The Structure of a Compiler ISBN 978-88-386-6573-8 Text Books Maurizio Gabbrielli e Simone Martini sono professori ordinari di Informatica presso l'alma Mater Studiorum - Università di Bologna.

Dettagli

Interpretazione astratta

Interpretazione astratta Interpretazione astratta By Giulia Costantini (819048) e Giuseppe Maggiore (819050) Contents Interpretazione astratta... 2 Idea generale... 2 Esempio di semantica... 2 Semantica concreta... 2 Semantica

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

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Introduzione al Python

Introduzione al Python Andrea Passerini passerini@disi.unitn.it Informatica Caratteristiche procedurale si specifica la procedura da eseguire sui dati strutturato concetto di visibililtà delle variabili orientato agli oggetti

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

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

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti 13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

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

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Il concetto di Algoritmo e di Calcolatore Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Cos

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Ricapitoliamo. Ricapitoliamo

Ricapitoliamo. Ricapitoliamo Ricapitoliamo Finora ci siamo concentrati sui processi computazionali e sul ruolo che giocano le procedure nella progettazione dei programmi In particolare, abbiamo visto: Come usare dati primitivi (numeri)

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1

Il test di Turing. Seminario. Ester Dalvit. 22 marzo 2005. Il test di Turing p. 1/1 Il test di Turing Seminario Ester Dalvit 22 marzo 2005 Il test di Turing p. 1/1 Intelligenza artificiale Una macchina compie in modo efficiente e veloce attività come eseguire calcoli aritmetici Il test

Dettagli

Fondamenti dell informatica

Fondamenti dell informatica Fondamenti dell informatica LISP Rosario Culmone rosario.culmone@unicam.it 4/4/2008 UNICAM - p. 1/23 Il linguaggio di programmazione LISP Ispirato dalle funzioni ricorsive, dal lambda calcolo e dagli schemi

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

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

(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

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere;

un nastro di carta prolungabile a piacere e suddiviso in celle vuote o contenenti al più un unico carattere; Algoritmi 3 3.5 Capacità di calcolo Il matematico inglese Alan Turing (1912-1954) descrisse nel 1936 un tipo di automi, oggi detti macchine di Turing, e fornì una della prime definizioni rigorose di esecuzione

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

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

Analisi e Verifica di Programmi Laboratorio di AVP

Analisi e Verifica di Programmi Laboratorio di AVP Analisi e Verifica di Programmi Laboratorio di AVP Corso di Laurea in Informatica AA 2004-05 Tino Cortesi Analisi e Verifica Cosa Individuare proprietà interessanti dei nostri programmi: Valori prodotti,

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

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai?

Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai? IT FAQ-SSL Quando mi collego ad alcuni servizi hosting ricevo un messaggio relativo al certificato di protezione del sito SSL, come mai? Il certificato SSL relativo ai servizi hosting è stato rinnovato

Dettagli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI Read Online and Download Ebook LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI DOWNLOAD EBOOK : LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO Click link bellow and

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

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

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

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

Dettagli

Programmazione ad Oggetti. Java Parte I

Programmazione ad Oggetti. Java Parte I Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere

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

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

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

Il linguaggio Chat Markup Language

Il linguaggio Chat Markup Language Il linguaggio Progetto e implementazione di un sistema per la realizzazione di agenti conversazionali Alan Zucconi Università degli Studi di Pisa Facoltà di Scienze Matematiche, Fisiche e Naturali 24 Giugno

Dettagli

VARIABILI LOCALI E GLOBALI (ESTERNE)

VARIABILI LOCALI E GLOBALI (ESTERNE) VARIABILI LOCALI E GLOBALI (ESTERNE) Le variabili locali sono definite (ed il loro uso dichiarato) nella funzione (o nel blocco) che le usa; nascono quando la funzione entra in esecuzione e muoiono al

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

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