Dagli editor di testo alla codifica di alto livello

Slides:



Advertisements
Presentazioni simili
Sistemi Operativi - Vi 1 Il sistema operativo LINUX Leditor vi Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica.
Advertisements

Il Software.
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
MODULO 3 – ELABORAZIONE TESTI
MODULO 3 – ELABORAZIONE TESTI
Informatica Modulo 2 – Office Word.
Modulo 1 – Ambiente di lavoro Windows 7
HYPER TEXT MARK-UP LANGUAGE
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
HTML Hyper Text Mark-Up Language. HTML Hyper Text Mark-Up Language Linguaggio di marcatura per ipertesti E un linguaggio di formattazione usato per descrivere.
HTML Hyper Text Mark-Up Language. HTML Hyper Text Mark-Up Language Linguaggio di marcatura per ipertesti E un linguaggio di formattazione usato per descrivere.
PHP.
I linguaggi di programmazione
CONOSCIAMO IL WINDOWS '95.
Esercitazioni Anno Accademico
Microsoft Word (oppure, OpenOffice Writer)‏
OPEN OFFICE e IMPRESS Masucci Antonia Maria.
Laboratorio di Informatica
10 aprile 2003 Modulo di Comunicazione Mirko Tavosanis
Lenci, Montemagni, Pirrelli Testo e computer – Carocci 2005 Capitolo 2
Lezione 5 informatica di base per le discipline umanistiche vito pirrelli Istituto di Linguistica Computazionale CNR Pisa Dipartimento di linguistica Università
informatica di base per le discipline umanistiche
Corso di PHP.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
1 IsaPress. 2 Obiettivo Realizzare uno strumento di facile uso per estrarre il contenuto da documenti binari di vario tipo in un formato utile per l'impaginazione.
HyperText Markup Language 17-23/6/08 Informatica applicata B Cristina Bosco.
Alcune strategie per Word
Modulo 7 – reti informatiche u.d. 3 (syllabus – )
Progettazione multimediale
Il foglio elettronico per Economia
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
STRUTTURA GENERALE DI UN ELABORATORE
Microsoft Word (oppure, OpenOffice Writer)‏
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
V.1 Progettazione Multimediale – 1 Progettazione multimediale HTML e i tag di base.
Informatica Parte applicativa Elaborazione testi – concetti di base
Internet Explorer I preferiti Stampa di pagine web Salvataggio di pagine web Copia di elementi di pagine web in altri applicativi.
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
AA 2009/10 Informatica Introduzione 1 Informatica e Laboratorio di Informatica Il word processor cumenti/biotecnologie.htm.
Strumenti di Presentazione (Microsoft PowerPoint 2000)
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
Programma di Informatica Classi Seconde
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
Programma di Informatica Classi Prime
Writer: Stili Modelli Lezione 03. Modelli di formato e modelli di documento Modelli di formato: Sono gli stili attribuiti al carattere, al paragrafo alle.
Hyper-Text Mark-Up Language
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
Prof.ssa Stella Beccaria a.s. 2013_2014
Lezione 3 Struttura lessicale del linguaggio
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
Microsoft Word Interfaccia grafica
FONDAMENTI DI INFORMATICA
MODULO 01 Unità didattica 04
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Microsoft Word Lezione 6 Riccardo Sama' Copyright  Riccardo Sama'
Software Libero e Open Source. Open Source Open Source è un termine inglese che significa sorgente aperto, e indica un programma per computer (software)
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
S TRUMENTI DIGITALI PER LA COMUNICAZIONE - V IDEOSCRITTURA M ICROSOFT W ORD ( OPPURE, O PEN O FFICE W RITER )‏ Corso di Laurea in Scienze della Comunicazione.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Parte IIIElementi di Informatica1 Elaboratori di testo: word processors e formattatori di testo Parte III.
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Elaborazione Testi Elementi di Base
Lezione 01 Writer: I Dati inserimento e modifica.
Introduzione a Word Idoneità Informatica. Introduzione Un word processor è un programma per la composizione, la gestione e l’impaginazione dei testi Il.
Planet HT – Genova - Elisa Delvai
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
HTML. Pagina HTML Struttura Titolo Hello World! Paragrafo apre il documento html contiene informazioni come il titolo della pagina, i meta tags, la codifica.
Transcript della presentazione:

Dagli editor di testo alla codifica di alto livello Lezione 2 Dagli editor di testo alla codifica di alto livello

Il punto di partenza: Testo digitalizzato a livello di carattere (usando ASCII, ISO-Latin-1, o UNICODE) Le avventure di Pinocchio Capitolo I Come andò che Maestro Ciliegia, falegname, trovò un pezzo di legno, che piangeva e rideva come un bambino. C'era una volta... - Un re! - diranno subito i miei piccoli lettori. - No, ragazzi, avete sbagliato. C'era una volta un pezzo di legno. Non era un legno di lusso, ma un semplice pezzo da catasta, di quelli che d'inverno si mettono nelle stufe e nei caminetti per accendere il fuoco e per riscaldare le stanze. Non so come andasse, ma il fatto gli è che un bel giorno questo pezzo di legno capitò nella bottega di un vecchio falegname, il quale aveva nome mastr'Antonio, se non che tutti lo chiamavano maestro Ciliegia, per via della punta del suo naso, che era sempre lustra e paonazza, come una ciliegia matura.

Cosa intendiamo qui per “testo”? Testo: “insieme di parole, dal latino textus, correlate tra loro per costituire un'unità logico-concettuale” Significato qui rilevante: una stringa di simboli che possa essere prodotta/letta direttamente da un essere umano. Ad esempio: Un brano in un qualche linguaggio naturale. Un insieme di dati leggibili (p.es. quelli di un elenco telefonico) Un passo di un codice di programmazione, Il file di configurazione di un software Ma non, ad esempio: Qualsiasi opera di ingegno umana (p.es. non un dipinto, una melodia fischiettata,…) Un file prodotto e interpretato esclusivamente da macchine (p.es. una parte di un programma eseguibile) Una sequenza casuale di simboli Criterio intrinsecamente vago

Elaborazione di un testo a livello carattere: 3 categorie di programmi Editor di testo: p.es. blocco note, Emacs, Scite, … Programmi di videoscrittura: Microsoft Word, WordPerfect, Openoffice Writer,… Programmi di “Desktop publishing” Adobe Pagemaker, Quark Xpress,…

Editor di testo Programmi per caricare, scrivere o modificare testi in formato ASCII (Latin-1 / UNICODE) Funzioni di stampa ridotte all’osso (niente formattazione del carattere, paragrafo, …) Funzioni anche molto sofisticate di manipolazione del testo (ricerca/sostituzione avanzata, macro, …) Sensibili alla sintassi di vari tipi di file di testo (linguaggi di programmazione, HTML, …)

Editor di testo “Blocco note” (ingl. “Notepad”) di Windows. Editor minimalista, distribuito con Windows. Legge di base file con suffisso .txt Nessuna funzione sofisticata Nessuna sensibilità al tipo di file Conosce UNICODE Problemi nel trattamento di file non-windows

Blocco note / Notepad

Blocco note / Notepad Segni di fine linea Unix non riconosciuti (LF)

Blocco note (su un file binario .doc) Caratteri binari non stampabili Caratteri stampabili presenti nel file Word

Scite

Scite (su un file binario .doc, scritto da Word)

Scite (su un file .html)

Scite (su un file .c , un linguaggio di programmazione)

Scite (su un altro linguaggio, Python)

Emacs Probabilmente il più potente editor esistente. Può essere esteso dagli utenti per usi vari; modulare Sofisticata serie di comandi sul testo Gratuito, con codice a disposizione (“open source”) Due versioni: GNU Emacs (1976 Richard Stallman) e Xemacs Disponibile per UNIX, Windows, Mac, … Interfaccia prevalentemente non grafica; ben documentata ma difficile da imparare

Emacs: estensibilità Grazie a varie estensioni, oltre alle funzioni più comuni, Emacs consente di: Scrivere ed analizzare programmi in qualsiasi linguaggio Leggere la posta e le news Visualizzare pagine web Visualizzare alcuni tipi di immagini Trattare documenti multilingue Visualizzare calendari e agende di vario tipo Eseguire programmi esterni sul testo caricato Giocare, …

GNU Emacs (sul testo di Beccaria)

GNU Emacs (uso dei colori su un file in c)

GNU Emacs (calendario con festività varie)

GNU Emacs (fasi lunari, esempi di alfabeti)

Editing avanzato: sistemi di sicurezza anticrash (Emacs, Word) Salvataggio automatico ogni n caratteri battuti Mantenimento della versione precedente ogni volta che si salva un file (“Copia di backup” in Word) Possibilità di criptazione dei file Possibilità di lavorare su file diversi come se fossero uno stesso documento

Editing avanzato: comandi di alterazione/spostamento (Emacs) Con una singola combinazione di tasti è possibile: Trasporre due caratteri, due parole, due righe (“teh”  “the”) Mettere in maiuscolo/minuscolo la parola che segue (tutta, o solo la lettera iniziale) Spostarsi di una frase/paragrafo/sezione… Cancellare fino a fine/inizio riga …

Editing avanzato: macro (Emacs, Word) Possibilità di registrare una sequenza di comandi mentre la si esegue La sequenza può essere poi salvata, modificata e riprodotta con una semplice combinazione di tasti Possibilità di eseguire una macro n volte Utile per velocizzare sequenze di operazioni ripetitive

Editing avanzato:trova/sostituisci tramite espressioni regolari Il linguaggio delle espressioni regolari (regular expressions) consente di descrivere in modo astratto gruppi di caratteri. Esempio (sintassi di Emacs) Espress. Significato a Il carattere “a” . Qualsiasi carattere (“\.” trova il punto) [a-z] Un carattere compreso tra “a” e “z” minuscole [^a-z] Ogni carattere tranne quelli in [a-z] ba? “b” o “ba” (“a” occorre 0 o 1 volte) ba+ “ba”, “baa”, “baaa”, “baaaa”, … (1 o più volte) ba* “b”, “ba”, “baa”, “baaa” … (0 o più volte) \(da\)+ “da”, “dada, “dadada”, … \(in\|ne\) “in” oppure “ne” (alternativa) \(.+\) \1 Gruppo di uno o più caratteri ripetuto con 1 spazio in mezzo (“alto alto”, “caldo caldo”)

Editing avanzato Memoria nelle espressioni regolari: \( testo1 \) \( testo2 \) memorizza testo1 e testo2 nelle variabili \1 e \2 \1 restituisce testo1 \2 restituisce testo2 Utile nelle ricerche di espressioni regolari e nella sostituzione Consente di trovare ripetizioni di uno stesso elemento testuale, qualunque esso sia.

Editing avanzato:trova/sostituisci tramite espressioni regolari e sostituisci con: \3\2\1 “Trova qualsiasi terna di caratteri, assegnagli i numeri \1, \2 e \3 …e riscrivili in ordine inverso Esempio: “abc” \1 = a , \2 = b, \3 = c “cba” Trova: \(io\|lui\) e sostituisci con: \1 \1 “io” “io io” ; “lui” “lui lui”

Editing avanzato:trova/sostituisci tramite espressioni regolari Trova: \([^.?!]\) +\([A-Z]\(\.\|[a-z]+\)\) +\([A-Z][a-z]+\) e sostituisci con: \1 <c>\4</c>, <n>\2</n> “Dopo un carattere che non sia il punto fermo, esclamativo o interrogativo, trova un nome maiuscolo o una iniziale puntata, seguito dopo uno o più spazi da un cognome, e … …inverti il nome o l’iniziale, con il cognome, marcandoli con <n(ome)> e <c(ognome)> rispettivamente, separati da “,” ” Esempio: Marco Tullio <c>Tullio</c>, <n>Marco</n> M. Tullio <c>Tullio</c>, <n>M.</n> . Ecce Homo! Non fa nulla (non otteniamo <c>Homo</c> <n>Ecce</n>)

Editor avanzati Pro. Utilissimi: Per elevati volumi di scrittura, o frequenti cicli di correzione (uso rapido dei tasti invece del mouse) Quando l’aspetto del documento stampato è irrilevante o viene delegato ad altri (p.es. una casa editrice) o a un software specifico Quando si devono modificare elevate quantità di dati simili (elenchi di nomi, numeri telefonici, errori sistematici in un documento lungo) Per testi particolari (programmi, file “tecnici”), se l’editor può marcare automaticamente la sintassi, e/o correggere sviste. In genere gratuiti, e disponibili su ogni S.O.

Editor avanzati Contra. Mancanza di formattazione tipo “WYSIWYG” (What You See Is What You Get) Ripida curva di apprendimento per poter utilizzare i programmi al di là delle funzioni di base. Il trova/sostituisci con le espressioni regolari può fare gravi danni in un testo (importanza del backup!) Compatibilità parziale con programmi che richiedono o si aspettano testo formattato (Word)

Per saperne di più Sito principale di Emacs: http://www.gnu.org/software/emacs/ Manuale in italiano di Emacs online: http://docit.bice.dyndns.org/Emacs/e14/cap_emacs.html Espressioni regolari: Sez. 4.2 del Lenci, Montemagni , Pirrella “Testo e Computer” Manuale online di Emacs, sez. sulle espressioni regolari: http://docit.bice.dyndns.org/Emacs/e14/cap_search.html#sintassi-delle-espressioni-regolari

Elaborazione di un testo a livello carattere: categorie di programmi Editor di testo: p.es. blocco note, Emacs, Scite, … Programmi di videoscrittura: Microsoft Word, WordPerfect, Openoffice Writer,… Programmi di “Desktop publishing” Adobe Pagemaker, Quark Xpress,…

Programmi di videoscrittura Consentono una gestione “globale” del documento Composizione, modifica, revisione Definizione struttura (metodo degli “stili”) Formattazione e stampa Più limitati nelle funzioni di editing rispetto agli editor avanzati, e nelle funzioni di composizione e stampa rispetto ai veri programmi di Desktop Publishing Problemi di interoperatività (Word/altri, vecchie/nuove versioni, Windows/Mac)

Programmi di videoscrittura Le funzioni di formattazione e stampa messe a disposizione da un programma come Word sono già il riflesso di una (spesso non esplicita o coerente) strutturazione del testo che va al di là della codifica di livello 0 Grassetto  enfasi (?) Corsivo  citazione (?) / enfasi (?) / … Centratura  titolo (di testo/sezione,…?)

Formato grafico e codifica L’uso del formato grafico per rappresentare una codifica di alto livello è insufficiente Non sufficientemente esplicito (cosa “significa” un corsivo ?) Difficilmente combinabile (corsivo+grassetto+apice+… = illegibilità) Non applicabile a certi elementi (p.es. fine pagina) o legato a determinate realizzazioni del testo (video a colori, stampa,…) Esteticamente debole