XML: XQuery - XML Query Language

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "XML: XQuery - XML Query Language"

Transcript

1 Xquery 1.0: W3C Recommendation del 23 gennaio 2007 XQuery è per XML come SQL per i database XQuery è costruito su espressioni XPath XQuery è supportato nei maggiori DBMS (IBM, Oracle, Microsoft, etc...) XQuery è un linguaggio per trovare ed estrarre elementi ed attributi da documenti XML.

2 XQuery utilizza delle funzioni per estrarre dati da documenti XML La funzione doc() si usa per aprire un file XML: doc("pizze.xml") XQuery utilizza delle path expressions per navigare gli elementi di un documento XML.

3 XQuery utilizza i predicati (come in XPath) per imporre delle limitazioni sui dati da estrarre. doc("pizze.xml")/menu/pizza[prezzo>5] <pizza> <nome>margherita</nome> <ingredienti>...</ingredienti> <prezzo>6</prezzo> <aggiunte>...</aggiunte> </pizza> <pizza> <nome>prosciutto e Funghi</nome> <ingredienti>...</ingredienti> <prezzo>6.5</prezzo> <aggiunte/> </pizza>

4 doc("pizze.xml")/menu/pizza[prezzo>5]/nome <nome>margherita</nome> <nome>prosciutto e Funghi</nome> Espressioni FLWOR: acronimo per "For, Let, Where, Order by, Return". for $x in doc("pizze.xml")/menu/pizza where $x/prezzo>5 order by $x/nome return $x/nome Si ottiene il medesimo risultato!!!

5 for seleziona tutti gli elementi pizza nel menu e li mette nella variabile $x. where seleziona solo le pizze che hanno un valore per l'elemento prezzo superiore a 5 order by definisce l'ordinamento, nel nostro caso per nome return specifica cosa deve essere restituito

6 for (opzionale): associa ad una variabile ogni oggetto restituito dall'espressione che segue in let (opzionale): permette l'assegnazione di variabili where (opzionale): specifica dei criteri di selezione order by (opzionale): definisce l'ordinamento dei risultati return specifica cosa deve essere restituito nei risultati

7 <ul> { for $x in doc("pizze.xml")/menu/pizza/nome order by $x return <li>{$x}</li> } </ul> <ul> { for $x in doc("pizze.xml")/menu/pizza/nome order by $x return <li>{data($x)}</li> } </ul>

8 In XQuery sono presenti sette tipi di nodi: Element node, Attribute node, Text node, Namespace node, Processing-instruction node, Comment node, document (root) node. Come al solito i documenti XML vengono trattati come alberi di nodi. La radice dell'albero è il document node o root node (nodo radice)

9 Analizzando il solito documento XML pizze.xml: <menu> è il document node o root node <ingrediente>pomodoro</ingrediente> è un element node prezzo="1" è un attribute node Sono considerati valori atomici quei nodi che non hanno figli o genitori: Pomodoro "1" Nodi e valori atomici vengono detti Items (oggetti)

10 Relazioni tra nodi (come visto in XPath): parent, children, sibilings, ancestors, descendants.

11 Regole sintattiche basilari: XQuery è case-sensitive (come XML) In XQuery variabili, elementi ed attributi devono essere dei nomi validi per XML In XQuery una stringa può essere racchiusa tra singoli o doppi apici In XQuery si definisce una variabile anteponendo il carattere $ al suo nome ($x) In Xquery i commenti sono racchiusi dai caratteri : (: ecco un commento :)

12 Espressioni Condizionali (if-then-else) Attenzione: le parentesi dell'if sono obbligatorie, anche l'else è obbligatorio anche se può essere eventualmente indicato con else (). for $x in doc("pizze.xml")/menu/pizza return if ($x/ingredienti/ingrediente="pomodoro") then <normale>{data($x/nome)}</normale> else <bianca>{data($x/nome)}</bianca>

13 Confrontare dei valori In XQuery ci sono due modi per fare dei confronti: General comparisons : =,!=, <, <=, >, >= Value comparisons: eq, ne, lt, le, gt, ge $menu/pizza/prezzo > 10 Restituisce true se ci sono dei valori di prezzo > 10 $menu/pizza/prezzo gt 10 Restituisce true se c'è solo un elemento prezzo restituito dall'espressione ed il suo valore è > 10. Se ce n'è più di uno si verifica un errore.

14 FOR - 1 Specifica un ciclo iterativo. for $x in (1 to 3) return <prova>{$x}</prova> <prova>1</prova> <prova>2</prova> <prova>3</prova>

15 FOR - 2 Specifica un ciclo iterativo, la parola chiave at (opzionale) serve per contare il numero di iterazioni. for $x at $i in doc("pizze.xml")/menu/pizza/nome return <pizza>{$i}. {data($x)}</pizza> <pizza>1. Marinara</pizza> <pizza>2. Margherita</pizza> <pizza>3. Primavera</pizza> <pizza>3. Prosciutto e Funghi</pizza>

16 FOR - 3 E' possibile avere più espressioni seprate da,. for $x in (1,2), $y in (10,20) return <prova>x={$x} e y={$y}</prova> <prova>x=1 and y=10</prova> <prova>x=1 and y=20</prova> <prova>x=2 and y=10</prova> <prova>x=2 and y=20</prova>

17 WHERE Permette di specificare dei criteri di selezione where $x/prezzo>5 and $x/prezzo<9

18 ORDER BY Permette di specificare l'ordinamento, come in SQL è possibile specificare ordinamenti successivi for $x in doc("pizze.xml")/menu/pizza order by $x/prezzo, $x/nome return $x/nome Ordina prima per prezzo e quindi per nome <nome>marinara</nome> <nome>primavera</nome> <nome>prosciutto e Funghi</nome> <nome>margherita</nome>

19 RETURN Specifica cosa viene restituito for $x in doc("pizze.xml")/menu/pizza return $x/nome <nome>marinara</nome> <nome>margherita</nome> <nome>primavera</nome> <nome>prosciutto e Funghi</nome>

20 FUNZIONI 1 XQuery 1.0, XPath 2.0, e XSLT 2.0 condividono la medesima libreria di funzioni. Per XQuery valgono quindi le stesse funzioni (abbiamo illustrato le principali) viste per XPath <nome>{uppercase($nome)}</nome> doc("pizze.xml")/menu/pizza[substring(nome,1,10)='prosciutto'] let $ingrediente := (substring($nome,1,10))

21 FUNZIONI 2 (definite dall'utente) declare function prefix:nome_funzione ($var AS datatype) AS returndatatype { (: codice della funzione :) }; Il nome della funzione DEVE avere un prefisso I tipi di dato sono generalmente quelli disponibili per XMLSchema

22 FUNZIONI 2 (definite dall'utente) UN ESEMPIO declare function local:sconto20 ($unprezzo) { let $sconto := ($unprezzo * 20) div 100 return ($unprezzo - $sconto ) }; for $x in doc("pizze.xml")/menu/pizza return <prezzoscontato>{local:sconto20($x/prezzo)}</prezzoscontato>

XPath. XPath. Riferimenti. Alcuni esempi / 1

XPath. XPath. Riferimenti. Alcuni esempi / 1 XPath Moreno Marzolla INFN ezione di Padova moreno.marzolla@pd.infn.it http://www.dsi.unive.it/~marzolla Riferimenti Erik T. Ray, Learning XML, O'Reilly, First Edition, January 2001 IBN: 0-59600-046-4,

Dettagli

YAWL Workflow Management System

YAWL Workflow Management System YAWL Workflow Management System Gabriele Pozzani Barbara Oliboni Sistemi informativi aziendali Laurea magistrale in Ingegneria e scienze informatiche http://www.yawlfoundation.org/ Materiale prodotto da:

Dettagli

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML.

XPATH e XQUERY. Linguaggi di query XML. Esempio di DTD. Esempio di documento. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. XPATH e XQUERY Linguaggi di query XML XPATH XQUERY Leggere capitolo 6 Atzeni et al. XPATH e un linguaggio per descrivere percorsi (path) in documenti XML. Percorsi attraverso il grafo di dati semistrutturati.

Dettagli

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi.

Il documento XML ha per sua natura una struttura ad albero, e quindi sono individuabili una serie di nodi. XML: XPath XPath, acronimo di XML Path Language è un linguaggio il cui scopo è quello di identificare particolari nodi o set di nodi all'interno di un documento XML. Il documento XML ha per sua natura

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

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

Dettagli

LEZIONE BASI DI DATI I 22/10/2008 XML

LEZIONE BASI DI DATI I 22/10/2008 XML LEZIONE BASI DI DATI I 22/10/2008 XML Il linguaggio XML (Extended Markup Language) è uno standard per la strutturazione dei dati sul web. A differenza di html, che è utilizzato per formattare documenti

Dettagli

Il linguaggio XQuery

Il linguaggio XQuery XQuery in breve! XQuery è un linguaggio di interrogazione per dati espressi in XML, e può essere dunque utilizzato per accedere a documenti strutturati e semi-strutturati.! E diventato una Recommendation

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: XBase, XPath e XPointer 2 XBase, XPath, XPointer e XLink 3 XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link ipertestuali

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

I Formati per l'interscambio dei Dati XML, Json, YAML,...

I Formati per l'interscambio dei Dati XML, Json, YAML,... I Formati per l'interscambio dei Dati XML, Json, YAML,... Tito Flagella Laboratorio Applicazioni Internet - Università di Pisa Slide Title Il progenitore: XDR 2 Slide Il linguaggio Title XDR /* dir.x:

Dettagli

Esercizio 1. a * 10 + (20 b) a b. Tecnologie dei Linguaggi Artificiali Esercizi Yacc

Esercizio 1. a * 10 + (20 b) a b. Tecnologie dei Linguaggi Artificiali Esercizi Yacc Esercizio 1 Usando Yacc e Lex, codificare un generatore di alberi astratti relativi alla seguente grammatica: program expr expr expr + term expr term term term term * term / ( expr ) num Ecco un esempio

Dettagli

Controllo di flusso negli script: if-then-else

Controllo di flusso negli script: if-then-else Controllo di flusso negli script: if--else Il coman condizionale if condition_command true_commands else false_commands esegue il coman condition command e utilizza il suo exit status per decidere se eseguire

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

a strange language, shaped as much by history as by design

a strange language, shaped as much by history as by design a strange language, shaped as much by history as by design Kernigham & Pike Percorso 5 Bash script 2 Il primo script Percorso 5 Bash script 3 Esecuzione Percorso 5 Bash script 4 Variabili # la variabile

Dettagli

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...

SOMMARIO: linguaggio xml. Contenuti. A cura dell Ing. Buttolo Marco INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML... linguaggio xml A cura dell Ing. Buttolo Marco SOMMARIO: Contenuti INTRODUZIONE...2 STRUTTURA DOCUMENTO XML...2 VISUALIZZAZIONE DOCUMENTI XML...4 1 of 7 INTRODUZIONE: XML è l acronimo di extensible Markup

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

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

Librerie digitali. Uso di XML per memorizzare i metadati. Descrizione generale. XML per memorizzare i metadati. Motivi dell uso di XML

Librerie digitali. Uso di XML per memorizzare i metadati. Descrizione generale. XML per memorizzare i metadati. Motivi dell uso di XML Librerie digitali Uso di XML per memorizzare i metadati Descrizione generale Ad ogni dato associo un file XML che descrive il contenuto del dato stesso Memorizzo su file system sia il dato sia il file

Dettagli

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone.

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone. Linguaggio utilizzato: C# IDE utilizzato: Visual Studio 2010 Andreetta Stefano Argomenti trattati: Caricamento di un

Dettagli

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi

Cominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati

Il linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei

Dettagli

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale

I Dati. Prestito: prevede un utente che ha ricevuto in prestito un certo libro identificato dal suo codice Secondo il modello Relazionale I Dati biblioteca: contiene piu libro e schede prestito libro: identificato da un codice univoco, presenta un titolo, un autore formato da nome e cognome, un editore ed alcune parole chiave. Inoltre mantiene

Dettagli

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

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. XQuery. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XQuery Eufemia TINELLI Contenuti XQuery come linguaggio di interrogazione di XML data Modello

Dettagli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli

Il C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

Struttura di un linguaggio

Struttura di un linguaggio Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

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

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

Dettagli

Tecnologie per XML. Tecnologie per XML. Cosa vedremo oggi. strutturati. Dati semi-strutturati. Cosa vedremo domani.

Tecnologie per XML. Tecnologie per XML. Cosa vedremo oggi. strutturati. Dati semi-strutturati. Cosa vedremo domani. Progetto di sistemi informatici 2003 - Tecnologie per XML Paolo Papotti papotti@dia.uniroma3.it Lab. basi di dati Cosa vedremo oggi Richiami di XML Rappresentazione dati Sintassi Schemi Tecnologie per

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml)

Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml) Laboratorio 3 (SmallC: Alberi Astratti con Tipi Algebrici in OCaml) Sommario: 6 aprile, 2018 - Ocaml: Tipi Algebrici o Concreti. Sintassi Astratta: Esprimiamo Dcl con Tipi Algebrici OCaml. Programmare

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

XBase, XPath e XPointer WWW. Fabio Vitali

XBase, XPath e XPointer WWW. Fabio Vitali XBase, XPath e XPointer Introduzione Qui esaminiamo: u XBase, XPath e XPointer 2 XML Base, XPath, XPointer e XLink XBase, XPath, XPointer e XLink sono quattro documenti di W3C per la specifica di link

Dettagli

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML

Laboratorio di sistemi interattivi. Struttura di un applicazione Java-XML. Lezione 12: Java & XML Laboratorio di sistemi interattivi Lezione 12: Java & XML 1 Struttura di un applicazione Java-XML Parser analizza il contenuto di un file XML Produce eventi in corrispondenza delle diverse componenti Eventi

Dettagli

VARIABILI, ASSEGNAZIONE, DECISIONI

VARIABILI, ASSEGNAZIONE, DECISIONI LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm

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

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it L'importanza di capire Perché non dobbiamo dichiarare

Dettagli

PROGRAMMAZIONE 1 e LABORATORIO (A,B) - a.a Prova scritta del 10/01/2012 SOLUZIONI PROPOSTE

PROGRAMMAZIONE 1 e LABORATORIO (A,B) - a.a Prova scritta del 10/01/2012 SOLUZIONI PROPOSTE PROGRAMMAZIONE 1 e LABORATORIO (A,B) - a.a. 2011-2012 Prova scritta del 10/01/2012 SOLUZIONI PROPOSTE ESERCIZIO 1 (punti 5) Un albero discendente a destra (dad) è: una foglia un nodo con n figli ordinati

Dettagli

IL LINGUAGGIO SQL LE BASI

IL LINGUAGGIO SQL LE BASI IL LINGUAGGIO SQL LE BASI DB DI RIFERIMENTO PER GLI ESEMPI 2 ESPRESSIONI NELLA CLAUSOLA SELECT La SELECT list può contenere non solo attributi, ma anche espressioni: Le espressioni possono comprendere

Dettagli

Alberi ( GT. 7 ) In informatica, un albero è un modello astratto con cui viene rappresentata una struttura gerarchica

Alberi ( GT. 7 ) In informatica, un albero è un modello astratto con cui viene rappresentata una struttura gerarchica Alberi ( GT. 7 ) Albero definizioni Albero ADT (Abstract Data Type) Algoritmi di base su alberi Alberi binari Strutture dati per rappresentare alberi Implementazione AlberoBinario 1 Alberi (GT. 7) In informatica,

Dettagli

strutturati November 23, 2017

strutturati November 23, 2017 strutturati November 23, 2017 1 Documenti strutturati (cap 15) I documenti strutturati si possono rappresentare come alberi i cui nodi definiscono le differenti sezioni del documento, che a loro volta

Dettagli

Prova di Algoritmi e s.d. (1o anno) 17 Settembre TESTO e RISPOSTE

Prova di Algoritmi e s.d. (1o anno) 17 Settembre TESTO e RISPOSTE Prova di Algoritmi e s.d. (1o anno) 17 Settembre 2002 TESTO e RISPOSTE Esercizio 1 (punti 7 in prima approssimazione) Consideriamo alberi binari con insieme dei nodi NODI = N (l'insieme dei naturali).

Dettagli

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Lezione 5: Controllo del flusso e costrutti avanzati

Lezione 5: Controllo del flusso e costrutti avanzati Lezione 5: Controllo del flusso e costrutti avanzati Laboratorio di Elementi di Architettura e Sistemi Operativi 20 Marzo 2013 Parte 1: Il valore di uscita di un processo Il valore di uscita di un processo

Dettagli

XQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML

XQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML ;4XHU\ XQuery Il linguaggio XQuery è lo standard adottato dal W3C per la manipolazione e ristrutturazione di documentid XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare

Dettagli

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript

Programmazione lato client. JavaScript. Applicazioni di Rete M. Ribaudo - DISI. JavaScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) 1 Linguaggio di script interpretato con alcune caratteristiche Object Oriented

Dettagli

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:

Il C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico: Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript

JavaScript JavaScript Programmazione lato client JScript JavaScript ECMAScript Programmazione lato client Netscape: Microsoft: JScript ECMAScript (ECMA-262) (European Computer Manufactures Association) Linguaggio di script interpretato con alcune caratteristiche Object Oriented HTTP

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Istruzioni Condizionali Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

Colloquio di informatica (5 crediti)

Colloquio di informatica (5 crediti) Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in Scienze Ambientali A.A. 2013-2014 - II semestre Colloquio di informatica (5 crediti) Prof. Pier Giorgio

Dettagli

Algoritmo di ordinamento sul posto che ha tempo di esecuzione :

Algoritmo di ordinamento sul posto che ha tempo di esecuzione : QuickSort Algoritmo di ordinamento sul posto che ha tempo di esecuzione : O(n2 ) nel caso peggiore O(n log n) nel caso medio Nonostante le cattive prestazioni nel caso peggiore, rimane il miglior algoritmo

Dettagli

PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL

PL/SQL e PLpgSQL. Audiolezione 28b. Necessità. Soluzioni. Embedded SQL. Alfio Ferrara - Stefano Montanelli. Estensioni procedurali di SQL Audiolezione 28b Corso di Basi di Dati e Laboratorio PL/SQL e PLpgSQL Alfio Ferrara - Stefano Montanelli A.A. 2005/2006 Basi di Dati e Laboratorio 1 Estensioni procedurali di SQL Necessità Disporre di

Dettagli

Problemi di ordinamento

Problemi di ordinamento Problemi di ordinamento Input: una sequenza di n numeri a 1, a 2,..., a n ; Output: una permutazione a 1, a 2,..., a n di a 1, a 2,..., a n tale che a 1 a 2... a n. Generalmente, la sequenza è rappresentata

Dettagli

XQuery in DB2, Oracle ed SQL Server

XQuery in DB2, Oracle ed SQL Server XQuery in DB2, Oracle ed SQL Server Introduzione l Analizziamo il supporto allo standard XQuery fornito dai DBMS più diffusi, evidenziando eventuali differenze tra lo standard e le sue implementazioni.

Dettagli

Programmazione Matlab

Programmazione Matlab MatLab Lezione 2 Programmazione Matlab MATLAB vs. C++ File sorgente C++: sono trasformati in linguaggio macchina dal compilatore; MATLAB: sono interpretati; Tipi di dato C++: è necessario specificare il

Dettagli

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

System.out.print(\tATTENZIONE: hi inserito un valore non valido!\n); Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public

Dettagli

QuickSort Università degli Studi di Milano

QuickSort Università degli Studi di Milano QuickSort Algoritmo di ordinamento sul posto che ha tempo di esecuzione : - O(n 2 ) nel caso peggiore - O(n log n) nel caso medio Nonostante le cattive prestazioni nel caso peggiore, rimane il miglior

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

Analizzatore lessicale

Analizzatore lessicale Analizzatore lessicale Legge la stringa in input e la trasforma in un flusso di token da sottoporre all analizzatore sintattico. Le frasi di un linguaggio sono stringhe di token (simboli atomici). Richieste

Dettagli

TMS. Tecnologie dell informazione: mercato, società, cultura

TMS. Tecnologie dell informazione: mercato, società, cultura TMS Tecnologie dell informazione: mercato, società, cultura Contenuti della presentazione HTML W3C XML DTD Web Client Web Server Un esempio di pagina HTML Cosa c è dietro questa pagina?

Dettagli

Identifying Meaningful Return Information for XML Keyword Search

Identifying Meaningful Return Information for XML Keyword Search Identifying Meaningful Return Information for XML Search Data: 3 Marzo 08 Sessione 1 Andrea Cirri Christian Florio (Relatore) Davide Gasbarro Presentazione Lavoro sviluppato nell Arizona State University

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Progetto Software. Parser per il linguaggio di programmazione JPreBus. JPreBusParser 1.0

Progetto Software. Parser per il linguaggio di programmazione JPreBus. JPreBusParser 1.0 Progetto Software Parser per il linguaggio di programmazione JPreBus JPreBusParser 1.0 INDICE CONSULTAZIONE RAPIDA Informazioni fondamentali (specifiche formali): 1. SPECIFICHE EBNF PRESENTAZIONE 2. SPECIFICHE

Dettagli

Ripasso di programmazione ricorsiva

Ripasso di programmazione ricorsiva Ripasso di programmazione ricorsiva Ripasso di programmazione ricorsiva Algoritmo ricorsivo: algoritmo espresso in termini di se stesso. Programmazione iterativa e programmazione ricorsiva sono equivalenti.

Dettagli

Alberi Binario in Java

Alberi Binario in Java Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un

Dettagli

QL (Query Language) Alice Pavarani

QL (Query Language) Alice Pavarani QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione

Dettagli

XPATH XML Path Language

XPATH XML Path Language Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XPATH XML Path Language Eufemia TINELLI Contenuti Strumenti per navigare un albero XML Percorsi

Dettagli

Lezione 10 Alberi e gestione delle eccezioni

Lezione 10 Alberi e gestione delle eccezioni Lezione 10 Alberi e gestione delle eccezioni Informatica 5 Maggio 2016 1 Visita in ampiezza ed esercizi Esercizio: stampa per livelli Scrivere una funzione che stampa le etichette di tutti i nodi dell

Dettagli

Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.

Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco. Alberi Alberi Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo Fosco Dora Drogo Frodo Dudo Daisy Alberi Gli alberi sono una generalizzazione

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

Script di shell (bash)

Script di shell (bash) Script di shell (bash) Shell di Unix Esistoni diversi shell: Bourne Shell CShell Korn Shell Tc Shell etc. Interfaccia di alto livello tra utente e sistema operativo. init shell utente 1 shell utente 2

Dettagli

Fondamenti Teorici e Programmazione

Fondamenti Teorici e Programmazione Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Variabili e Assegnamento Seconda Parte 2 Variabili Una variabile è un identificatore a cui è associato

Dettagli

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env

Per visualizzare il valore di tutte le variabili d ambiente si usa il comando env Tipi di Shell sh Bourne shell csh C shell ksh Korn shell bash Bourne Again (Bash) shell tcsh TENEX C shell zsh Z shell rc rc shell es es shell à csh e bash sono le più comuni. Per cambiare il tipo di shell

Dettagli

Ingredienti sintattici di Java

Ingredienti sintattici di Java Ingredienti sintattici di Java Eugenio G. Omodeo Dip. Matematica e Geoscienze DMI Trieste, 23/09/2015 Eugenio G. Omodeo Ingredienti sintattici di Java 1/7 Specificare ( Dizionario online tratto da: Grande

Dettagli

Prof. Pagani corrado XML

Prof. Pagani corrado XML Prof. Pagani corrado XML INTRUDUZIONE ALL XML Contrariamente a quanto comunemente si pensa, l extensible Markup Language (XML) non è l ennesimo linguaggio di markup né l evoluzione dell HTML. L XML è un

Dettagli

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21 Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...

Dettagli

Laboratorio di Informatica. Lezione 8: Liste e alberi

Laboratorio di Informatica. Lezione 8: Liste e alberi Laboratorio di rmatica Lezione 8: Liste e alberi Il programma della lezione 7 (parte 1) #include #include typedef struct node char key[20]; int volte; struct node *psnnext; NODE, *PNODE;

Dettagli

Esame Informatica Generale 13/04/2016 Tema A

Esame Informatica Generale 13/04/2016 Tema A Esame Informatica Generale 13/04/2016 Tema A! 1/! Quesito 1 (punteggio 2) Si considerino le seguenti istruzioni del linguaggio c/c++. int x[100]; void fz(int[], double[], double*); // puntatori void fz(int[],

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 7: Istruzioni ed Operatori Booleani Vittorio Scarano Corso di Laurea in Informatica Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo Operatori relazionali

Dettagli

Laboratorio di Informatica L-A

Laboratorio di Informatica L-A Menù V3 Progettare un componente che consenta la visualizzazione di menù multilivello Ogni menù può a sua volta contenere un altro menù Un menù è composto di varie voci, ognuna delle quali può essere composta

Dettagli

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ TRADUZIONE DI STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+ a cura di: Eleonora Antonelli Simone Maletta Stefano Novara INDICE 1. Grammatica di TLA+ a cura di Eleonora Antonelli

Dettagli

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW

C++ funzioni Alberto Ferrari. Alberto Ferrari Programmazione di applicazioni SW C++ funzioni Alberto Ferrari http://en.cppreference.com FUNZIONI le funzioni caratterizzate da nome, parametri (numero, ordine e tipo) e tipo di ritorno le funzioni hanno un prototipo il prototipo non

Dettagli

Linguaggio C: Strutture e Liste Concatenate Valeria Cardellini

Linguaggio C: Strutture e Liste Concatenate Valeria Cardellini Linguaggio C: Strutture e Liste Concatenate Valeria Cardellini Corso di Calcolatori Elettronici A.A. 2018/19 Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica

Dettagli

Definizioni syntax-directed

Definizioni syntax-directed Definizioni syntax-directed Esempio: Notazione infissa Notazione postfissa Produzioni E E 1 + T E E 1 T E T T 0 T 1 T 2... T 9 Regole semantiche E.t := E 1.t _T.t _ + E.t := E 1.t _T.t _ - E.t := T.t T.t

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione su XML: Librerie per XML versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Esercitazione Highcharts

Esercitazione Highcharts Esercitazione Highcharts Esercizio 1 Visualizzare i risultati della Web API popolazione.php attraverso un grafico a barre. Soluzione Per poter rappresentare i risultati della Web API popolazione attraverso

Dettagli

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione

Alberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico

Dettagli

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script

Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Sapienza Università di Roma corso di laurea in Ingegneria informatica e automatica Linguaggi e tecnologie per il Web a.a. 2018/2019 Parte 6 JSON, Web Storage API, funzioni JavaScript e user script Riccardo

Dettagli

Introduzione alla programmazione lato client con Javascript

Introduzione alla programmazione lato client con Javascript Introduzione alla programmazione lato client con Javascript Luca Di Gaspero Dipartimento di Ingegneria Elettrica, Gestionale e Meccanica Università degli Studi di Udine Docente Dipartimento di Ingegneria

Dettagli

Istruzioni di Controllo in C. Emilio Di Giacomo

Istruzioni di Controllo in C. Emilio Di Giacomo Istruzioni di Controllo in C Emilio Di Giacomo Limite delle istruzioni viste L insieme delle istruzioni che abbiamo visto fino ad ora consiste per lo più di: dichiarazioni e assegnazioni di variabili espressioni

Dettagli