Fabio Sartori 26 Novembre Introduzione ai sistemi a regole. Un esempio dall enigmistica Architettura

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fabio Sartori 26 Novembre Introduzione ai sistemi a regole. Un esempio dall enigmistica Architettura"

Transcript

1 Sistemi a Regole Fabio Sartori 26 Novembre 2008 Sommario Introduzione ai sistemi a regole Un esempio dall enigmistica Architettura Fatti Regole Introduzione a JESS Ambiente per lo sviluppo di sistemi a regole Sintassi ed esempi 1

2 Sistemi a Regole: cosa sono? Problema Output Parziali Input Output Ragionamento Dal primo input si deduce che: L ultimo anno è il 2006 La vincitrice del 2006 è Zuleyka Rivera Mendoza Zuleyka Rivera Mendoza non è australiana Output In base alla deduzione se allora Output parziale L ultima vincitrice è stata Zuleyka Rivera Mendoza L ultimo anno è il 2006 La vincitrice del 2006 è Zuleyka Rivera Mendoza Fatti Regole Conoscenza 2

3 KBS e Sistemi a Regole Knowledge-based System (KBS): Sistemi Rule-based (a regole) Sistemi Model-based Sistemi CBR-based Sistemi ibridi Sistemi a Regole: applicazione ciclica di regole che operano su una memoria di lavoro contenente i fatti al fine di derivare fatti nuovi da fatti noti Un sistema a regole contiene un insieme di regole che specificano delle condizioni di attivazione e degli effetti In particolare, ciascuna regola ha la forma <condizioni> <azioni> talvolta anche descritte come <LHS - Left Hand Side> <RHS - Right Hand Side> Esempi di regole: madre(x) = madre(y) madre(x) = madre(y) padre(x) = padre(y) padre(x) = padre(y) Maschio(x) Femmina(x) Fratello(x, y) Sorella(x, y) Architettura generale Knowledge Base [rules and initial facts] Inference Engine Agenda Working Memory [facts] User Interface 3

4 Architettura generale Knowledge Base [rules and initial facts] Inference Engine Agenda Working Memory [facts] User Interface I Fatti sono asserzioni su proprietà, relazioni, proposizioni etc. nella forma di stringhe Servono a descrivere gli stati della computazione, compreso lo stato iniziale Sono statici e inattivi rispetto al valore pragmatico e all utilizzazione dinamica della conoscenza che contengono Memoria di lavoro La Working Memory (Memoria di Lavoro) è un dispositivo utilizzato per trattenere asserzioni temporanee (informazioni sullo stato del problema da risolvere) Femmina(Amelia) Femmina(Alba) (madre(amelia) = Paola) (madre(alba) = Paola) (padre(amelia) = Mario) (padre(alba) = Mario) Architettura generale Knowledge Base [rules and initial facts] Inference Engine Agenda Working Memory [facts] User Interface Le Regole corrispondono a dati strutturati in forma IF-THEN impiegati dal motore inferenziale per inferire una soluzione al problema proposto. Si possono vedere come le unità base dell inferenza che porta dalla descrizione dello stato iniziale alla soluzione del problema. Regola Sono costrutti condizionali composti da due parti: LHS e RHS madre(x) = madre(y) padre(x) = padre(y) Femmina(x) Sorella(x, y) 4

5 Architettura generale Knowledge Base [rules and initial facts] Inference Engine Agenda Working Memory [facts] User Interface L Agenda è un dispositivo utilizzato per trattenere l elenco delle regole attivate dai fatti presenti attualmente nella memoria di lavoro. Il suo contenuto varia dinamicamente durante l esecuzione (Firing) delle regole stesse. Una regole si dice Attivata se la condizione da essa espressa è verificata. Una regola si dire Fired se le operazioni in essa indicate sono state eseguite Un sistema termina la computazione quando non si hanno più regole attive in agenda Memoria di lavoro Femmina(Amelia) Femmina(Alba) Regola (madre(amelia) = Paola) (madre(alba) = Paola) madre(x) = madre(y) (padre(amelia) = Mario) padre(x) = padre(y) (padre(alba) = Mario) Femmina(x) Sorella(x, y) Interprete delle regole Pattern Matching [costruzione dell Agenda]: 1) l interprete considera ciascuna regola rispetto alla situazione corrente 2) compara i valori che compaiono nella LHS con gli elementi di memoria corrispondenti per identificare quelle per le quali sono soddisfatte le LHS Algoritmo RETE: complessità nella costruzione del conflict set da esponenziale a polinomiale "Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem", Charles L. Forgy, Artificial Intelligence 19 (1982), Risoluzione dei conflitti: se vengono individuate più corrispondenze, l interprete le immette nel CONFLICT SET e le tiene in considerazione come possibili candidati per l esecuzione. Il processo di RISOLUZIONE DEI CONFLITTI seleziona l ESEMPLARE DOMINANTE di regola basandosi su una STRATEGIA DI RISOLUZIONE DEI CONFLITTI, ad esempio dando precedenza a: - Regole più specifiche (con più pattern nella LHS) o più generiche (meno fatti nella LHS) - Regole attivate da fatti asseriti più di recente Esecuzione [Firing delle regole]: esegue le azioni descritte dal membro di destra dell ESEMPLARE DOMINANTE selezionato dal CONFRONTO (o eventualmente dal RISOLUTORE DEI CONFLITTI) Pattern Matching Risoluzione dei conflitti Esecuzione Stop 5

6 Esecuzione delle regole Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(amelia) = Paola) (madre(alba) = Paola) (padre(amelia) = Mario) (padre(alba) = Mario) Regola madre(x) = madre(y) padre(x) = padre(y) Femmina(x) Sorella(x, y) Memoria di lavoro Femmina(Amelia) Femmina(Alba) (madre(amelia) = Paola) (madre(alba) = Paola) (padre(amelia) = Mario) (padre(alba) = Mario) Sorella(Alba, Amelia) Regole IF-THEN: alcuni esempi LHS Situazione RHS Azione if temp > 300 then stop boiler Premessa Conclusione if acqua scarseggia then papera non galleggia Antecedente Conseguente if x is a dog then x is an animal Ogni Left-Hand Side (LHS) contiene Elementi condizione: condizioni che devono essere verificate affinchè la regola sia appilcata Ogni LHS è una Clausola logica e condizione sufficiente per eseguire l azione indicata nella RHS Queste condizioni vengono assegnate descrivendo delle configurazioni (di solito di parti) della memoria globale: vengono specificati gli identificatori degli elementi di memoria insieme agli attributi ad essi associati e ai valori richiesti nella condizione Ogni Right-Hand Side (RHS) contiene la descrizione di Azioni: azioni che bisogna condurre a effetto quando la regola viene eseguita Le azioni possibili includono attività come: - inserire nuove descrizioni di stato nella memoria globale - modificare descrizioni di stato già esistenti - eseguire azioni definite dall utente per una produzione particolare 6

7 Introduzione a JESS Introduzione Shell per sistemi a regole implementato in Java Realizzato da Ernest J. Friedman-Hill Distributed Computing Systems Sandia National Laboratories Livermore, CA - USA Disponibile presso: Licenza gratuita per usi non-commerciali 7

8 Elementi di un programma JESS Definire un programma Jess comporta La specifica di un insieme di regole di produzione La definizione dei fatti iniziali che vanno a comporre la memoria di lavoro all atto dell inizializzazione del motore inferenziale La specifica di comandi opzionali (ad es. per attivare automaticamente il motore inferenziale al caricamento del programma) É possibile usare JESS in due modi In applicazioni JAVA Stand-alone (tramite Console) java jess.console 1. inserire comandi dalla linea di comandi della console 2. da linea di comando eseguire batch nome del file.clp Comandi Gestione IN/OUT Comandi Gestione Computazione Comandi Gestione Fatti e Regole Java Expert System Shell Esempio hello.clp ;(clear) (defrule hello "prints Hello world" (initial-fact) (printout t "Hello world!" crlf) ) (reset) Dalla Console: Jess> (run) Hello world! 1 Jess> 8

9 Esempio sort.clp (deffacts initial-facts (lista ld ) (sort ld)) (defrule sort-list?tmp <- (sort?lname)?oldlist <- (lista?lname $?A?x?y $?R) (test (>?x?y)) (assert (lista?lname?a?y?x?r)) (printout t "Scambiato "?x " con "?y crlf) (retract?oldlist)) (defrule stop-sorting (declare (salience -100))?tmp <- (sort?lname) (retract?tmp)) (facts) (reset) (facts) (run) (facts) Dalla Console: For a total of 0 facts. f-0 (initial-fact) f-1 (lista ld ) f-2 (sort ld) For a total of 3 facts. Scambiato 5 con 4 Scambiato 3 con 1 Scambiato 2 con 1 Scambiato 6 con 1 Scambiato 6 con 2 Scambiato 6 con 3 Scambiato 6 con 4 Scambiato 6 con 5 f-0 (initial-fact) f-10 (lista ld ) For a total of 2 facts. Variabili & Multivariabili & Variabili Globali Ogni nome di variabile è costituito da un atomo preceduto dal simbolo (?) Assumono valori di atomi, numeri o stringhe La funzione bind assegna un valore ad una variabile: (bind?x The value )?x ha valore The value (bind?a 124)?a ha valore 124 Se il nome è preceduto da $ la variabile è una multivariabile (bind $?grocery-list (create$ eggs bread milk)) $?grocery-list ha valore (eggs bread milk) Per definire una variabile globale si usa: (defglobal [?<global-name> = <value>]*) Il <global-name> deve essere racchiuso tra (*) Esempi: (defglobal?*counter* = 0?*a* = prova ) definisce le variabili?*a* e?*counter* 9

10 Funzioni In Jess si usa la notazione prefissa... come in LISP Le condizioni e le azioni possono includere chiamate a funzioni Esempi: (+ 2 3) (> (+ 2 3) 10) Per definire una nuova funzione di JESS si usa il comando (deffunction <nome> [<commenti>] (<parametri>*) <espr>* [<return>]) Esempio: (deffunction max (?a?b) (if (>?a?b) then?a else?b)) definita la funzione max, possiamo scrivere l istruzione: (bind?max (max 5 3)) La memoria di lavoro I fatti presenti nella memoria di lavoro (Working Memory) sono ordinati in una lista: la fact list Ad ogni fatto della memoria di lavoro è associato un identificatore: il fact-id All inizio dell esecuzione è asserito un fatto iniziale (initial-fact) Nella memoria di lavoro possono essere caricati: Fatti ordinati Fatti non ordinati Shadow Facts 10

11 Fatti ordinati Un fatto ordinato è una lista di atomi, stringhe, numeri. Si tratta di fatti non strutturati Il primo atomo di questa lista (head del fatto) serve ad identificare una categoria di fatti Esempi: (shopping-list eggs milk bread) (person Bob Smith Male 35) I fatti sono contenuti nella memoria di lavoro Per aggiungere nuovi fatti alla memoria di lavoro si usa il comando (assert <fatto>) (assert (shopping-list eggs milk bread)) (assert (person Bob Smith Male 35)) Per togliere dei fatti presenti nella memoria di lavoro si usa il comando (retract <id-fatto>) (retract?x) dove?x contiene l id del fatto da eliminare Fatti non ordinati Si tratta di fatti strutturati Per definire questi fatti è necessario dichiarare quale deve essere la struttura (deftemplate <nome> [extends <classname>] [<commenti>] (slot <nomeslot> [(default default-dynamic <value>)] [(type <typespec>))]*) (deftemplate auto extends mezziditrasporto (slot model) (slot anno) (slot colore (default bianco)) (assert (auto (model Fiat-Punto) (anno 2000) (colore rosso)) (assert (auto (model Ford-Focus) (anno 2006)) NB: l ordine degli slot non è rilevante 11

12 Asserire insiemi di fatti (deffacts <nome> [<commento>] [<fatto>]*) (deffacts inizio (prova 1 2) (secondaprova)) i fatti possono essere sia ordered che unordered, con uguale o diversa struttura dopo il comando deffacts, al fine di asserire efettivamente i fatti nella memoria di lavoro, è necessario inserire il comando (reset) Regole Per inserire nuove regole nella base della conoscenza si usa il comando defrule: (defrule <nome> [<commento>] [(declare...)] [<condition-element>]* [<funzione>]*) La parte LHS di una produzione in Jess, è un elenco di Condition Element (non conta l ordine) La parte RHS di una produzione in Jess è un elenco di Azioni cambiando l ordine delle azioni della RHS, lo stato in cui porta l esecuzione delle regole può cambiare Azioni più comuni: aggiungere un elemento alla working memory (assert (Espressione (Nome E54) (Arg1 1))) modificare un attributo presente nella working memory (modify?x1 (Op nil) (Arg2 nil)) ) eliminare un elemento dalla working memory (retract?x1) 12

13 Salience delle regole Ogni regola è dotata di una proprietà detta salience, che ne rappresenta la priorità Fra le regole attivate e presenti nell agenda verranno considerate quelle con salience maggiore (defrule prima-mangia?eat (food?any) (not (full)) (retract?eat) (assert (full))) (defrule poi-dividi (declare (salience -100))?give (food?any) (assert (share?any)) (retract?give)) Condition Element <condition-element> = <pattern> or <NOT-CE> <AND-CE> <OR-CE> <test-ce> Pattern: descrizioni, anche parziali, di fatti; se esistono fatti nella WM che corrispondano a questa descrizione, questo CE sarà verificato Altri CE: NOT: verificato se il CE associato non è verificato AND/OR: verificati se rispettivamente tutti o almeno uno dei CE associati sono verificati test: permette di specificare delle condizioni (ad esempio su parti di pattern o su variabili) 13

14 Definizione di una regola (defrule moltiplicazione-x-0 (declare (salience 10)) (Goal (Tipo semplificazione) (Oggetto?X))?x1 (Espressione (Nome?X) (Arg1 0) (Op *)) (modify?x1 (Op nil) (Arg2 nil)) ) Esempio di Regola (ordered facts) ( defrule fratelli_mamma (madre?mamma?figlio1) (madre?mamma?figlio2) (test (neq?figlio1?figlio2)) (not (fratelli?figlio1?figlio2)) (not (fratelli?figlio2?figlio1)) (assert (fratelli?figlio1?figlio2)) ) (madre Marge Lisa) (madre Marge Bart) (madre Marge Maggie) (madre Marge Lisa) (madre Marge Bart) (madre Marge Maggie) (fratelli Maggie Bart) (fratelli Maggie Lisa) (fratelli Bart Lisa) 14

15 Esempio di Regola (unordered facts) (deftemplate madre (slot genitore) (slot figlio)) (deftemplate fratelli (slot fratello1) (slot fratello2)) ( defrule fratelli_mamma (madre (genitore?mamma) (figlio?figlio1))?x1 <- (madre (genitore?mamma) (figlio?figlio2~?figlio1)) (assert (fratelli (fratello1?figlio1) (fratello2?figlio2))) ) Altre funzioni importanti (facts) visualizza la fact-list (la working memory di Jess) (agenda) visualizza il contenuto dell agenda (reset) ripristina la situazione iniziale di variabili globali, deffacts, (initial-fact) (clear) svuota l agenda e la working memory (run) inizia l esecuzione delle regole (halt) ferma l esecuzione delle regole 15

Intelligenza Artificiale I

Intelligenza Artificiale I Intelligenza Artificiale I Esercitazione 1 Marco Piastra Esercitazione 1-1 Jess? Acronimo di Java Expert System Shell Sistema scritto in Java Autore: Ernest Friedman-Hill, Sandia National Laboratories

Dettagli

Intelligenza Artificiale. Sistemi a regole

Intelligenza Artificiale. Sistemi a regole Intelligenza Artificiale Sistemi a regole Marco Piastra Sistemi a regole - 1 1 Sistemi a regole (Production Systems) Sistemi a regole - 2 Logica e sistemi a regole La logica simbolica: è un sistema per

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 1 Parte I 1.4 CLIPS: C Language Integrated Production System Introduzione all'ambiente CLIPS. Claudia

Dettagli

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_2 V1.3. Introduzione a JESS

Università di Bergamo Facoltà di Ingegneria. Intelligenza Artificiale. Paolo Salvaneschi B1_2 V1.3. Introduzione a JESS Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi B1_2 V1.3 Introduzione a JESS Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale

Dettagli

Intelligenza Artificiale Complementi ed Esercizi

Intelligenza Artificiale Complementi ed Esercizi Intelligenza Artificiale Complementi ed Esercizi Rule-Based Systems A.A. 2008-2009 Rule-Based Systems Applicazione ciclica di regole che operano su una memoria di lavoro contenente i fatti al fine di derivare

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 2 Parte III 1.4 CLIPS: C Language Integrated Production System Organizzazzione della Conoscenza in Moduli

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

L utility Unix awk [Aho-Weinberger-Kernighan] L utility Unix awk [Aho-Weinberger-Kernighan] L utility awk serve per processare file di testo secondo un programma specificato dall utente. L utility awk legge riga per riga i file ed esegue una o più

Dettagli

Università degli Studi di Bari Dipartimento di Informatica. Laboratorio di ICSE. CLIPS - Parte 1 - Nicola Di Mauro ndm@di.uniba.it

Università degli Studi di Bari Dipartimento di Informatica. Laboratorio di ICSE. CLIPS - Parte 1 - Nicola Di Mauro ndm@di.uniba.it Università degli Studi di Bari Dipartimento di Informatica Laboratorio di ICSE CLIPS - Parte 1 - Nicola Di Mauro ndm@di.uniba.it Claudio Taranto claudio.taranto@di.uniba.it Contatti Contatti Studio: stanza

Dettagli

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

Dettagli

Esercitazione CLIPS. Realizzazione di un Sistema a Regole per la Risoluzione del Problema dell'agricoltore

Esercitazione CLIPS. Realizzazione di un Sistema a Regole per la Risoluzione del Problema dell'agricoltore Esercitazione CLIPS Realizzazione di un Sistema a Regole per la Risoluzione del Problema dell'agricoltore 1 Dati: IL PROBLEMA DELL AGRICOLTORE, IL CAVOLO, LA PECORA, IL LUPO Situazione Iniziale: Sulla

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: Il Linguaggio OPS5

Intelligenza Artificiale. A n n o A c c a d e m i c o La Rappresentazione della Conoscenza: Il Linguaggio OPS5 Intelligenza Artificiale A n n o A c c a d e m i c o 2 0 0 8-2 0 0 9 La Rappresentazione della Conoscenza: Il Linguaggio OPS5 1 Sommario Introduzione al linguaggio OPS5 La working memory Le regole di produzione

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Esercitazione CLIPS (I)

Esercitazione CLIPS (I) Esercitazione CLIPS (I) 1 Dati: IL PROBLEMA DELL AGRICOLTORE, IL CAVOLO, LA PECORA, IL LUPO Situazione Iniziale: Sulla riva di un fiume ci sono un agricoltore, una pecora, un lupo ed un cavolo. Situazione

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Macchine astratte, linguaggi, interpretazione, compilazione

Macchine astratte, linguaggi, interpretazione, compilazione Macchine astratte, linguaggi, interpretazione, compilazione 1 Macchine astratte una collezione di strutture dati ed algoritmi in grado di memorizzare ed eseguire programmi componenti della macchina astratta

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

Scopo: 1. Acquisire conoscenza dell ambiente SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog

Scopo: 1. Acquisire conoscenza dell ambiente SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog Prolog Esercitazione del 24 Aprile 2011 Scopo: 1. Acquisire conoscenza dell ambiente SWI Prolog 2. Risolvere alcuni problemi mediante il linguaggio Prolog Prendere dimestichezza con un approccio DICHIARATIVO

Dettagli

MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS

MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS Revisione 1.0 Beta Ultimo Aggiornamento: 07/12/2010 SOMMARIO Panoramica... 3 Gli eventi tracciati... 3 I report... 4 Struttura... 4 Report / Object...

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Sistemi a regole. Sistemi a regole [di produzione] Sistemi a regole in avanti/di produzione. Modello di computazione.

Sistemi a regole. Sistemi a regole [di produzione] Sistemi a regole in avanti/di produzione. Modello di computazione. Sistemi a regole Sistemi a regole [di produzione] Maria Simi a.a. 008/009 Fin qui: sistemi a regole come caso particolare di inferenza logica Storicamente uno dei meccanismi di rappresentazione della conoscenza

Dettagli

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore

scrivere window.alert(). 2 Nell esempio sarebbe scritto solo var hello, senza pertanto attribuire alla variabile hello alcun valore In genere il metodo alert() è usato per verificare il valore delle variabili durante la fase di correzione degli errori (debugging), fase che può essere svolta anche con l ausilio di appositi programmi

Dettagli

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Introduzione alla Programmazione Logica ed al linguaggio PROLOG Introduzione alla Programmazione Logica ed al linguaggio PROLOG Esercitazioni per il corso di Logica ed Intelligenza Artificiale a.a. 2014/15 Paolo Tomeo http://sisinflab.poliba.it/tomeo Programmazione

Dettagli

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set PATH Shell: variabili di sistema HOME USER PWD SHELL HOSTNAME HOSTTYPE Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il

Dettagli

Programmazione web lato client con JavaScript. Marco Camurri 1

Programmazione web lato client con JavaScript. Marco Camurri 1 Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

Scopo del laboratorio

Scopo del laboratorio p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Dettagli

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,

Dettagli

Progetto II: Il linguaggio C e le chiamate di sistema sui processi

Progetto II: Il linguaggio C e le chiamate di sistema sui processi Progetto II: Il linguaggio C e le chiamate di sistema sui processi Scrivere un programma C psstat.c che svolga quanto segue: se invocato senza parametri deve stampare su standard output un istogramma orizzontale

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

Dettagli

Programmazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0

Programmazione logica e PROLOG. Esercitazione 1. AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Programmazione logica e PROLOG Esercitazione 1 AI - Carlucci Aiello & Nardi, 2007 Esercitazione 1 0 Sommario Programmazione logica Base delle conoscenze Interrogazioni Regole Ricorsive Esecuzione dei programmi

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C

Tipi di dati strutturati e Linguaggio C. Record o strutture Il costruttore struct in C Tipi di dati strutturati e Linguaggio C Record o strutture Il costruttore struct in C Dati strutturati Record Un record o struttura è una struttura dati ottenuta aggregando elementi di tipo diverso che

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Fondamenti di Informatica Il linguaggio C

Fondamenti di Informatica Il linguaggio C Fondamenti di Informatica Il linguaggio C http://agile.diee.unica.it mario.locci@diee.unica.it March 19, 2008 1 Contents 1 Introduzione 3 1.1 Compilatore............................ 3 1.2 Il linguaggio

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm

Dettagli

Analizzatori Lessicali con JLex. Giuseppe Morelli

Analizzatori Lessicali con JLex. Giuseppe Morelli Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica

Dettagli

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017 Elaborato Shell Elementi di architettura e sistemi operativi 2016/2017 Introduzione passwd è il file di configurazione di sistema in cui sono memorizzate alcune delle informazioni relative agli account

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Capitolo 5 - Funzioni

Capitolo 5 - Funzioni Capitolo 5 - Funzioni Divide and conquer Introduzione Costruire un programma da pezzi più piccoli o da singole componenti Questi pezzi più piccoli sono chiamati moduli Ogni singolo pezzo è più facilmente

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript 1 Il Problema computazionale È computazionale

Dettagli

perror: individuare l errore quando una system call restituisce -1

perror: individuare l errore quando una system call restituisce -1 perror: individuare l errore quando una system call restituisce -1 Quando una system call (o una funzione di libreria) non va a buon fine, restituisce come valore -1 Come si fa a sapere più precisamente

Dettagli

Università degli Studi di Bari Dipartimento di Informatica. Laboratorio di ICSE. CLIPS - Parte 3 - Claudia d'amato claudia.damato@di.uniba.

Università degli Studi di Bari Dipartimento di Informatica. Laboratorio di ICSE. CLIPS - Parte 3 - Claudia d'amato claudia.damato@di.uniba. Università degli Studi di Bari Dipartimento di Informatica Laboratorio di ICSE CLIPS - Parte 3 - Claudia d'amato claudia.damato@di.uniba.it Claudio Taranto claudio.taranto@di.uniba.it Conoscenza procedurale

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf(

Corso di Fondamenti di Programmazione canale E-O ... Un esempio per iniziare. printf) Altri cenni su printf() Esercizi 8. (printf( Corso di Fondamenti di Programmazione canale E-O Tiziana Calamoneri Il controllo del programma in C DD Cap. 3, pp.91-130 Un esempio per iniziare /* calcolo di 8!*/ #define C 8 int i=1; int fatt=1; while

Dettagli

Sintassi. Logica. Sintassi di Matita. Claudio Sacerdoti Coen. Universitá di Bologna 16,18/10/2017. Claudio Sacerdoti Coen

Sintassi. Logica. Sintassi di Matita. Claudio Sacerdoti Coen. Universitá di Bologna 16,18/10/2017. Claudio Sacerdoti Coen Logica di Matita Universitá di Bologna 16,18/10/2017 Outline 1 dei termini di Matita Termini: t ::= x c t t λx : T.t... x sono variabili (potete usare qualunque identificatore) c

Dettagli

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ])

Funzioni. function [<risultati>] = nome_funzione ([ par.formali ]) MATLAB Le funzioni Funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, calcola un valore come risultato, esattamente come avviene anche per una

Dettagli

Algoritmi e basi del C Struttura di un programma

Algoritmi e basi del C Struttura di un programma Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

2 Lavorare con Eclipse

2 Lavorare con Eclipse Corso Eclipse 2 Lavorare con Eclipse 1 Prerequisiti Conoscenza elementare ambiente Eclipse Compilare ed eseguire semplici applicazioni Java Conoscere i tipici errori di programmazione Individuare errori

Dettagli

DROOLS in Laboratorio teoria e pratica di un sistema a regole

DROOLS in Laboratorio teoria e pratica di un sistema a regole DROOLS in Laboratorio teoria e pratica di un sistema a regole Denis Ferraretti denis.ferraretti @ unife.it January 19, 2011 Outline 1 Introduzione - Drools 2 Richiami di teoria... 3 Drools - Componenti

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA INGEGNERIA DELLA CONOSCENZA E SISTEMI ESPERTI (a.a. 2010-2011) MODULO 1 Parte II 1.4 CLIPS: C Language Integrated Production System I fatti ordinati ed I Template. Claudia

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Il Problema computazionale È computazionale un

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO

Raccolta di tutorial Python #1: basi e Tkinter dal sito francescomilanese.com SOMMARIO Prima parte: le basi di Python 1. Introduzione. Cosa ci serve, cosa è richiesto, cosa faremo. Note sull'indentazione 1 Introduzione 1 Scrittura degli script: l'idle 2 Importare moduli in uno script 3 I

Dettagli

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1

Valori Alfanumerici. Informatica di Base -- R.Gaeta 1 Valori Alfanumerici Finora abbiamo utilizzato solo valori numerici; Se vogliamo usare valori alfanumerici (caratteri e numeri), usiamo le stringhe; In Logo le stringhe si delimitano con le parentesi quadre;

Dettagli

Usare Python in Linux

Usare Python in Linux 26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni

Dettagli

Python Avanzato. Loris Michielutti. Loris Michielutti

Python Avanzato. Loris Michielutti. Loris Michielutti Agosto 2006 Namespace - Visibilita' delle variabili Moduli - File che contengono definizioni e istruzioni Package - Organizzare lo spazio dei nomi Istruzioni speciali - Alcune istruzioni speciali 1 Accesso

Dettagli

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement

Gli statement. Gli statement. Gli statement. Gli statement. Gli statement Ogni istruzione di uno script viene chiamata statement. La fine di uno statmenet e' indicata dal simbolo ;. Anche se in ActionScript il ; è opzionale, si consiglia di metterlo ugualmente per aumentare

Dettagli

Sistema Esperto per il Consiglio di vini data una portata

Sistema Esperto per il Consiglio di vini data una portata Sistema Esperto per il Consiglio di vini data una portata Struttura della conoscenza Template per i vini Template per la generalizzazione della carne Template per il pesce Template per i primi Eventuale

Dettagli

Laboratorio di Python

Laboratorio di Python , Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono

Dettagli

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017 L.1.2. Introduzione a MATLAB e Strutture Dati www.u4learn.it Alessandro Bruno Programmazione Parallela in MATLAB Client,

Dettagli

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package Gestione di File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

Espressioni aritmetiche

Espressioni aritmetiche Espressioni aritmetiche Consideriamo espressioni costruite a partire da variabili e costanti intere mediante applicazione delle operazioni di somma, sottrazione, prodotto e divisione (intera). Ad esempio:

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

D B M G Il linguaggio HTML

D B M G Il linguaggio HTML Programmazione Web Il linguaggio HTML Il linguaggio HTML Concetti di base Le interfacce utente in HTML I form Le tabelle Il passaggio dei parametri contenuti nei form @2011 Politecnico di Torino 1 Concetti

Dettagli

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell Lab. di Sistemi Operativi - Esercitazione - Comandi Shell 1 - Esercizi Comandi Unix - 2 Esercizio n 0 0a) creare una cartella EsercitazioneLSO-1 nella directory di lavoro 0b) creare un file testo chiamato

Dettagli

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza

Triggers. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Triggers Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica Università di Roma La Sapienza Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati prodotti

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario

Dettagli

Espressioni e Comandi

Espressioni e Comandi Espressioni e Comandi March 24, 2017 Elementi di Base dei Programmi Ricordate? Macchina Astratta: Insieme di algoritmi e strutture dati che permettono di memorizzare ed eseguire programmi Abbiamo parlato

Dettagli

L ambiente di un processo (I)

L ambiente di un processo (I) L ambiente di un processo (I) L ambiente di un processo è un insieme di stringhe (terminate da \0). Un ambiente è rappresentato da un vettore di puntatori a caratteri terminato da un puntatore nullo. Ogni

Dettagli

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Variabili. Unità 2. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli