Ruby Language and some applications. Dott. Giovanni Nigita

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ruby Language and some applications. Dott. Giovanni Nigita"

Transcript

1 Ruby Language and some applications Dott. Giovanni Nigita

2 Panoramica u u u u u Introduzione Gli strumenti in Ruby Convenzioni e programmazione ad oggetti Tipi di dati Strutture di controllo u Ereditarietà?!? u u u u u Gestione file e directory Espressioni regolari Altre cose Pacchetti di Ruby Il pacchetto HPRICOT

3 Introduzione La storia (I) Il linguaggio di programmazione Ruby è stato progettato nel 1993 dal giapponese Yukihiro Matsumoto Ma inizialmente non ebbe molto successo!

4 Introduzione La storia (II) Per più di un decennio non prese mai il decollo Inizialmente la documentazione era esclusivamente in giapponese!!!

5 Introduzione La storia (III) L anno di svolta fu il 2006! Anno in cui si affermarono i framework Ruby on Rails.

6 Introduzione La storia (IV) Adesso abbiamo veramente tanta documentazione, sia in inglese che in italiano!

7 Ruby è un linguaggio: open source general purpose interpretato Introduzione Alcune orientato agli oggetti caratteristiche (I) Possiamo definirlo come un linguaggio che ha acquisito tanto da parte di altri linguaggi come: Smalltalk, Perl, Python, C, C++, PHP, Phyton Infatti uno dei primi slogan era il seguente: (Smalltalk + Perl) / 2

8 Introduzione Alcune caratteristiche (II) Per cui avendo preso qualcosa da altri linguaggi di certo molti aspetti sintattici ritorneranno familiari. Per cui dovrebbe essere relativamente semplice la comprensione di tale linguaggio!

9 Gli strumenti in Ruby Interprete di Ruby (I) Quello di cui abbiamo bisogno è di un editor di teso e di un interprete. Per vedere le varie opzioni dell interprete lanciamo dalla shell il comando - -help ruby --help

10 Gli strumenti in Ruby Interprete di Ruby (II) -c: avviene un controllo della sintassi del codice, e se tutto corretto ritorna Syntax OK. In questo caso il codice non viene eseguito. -d, -debug: se si vuole effettuare un debug -e command : avviene l esecuzione del comando passato come argomento -v, --verbose: vengono mostrate in output delle informazioni addizionali quali la versione dell interprete, warning in fase di compilazione,

11 Gli strumenti in Ruby Interactive Ruby Oltre all interprete troviamo pure una shell interattiva! Permette di sperimentare in real time le potenzialità di questo linguaggio ed è molto utile in fasi di sperimentazione. Tra le funzionalità di questa shell abbiamo la Tab Completation! Per sfruttare questo utile strumento, basta eseguire da terminare il comando irb In particolare con il comando irb -- help, è possibile avere una lista di opzioni che si possono affiancare al comando irb.

12 Gli strumenti in Ruby RDoc and Ri (I) Tramite lo strumento RDoc (Ruby Documentation System) si può avere la documentazione completa estratta dai file sorgenti Tale documentazione viene fornita sia in formato html sia formattata per l utility ri, quest ultimo è un tool che permette di visualizzare di visualizzare la documetazione da linea di comando Potete scaricare l ultima versione andando nel seguente link:

13 Gli strumenti in Ruby RDoc and Ri (II) Esempio, eseguendo dal terminale il comando: ri String.chomp otterremo la documentazione relativa alla funzione chomp:

14 Gli strumenti in Ruby eruby (I) Tramite lo strumento eruby (embedded Ruby) è possibile inserire codice Ruby all interno di pagine HTML. Per cui, come nel caso di PHP, si possono creare delle pagine dinamiche. Il codice Ruby viene incorporato all interno dei delimitatori <% e %> Ovviamente, i blocchi di codici inseriti vengono valutati sul posto e vengono sostituiti dal risultato della loro valutazione.

15 Gli strumenti in Ruby eruby (II) Una linea di Ruby: Linee multiple: <% ruby code %> <ul> <% 2.times do %> <li>hello guys</li> <% end %> </ul> Output: Hello guys Hello guys

16 Gli strumenti in Ruby eruby (III) Se si incontra la linea di codice: <%= expression %> allora viene valutata l espressione e ne restituisce il valore, inoltre ogni linea di questo tipo <# %> rappresenta un commento.

17 Gli strumenti in Ruby eruby (IV) Abbiamo diverse implementazioni di eruby: eruby: è un implementazione di eruby scritta in C erb: è una implementazione di eruby scritto puramente Ruby ed include le sue librerie standard erubis: è una implementazione di eruby in Ruby e in Java Queste implementazioni rappresenta una buona alternativi agli altri linguaggi come PHP, Perl, ASP

18 Gli strumenti in Ruby Le librerie di base In ambiente Unix le librerie di base si troveranno nel seguente percorso: /usr/lib/ruby mentre in ambiente Windows risiedono nella directory c:\ruby\lib\ruby\ In entrambi i percorsi possiamo trovare le seguenti cartelle: 1.8: (attualmente siamo alla versione 1.9, anche se vi ritroverete sicuramente pre-installata la 1.8) contiene i moduli e le estensioni standard gems: contiene le librerie e le applicazioni installate con l utility RubyGems site_ruby: contiene i moduli e le estensioni aggiunte dal programmatore e che non sono incluse nella distribuzione di base

19 Gli strumenti in Ruby RubyGems RubyGems è un framework che gestisce le applicazioni e le librerie sotto forma di pacchetti chiamati gems. Esso permette di cercare, installare, disinstallare e aggiornare le librerie. Nel link sottostante si possono trovare le librerie dalla A allo Zinco

20 Convenzioni e programmazione OO I nomi(i) I nomi in Ruby fanno riferimento a costanti, variabili, metodi, classsi e moduli, nonostante alcune parole sono riservate: Tramite il primo carattere del nome, Ruby distingue il modo in cui viene utilizzato. Un nome può essere una lettera minuscola, maiuscola o un underscore, seguito da qualsiasi altro carattere che sia una combinazione dei simboli appartenenti alle tre precedenti categorie.

21 Convenzioni e programmazione OO I nomi(ii) Le variabili non sono tipizzate, per cui possono contenere qualsiasi tipo di dato. Dal nome della variabile viene dedotto il suo scopo, ossia se essa stessa sia locale, globale, istanza, ecc : il nome di variabili locali devono essere dichiarate con un lettera minuscola o con un carattere underscore le variabili globali iniziano con il simbolo $ le variabili di istanza con il quelle di classe con due se si vuole specificare una costante il nome deve iniziare con una lettera maiuscola

22 Convenzioni e programmazione OO I nomi(iii) Il nome di classe e di modulo sono costanti, e seguono la convenzione utilizzata per le variabili costanti. Il nome del metodo inizia con un lettera minuscola seguita da altri caratteri. Come caratteri speciali possono contenere, come suffisso, solo il simbolo! e quello?.

23 Convenzioni e programmazione OO I commenti I commenti all interno di un codice vengono inseriti attraverso il carattere #. Tutto quello che seguirà tale carattere non verrà considerato. Inoltre, è possibile fare un commento multiriga, e questo è possibile farlo mettendo il testo che si vuole commentare tra i tag =begin e =end:

24 Convenzioni e programmazione OO Qualche nozione non guasta mai! (I) In Ruby ogni cosa è un oggetto!!!

25 Convenzioni e programmazione OO Qualche nozione non guasta mai! (II) Questo paradigma di programmazione prevede di raggruppare in un porzione circoscritta (classe) del codice sorgente la dichiarazione delle strutture dati e delle procedure che operano su di esse. Nella programmazione orientata agli oggetti (OOP, Object Oriented Programming) un oggetto può essere visto come un contenitore di dati dotato di attributi (dati) dotato di una serie di metodi (procedure) secondo quanto dichiarato dalle rispettive classi. Un linguaggio è definito ad oggetti quando permette di implementare tre meccanismi chiamati incapsulamento, ereditarietà e polimorfismo.

26 Convenzioni e programmazione OO Qualche nozione non guasta mai! (III) L oggetto è una istanza di una classe! Esso è dotato di tutti gli attributi e i metodi definiti dalla classe. Dal lato del calcolatore, ogni oggetto è rappresentato da un certa locazione di memoria, nella quale si trovano memorizzati gli attributi, il valore di questi determinano lo stato interno di una dell oggetto. Istanziare un oggetto vuol dire allocare memoria ed inizializzarla in base alle specifiche della classe definisce.

27 Convenzioni e programmazione OO Gli oggetti in Ruby (I) Riportiamo un semplice esempio

28 Convenzioni e programmazione OO Gli oggetti in Ruby (II) Ancora un altro esempio

29 Convenzioni e programmazione OO Gli oggetti in Ruby (III) Gestione degli attributi Ruby fornisce delle scorciatoie per la gestione degli attributi: attr_reader, attr_writer, attr_accessor e attr. Il valore true che segue il nome dell attributo indica che la variabile è pure scrivibile, in modo analogo avremmo potuto utilizzare attr_accessor

30 Tipi di dati I numeri (I) Le classi che definiscono i numeri Nel linguaggio Ruby abbiamo la presenza di numeri interi e in virgola mobile. I numeri interi sono oggetti o della classe Fixnum o della classe Bignum i numeri che possono essere rappresentati da una word sono oggetti della classe Fixnum, altrimenti appartengono alla classe Bignum. I numeri in virgola mobile sono oggetti della classe Float.

31 Tipi di dati I numeri (II) Rappresentazione di numeri non decimali Affinché si abbia una rappresentazione non decimale di un numero, a quest ultimo bisogna far precedere un indicatore di base, in particolare: 0b per i binari; 0 per gli ottali; 0d per i decimali; 0x per gli esadecimali

32 Tipi di dati I numeri (III) Alcuni metodi per le classi Fixnum e Bignum Operazioni aritmetiche (+,-,*,/,div,%,modulo,**) Operazioni bitwise (~,,&,^,<<,>>) Altre operazione: dimensione in byte (size): 1.size => 4 operazioni di conversione (to_f, to_s) valore assoluto (abs)

33 Tipi di dati I numeri (IV) La classe Float I numeri in virgola mobile appartengono alla classe Float Questa classe, oltre ad avere i metodi poc anzi visto, ha: infinite? : tale metodo restituisce -1 se il numero è meno infinito, +1 se il numero è più infinito, nil se il numero è finito. nan? : ritorna true se il valore è un numero non valido, false altrimenti

34 Tipi di dati Le stringhe (I) Le stringhe sono delle istanze della classe String, e sono rappresentate da un successione di caratteri racchiusi tra singoli apici ( ) o tra le virgolette ( ) Si può accedere ad ogni singolo carattere della stringa []:

35 Tipi di dati Le stringhe (II) Esempio: Per visualizzare un carattere invece del codice ASCII, possiamo utilizzare il metodo chr:

36 Tipi di dati Le stringhe (III) Per questo utilizziamo le []: Accedere a sottostringhe (I) Se utilizziamo i escludiamo il secondo estremo: Possiamo pure specificare il range tramite un qualsiasi numero intero:

37 Tipi di dati Le stringhe (IV) Accedere a sottostringhe (II) Può essere specificata all interno delle [] la sottostringa da ricercare: Inoltre, possono essere specificate delle espressioni regolari J! Ci ritorneremo!!

38 Tipi di dati Le stringhe (V) L assegnazione viene effettuata attraverso il metodo []=, abbiamo una situazione analoga a metodo [] visto prima Giusto qualche esempio

39 Tipi di dati Le stringhe (VI) Alcuni importanti metodi applicabili alle stringhe (I) * + << capitalize

40 Tipi di dati Le stringhe (VI) Alcuni importanti metodi applicabili alle stringhe (II) downcase swapcase chop chomp

41 Tipi di dati Le stringhe (VI) Alcuni importanti metodi applicabili alle stringhe (III) sub e gsub split tr

42 Tipi di dati Le stringhe (VII) Alcuni importanti metodi applicabili alle stringhe (IV) strip lstrip rstrip ljust rjust center

43 Tipi di dati Blocchi e iteratori (I) I blocchi sono delle regioni di codice racchiuse tra due parole do e end oppure tra due parentesi { }. Un iteratore è un un metodo che prende come argomento un blocco. Esempio Possiamo inoltre passare dei parametri all iteratore. Ad esempio, l iteratore each della classe String prende come parametro il separatore, che di default è il carattere \n. Riprendendo l esempio avremo:

44 Tipi di dati Blocchi e iteratori (II) Vediamo adesso un esempio in cui possiamo richiamare un blocco all interno di un metodo, attraverso l istruzione yield:

45 Tipi di dati Array (I) Gli array sono istanze della classe Array e vengono creati in questo modo: o in alternativa: In questi due casi creeremo un array vuoto, per la creazione di un array non vuoto basta semplicemente passare i valori separati da virgole: N.B. Un array è una lista di oggetti non necessariamente dello stesso tipo

46 Tipi di dati Array (II) Al comando new è possibile passare due parametri, il primo indica la dimensione dell array mentre il secondo il valore con il quale verrà inizializzato: Attraverso il metodo []= è possibile inserire nell array nuovi elementi o modificare quelli già presenti:

47 Tipi di dati Array (III) E possibile indicare come indice due interi che rappresentano rispettivamente l inizio e il numero di elementi da sostituire con il valore passato: Allo stesso modo può essere usato il range:

48 Tipi di dati Array (IV) Un metodo alternativo per inserire elementi in un array è dato dai metodi << e push e il loro comportamento è simile ad uno stack: Attraverso il metodo pop è possibile invece eliminare l ultimo elemento di un array:

49 Tipi di dati Array (V) Adesso vediamo un ultima tecnica per l inserimento di elementi all interno di un array. Per fare questo, utilizziamo il metodo insert: inoltre è possibile inserire più elementi a partire dall indice specificato come primo parametro:

50 Tipi di dati Array (VI) + concatenazione: Operazioni sugli array (I) - differenza:

51 Tipi di dati Array (VII) & intersezione: Operazioni sugli array (II) * : questo metodo si comporta modo differente in base al parametro che gli si viene passato.

52 Tipi di dati Array (VIII) Alcuni importanti metodi applicabili alle stringhe (I) clear compact delete empty? include?

53 Tipi di dati Array (IX) Alcuni importanti metodi applicabili alle stringhe (II) index join lenght, nitems reverse sort

54 Tipi di dati Array (IX) Altri metodi each reverse_each each_index collect! delete_if

55 Tipi di dati Hash (I) Sono liste di coppie di chiavi e valori e sono istanze della classe Hash Ogni coppia è separata dall altra tramite una virgola, inoltre tra le chiavi e il valore deve esserci il simbolo => A differenza degli array gli indici possono essere di qualsiasi tipo Gli hash in Ruby sono racchiusi tra le parentesi { e } Come creare un array:

56 Tipi di dati Hash (II) Per popolare un hash basta utilizzare il metodo []=, visto nel caso degli array con la differenza che al posto dell indice bisogna specificare la chiave: Per accedere ad un specifico valore si utilizza il metodo []: Tramite il metodo keys e values possibile elencare rispettivamente tutti le chiavi e tutti i valori:

57 Tipi di dati Hash (III) Diversi metodi visti in precedenza per gli array sono presenti anche negli hash! Uno in particolare che possiamo vedere, molto utile, è il metodo each che passa al blocco come parametri sia la chiave che il valore dell hash. Inoltre, esistono i metodi each_key e each_value che passano rispettivamente al blocco la chiave e il valore.

58 Strutture di controllo if e unless (I) If (I) Ovviamente chiunque il significato di tale costrutto, per cui evitiamo di parlarne e la sua sintassi:

59 Strutture di controllo if e unless (II) If (II) Osserviamo un rapido esempio J :

60 Strutture di controllo if e unless (III) If (III) Se il nostro if si trova in più linee allora si può anche omettere a per cui il nostro esempio diventa: Inoltre, è possibile inserire un espressione if anche in coda ad una istruzione:

61 Strutture di controllo if e unless (IV) Unless (I) L opposto dell if esiste il costrutto unless che esegue le istruzioni associati all espressione booleana che risulta falsa:

62 Strutture di controllo if e unless (V) Unless (II) Vediamo un piccolo esempio Anche in questo caso possiamo mettere il costrutto unless alla fine dell istruzione:

63 Strutture di controllo if e unless (VI) Vediamo adesso un altra forma più particolare che richiede l uso dell operatore? : In questo caso assegneremo alla variabile segno la stringa negativo se la variabile numero è negativa, altrimenti assegneremo la stringa positivo.

64 Strutture di controllo case (I) A volte per una questione di comodità e di chiarezza nel codice si preferisce utilizzare l istruzione case in alternativa a if e unless. Il costrutto case ha la seguente sintassi:

65 Strutture di controllo case (II) Vediamo subito un esempio L istruzione che si trova dopo la parola else è quella che viene eseguita di default nel momento in cui falliscono tutte le altre istruzioni.

66 Strutture di controllo case (III) E possibile fare uso della parola chiave then e dei due punti qualora la condizione si trovi nella stessa linea dell istruzione:

67 Strutture di controllo case (IV) In ultima analisi, considerando che il costrutto case restituisce il valore dell ultima espressione valutata allora è possibile assegnare tale risultato ad un variabile:

68 Strutture di controllo while, until e for (I) While Esempio:

69 Strutture di controllo while, until e for (II) Until Esempio: In questo caso viene eseguita l espressione finché è falsa

70 Strutture di controllo while, until e for (III) For Esempio:

71 Strutture di controllo while, until e for (IV) Come uscire dai cicli break Il comando break fa terminare il ciclo e l esecuzione del programma riparte dall istruzione che segue il ciclo:

72 Strutture di controllo while, until e for (V) Come saltare una iterazione next Attraverso il comando next è possibile saltare una iterazione del ciclo e il programma riprenderà dall iterazione successiva:

73 Gestione File Apertura e chiusura (I) File è la classe che contiene i metodi per la gestione dei file (apertura, chiusura, lettura, scrittura ) Abbiamo a disposizione due metodi per aprire un file: Metodo classico File.new A questo punto tutto le operazioni vanno eseguite sull oggetto my_file di tipo File. Una volta concluse le operazioni, per chiudere il file basta semplicemente il seguente comando

74 Gestione File Apertura e chiusura (II) Il metodo File.new ha la seguente sintassi: Tale metodo può prendere da uno a tre parametri: il primo rappresenta il nome del file da aprire, il secondo la modalità di apertura, il terzo i permessi che verranno associati al file. Di default il file viene aperto in solo lettura.

75 Gestione File Apertura e chiusura (III) La modalità di apertura può essere espressa sia come stringa: r: apertura a solo lettura r+: apertura per lettura e scrittura dall inizio del file w: apertura a solo scrittura, in particolare se il file non esiste ne viene creato uno nuovo, altrimenti viene azzerato w+: apertura per lettura e scrittura, se il file non esiste ne viene creato uno nuovo, altrimenti viene azzerato a: apertura a solo scrittura dalla fine del file, inoltre se il file non esiste allora viene creato a+: apertura sia come or di flag (sono costanti della classe File) APPEND: apertura in modalità append; CREAT: viene creato il file se non esiste; RDONLY: apertura a solo lettura; RDWR: apertura per lettura e scrittura; TRUNC: apre il file e se già esiste lo azzera; WRONLY: apertura a solo scrittura.

76 Gestione File Apertura e chiusura (IV) Per quanto riguarda il terzo argomento, i permessi vengono indicati, nei sistemi Unix-like, nella forma Owner-Group-Other. Vediamo subito un piccolo esempio In questo caso, il file se non esiste viene creato, se esiste lo apre e lo azzera, ed inoltre viene aperto in lettura e scrittura. Per quanto riguarda i permessi, possiamo leggere e scrivere nel file, mentre il nostro gruppo e chiunque altro può solamente leggerlo.

77 Gestione File Apertura e chiusura (V) Apertura tramite il metodo open Al metodo open può essere associato un blocco al quale viene passato il file appena aperto. Senza il blocco associato open è sinonimo di File.new. Quando viene utilizzato open non è richiesta la chiamata di close al termine delle operazioni, in quanto esso verrà chiuso automaticamente all uscita del blocco.

78 Gestione File Lettura e scrittura (I) Le operazioni base sui file appena aperto sono la lettura e la scrittura. Per la lettura possiamo utilizzare il metodo gets che viene ereditato dalla classe IO (precisiamo che la classe File è un sottoclasse della classe IO). Altrimenti possiamo fare ricorso agli iteratori nel momento in cui utilizziamo il metodo open per aprire il file: each_byte: chiama il blocco per ogni byte each_line (anche each): chiama il blocco per ogni riga

79 Gestione File Lettura e scrittura (II) Attraverso gli iteratori each_line e each possiamo iterare su ogni linea del file: risparmiamo qualche riga di codice J

80 Gestione File Lettura e scrittura (III) Un ulteriore modo al quanto elegante per aprire un file è dato dal metodo foreach della classe IO. Ad esso viene passato come argomento un file, il metodo apre tale file, chiama il blocco per ogni linea e alla fine chiude automaticamente il file: Per la scrittura su un file viene utilizzato il metodo write il quale prende come argomento la stringa da scrivere sul file:

81 Gestione File Lettura e scrittura (IV) In alternativa a write possiamo utilizzare: l operatore << oppure il metodo puts

82 Gestione File Alcuni metodi utili (I) Vediamo alcuni metodi utili per la gestione di file: atime, ctime, mtime: rispettivamente restituisco la data di ultimo accesso, di creazione e di modifica. chmod, chown: modificano i permessi di proprietariorename: delete: cancella il file rename: rinomina il file size: restituisce la dimensione del file in byte read: restituisce il contenuto del file in un unica stringa readlines: restituisce in un array le linee del file

83 Gestione File Alcuni metodi utili (II) Vi sono alcuni metodi interrogativi come: exist? : restituisce true se il file esiste executable? : restituisce true se il file è eseguibile readable? : restituisce true se il file è leggibile writable? : restituisce true se il file è scrivibile file? : restituisce true se il file è regolare, ossia se non è una directory, ecc. owned? : restituisce true se l user ID del processo è lo stesso del file.

84 Gestione directory La classe della gestione delle directory è Dir. Per questa classe esistono pure i metodi new, open e close visti in precedenza per la classe File: Anche in questo caso si può utilizzare il metodo open senza ricorrere successivamente a close per chiudere la directory una volta concluse le operazioni

85 Espressioni Regolari (I) Le espressioni regolari sono uno strumento molto potente per la gestione del testo. Esse forniscono dei modelli per ricercare all interno di un testo espressioni letterali. Come nel caso degli array e degli hash, gli oggetti della classe Regexp possono essere creati in diversi modi: utilizzando il metodo new nel quale viene passata l espressione regolare: oppure tra i doppi slash //:

86 Espressioni Regolari (II) Nel momento in cui viene creata un espressione regolare possiamo confrontarla con una stringa. Questo lo possiamo fare attraverso l operatore =~ o il suo negato!~ L operatore =~ restituisce la posizione del primo carattere che fa match con l espressione regolare

87 Espressioni Regolari (III) Nelle espressioni oltre ai normali caratteri possono essere usate delle sequenze di simboli che indicano determinate categorie di caratteri. un carattere qualsiasi \w lettera o numero \W il contrario di \W, né lettera né cifra \s spazio, come \t \n \r, ecc.. \S carattere non spazio \d cifra numerica \D carattere non numerico \A match con l inizio della stringa \Z match con la fine della stringa

88 Espressioni Regolari (IV) Come nel caso di \A e \Z, esistono due particolari elementi ^ e $ che vengono usati rispettivamente per cercare l espressione regolare all inizio della stringa o alla fine.+ Esistono anche dei simboli di quantità * zero o più ripetizioni del carattere precedente + una o più ripetizioni del carattere precedente {m,n} almeno m e massimo n ripetizioni del carattere precedente? al massimo una ripetizione del carattere precedente

89 Espressioni Regolari (V) Possiamo indicare la classe di caratteri all interno di un espressione regolare nel seguente modo: /[Rr]uby/ /rub[ye]/ /[aeiou]/ Ruby o ruby ruby o rube una qualsiasi vocale minuscola /[0-9]/ un qualsiasi numero compreso fra 0 e 9 /[a-z]/ /[A-Z]/ /[a-za-z0-9]/ /[^aeiou]/ /[^0-9]/ una qualsiasi lettera minuscola una qualsiasi lettera maiuscola la qualunque cosa qualcos altro rispetto ad una vocale minuscola qualcos altro rispetto ad un numero compreso fra 0 e 9

90 Espressioni Regolari (VI) La classe String (I) Vediamo adesso come possiamo utilizzare le espressioni regolare per le stringhe In questo caso index restituisce l indice della prima occorrenza della sottostringa che verifica il pattern, in modo analogo il metodo rindex restituisce l ultima occorrenza:

91 Espressioni Regolari (VI) La classe String (II) E possibile utilizzare le espressioni regolari anche con il metodo split: Infine, possiamo sfruttare le potenzialità delle regexp con il metodo scan, in questo caso tale metodo scansiona tutta la stringa presa in esame e inserisce in un array tutti i risultati che verificano il pattern:

92 Pacchetti in Ruby Introduzione a RubyGems (I) RubyGems è un framework per la gestione in modo automatica dei pacchetti. Esso si occupa dell installazione, dell aggiornamento e della distruzione Esso va installato a parte in quanto non fa parte dei programmi distribuiti direttamente da Ruby Nel seguente link trovate i sorgenti attualmente disponibili:

93 Pacchetti in Ruby Introduzione a RubyGems (II) Per l installazione di RubyGems basta eseguire il seguente comando: Se eseguiamo dal terminale in comando gem senza alcuna opzione figurerà lista di informazioni per l uso di RubyGems Per avere una lista completa dei comandi basta lanciare il seguente comando

94 Pacchetti in Ruby Comandi per RubyGems (I) Per installare una nuova gemma basta utilizzare il comando install: Per avere una lista completa delle opzioni che si possono utilizzare con il comando install basta lanciare il seguente comando:

95 Pacchetti in Ruby Comandi per RubyGems (II) Per poter utilizzare le librerie nel codice sorgente occorre caricare la gemma, per fare ciò si utilizza il comando require: Per disinstallare un pacchetto attraverso RubyGems basta utilizzare il comando unistall Attraverso il comando list invece è possibile vedere le gemme installate attualmente nella propria macchina. Indicando l opzione remote è possibile avere una lista completa dei pacchetti presenti nel repository. Di default quello ufficiale è rubyforge.org Infine, attraverso il comando update possiamo aggiornare la versione di un pacchetto se viene specificato il suo nome, altrimenti vengono aggiornati tutti quelli presenti nella propria macchina.

96 Pacchetto HPRICOT (I) Hpricot (v 0.8.6) è una gemma che può essere scaricata dal sito: Al link In alternativa può essere installato dalla shell di ruby con il seguente comando: gem install hpricot

97 Pacchetto HPRICOT (II) Hpricot è un parser HTML, scritto in C, veloce e flessibile. Le ricerche possono basarsi su diversi elementi: ID degli elementi Selettori CSS Tag Ed in generale tutti gli elementi che compongono una pagina html

98 Pacchetto HPRICOT (III) Documentazione Demo on line Competitor, sempre una ruby gems: Nokogiri (

99 Pacchetto HPRICOT (IV) Input: Dal www require 'open-uri' doc = open(" { f Hpricot(f) } Da file locali doc = open("index.html") { f Hpricot(f) } Oppure una generica stringa doc = Hpricot("<p>A simple <b>test</b> string.</p> )

100 Pacchetto HPRICOT (V) Ricerca degli elementi all interno del documento vengono effettuati tramite il comando doc.search Per ottenere il contenuto dell elemento cercato si usa il comando.inner_html ADESSO SCRIPT DI ESEMPIO

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

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

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

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

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

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

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

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

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

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

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

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

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

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

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

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

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini PROGRAMMAZIONE Insieme delle attività da svolgersi per creare

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

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

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

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

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

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

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

Compilatore risorse display grafico LCD serie IEC-line

Compilatore risorse display grafico LCD serie IEC-line Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

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

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

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

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

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Introduzione a Dev-C++

Introduzione a Dev-C++ Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP

Dettagli

Versione 7.0 Taglie e Colori. Negozio Facile

Versione 7.0 Taglie e Colori. Negozio Facile Versione 7.0 Taglie e Colori Negozio Facile Negozio Facile: Gestione taglie e colori Il concetto di base dal quale siamo partiti è che ogni variante taglia/colore sia un articolo a se stante. Partendo

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

Capitolo 11 -- Silberschatz

Capitolo 11 -- Silberschatz Implementazione del File System Capitolo 11 -- Silberschatz Implementazione del File System File system: Definizione dell aspetto del sistema agli occhi dell utente Algoritmi e strutture dati che permettono

Dettagli

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0 PAG. 2 DI 38 INDICE 1. PREMESSA 3 2. SCARICO DEL SOFTWARE 4 2.1 AMBIENTE WINDOWS 5 2.2 AMBIENTE MACINTOSH 6 2.3 AMBIENTE

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

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)

Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio

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

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

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

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15 WG TRANSLATE Pagina 1 di 15 Sommario WG TRANSLATE... 1 1.1 INTRODUZIONE... 3 1 TRADUZIONE DISPLAY FILE... 3 1.1 Traduzione singolo display file... 4 1.2 Traduzione stringhe da display file... 5 1.3 Traduzione

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi: JAVASCRIPT Introduzione Con l HTML siamo in grado di realizzare pagine web statiche. Con il linguaggio Javascript, invece, possiamo interagire modificando il contenuto della pagina. Il linguaggio javascript

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

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

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

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI

L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI L ACQUISIZIONE E LA GESTIONE DEI DOCUMENTI ELETTRONICI DOCUSOFT integra una procedura software per la creazione e l'archiviazione guidata di documenti in formato elettronico (documenti Microsoft Word,

Dettagli

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica

GLI SCRIPT DI SHELL. Lucidi a cura di B.De Carolis. UNIX shell script UdB- Dip Informatica GLI SCRIPT DI SHELL Lucidi a cura di B.De Carolis Shell Unix - Linux comandi Interfaccia di alto livello tra utente e SO. Il processore interpreta e mette in esecuzione comandi da: 1) standard input o

Dettagli

Manuale per i redattori del sito web OttoInforma

Manuale per i redattori del sito web OttoInforma Manuale per i redattori del sito web OttoInforma Contenuti 1. Login 2. Creare un nuovo articolo 3. Pubblicare l articolo 4. Salvare l articolo in bozza 5. Le categorie 6. Modificare un articolo 7. Modificare

Dettagli

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione.

3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Elaborazione testi 133 3.5 Stampa unione 3.5.1 Preparazione 3.5.1.1 Aprire, preparare un documento da utilizzare come documento principale per una stampa unione. Abbiamo visto, parlando della gestione

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

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

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

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

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

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

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

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

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi? 1. La nozione di multiprogrammazione prevede la possibilità 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

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

Consultazione Documenti

Consultazione Documenti Consultazione Documenti 1 SOMMARIO Accesso alla Procedura Lato azienda...3 Caratteristiche dell Applicazione dialogo-web...3 Modifica Password...6 Accesso negato ai servizi On line di Nuova Informatica...7

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

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

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP.

Approfondimenti. Il controllo di SQL Injection nelle pagine ASP e ASP.NET. U.A. 5 - Database in rete con le pagine ASP e ASP. U.A. 5 - Database in rete con le pagine ASP e ASP.NET 269 Il controllo di SQL Injection nelle pagine ASP e ASP.NET Approfondimenti Con il termine SQL Injection si intende l aggiunta di istruzioni SQL nell

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

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

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

Lezione II: Web server e ambiente di lavoro

Lezione II: Web server e ambiente di lavoro Lezione II: Web server e ambiente di lavoro In questa lezione, in laboratorio, si mostrerà quali sono i passi necessari per creare ed eseguire una pagina ASP. Brevemente, verrà fatto anche vedere, come

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

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

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie

Dettagli

Manuale di realizzazione dei modelli di documento

Manuale di realizzazione dei modelli di documento MystiqueXML Manuale di realizzazione dei modelli di documento Indice 1 Le tabelle...5 1.1 Tabelle condizionali...5 1.2 Tabelle Multiple - un solo livello...5 1.3 Tabelle Multiple - a più livelli...5 2

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

Progettazione di un Database

Progettazione di un Database Progettazione di un Database Per comprendere il processo di progettazione di un Database deve essere chiaro il modo con cui vengono organizzati e quindi memorizzati i dati in un sistema di gestione di

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

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

NOZIONI BASE PER ESERCITAZIONI

NOZIONI BASE PER ESERCITAZIONI NOZIONI BASE PER ESERCITAZIONI Shahram Rahatlou Laboratorio di Calcolo, Anno Accademico 2015-16 http://www.roma1.infn.it/people/rahatlou/labcalc/ Sistema Operativo Hardware Software n Routine e programmi

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

OSSIF WEB. Manuale query builder

OSSIF WEB. Manuale query builder OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

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

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

ISTRUZIONI PER L INSTALLAZIONE DI MINGW ISTRUZIONI PER L INSTALLAZIONE DI MINGW Prima di iniziare la procedura di installazione di MinGW dobbiamo dire che il presente software è un compilatore C che non possiede un ambiente di programmazione.

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

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

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

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

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

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Calcolatori Elettronici Parte X: l'assemblatore as88

Calcolatori Elettronici Parte X: l'assemblatore as88 Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso

Dettagli

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE.

Per accedere clicca su START o AVVIO (in basso a sinistra sul tuo schermo), poi su PROGRAMMI, ACCESSORI e infine su BLOCCO NOTE. Cos'è l'html HTML è una sigla che viene da una frase inglese che vuol dire: " Linguaggio di contrassegno di ipertesti" (Hyper Text Markup Language) L'Html non è un vero e proprio linguaggio di programmazione,

Dettagli

Informatica. Il software (S.O.) e ancora sulle basi numeriche

Informatica. Il software (S.O.) e ancora sulle basi numeriche (S.O.) e ancora sulle basi numeriche http://159.149.98.238/lanzavecchia/docum enti/sscta.htm 1 Il sistema operativo Un insieme di programmi che gestiscono le risorse (cpu, memoria, dischi, periferiche)

Dettagli

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 -

LABORATORIO DI INFORMATICA 1 2014-2015. - parte 6 - LABORATORIO DI INFORMATICA 1 2014-2015 - parte 6 - Lettura da File Obiettivo: leggere un file Per prima cosa dobbiamo creare un oggetto che rappresenti il file che vogliamo utilizzare (inserendo anche

Dettagli