PHP 2. Array, operatori, costrutti

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PHP 2. Array, operatori, costrutti"

Transcript

1 PHP 2 Array, operatori, costrutti 1

2 Array in PHP Gli array conservano un gruppo di valori che possiamo recuperare o attraverso un numero intero (iniziando dallo 0) oppure attraverso una stringa (array associativi) Esempio $vino['sa'] = "Furore Bianco"; $vino['av'] = "Greco di Tufo"; $vino['na'] = "Biancolella"; Tecnologie di Sviluppo per il WEB 2

3 Creazione Array Si può creare un array semplicemente inserendo degli elementi in esso $professori[0] = costagliola ; $professori[1] = blundo ; $professori[2] = parente ; equivalente a: $professori[] = costagliola ; $professori[] = blundo ; $professori[] = parente ; La funzione array() serve a creare un array. I parametri passati in input sono usati come elementi dell array $professori = array( costagliola, blundo, parente ); Tecnologie di Sviluppo per il WEB 3

4 Esempio $spesa = array("mele", "pere", "pane", "latte"); // oppure $spesa[0] = "mele"; $spesa[1] = "pere"; $spesa[2] = "pane"; $spesa[3] = "latte"; // ma anche $spesa[] = "mele"; $spesa[] = "pere"; $spesa[] = "pane"; $spesa[] = "latte"; Tecnologie di Sviluppo per il WEB 4

5 Accesso ad array La funzione count restituisce la grandezza dell array Per accedere all elemento i-esimo si accede all elemento i-1 $professori[2]; Se si accede ad un elemento non inizializzato non viene generato nessun errore Tecnologie di Sviluppo per il WEB 5

6 Esempio ESEMPIO <?php $professori[] = "blundo"; $professori[] = "costagliola"; $professori[2] = "parente"; $professori[10] = "d'ambrosio"; printf( L'array contiene %d elementi\n, count($professori)); print( <br> ); for($i=0; $i< count($professori); $i++) { echo $i+1,") "; print(ucwords($professori[$i])); print("<br>"); } echo "Undicesimo elemento: ",$professori[10],"<br>"; echo "Centesimo elemento: ", $professori[99];?> Tecnologie di Sviluppo per il WEB 6

7 Risultato Tecnologie di Sviluppo per il WEB 7

8 Nota Invece di scrivere for($i=0; $i< count($professori); $i++) è meglio scrivere $cnt = count($professori); for($i=0; $i<$cnt; $i++) In questo modo la funzione count() è invocata solo una volta e non count($professori) volte Tecnologie di Sviluppo per il WEB 8

9 Altro modo per creare array Usando l operatore => si possono specificare gli indici dell array per ogni elemento, se non lo si usa l array costruito è indicizzato sugli interi a partire dallo 0 (zero) $frutta = array(1=> mele, 2=> pere, 3=> banane ); Tecnologie di Sviluppo per il WEB 9

10 Esempio <?php $frutta = array(1=>"mele", 2=>"pere", 3=>"banane"); $cnt=count($frutta); for($i=1; $i<= $cnt; $i++) echo $i, ") ", $frutta[$i], "<br>";?> Tecnologie di Sviluppo per il WEB 10

11 Esempio di array associativo $corso['blundo'] = tsw1 ; $corso['costagliola'] = tsw2 $corso['parente'] = tsw3 ; Oppure $corso = array('blundo' => 'tsw1', 'costagliola' => tsw2, 'parente' => 'tsw3' ); Tecnologie di Sviluppo per il WEB 11

12 Accesso ad array associativi Per far riferimento ad un elemento dell array associativo usiamo la seguente sintassi: $corso[parente] $corso['costagliola'] $corso["blundo"] $corso[$nome] Tecnologie di Sviluppo per il WEB 12

13 Esempio <?php $corso = array('blundo' => 'tsw1', "costagliola" => 'tsw2', 'parente' => 'tsw3'); echo $corso[blundo],"<br>"; echo $corso['costagliola'],"<br>"; echo $corso["parente"],"<br>"; $nome= "blundo"; echo $corso[$nome];?> Tecnologie di Sviluppo per il WEB 13

14 Accesso alle chiavi (indici) di un array In PHP possiamo accedere anche al valore delle chiavi (indici) di un array associativo senza conoscerle. Si usa la funzione each($nomearray) e le parole chiave key e value $corso e' il nome dell'array: for($i=0; $i< $cnt; $i++) { $riga = each($corso); echo $riga[key], " insegna ", $riga["value"],"<br>"; } ESMPIO Tecnologie di Sviluppo per il WEB 14

15 La funzione each() Ogni array in PHP conserva traccia del corrente elemento con cui stiamo lavorando Il puntatore all elemento corrente è noto come iteratore La funzione each() restituisce un array associativo che contiene due elementi e muove l iteratore una posizione in avanti Il primo elemento è indicizzato dalla stringa key Il secondo elemento è indicizzato dalla stringa value Tecnologie di Sviluppo per il WEB 15

16 Altre funzioni su iteratori current() Restituisce il valore dell elemento puntato dall iteratore corrente key() Restituisce la chiave dell elemento corrente reset() Muove l iteratore al primo elemento dell array next() prev() end() Tecnologie di Sviluppo per il WEB 16

17 Esempio <h2>utilizzo di iteratori su array</h2> <?php $corso = array(blundo => 'tsw1', "parente" => 'tsw2', 'cost' => 'tsw3'); reset($corso); echo "<table border=\"2\">\n"; echo "<tr> <th> Chiave </th> <th> Elemento </th> </tr>\n"; echo "<tr> <td> ", key($corso), "</td> <td>", current($corso), "</td> </tr>\n"; while(next($corso)) { echo "<tr> <td> ", key($corso), "</td> <td>", current($corso), "</td> </tr>\n"; } echo "</table>\n";?> ESEMPIO Tecnologie di Sviluppo per il WEB 17

18 HTML inviato al client <h2>utilizzo di iteratori su array</h2> <table border="2"> <tr> <th> Chiave </th> <th> Elemento </th> </tr> <tr> <td> blundo</td> <td>tsw1</td> </tr> <tr> <td> parente</td> <td>tsw2</td> </tr> <tr> <td> costagliola</td> <td>tsw3</td> </tr> </table> Tecnologie di Sviluppo per il WEB 18

19 Ordinare array sort() Ordina i valori dell array (crescente) distrugge il valore delle chiavi asort() Ordina i valori dell array conservando la correlazione tra il valore e la sua chiave ksort() Ordina le chiavi conservando la correlazione tra il valore e la sua chiave rsort() rasort() rksort() Ordinamento in ordine inverso ESEMPIO Tecnologie di Sviluppo per il WEB 19

20 Ordinare array secondo un proprio ordine usort(nomearray, NomeFunzione) ordina NomeArray secondo il criterio specificato dalla funzione NomeFunzione function cmp ($a, $b) { if ($a == $b) return 0; return ($a < $b)? -1 : 1; } $arr = array (3, 2, 5, 6, 1); usort ($arr, "cmp"); while (list ($chiavve, $vallore) = each ($arr)) { echo "$chiavve: $vallore\n"; } La funzione list copia i valori dell'array nelle vbls Ordinamento crescente di $a Tecnologie di Sviluppo per il WEB 20

21 Risultato Il risultato dello script precedente è 0: 1 1: 2 2: 3 3: 5 4: 6 E' un esempio, sarebbe stato più opportuno usare la funzione sort() E' spesso usata per array multidimensionali. Tecnologie di Sviluppo per il WEB 21

22 Nota La funzione di confronto scritta dall utente deve ricevere in input due parametri e restituire un intero Minore di zero se il primo parametro è da considerarsi minore del secondo Uguale a zero se i due parametri sono da considerarsi uguali Maggiore di zero se il primo parametro è da considerarsi maggiore del secondo Tecnologie di Sviluppo per il WEB 22

23 Array multidimensionali 1 Ogni elemento di un array può essere di tipo qualunque, anche di tipo array Un array multidimensionale è un array che contiene altri array for($i=1; $i < $n; $i++) for($j=1; $j < $n; $j++) $a[$i][$j] = $i * $j; Tecnologie di Sviluppo per il WEB 23

24 Array multidimensionali 2 $riga0 = array(1, 2, 3); $riga1 = array(4, 5, 6); $riga2 = array(7, 8, 9); $multi = array($riga0, $riga1, $riga2); print_r($multi); /* human readable print */ Tecnologie di Sviluppo per il WEB 24

25 Ordinare array multipli con usort $products = array( array( 'Tires', 100 ), array( 'Oil', 10 ), array( 'Spark Plugs', 4 )); ordina sulla seconda colonna function compare($x, $y){ if ( $x[1] == $y[1] ) return 0; else if ( $x[1] < $y[1] ) return -1; else return 1; } usort($products, 'compare'); ESEMPIO Tecnologie di Sviluppo per il WEB 25

26 Funzioni su array (1/2) array_pad(array, nbr_elmnts, value) Restituisce un nuovo array con nbr_elmnts, padded con altri elementi inizializzati allo stesso value. Esempi: $scores = array(3,10); $padded=array_pad($scores, 5,0); $padded è (3,10,0,0,0); $padded=array_pad($scores,-5,0); $padded è (0,0,0,0,0) $scores=array_pad($scores,5,0) modifica in situ Tecnologie di Sviluppo per il WEB 26

27 Funzioni su array (2/2) array_chunk(array, size [,preserve_keys]) Restituisce un array multidimensionale fatto degli elementi di array. Ogni riga è lunga size preserve_keys: booleano array_slice(array, offset, length) Restituisce un sotto-array di array lungo length a partire dalla posizione offset list($var1, $var2, ) = $array Copia i valori di $array nelle variabili $var1, $var2 array_key_exists(chiave, array) Restituisce un booleano se esiste la chiave nell'array. in_array(valore, array) Booleano: se valore è in array Chunk Tecnologie di Sviluppo per il WEB 27

28 Esempio di list È usata per assegnare valori ad una lista di variabili in una sola istruzione, i valori sono presi da un array $info = array('caffè', 'scuro', 'caffeina'); // assegna tutte le variabili list($bevanda, $colore, $componente) = $info; // assegna solo in parte list($bevanda,, $componente) = $info; // assegna solo l'ultima variabile list(,, $componente) = $info; Tecnologie di Sviluppo per il WEB 28

29 Altre funzioni sugli array array_walk(array, func[,terzoprmtr] ) Chiama la funzione func su ogni elemento dell array func deve avere almeno due parametri (opzionalmente tre): il primo identifica il valore dell'elemento; il secondo identifica la chiave; il terzo un parametro generico di func. array_filter(array, func) Restituisce un array. Ogni valore di array è passato a func, l array restituito contiene solo quegli elementi di array per cui la funzione func ha restituito true Tecnologie di Sviluppo per il WEB 29

30 Esempio di array_walk <h2>utilizzo di funzioni su array</h2> <?php $frutta = array ("uno"=>"limone", "due"=>"arancia", "tre"=>"banana"); function modifica (&$elemento, $chiave, $prefisso) { /* write */ $elemento = "$prefisso:::::::::: $elemento"; } function stampa ($elemento, $chiave) { /* read */ echo "$chiave: $elemento<br>\n"; } echo "<h3>prima...:\n</h3>"; array_walk ($frutta, 'stampa'); array_walk ($frutta, 'modifica', 'frutto'); echo "<h3>... e dopo:\n</h3>"; array_walk ($frutta, 'stampa');?> ESEMPIO Tecnologie di Sviluppo per il WEB 30

31 Esempio array_filter <h2>utilizzo di array_filter</h2> <?php function dispari($var) { return ($var % 2); } function pari($var) { return (!($var % 2)); } $array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array (6, 7, 8, 9, 10, 11, 12); echo "<h3>array iniziali :</h3>\n"; print_r($array1); echo "<br>"; print_r($array2); echo "<h3>applico la funzione 'dispari' al primo array :</h3>\n"; print_r(array_filter($array1, "dispari")); echo "<h3>applico la funzione 'pari' al secondo array:\n</h3>"; print_r(array_filter($array2, "pari"));?> esempiowalkconfilter ESEMPIO Tecnologie di Sviluppo per il WEB 31

32 Conversione tra variabili e array PHP fornisce due funzioni extract() e compact() che permettono di creare variabili da array e viceversa Si usano con gli array associativi $frutta = array ("uno"=>"limone", "due"=>"arancia", "tre"=>"banana"); extract($frutta); Dopo esistono le variabili $uno, $due e $tre, con i valori limone, arancia e banana, rispettivamente. Tecnologie di Sviluppo per il WEB 32

33 Nota su extract() Possiamo aggiungere automaticamente un prefisso a tutte le variabili create extract($nomearray, EXTR_PREFIX_SAME, prefisso ) Tutte le variabili che vanno in conflitto con una vbl esistente (con lo stesso nome) inizieranno con prefisso_ extract($frutta, EXTR_PREFIX_SAME, gusto ); echo $gusto_uno; Tecnologie di Sviluppo per il WEB 33

34 compact() È il complemento di extract() A partire da una lista di variabili, crea un array associativo le cui chiavi sono i nomi delle variabili $nome = "ambrogio"; $cognome = "unz"; $corso = "tsw"; $record = compact('nome', 'cognome', 'corso'); // oppure $chiavi=array(nome, cognome, corso); $record=compact($chiavi); Tecnologie di Sviluppo per il WEB 34

35 Array e stringhe In PHP esistono due funzioni per passare da una stringa ad un array e viceversa explode() Passa da una stringa ad un array implode() Passa da un array ad una stringa Tecnologie di Sviluppo per il WEB 35

36 explode() Applicata su una stringa restituisce un array di sottostringhe individuate dal delimitatore Sintassi explode(delimitatore, stringa [, limite]) limite è un parametro opzionale che indica il massimo numero di elementi da estrarre da stringa Esempio $pizza = "mozzarella pomodoro basilico olio"; $ingredienti = explode(" ", $pizza); Tecnologie di Sviluppo per il WEB 36

37 implode() Applicata ad un array restituisce una stringa rappresentante gli elementi dell array divisi da un separatore Sintassi implode(separatore, array) Esempio $array = array('ambrogio', 'ambunz@unisa.it'); $stringa = implode(",", $array); ESEMPIO Tecnologie di Sviluppo per il WEB 37

38 Oggetti in PHP PHP supporta la programmazione orientata agli oggetti PHP supporta Incapsulazione Polimorfismo Ereditarietà L ereditarietà multipla è supportata come in JAVA (con le interfacce) Vedremo un esempio di OOP con una classe per MySQL (?) Tecnologie di Sviluppo per il WEB 38

39 PHP: 5 4 (1) Membri e metodi public private Protected Metodi e Classi Astratte Solo firme, senza implementazioni Interfacce Tecnologie di Sviluppo per il WEB 39

40 PHP: 5 4 (2) La parola chiave per metodi e membri final Clonare Oggetti function clone() Viene verificato se esiste un tale metodo nella classe. In caso negativo una versione di default viene invocata. Tecnologie di Sviluppo per il WEB 40

41 PHP: 5 4 (3) Costruttore Unificati function construct() È utile per invocare costruttori di genitori da classi derivate Non c'è bisogno di conoscere il nome Distruttori function destruct() Quando l'ultimo riferimento ad un oggetto è distrutto, il metodo distruttore viene invocato. Non ha parametri Tecnologie di Sviluppo per il WEB 41

42 PHP: 5 4 (4) Costanti const cstn= HELLO WORLD ; Eccezioni C'è il supporto per la clausola catch all Ma non per quella finally Vbls membri static di Classi Statiche possono ora essere inizializzate Metodi statici Tecnologie di Sviluppo per il WEB 42

43 PHP: 5 4 (5) Metodo Instanceof Utile per accertarsi se un oggetto è una istanza di una classe, estende una classe oppure implementa un'interfaccia Iterazione <?php class Foo { var $x = 1; var $y = 2; } $obj = new Foo; foreach ($obj as $prp_name => $prop_value) { echo $prp_name = $prop_value\n ; }?> Tecnologie di Sviluppo per il WEB 43

44 PHP: 5 4 (6) Il nuovo metodo magico tostring() Permette di sovraccaricare la conversione a stringa dell'oggetto Altri dettagli all'url Tecnologie di Sviluppo per il WEB 44

45 Operatori in PHP 1 Aritmetici +, -, *, /, % Assegnamento = (supporta la forma abbreviata: e.g., += ) Incremento/decremento ++ e -- (prefisso/postfisso) Operatori bitwise &,, ^ (xor), ~, <<, >> Tecnologie di Sviluppo per il WEB 45

46 Operatori in PHP 2 Confronto ==, ===(tipato),!=,!==, <, >, <=, >= Logici &&, and,, or, xor,! Condizionale?: (if aritmetico) Casting (int), (float), (string), (bool), (array), (object) Tecnologie di Sviluppo per il WEB 46

47 Operatori in PHP 3 Controllo dell errore (@) precede un comando, gli errori eventualmente generati sono ignorati Esecuzione (`) La stringa all interno di ` (backtick) è passata alla shell per essere eseguita: $output = `ls -al`; echo "<pre>$output</pre>"; domanda: se tolgo <pre>?? backtick.php Tecnologie di Sviluppo per il WEB 47

48 Operatori di confronto L operatore == testa se due espressioni sono uguali (anche dopo aver effettuato delle conversioni di tipo) 1 == 1 -> true 1 == 1 -> true L operatore === testa se due espressioni sono identiche (le due espressioni devono essere uguali e dello stesso tipo) 1 === 1 -> true 1 === 1 -> false ESEMPIO Tecnologie di Sviluppo per il WEB 48

49 Istruzioni per il controllo del flusso 1 if (condizione) istruzioni if(condizione) istruzioni1 else istruzioni2 Tecnologie di Sviluppo per il WEB 49

50 Istruzioni per il controllo del flusso 2 if(condizione1) istruzioni1 elseif(condizione2) istruzioni2. else istruzionin Tecnologie di Sviluppo per il WEB 50

51 Istruzioni per il controllo del flusso 3 Istruzione switch switch($a) { case 1: print("a è uguale a uno"); break; case 2: print("a è uguale a due"); break; default: print("a non vale né uno né due"); } Tecnologie di Sviluppo per il WEB 51

52 Cicli while(condizione) istruzioni do istruzioni while(condizione); for(inizializzazione; condizione; incremento) istruzioni Tecnologie di Sviluppo per il WEB 52

53 Ciclo foreach Permettere di iterare sugli elementi di un array foreach($nomearray as $elemento) { istruzioni } $elemento assumerà tutti i valori contenuti in $nomearray Tecnologie di Sviluppo per il WEB 53

54 Ciclo foreach 2 Possiamo scorrere contemporaneamente le chiavi e gli elementi di un array foreach($nomearray as $indice => $elemento) { istruzioni } Le variabili $indice ed $elemento assumeranno, rispettivamente, tutti i valori delle chiavi e degli elementi contenuti in $nomearray Tecnologie di Sviluppo per il WEB 54

55 exit Termina l esecuzione di uno script Ha un argomento opzionale Se è un numero, indica lo stato di uscita del processo Se è una stringa, viene stampata prima che il processo termini exit() è un sinonimo di die() $handle localhost,$user, $passwd) or die( Connessione fallita ); Tecnologie di Sviluppo per il WEB 55

56 Includere del codice 1 PHP offre due possibilità per includere un documento (e.g., una libreria) in uno script PHP include e require La differenza principale è che require genera un errore fatale se non si trova il file da includere; mentre, include genera solo un warning Sintassi include NomeFile ; require NomeFile Tecnologie di Sviluppo per il WEB 56

57 Includere del codice 2 Per sopprimere gli errori possiamo In genere require è usato per includere delle librerie; mentre, include è usato per includere del codice HTML comune a più documenti Inclusioni di file con estensione.php includono l output dello script quindi... Tecnologie di Sviluppo per il WEB 57

58 Includere del codice 3 Per cui si usa l estensione.inc per le librerie e l estensione.html per documenti Un modo più efficiente per gestire intestazioni e piè pagina è quello di includere una libreria e poi invocare delle funzioni per generare le parti comuni Se vogliamo essere sicuri che il file sia inserito una sola volta usiamo require_once e include_once Tecnologie di Sviluppo per il WEB 58

59 Esempio pagina.php <html> <head>.. </head> <body> <?php include header.html ;?> Contenuto HTML <?php include footer.html ;?> </body> </html> Potrebbe andare in un file che viene incluso ESEMPIO Tecnologie di Sviluppo per il WEB 59

60 Esempio di Libreria <html> <head>.. </head> <body> <?php require_once sito.inc ; genheader();?> Contenuto HTML <?php genfooter();?> </body> </html> Tecnologie di Sviluppo per il WEB 60

61 Funzioni in PHP 1 La sintassi per definire una funzione in PHP è la seguente: function NomeFunzione([lista parametri]) { implementazione } La lista dei parametri è una sequenza di variabili separate da virgola Non è permesso l overloading Il nome delle funzioni NON è case sensitive È possibile usare un numero variabile di argomenti Inoltre ad ogni parametro può essere assegnato un valore di default...: att.ne (vedi slides successive) Tecnologie di Sviluppo per il WEB 61

62 Valori di default <?php // il terzo parametro ha un valore di default function descrivi_film($titolo, $regista, $bn_colori = 'colori') { echo "Titolo: $titolo <br>"; echo "Regista: $regista <br>"; echo "B/N - colori: $bn_colori <br>"; } // chiamo la funzione passando 2 soli parametri // il terzo è sottointeso descrivi_film('il malato immaginario','tonino Cervi'); echo '<br>'; // chiamo la funzione passando tutti e 3 i parametri descrivi_film('i soliti ignoti','mario Monicelli','bianco e nero');?> Tecnologie di Sviluppo per il WEB 62

63 Scope di vlbs: (meravigliati?) 1. <?php 2. function quadrato($a) 3. { 4. $a = $a * $a; 5. } $numero = 2; 8. quadrato($numero); 9. echo $numero; //stampa 2!!! 10.?> Tecnologie di Sviluppo per il WEB 63

64 Funzioni in PHP 2 Gli argomenti possono essere passati per valore o per riferimento Per passare un argomento per riferimento è sufficiente, nella definizione della funzione, far precedere l argomento da & La chiamata si effettua come al solito Se il nome della funzione è preceduto da &, allora la funzione restituirà un valore per riferimento Tecnologie di Sviluppo per il WEB 64

65 Funzioni in PHP 3 Le variabili all interno di una funzione sono sempre locali Per accedere alle variabili globali dobbiamo dichiararle con la parola chiave global Le funzioni non conservano memoria della loro esecuzione a meno dell uso di variabili static Una funzione definita in uno script è disponibile ovunque in quello script Per chiarezza è meglio definire le funzioni all inizio, ma non è necessario Tecnologie di Sviluppo per il WEB 65

66 Funzioni in PHP 4 In aggiunta alle usuali funzioni fornite dai linguaggi di programmazione (manipolazione di array, date e tempo, stringhe, funzioni matematiche, ), PHP supporta un grande numero di funzioni che lo collegano ad altri tipo di software (molte di queste funzioni richiedono una speciale installazione): MySQL, MS SQL, Oracle 8 Shockwave Flash PDF, XML IMAP, POP3, NNTP E tanti altri ancora Tecnologie di Sviluppo per il WEB 66

67 Funzioni con numero variabile di argomenti Esistono tre funzioni per accedere al numero dei parametri ed ai parametri stessi di una funzione $array = func_get_args(); $num = func_num_args(); $valore = func_get_arg(indice); da 0 a $num-1 Il risultato di uno qualsiasi di queste funzioni non può essere usato direttamente, ma deve sempre essere associato prima ad una variabile Tecnologie di Sviluppo per il WEB 67

68 Valori restituiti Passati con l istruzione return Per far restituire più valori è sufficiente restituire un array function return_due() { return array( a, 3); } Tecnologie di Sviluppo per il WEB 68

69 Uso di funzioni anonime (closure), come assegnazioni a variabili. È possibile associare il nome di una funzione ad una variabile e poi invocare la funzione attraverso questa variabile function max($a, $b) { return ($a>$b? $a : $b); } $massimo = max ; $massimo(3,4); //restituisce 4 Tecnologie di Sviluppo per il WEB 69

70 Ancora funzioni anonime Possiamo crearle con create_function(); Sintassi $valorerestituito = create_function($stringaargomenti, $stringacorpo); Esempio $lambda = create_function( $a, $b, return(strlen($a) strlen($b)); ); Tecnologie di Sviluppo per il WEB 70

PHP 2. Array in PHP. Esempio. Array, operatori, costrutti

PHP 2. Array in PHP. Esempio. Array, operatori, costrutti PHP 2 Array, operatori, costrutti Array in PHP Gli array conservano un gruppo di valori che possiamo identificare o attraverso un numero intero (iniziando dallo 0) oppure attraverso una stringa (array

Dettagli

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto: Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante

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

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

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

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 al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

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

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2006-07 Secondo Compitino 21 Dicembre 2006 Si noti che le soluzioni ai quesiti saranno considerate

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

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

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

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

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

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni

Array e WHILE. Array nelle Stringhe. Utilizzare le Funzioni. Funzioni Array e WHILE Array nelle Stringhe Si può utilizzare il anche costrutto while insieme alle istruzioni each e list nella condizione: while(list($indice,$valore)=each($mio_array)) { echo $Indice - $Valore

Dettagli

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web Array in PHP Lezione 7. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web Array in PHP Lezione 7 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Overview Introduzione Array Numerici Array Associativi Array Multidimensionali Funzioni

Dettagli

Stream EDitor (sed) sed NON modifica l'input 2. L'output viene inviato allo standard output e puo' essere rediretto

Stream EDitor (sed) sed NON modifica l'input 2. L'output viene inviato allo standard output e puo' essere rediretto Sed & Awk Stream EDitor (sed) sed: editor di linea che non richiede l'interazione con l'utente sed può filtrare l'input che riceve da un file o una pipe La sintassi di sed NON definisce un output: L'output

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

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara

Introduzione al linguaggio PHP. Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione al linguaggio PHP Matteo Manzali INFN CNAF - Università degli Studi di Ferrara Introduzione a PHP PHP è un linguaggio di programmazione general-purpose che viene utilizzato in larga parte

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

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.

Dettagli

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3)

Gli Array (2) Gli Array. Gli Array (4) Gli Array (3) Gli Array! Gli Array sono una delle funzioni più interessanti e flessibili.! A differenza degli altri linguaggi.! Gli array di PHP possono archiviare dati di vari tipi.! Possono organizzarli automaticamente

Dettagli

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 7 (esame del 08/01/2009) class TabellaDiNumeri{ private double[][] tabella;

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

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

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 di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 10 Strutture collegate - 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Strutture collegate - 2 1 Contenuti!Strutture

Dettagli

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i Esercizi PHP 1. Scrivere uno script PHP che produca in output: 1. La tabellina del 5 2. La tavola Pitagorica contenuta in una tabella 3. La tabellina di un numero ricevuto in input tramite un modulo. Lo

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

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array 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

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

Laboratorio di Informatica Lezione 2

Laboratorio di Informatica Lezione 2 Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3

Dettagli

13 - Gestione della Memoria nella Programmazione Orientata agli Oggetti

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

Dettagli

L utility Unix awk [Aho-Weinberger-Kernighan]

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

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: C# versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G.

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

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

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

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Informa(ca Appun% dal laboratorio 2

Informa(ca Appun% dal laboratorio 2 Informa(ca Appun% dal laboratorio 2 Conce- fondamentali Esistono programmi, come Microso8 Word oppure Acrobat Reader, che vengono usa% dagli uten% per far eseguire al computer determinate operazioni (come

Dettagli

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012 Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono

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

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

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

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

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: 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

Connessione ad internet

Connessione ad internet Introduzione al C++ Connessione ad internet Istruzioni per la connessione internet: - una volta connessi, aprire un browser (firefox) - in Modifica/preferenze/avanzate/rete/impostazioni - attivare la modalità

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

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma

ci sono più problemi che programmi esiste un problema che non si può risolvere con un programma Calcolabilità problemi facili trovare la media di due numeri stampare le linee di un file che contengono una parola problemi difficili trovare il circuito minimo data una tabella determinare la migliore

Dettagli

Linguaggio C - Funzioni

Linguaggio C - Funzioni Linguaggio C - Funzioni Funzioni: Il linguaggio C è di tipo procedurale; ogni programma viene suddiviso in sottoprogrammi, ognuno dei quali svolge un determinato compito. I sottoprogrammi si usano anche

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E08 Soluzione Esercizi F. Gasparetti, C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Soluzione Esercizi

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com

Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com Excel e le sue Funzioni Guida Pratica per la realizzazione di Progetti Prof. Nicola Cappuccio ing.nicola.cappuccio@gmail.com Ing. Nicola Cappuccio 1 Sommario INT (funzione INT)... 3 Descrizione... 3 Sintassi...

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Realizzazione di una classe con un associazione

Realizzazione di una classe con un associazione Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe

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

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

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

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

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

Dettagli

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

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

Informatica A per Ingegneria Gestionale (2005-2006) Il linguaggio HTML. Elisa Quintarelli-Laura Mandelli. HyperText Markup Language

Informatica A per Ingegneria Gestionale (2005-2006) Il linguaggio HTML. Elisa Quintarelli-Laura Mandelli. HyperText Markup Language Informatica A per Ingegneria Gestionale (2005-2006) Il linguaggio HTML Elisa Quintarelli-Laura Mandelli 1 HyperText Markup Language Linguaggio di descrizione di testi secondo lo schema SGML (Standard Generalized

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

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet

Java Server Pages (JSP) JSP o Servlet? Java Server Pages (JSP) Java Server Pages Costituiscono un estensione della tecnologia delle servlet Java Server Pages (JSP) Introduzione alle JSP Linguaggio di scripting lato server HTML-embedded Una pagina JSP contiene sia HTML sia codice Il client effettua la richiesta per la pagina JSP La parte HTML

Dettagli

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica Dipartimento di Elettronica, Informazione e Bioingegneria Informatica B Sezione D Franchi Alessio Mauro,

Dettagli

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente

Dettagli

Lavorare con MySQL Parte Seconda.

Lavorare con MySQL Parte Seconda. Lavorare con MySQL Parte Seconda. PHP, dalla versione 4.0, usufruisce difunzioni native per colloquiare con MySQL, senza appoggiarsi ad alcuna libreria o modulo esterno. In questa lezione verranno esaminate

Dettagli

NOZIONI BASE SHELL E SCRIPT LINUX

NOZIONI BASE SHELL E SCRIPT LINUX NOZIONI BASE SHELL E SCRIPT LINUX Aggiornato al 11 gennaio 2006 Ermes ZANNONI (ermes@zannoni.to.it) (http://www.zannoni.to.it) Indice : 1. Introduzione 2. La Shell 2.1 Comandida Shell 2.1.1 File e directory

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

JavaScript. crash course. by Stefano Burigat

JavaScript. crash course. by Stefano Burigat JavaScript crash course by Stefano Burigat Introduzione ECMAScript (no DOM e BOM, no ) Sintassi simile a Java Variabili definite tramite var, loosely typed, operatore comma (,) per separare definizioni

Dettagli

La struttura dati ad albero binario

La struttura dati ad albero binario La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,

Dettagli

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.

2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore. 1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno

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

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Siti web centrati sui dati Architettura MVC-2: i JavaBeans Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con

Dettagli

ASP 3.0 Il Sito Dinamico

ASP 3.0 Il Sito Dinamico www.idstudio.it ASP 3.0 Il Sito Dinamico di Lorenzo Garassino Introduzione e scopo del libro 1. Scenario 1.1. Il panorama 1.2. Sito Statico o Dinamico? 1.3. Prospettive 2. Cos è ASP 2.1. Descrizione 2.2.

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

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

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

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

costruttori e distruttori

costruttori e distruttori costruttori e distruttori Costruttore E un metodo che ha lo stesso nome della classe a cui appartiene: serve per inizializzare un oggetto all atto della sua creazione Ce ne possono essere uno, più di uno,

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Vettori Algoritmi elementari di ordinamento

Vettori Algoritmi elementari di ordinamento Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Vettori Algoritmi elementari di ordinamento Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale

Dettagli

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore

Relazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione

Dettagli

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication

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

Al giorno d oggi, i sistemi per la gestione di database

Al giorno d oggi, i sistemi per la gestione di database Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,

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

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

La connessione php-mysql con MySQLi

La connessione php-mysql con MySQLi La connessione php-mysql con MySQLi Premessa Lo scenario che si intende alla base di questo capitolo è di disporre di un ambiente phpmysql rappresentato nel seguente schema: L'applicazione php viene eseguita

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