C o r s o L i b e r o d i Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "C o r s o L i b e r o d i. 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it"

Transcript

1 C o r s o L i b e r o d i 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it

2 Licenza Corso Libero di PHP Copyright (c) 2005 Emiliano Gabrielli Quest'opera è stata rilasciata sotto la licenza Creative Commons Attribuzione NonCommerciale StessaLicenza. Per leggere una copia della licenza visita il sito web o spedisci una lettera a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 2

3 Indice degli argomenti trattati Introduzione al PHP un po' di storia diffusione cosa è in grado di fare Fondamenta struttura lessicale tipi di dati variabili garbage collection espressioni ed operatori istruzioni per il controllo di flusso inclusione di codice 3

4 Introduzione al PHP un po' di storia diffusione cosa è in grado di fare 4

5 Introduzione: un po' di storia concepito nel 1994 da Rasmus Lerdorf e rilasciato col nome di Personal Home Page Tools (PHP Tools) nel giugno del Scopo era fornire un framework di numerosi ed utili strumenti, un semplice parser individuava i tag nel codice HTML e richiamava varie funzioni C lavorando ad un progetto dell'università di Toronto si scelse PHP come strumento, ma si rese necessaria una ottimizzazione, raccogliendo i vari CGI in C all'interno di un web-server. La contemporanea diffusione di Apache, con la sua comoda API, permise l'aggiunta delle funzionalità di PHP al server. Annuncio di PHP/FI Server-side HTML-Embedded Scripting Language nell'aprile del Prima stesura di un vero parser nel 1997 la diffusione crebbe, anche se il parser era ancora instabile. Zeev Suraski ed Andi Gutmans riscrissero il parser dando vita, nel giugno del 1998, a PHP 3.0 che smise di essere il progetto di un singolo L'acronimo diventa autoreferenziale: PHP: Hypertext Preprocessor 5

6 Introduzione: un po' di storia (2) con la riscrittura ulteriore del parser, con l'introduzione di tecniche più efficienti, veloci e sicure, sempre ad opera di Zeev ed Andi si ha la nascita di PHP 4.0, basato sul nuovo Zend engine, e con le collaborazioni di numerosi sviluppatori viene rilasciato PHP 4.0 il 22 maggio del 2000 la release 5.0 di PHP si fonda sullo Zend Engine 2.0, ed ha la sua principale peculiarità nel supporto alla programmazione Object Oriented che nella versione precedente era solo parziale 6

7 Introduzione: diffusione di PHP Dicembre 2004: circa 18 milioni di domini fanno uso di PHP 7

8 Introduzione: struttura client-server Apache Internet Information Server Netscape iplanet 8 Browser web Firefox Mozilla Internet Explorer Netscape Safari Opera Richiesta Risposta Database Database Server Web Dati PHP MySQL Postgres SQL Server Oracle Sybase

9 Introduzione: cosa è in grado di fare Esistono tre modalità principali scripting lato server lo scopo per cui fu progettato originariamente. Per la generazione di contenuti web dinamici sono necessari un web server e PHP (nella sua forma CGI o come modulo del web server stesso) scripting da riga di comando PHP può essere utilizzato come linguaggio di scripting per la creazione di script per la gestione del sistema, come si fa con Perl, awk e la shell unix. Questo scopo può essere raggiunto tramite PHP- CLI (Command Line Interface) Applicazioni lato client (GUI, Graphic User Interface) tramite l'estensione PHP-GTK (gtk.php.net) è possibile realizzare delle GUI complete e multi-piattaforma in PHP 9

10 Introduzione: cosa è in grado di fare In particolare, nell'ambito della programmazione lato server: può essere usato coi più noti server Web Apache Microsoft IIS Netscape/iPlanet possibilità di produrre ogni genere di output: PDF, immagini PNG, JPG, GIF, filmati Flash vasta gamma di driver specifici per i più diversi DBMS: MySQL, PostgreSQL, Oracle, Sybase ed ogni database compatibile con ODBC vasta disponibilità di librerie ed estensioni pronte grazie a PEAR (PHP Extension and Application Repository) e a PECL 10

11 Fondamenta struttura lessicale tipi di dati variabili garbage collection espressioni ed operatori istruzioni per il controllo di flusso inclusione di codice 11

12 Fondamenta: struttura lessicale La sintassi di PHP è fortemente influenzata da altri linguaggi come Perl e C, se si conoscono già questi linguaggi non si avrà alcuna difficoltà; viceversa PHP è un linguaggio semplice da apprendere, anche grazie al fatto che non è tipizzato. sensibilità a maiuscole e minuscole nomi di funzioni, costrutti, parole chiave non sono sensibili alle maiuscole i nomi delle variabili sono invece case sensitive istruzioni una istruzione è una parte di codice che esegue un compito, sia questo una semplice assegnazione o un complesso ciclo in PHP le istruzioni semplici sono separate dal ; un blocco di istruzioni è racchiuso tra { } e costituisce una singola istruzione 12

13 Fondamenta: struttura lessicale (2) spazi ed interruzioni di linea gli spazi non hanno alcuna rilevanza una istruzione può essere interrotta da un numero arbitrario di interruzioni di linea commenti PHP ignora i commenti, che servono esclusivamente a chi legge il codice PHP supporta tre diversi tipi di commento commenti in stile shell, questi partono dal simbolo di # ed arrivano fino alla fine della riga e della sezione di codice commenti in stile C++, identici ai precedenti ma delimitati dalla sequenza // commenti in stile C, delimitati dalle sequenze di apertura /* e di chiusura */ possono estendersi su più righe e sono quindi adatti a commenti lunghi o ad escludere parti di codice 13

14 Fondamenta: struttura lessicale (3) letterali i letterali sono tutti i valori che appaiono direttamente nel codice numeri: 2005, 0xF1F0, stringhe: 'ciao mondo!', PHP costanti: TRUE, false, NULL identificatori un identificatore è semplicemente un nome, utilizzato per variabili, funzioni, costanti e classi il primo carattere può essere una lettera o un underscore, seguito da una lettera, un numero o un underscore (per lettera si intende [a-za-z\x7f- \xff], quindi comprende il codice ASCII Esteso) i nomi delle variabili iniziano con $ e sono case sensitive parole chiave: quelle utilizzate per funzionalità del linguaggio (if, break, etc..) 14

15 Fondamenta: tipi di dati PHP possiede otto diversi tipi di dati quattro tipi scalari: integer (interi), float (numeri in virgola mobile), string (stringhe) e boolean (booleani) due tipi composti: array (vettori) e object (oggetti) due tipi speciali: resource (risorse) e NULL (valore nullo) integer numeri interi (1, 23, -2034). L'intervallo in genere va da a , ma dipende dalla piattaforma. Equivale al tipo long del compilatore C sulla specifica piattaforma. I letterali possono essere scritti in decimale: 2005, 128, ottale: 0754 (492), +010 (8) esadecimale: 0x10 (16), 0xff (255), 0xDAD0 (-56016) 15

16 Fondamenta: tipi di dati (2) float numeri in virgola mobile, o reali (3.14, -2034,01). L'intervallo in genere va da 1,7E-308 a 1,7E+308 con 15 cifre di precisione, ma dipende dalla piattaforma. Equivale al tipo double del compilatore C sulla specifica piattaforma. I letterali possono essere scritti due notazioni standard: , 12.8, scientifica: E1 ( *101), +3.2E 2 (3.2*10-2) string visto l'uso frequente di stringhe nelle applicazioni web PHP ne incorpora il supporto; le stringhe sono sequenze di caratteri delimitate da apici o virgolette. tra apici i caratteri speciali sono \\ e \' tra virgolette valgono le sequenza di escape: \, \n, \r, \t, \\, \$, \{, \}, \[, \], \0 \777, \x0 \xff all'interno delle virgolette vengono espanse le variabili 16

17 Fondamenta: tipi di dati (3) boolean un tipo booleano può assumere i soli valori di true e false e ad un valore booleano si riferiscono le espressioni condizionali; quando necessario viene effettuata una conversione automatica. ciò che non è false è true queste espressioni assumono valore booleano di false: FALSE 0 e 0.0 '' e '0' array() class vuota{} NULL 17

18 Fondamenta: tipi di dati (4) array un array è un tipo complesso, un contenitore di valori cui si può far riferimento per posizione (indice numerico, che parte da 0) o per nome (indice di tipo stringa); una array indicizzato da stringhe è più propriamente detto, in altri linguaggi, un hash, ma PHP non fa questa distinzione. un array viene creato tramite il costrutto array(). per aggiungere elementi ad un array è sufficiente assegnarli: $array[2] = 'foo'; // array $array['bar'] = 'foo'; // hash 18 object PHP supporta la OOP, le classi ne sono l'unità fondamentale. E' possibile creare un numero arbitrario di istanze di una classe, detti oggetti. un oggetto è creato tramite la parola chiave new, come istanza di una classe è una collezione di dati (proprietà) e di funzioni per agire su di essi (metodi)

19 Fondamenta: tipi di dati (5) resource sono all'atto pratico degli interi, ma assumono un significato particolare ed importante. Funzioni come la connessione ad un DB o l'apertura di un file necessitano di identificare la risorsa cui accedono e di passare tale identificativo ad altre funzioni. $fd = fopen('file', 'w'); // tipo: resource, valore: un intero l'intero 1 non è però una risorsa!!! albert@emc2$ php4 <?php $fd=fopen('/etc/passwd', 'r'); var_dump($fd); $fd=1; var_dump($fd); fclose($fd);?> resource(1) of type (stream) int(1) Warning: fclose(): supplied argument is not a valid stream resource in on line 6 19

20 Fondamenta: tipi di dati (6) NULL la parola chiave, non sensibile alle maiuscoli, NULL indica l'unico valore esistente del tipo di dato NULL; un valore null equivale a nessun valore attenzione, una variabile che sia NULL non è impostata (isset($var)===false), ma è comunque dichiarata NULL è un ottimo candidato per la dichiarazione dei valori iniziali albert@emc2$ php4 <?php error_reporting(e_all); $b=$a;?> Notice: Undefined variable: a in on line 3 albert@emc2$ php4 <?php error_reporting(e_all); $a=null; $b=$a;?> albert@emc2$ php4 20

21 Fondamenta: variabili Le variabili sono identificatori, il cui nome inizia sempre dal simbolo di dollaro ($) una variabile può contenere un valore di qualsiasi tipo di dato vengono create alla loro prima invocazione, la dichiarazione coincide con la prima assegnazione di un valore una variabile non inizializzata ha valore NULL attenzione: una variabile non inizializzata genera, però, un NOTICE php4 <?php error_reporting(e_all); var_dump($a===null);?> Notice: Undefined variable: a in on line 3 bool(true) 21

22 Fondamenta: variabili (2) variabili variabili è possibile utilizzare una variabile per costruire il nome di una altra variabile php4 <?php error_reporting(e_all); $a='mondo'; ${"ciao_$a"} = ': )'; echo $ciao_mondo, "\n";?> : ) riferimenti a variabili è possibile creare un alias per una variabile, due nomi che si riferiscono allo stesso contenuto, tramite l'operatore =& quando si assegna un valore ad una variabile per riferimento non si crea una copia, ma un alias il contenuto della memoria viene liberato quando il numero degli alias è 0 22

23 Fondamenta: variabili (3) scope (campo di validità) è determinato dalla posizione nel codice in cui la variabile viene dichiarata. Esistono quattro scope in PHP: locale, globale, statico e parametro di funzione locale l'unico scope locale in PHP è costituito dalle funzioni una variabile dichiarata in una funzione è visibile solo in tale funzione non esistono altri modi di creare scope locali, come cicli o blocchi globale le variabili dichiarate all'esterno delle funzioni sono accessibili globalmente, da ogni altra parte del codice tranne che nelle funzioni, dove va specificato esplicitamente che ci si riferisce allo scope globale e non a quello locale global $var_globale $GLOBALS['var_globale'] 23

24 Fondamenta: variabili (4) statico una variabile statica è una variabile locale che però mantiene memoria del suo valore attraverso differenti chiamate a funzione una variabile dichiarata in una funzione è visibile solo in tale funzione non esistono altri modi di creare scope locali, come cicli o blocchi parametro di funzione anche i parametri delle funzioni sono particolari variabili locali. Costituiscono una interfaccia tra lo scope locale e quello globale utilizzata per comunicare valori alle funzioni all'atto della loro chiamata 24

25 Fondamenta: garbage collection ogni variabile è costituita di due elementi: il suo nome ($var) il suo valore ( val ) la tabella dei simboli è un array che mappa i nomi delle variabili colle posizioni in memoria dei rispettivi valori PHP ottimizza tempi e memoria tramite due meccanismi reference count assicura che la memoria inutilizzata sia liberata automaticamente copy on write permette il risparmio di memoria e di tempo nella copia di variabili la copia di una variabile in un'altra non richiede ulteriore memoria per il valore la copia minimizza i tempi evitando la reale copia del valore la memoria viene liberata quando non vi sono riferimenti nella tabella dei simboli 25

26 Fondamenta: espressioni e operatori una espressione è una parte di codice PHP i valori letterali e le variabili sono le espressioni più elementari la valutazione di un letterale è se stesso la valutazione di una variabile è il suo valore espressioni complesse si costruiscono a partire da espressioni più semplici un operatore agisce su alcuni elementi (operandi) eseguendo una qualche operazione alcuni operatori modificano i propri operandi il numero di operandi è variabile e dipende dall'operatore assumono particolare importanza alcune regole da rispettare nella aritmetica degli operatori associatività (destra, sinistra, nessuna) precedenza 26

27 Fondamenta: espressioni e operatori (2) operatori aritmetici addizione (+): binario; restituisce la somma degli operandi sottrazione ( ): binario; restituisce la differenza degli operandi moltiplicazione (*): binario; restituisce il prodotto degli operandi divisione (/): binario; restituisce il quoziente degli operandi modulo (%): binario; restituisce il resto della divisione del primo operando per il secondo negazione ( ): unario preposto; restituisce l'operando moltiplicato per -1 asserzione (+): unario preposto; restituisce l'operando moltiplicato per +1 concatenazione di stringhe concatenazione (.): binario; restituisce la stringa risultante dagli operandi, eventualmente viene operato il type juggling 27

28 Fondamenta: espressioni e operatori (3) operatori di incremento auto-incremento (++): unario; preposto, restituisce l'operando incrementato di 1 posposto, restituisce l'operando, successivamente avviene l'incremento auto-decremento ( ): unario; preposto, restituisce l'operando decrementato di 1 posposto, restituisce l'operando, successivamente avviene il decremento possono applicarsi anche a stringhe, come se queste fossero un sistema numerico in base 26 $a= b4zz ; ++$a == b5aa $a= AbC0 ; ++$a == AbC1 $a= le9 ; ++$a == lf0 $a= 2ab9z ; ++$a == 2ac0a 28

29 Fondamenta: espressioni e operatori (4) operatori di confronto, restituiscono un valore booleano uguaglianza (==): restituisce true se gli operandi sono uguali identità (===): restituisce true se gli operandi sono uguali e dello stesso tipo non uguaglianza (!= o <>): restituisce true se gli operandi non sono uguali non identità (!==): restituisce true se gli operandi non sono uguali ne dello stesso tipo maggioranza (>): restituisce true se l'operando di sinistra è maggiore di quello di destra maggioranza o uguaglianza (>=): restituisce true se l'operando di sinistra è maggiore di o uguale a quello di destra minoranza (>): restituisce true se l'operando di sinistra è minore di quello di destra minoranza o uguaglianza (>=): restituisce true se l'operando di sinistra è minore di o uguale a quello di destra 29

30 Fondamenta: espressioni e operatori (5) operatori bit a bit (bitwise) agiscono sulla rappresentazione binaria dei loro operandi, numeri o stringhe; quando operano su stringhe ne trattano i singoli caratteri come numeri in base 26, il risultato può non essere un carattere ASCII NOT (~): trasforma gli 1 in 0 e viceversa AND (&): restituisce 1 se entrambi i bit corrispondenti degli operandi sono 1 OR ( ): restituisce 1 se almeno uno dei bit corrispondenti degli operandi è 1 XOR (^): restituisce 1 se uno solo dei bit corrispondenti degli operandi è 1 Shift a sinistra (<<): sposta verso sinistra i bit nella rappresentazione binaria dell'operando di sinistra di tanti posti quanti indicati dall'operando di destra; ogni posto corrisponde a moltiplicare per 2 Shift a destra (>>): sposta verso destra i bit nella rappresentazione binaria dell'operando di sinistra di tanti posti quanti indicati dall'operando di destra; ogni posto equivale a dividere per 2 30

31 Fondamenta: espressioni e operatori (6) operatori logici gestiscono i loro operandi come valore booleani e restituiscono un valore booleano. Alcuni di essi esistono sia come simboli che come parola chiave inglese, la seconda ha priorità minore NOT (!): restituisce false se l'espressione valutata è true AND (&& o and): restituisce true se entrambe le espressioni costituenti gli operandi sono true OR ( o or): restituisce true se almeno una delle espressioni costituenti gli operandi è true XOR (xor): restituisce true se solo una delle espressioni costituenti gli operandi è true 31

32 Fondamenta: espressioni e operatori (7) operatori di conversione PHP non è un linguaggio fortemente tipizzato, quando si renda necessario forzare l'uso di un particolare tipo si effettua un casting esplicito vi è un operatore di casting per ogni tipo riconosciuto da PHP (int), (integer) (float), (real) (string) (bool), (boolean) (array) (object) non modificano la variabile su cui operano 32

33 Fondamenta: espressioni e operatori (8) operatori di assegnamento assegnano o modificano il valore di una variabile gli operatori (unari) di auto-assegnamento sono un esempio particolare assegnamento (=): assegna il valore dell'operando di sinistra all'operando di destra che deve quindi essere una variabile; restituisce il valore assegnato assegnamento con operazione: effettuano una operazione e poi effettuano l'assegnamento; ogni operatore aritmetico e bitwise binario nonché l'operatore di concatenazione, preposto al simbolo di =, costituisce un operatore di assegnamento con operazione valido: +=, =, *=, /=, %= &=, =, ^=.= 33

34 Fondamenta: espressioni e operatori (9) altri operatori soppressione degli errori (@): impedisce alla istruzione cui è applicato di generare messaggi di errore esecuzione (`...`): detto backtick (`); esegue la stringa contenuta come un comando di shell condizionale (?:): l'unico operatore ternario di PHP. Restituisce il valore del secondo o del terzo operando a seconda che il primo operando sia true o false somma di array (+): opera su due array; accoda il secondo operando al primo, non sovrascrive, ovviamente, eventuali elementi già presenti 34

35 Fondamenta: istruzioni per il controllo di flusso istruzioni condizionali consentono di eseguire parti di codice a seconda del risultato della valutazione di alcune condizioni if, else, elseif : if(c1){i1;} elseif(c2){i2;} else{i3;} consentono di eseguire blocchi di codice al verificarsi di un condizione, in modo esclusivo. È supportata una sintassi alternativa per delimitare i blocchi di codice: if:, endif l'operatore condizionale ternario può essere utilizzato al posto di semplici strutture if-else switch case : switch(esp){case esp:i1; default:i2;} consente di eseguire, in modo non esclusivo, diverse parti di codice in base alla valutazione di una singola condizione. Il costrutto break è utilizzato per uscire dalla modalità fall-through. È supportata una sintassi alternativa: switch:, endswitch 35

36 Fondamenta: istruzioni per il controllo di flusso (2) istruzioni di iterazione consentono di eseguire parti di codice fino al verificarsi di una condizione. È possibile utilizzare le parole chiave break e continue per interrompere il ciclo o l'iterazione corrente. while : while (cond) {istr;} esegue un blocco di codice dopo aver verificato una condizione e finché questa rimane vera. È supportata una sintassi alternativa per delimitare il blocco di codice: while:, endwhile do while : do {istr;} while (cond) esegue un blocco di istruzioni e successivamente valuta la condizione in base alla quale il ciclo continua o meno for : for (istr_1; cond; istr_2) {istr;} esegue una istruzione, valuta una condizione in base alla quale viene eseguito il blocco di istruzioni eseguendo la seconda istruzione alla fine di ogni iterazione. È supportata una sintassi alternativa: for:, endfor 36

37 Fondamenta: istruzioni per il controllo di flusso (3) foreach : foreach ($array as $k => $v) {istr;} esegue un blocco di codice su ciascun elemento di un array. È supportata una sintassi alternativa per delimitare il blocco di codice: foreach:, endforeach do while : do {istr;} while (cond) esegue un blocco di istruzioni e successivamente valuta la condizione in base alla quale il ciclo continua o meno for : for (istr_1; cond; istr_2) {istr;} esegue una istruzione, valuta una condizione in base alla quale viene eseguito il blocco di istruzioni eseguendo la seconda istruzione alla fine di ogni iterazione. È supportata una sintassi alternativa: for:, endfor 37

38 Fondamenta: istruzioni per il controllo di flusso (4) istruzioni di salto break e continue : permettono di interrompere rispettivamente un ciclo (o uno switch) e l'iterazione corrente; accettano un parametro numerico opzionale che indica a quale livello di annidamento ci si riferisca return : ritorna un valore da una funzione o da uno script, restituendo il controllo al programma chiamante exit : interrompe l'esecuzione del programma; accetta un valore opzionale che costituisce lo status di uscita quando numerico, o il messaggio che viene stampato quando sia una stringa declare : declare (direttiva) {istr;} permette di specificare le direttive per l'esecuzione di un blocco di codice. Esiste una sola direttiva, ticks, che permette di specificare la frequenza (in istruzioni) di chiamata di una funzione registrata tramite l'apposita funzione register_tick_function() 38

39 Fondamenta: inclusione di codice È possibile incorporare altri script all'interno del codice tramite due costrutti include e include_once : permettono di inserire un altro script nel punto in cui sono invocati. Se lo script non è accessibile viene generato un warning e l'esecuzione del programma prosegue require e require_once : permettono di inserire un altro script nel punto in cui sono invocati. Se lo script non è accessibile viene generato un errore fatale e l'esecuzione del programma termina se è attiva la direttiva allow_url_fopen è possibile utilizzare delle URL ( e ftp://) per includere file remoti 39

C o r s o L i b e r o d i. 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it

C o r s o L i b e r o d i. 2005 Emiliano Gabrielli <AlberT@SuperAlberT.it> GrUSP.it C o r s o L i b e r o d i 2005 Emiliano Gabrielli GrUSP.it Licenza Corso Libero di PHP Copyright (c) 2005 Emiliano Gabrielli Quest'opera è stata rilasciata sotto la licenza Creative

Dettagli

Richiesta pagina PHP (es: index.php)

Richiesta pagina PHP (es: index.php) PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web

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

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015 Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle

Dettagli

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI

PHP - Storia. Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI PHP PHP - Storia Inizialmente sviluppato da Rasmus Lerdorf come serie di script CGI Al progetto si unirono Zeev Suraski e Andi Gutmans che ne scrissero l'interprete Zend Oggi è alla versione 5 e può essere

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione

Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione Libreria standard Java possiede un enorme libreria di classi standard organizzata in vari package che raccolgono le classi secondo un organizzazione basata sul campo d utilizzo. I principali package sono:

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

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

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Corso di PHP. Prerequisiti. 1 - Introduzione

Corso di PHP. Prerequisiti. 1 - Introduzione Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Conoscere il concetto di espressione 2 1 Introduzione

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28

Indice. 1.13 Configurazione di PHP 26 1.14 Test dell ambiente di sviluppo 28 Indice 25 184 Introduzione XI Capitolo 1 Impostazione dell ambiente di sviluppo 2 1.1 Introduzione ai siti Web dinamici 2 1.2 Impostazione dell ambiente di sviluppo 4 1.3 Scaricamento di Apache 6 1.4 Installazione

Dettagli

Il sistema operativo UNIX/Linux. Gli script di shell

Il sistema operativo UNIX/Linux. Gli script di shell Il sistema operativo UNIX/Linux Gli script di shell Introduzione Le shell permettono La gestione di comandi su linea di comando La shell comprende automaticamente quando il costrutto termina e lo esegue

Dettagli

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Inizializzazione, Assegnamento e Distruzione di Classi

Inizializzazione, Assegnamento e Distruzione di Classi Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Matlab: Strutture di Controllo. Informatica B

Matlab: Strutture di Controllo. Informatica B Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente

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

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Funzioni. Il modello console. Interfaccia in modalità console

Funzioni. Il modello console. Interfaccia in modalità console Funzioni Interfaccia con il sistema operativo Argomenti sulla linea di comando Parametri argc e argv Valore di ritorno del programma La funzione exit Esercizio Calcolatrice 2, presente in tutti i programmi

Dettagli

I sistemi di numerazione

I sistemi di numerazione I sistemi di numerazione 01-INFORMAZIONE E SUA RAPPRESENTAZIONE Sia dato un insieme finito di caratteri distinti, che chiameremo alfabeto. Utilizzando anche ripetutamente caratteri di un alfabeto, si possono

Dettagli

Parte 1. Vettori di bit - AA. 2012/13 1.1

Parte 1. Vettori di bit - AA. 2012/13 1.1 1.1 Parte 1 Vettori di bit 1.2 Notazione posizionale Ogni cifra assume un significato diverso a seconda della posizione in cui si trova Rappresentazione di un numero su n cifre in base b: Posizioni a n

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

dall argomento argomento della malloc()

dall argomento argomento della malloc() Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È

Dettagli

Corso basi di dati Introduzione alle ASP

Corso basi di dati Introduzione alle ASP Corso basi di dati Introduzione alle ASP Gianluca Di Tomassi Email: ditomass@dia.uniroma3.it Università di Roma Tre Web statico e Web interattivo In principio il Web era una semplice collezione di pagine

Dettagli

XML e PHP. Gestire XML con PHP. Appendice

XML e PHP. Gestire XML con PHP. Appendice Appendice XML e PHP Tra tutti i linguaggi di programmazione esistenti PHP è tra quelli che meglio si adattano all elaborazione di documenti XML. PHP è un linguaggio di programmazione che consente di arricchire

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento

PHP 1. Scripting lato server. Come funziona uno script. Che cosa è PHP 1. Esempio. Elementi del linguaggio. Più pseudo-tag nello stesso documento Scripting lato server Elementi del linguaggio PHP 1 L'URL che il browser richiede identifica una risorsa presente in un server http costituita da Codice HTML Pezzi di codice scritti in un linguaggio di

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Alcune regole di base per scrivere un programma in linguaggio C

Alcune regole di base per scrivere un programma in linguaggio C Alcune regole di base per scrivere un programma in linguaggio C Un programma il linguaggio C (listato) viene scritto in formato testo ed archiviato in un file: *.c Per scrivere un listato C si utilizza

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

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

Corso Online Analista Programmatore Microsoft

Corso Online Analista Programmatore Microsoft Corso Online Analista Programmatore Microsoft We Train Italy info@wetrainitaly.it Programma Generale del Corso Analista Programmatore Microsoft Tematiche di Base Modulo Uno Le basi della programmazione

Dettagli

DBMS e Linguaggi di programmazione nell'era di Internet

DBMS e Linguaggi di programmazione nell'era di Internet DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web

Dettagli

Algoritmi e strutture dati. Codici di Huffman

Algoritmi e strutture dati. Codici di Huffman Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

ALGEBRA DELLE PROPOSIZIONI

ALGEBRA DELLE PROPOSIZIONI Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra

Dettagli

Esercizi di JavaScript

Esercizi di JavaScript Esercizi di JavaScript JavaScript JavaScript é un linguaggio di programmazione interpretato e leggero, creato dalla Netscape. E' presente a patire da Netscape 2 in tutti i browser ed é dunque il linguaggio

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

PHP e MySQL. Guida scaricata da www.webstyling.it

PHP e MySQL. Guida scaricata da www.webstyling.it Home -> Manuali & Tutorials -> Guida PHP PHP e MySQL E' possibile realizzare delle applicazioni in php appoggiandosi ad un database, quale ad esempio MySQL. Con le novità introdotte ai tempi di MySQL 4.1

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante Tiipii dii Datii iin Viisuall Basiic Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante l'esecuzione di un'applicazione. Alle variabili è associato un nome, utilizzato

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Javascript: il browser

Javascript: il browser Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di

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

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896

(71,1), (35,1), (17,1), (8,1), (4,0), (2,0), (1,0), (0,1) 0, 7155 2 = 1, 431 0, 431 2 = 0, 862 0, 896 2 = 1, 792 0, 724 2 = 1, 448 0, 448 2 = 0, 896 2 Esercizio 2.2 La rappresentazione esadecimale prevede 16 configurazioni corrispondenti a 4 bit. Il contenuto di una parola di 16 bit può essere rappresentato direttamente con 4 digit esadecimali, sostituendo

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

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

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti

Esercitazione Informatica I AA 2012-2013. Nicola Paoletti Esercitazione Informatica I AA 2012-2013 Nicola Paoletti 4 Gigno 2013 2 Conversioni Effettuare le seguenti conversioni, tenendo conto del numero di bit con cui si rappresenta il numero da convertire/convertito.

Dettagli

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas

PHP. A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas. Copyright Istituto Italiano Edizioni Atlas PHP A. Lorenzi, R. Giupponi, D. Iovino LINGUAGGI WEB. LATO SERVER E MOBILE COMPUTING Atlas Copyright Istituto Italiano Edizioni Atlas Programmazione lato server PHP è un linguaggio che estende le funzionalità

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Data Base. Master Bio Info Reti e Basi di Dati Lezione 6 Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica

Dettagli

19. LA PROGRAMMAZIONE LATO SERVER

19. LA PROGRAMMAZIONE LATO SERVER 19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

INFORMATICA - I puntatori Roberta Gerboni

INFORMATICA - I puntatori Roberta Gerboni 1 2 I puntatori in C++ Il puntatore un tipo di dato scalare, che consente di rappresentare gli indirizzi delle variabili allocate in memoria. Dominio: Il dominio di una variabile di tipo puntatore è un

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

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 formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

Access. P a r t e p r i m a

Access. P a r t e p r i m a Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di

Dettagli

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012 Concetti importanti da (ri)vedere Programmazione imperativa Strutture di

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Introduzione a PHP: Concetti Fondamentali

Introduzione a PHP: Concetti Fondamentali Introduzione a PHP: Concetti Fondamentali Davide Rocker Anastasia 20 dicembre 2005 Sommario Dopo alcuni anni di riflessione, riprende il mio percorso personale sul PHP. Questo breve documento parlerà dei

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA

Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Oggetto: MASTER DI ALTA FORMAZIONE PROFESSIONALE IN PROGRAMMATORE JAVA PARTECIPAZIONE GRATUITA Salerno Formazione, società operante nel settore della didattica, della formazione professionale e certificata

Dettagli

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch. Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE Comunicazione importante dalla prossima settimana, la lezione del venerdì si terrà: dalle 15:00 alle 17.15 in aula 311 l orario

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL In informatica il Pascal è un linguaggio di programmazione creato da Niklaus Wirth ed é un linguaggio di programmazione strutturata. I linguaggi di programmazione

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

Introduzione all Information Retrieval

Introduzione all Information Retrieval Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli