informatica di base per le discipline umanistiche

Slides:



Advertisements
Presentazioni simili
Lezione 7 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
Advertisements

© 2015 Giorgio Porcu - Aggiornamennto 01/12/2015 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Rappresentazione dell’ Informazione Sistemi.
L’addizione ESEMPIO Rappresentazione
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
1 Come cercare le fonti di informazione scientifica Operatori e wildcards a cura della Biblioteca di Agraria.
1 Simulazione Numerica dei Fenomeni di Trasporto Necessità di introduzione dei tensori  11  12  13  23  21  22 Vogliamo descrivere in un modo che.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
COMUNICARE SUL WEB! La prima cosa da sapere per scrivere sul web è riconoscere che internet non ha lettori tradizionali: l’80% dei navigatori non legge.
Il Piano Cartesiano prima parte.
Cosa nascondono i numeri naturali? N Loretta Ferrante.
Le Frazioni.
= 2x – 3 x Definizione e caratteristiche
Corso «Nozioni di Informatica» – riepilogo di alcuni concetti visti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Inserisci il titolo qui.
Unità di apprendimento 1
Definizione di logaritmo
VISUAL BASIC.
Cosa succede quando premi invio
La rappresentazione delle informazioni
INFORMATICA DI BASE I FONDAMENTI.
Terza Lezione → Navigare nel file System → parte 2
Insiemi e logica Insiemi e operazioni insiemistiche
7. Strutture di controllo Ing. Simona Colucci
4 < 12 5 > −3 a < b a > b a ≤ b a ≥ b
GLI INSIEMI Prof.ssa Maura Roberta Orlando
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I segni diacritici fondamentali, gli accenti e la prosodia in Greco
Equazioni e disequazioni
PARTE TERZA OPERAZIONI CON LE PROPOSIZIONI
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Numeri decimali e numeri interi
Organizzazione fisica
Logica Lezione
Ripasso… Elementi di logica
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
Creazione di pagine per Internet
Lezione 5: Algebra di Boole
I MONOMI.
Situazione problematica con una tessera della Matematòca Aritmetica
IL VERBO I modi & I tempi.
INCONTRO CON LA MATEMATICA IN MEMORIA DI CLARA BOZZOLO
I segni diacritici fondamentali, gli accenti e la prosodia in Greco
Algebra di Boole e sue applicazioni
Rappresentazione dei Numeri
INFORMATICA DI BASE I FONDAMENTI.
Circuiti digitali Architettura © Roberto Bisiani, 2000
Numeri decimali e numeri interi
Secondo Programma in C.
4.
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Confronto tra rappresentazioni di percorsi nella griglia 10×10
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
© 2007 SEI-Società Editrice Internazionale, Apogeo
Definizione di linguaggio di programmazione
I fogli elettronici Microsoft Excel.
= 17 somma addendi + ADDIZIONE
VUOI SAPERE COME FARE UN RIASSUNTO?
Sistemi Digitali.
WORD 28/02/2019 Informatica - WORD.
Fogli di Calcolo Elettronici
Fare ricerca mai così facile!
Unità 1 Programmi base.
Selezione e Proiezione
Ch Chimica Attività di recupero durante le vacanze di Natale
Array e Stringhe Linguaggio C.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
La programmazione strutturata
Docente: Sabato Bufano
Algoritmi.
Transcript della presentazione:

informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia lezione 7 (continua…)

settima lezione: “percorrere” un testo vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università di Pavia lezione 7 (continua…)

il testo come percorso cosa vuol dire per un calcolatore leggere un testo? quando salviamo un file di testo, registriamo in formato binario la sequenza specifica di lettere e delimitatori di cui si compone il testo nella memoria di massa del calcolatore possiamo dire che il calcolatore legge un testo mentre lo salva? un possibile test per rispondere a questa domanda è quello di chiedere al calcolatore se la parola “cane” sia mai stata usata nel testo e, se sì, dove è stata usata per la prima volta per rispondere a queste semplici domande, al calcolatore non basta aver salvato il testo: deve scorrerlo un’utile metafora per rappresentare il processo di lettura di un testo da parte del calcolatore è dunque questa: leggere significa scorrere dei caratteri in sequenza ed essere in grado di riconoscere degli “schemi ricorrenti” questi schemi possono essere sillabe, parole o frasi, o ancora classi di sillabe, parole o frasi lezione 7 (continua…)

il testo come percorso (II) in WORD è possibile cercare una parola in un testo attivando la funzione “trova” la parola da cercare dev’essere scritta in un’apposita finestrella di testo, che si apre attivando la funzione con un click la funzione, una volta avviata, individua la prima ricorrenza della parola desiderata alla destra o alla sinistra del cursore “trova” in WORD funziona dunque percorrendo il testo a partire dalla posizione corrente del cursore la ricerca può avvenire in una direzione o nell’altra, a seconda che sia stato chiesto di percorrere il testo verso il basso (a destra del cursore) o verso l’alto (alla sua sinistra) (per saperne di più clicca sulle parole evidenziate!) lezione 7 (continua…)

il testo come percorso (III) la differenza di prospettiva (alto/basso, sinistra/destra) è dovuta a come immaginiamo sia organizzato il testo; se il testo è visto come una pura sequenza di parole, allora è naturale usare espressioni come “cerca verso destra” o “cerca verso sinistra”; se invece immaginiamo che il testo sia strutturato in paragrafi e pagine disposti l’uno sull’altro in verticale, diventa più intuitivo parlare di alto e basso, su e giù entrambe le espressioni alludono, comunque, alla stessa metafora del testo come percorso lezione 7 (continua…)

il testo come percorso (IV) possiamo percorrere un testo alla ricerca di “classi” di sequenze di caratteri assai più complicate delle singole parole, ad esempio: “tutte le parole che iniziano con la lettera maiuscola” “le stringhe di numeri la cui seconda cifra è 2” “le linee di testo che terminano con un punto esclamativo” ecc. le cosiddette “espressioni regolari” ci consentono di esprimere in modo immediato queste classi ricorda che all’interno di un’espressione regolare qualsiasi delimitatore è un carattere uno spazio vuoto è un carattere un accapo è un carattere un tabulatore è un carattere lezione 7 (continua…)

le espressioni regolari un’espressione regolare (erre) è un’espressione logica che descrive una particolare sequenza di caratteri ad esempio, all’interno di una erre possiamo usare l’operatore logico AND per indicare una concatenazione “c AND a”: “cercami la sequenza ca” l’operatore logico OR per indicare una disgiunzione “cane OR gatto”: “cercami nel testo la parola cane o la parola gatto l’operatore logico NOT per escludere certe sequenze “ ” AND NOT(“c”)”: “cercami qualsiasi parola che non inizi per c” per semplificare la scrittura (ma non necessariamente la lettura!) delle espressioni regolari è stata introdotta una sintassi particolare lezione 7 (continua…)

la sintassi delle espressioni regolari per convenzione, negli esempi seguenti una erre è sempre racchiusa tra “slash”: “/” l’operatore logico di concatenazione (AND) è omesso: /ca/: “cercami la sequenza ca” /n a/: “cercami la sequenza formata da una n seguita da uno spazio vuoto, seguito da una a” esempio: “un asino” l’operatore logico di disgiunzione (OR) è indicato in due modi diversi: con le parentesi quadre “[ ]” per esprimere la disgiunzione tra caratteri singoli /[abc]/: “cercami una a, una b o una c” da un “pipe”, “|”, per esprimere la disgiunzione tra stringhe /cane|gatto/: “cercami nel testo la parola cane o la parola gatto lezione 7 (continua…)

la sintassi delle espressioni regolari l’operatore logico NOT è espresso dal simbolo (prefissato) “^” racchiuso tra parentesi quadre “[ ]” / [^aeiou]/: “cercami una (semi)consonante ad inizio di parola” letteralmente: “cercami un carattere preceduto da uno spazio vuoto e che non sia né una a, né una e, né una i, né una o e né una u” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

quante volte? una erre può contenere simboli che indicano quante volte una certa sequenza deve essere trovata questi simboli, detti moltiplicatori, sono tutti postfissi, cioè seguono immediatamente a destra la sequenza alla quale si riferiscono: operatore “?” di opzionalità /pa?/: “cercami una p, seguita opzionalmente da una a” esempi: “p”, “pa” operatore “*” /pa*/: “cercami una p, seguita opzionalmente da una o più a” esempi: “p” , “pa”, “paa”, “paaa” ... operatore “+” /pa+/: “cercami una p, seguita da almeno una a” esempi: “pa”, “paa”, “paaa” , “paaaa” ... corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

moltiplicatori “evoluti” /<carattere>{n,m}/: il <carattere> deve occorrere almeno n volte e al massimo m volte /<carattere>{n,}/: il <carattere> deve comparire almeno n volte /<carattere>{n}/: il <carattere> deve comparire esattamente n volte corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

“ambito” nei moltiplicatori l’ambito di un moltiplicatore in una erre è la sequenza alla quale il moltiplicatore si riferisce un moltiplicatore può fare riferimento a un solo carattere o a una sequenza di caratteri nel primo caso, il moltiplicatore segue semplicemente a destra nel secondo caso, la sequenza che definisce l’ambito va raggruppata tra parentesi tonde esempi: /pa*/: “p” , “pa”, “paa”, “paaa” ... /(pa)*/: “pa” , “papa”, “papapa”, “papapapa” ... corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

classi di caratteri in una erre è possibile definire in modo molto semplice una classe di caratteri ordinati secondo una scala, indicando tra parentesi quadre soltanto il primo e l’ultimo elemento della scala, separati da un trattino esempi: /[a-z]/: tutti i caratteri dell’alfabeto compresi tra la a e la z /[0-9]/: tutte le cifre decimali dallo 0 al 9 corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

Classe di caratteri equivalente utili abbreviazioni RE Classe di caratteri equivalente /\d/ /[0-9]/ /\w/ /[a-zA-Z0-9_]/ /\s/ /[ \t\n]/ /\D/ /[^0-9]/ /\W/ /[^a-zA-Z0-9_]/ /\S/ /[^ \t\n]/ caratteri particolari: \t tabulatore \n accapo lezione 7 (continua…)

il carattere “jolly” esiste un carattere speciale che ha la funzione di “jolly”, cioè può corrispondere a qualsiasi carattere (con la sola eccezione dell’accapo) questo carattere speciale è il punto: “.” esempi: /p./: “pp” , “pa”, “pe”, “pi”, “pr”, “pn”, “p ”, “p?” ... corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

il carattere “normalizza” esiste un carattere che ha la funzione di trasformare un carattere speciale in un carattere “ordinario” questo carattere speciale è il “backslash”, anche noto come carattere “escape” “\” esempi: /p./: “pp” , “pa”, “pe”, “pi”, “pr”, “pn”, “p ”, “p?” ... /p\./: “p.” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

“ancore” nel descrivere una sequenza con una erre è possibile ancorarla a un punto specifico del testo: ad esempio, è possibile dire che la sequenza in questione deve apparire all’inizio della riga, oppure alla fine, oppure ad inizio di parola questi punti di riferimento testuali, detti “ancore”, sono: “^” : indica l’inizio riga “$”: indica il fine riga “\<”: indica l’inizio di parola “\>”: indica il fine parola “\b”: indica il confine di parola “\B”: indica qualsiasi carattere con la sola eccezione del confine di parola corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

“ancore” (II) ¶Esempio · di · testo · incolonnato,¶ inizio riga “^” ¶Esempio · di · testo · incolonnato,¶ ¶con · marcatori · in · evidenza... inizio parola “\<“ fine riga “$” confine parola “\b” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” corpo di parola “\B” fine parola “\>” lezione 7 (continua…)

“pattern matching” ricorda: un’espressione regolare descrive una particolare sequenza di caratteri nel testo l’uso più comune dell’espressioni regolari è quello di evidenziare tutte le sequenze di caratteri nel testo per le quali la erre è verificata (a partire da quella più vicina al cursore) questo uso è chiamato in letteratura “pattern matching” (dall’inglese “corrispondenza con uno schema”) nota che due espressioni regolari diverse possono individuare gli stessi punti del testo, ma evidenziare sequenze differenti! / [^aeiou]/: “cercami una consonante ad inizio di parola” / [^aeiou][a-z]+/: “cercami una parola che inizi per consonante” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

“pattern matching” (II) corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

“pattern matching” (III) corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

importanza delle ancore corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

importanza delle ancore (II) corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

importanza delle ancore (III) corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

il “doppio ruolo” delle parentesi abbiamo visto che le parentesi all’interno di una erre servono a definire l’ambito di un moltiplicatore esiste tuttavia un ruolo ulteriore svolto dalle parentesi (anche in assenza di un moltiplicatore): quello di memorizzare l’espressione contenuta in parentesi in una variabile temporanea il contenuto della variabile può essere “richiamato” con l’espressione “\<numero>”, dove <numero> esprime la posizione della coppia di parentesi a partire da sinistra: 1 = contenuto della prima coppia di parentesi 2 = contenuto della seconda coppia di parentesi 3 = contenuto della terza coppia di parentesi ecc. corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

il “doppio ruolo” delle parentesi (II) il contenuto della variabile “richiamato” con l’espressione “\<numero>” può essere a sua volta modificato, come illustra la funzione “trova e sostituisci” speciale in WORD… corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

il “doppio ruolo” delle parentesi (III) corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

alcune limitazioni la negazione può avere come ambito solo insiemi di caratteri, non sequenze (o stringhe), infatti: 1) /[^zione] \> /: nega la disgiunzione 2) /[^(zione)] \> /: ha la stessa semantica di /[^zione]\>/ 3) /[^z][^i][^o][^n][^e] \> /: nega non solo tutte le stringhe in zione, ma anche molte altre (ad es. quelle in sione), infatti … rappresentando una concatenazione di negazioni, la 3) nega qualsiasi parola che contenga almeno una e in ultima posizione, una n in penultima, una o in terzultima, e così via. perché? corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

alcune limitazioni (II) la semantica di una erre che escluda tutte le parole che finiscono in zione può essere parafrasata come segue: trovami tutte le parole che terminano in zione ed escludile dalla ricerca per ottenere questo risultato abbiamo dunque bisogno: 1) di individuare tutte le parole in zione, 2) e poi di escluderle l’espressione che cerchiamo dovrebbe compendiare due operazioni incompatibili logicamente: prima la selezione delle parole in zione poi la loro de-selezione corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

alcune limitazioni (III) è possibile ottenere lo stesso risultato con i seguenti passi: selezioniamo tutte le parole che terminano in zione aggiungiamo a ciascuna di esse un’etichetta speciale (ad es. ‘T’) selezioniamo tutte e sole le parole che non sono seguite dalla etichetta ‘T’ corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

marca parole in “zione” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

escludi parole in “zioneT” corrispondenze in WORD: <[!aeiouAEIOU]: cercami qualsiasi consonante ad inizio di parola <[!aeiouAEIOU][a-z]@>: cercami qualsiasi parola che non cominci per “aeiou” lezione 7 (continua…)

espressioni regolari su internet http://www.cacas.org/java/gnu/regexp/reapplet.html lezione 7 (continua…)

settima lezione “percorrere” un testo fine settima lezione (lezione 8) lezione 7