Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Programmazione - Compilazione e interpretazione

informatica



Programmazione

È noto a tutti che l'elaboratore deve essere programmato per poter eseguire un compito.

Alcune forme di programmazione riguardano la scrittura dettagliata di un programma, attraverso molte istruzioni semplici combinate in strutture molto complicate. Questo è il lavoro del programmatore professionista.

Altre forme di programmazione riguardano invece la stesura di semplici sequenze di operazioni complesse. Le operazioni complesse non sono interpretat 727g65h e dal microprocessore, ma da programmi evoluti. Poiché le operazioni sono già complesse e specializzate di per sé, metterle insieme è molto semplice.

Per esempio: poche persone sarebbero in grado di specificare nel dettaglio tutte le numerosissime operazioni semplici che costituiscono un ciclo di lavaggio della lavatrice (accensione delle resistenze, collegamento degli opportuni cavi del motore per effettuare la rotazione del cestello in una data direzione a una data velocità, apertura valvole per l'accesso del detersivo e dell'acqua, accensione e spegnimento dei contatti elettrici attraverso il temporizzatore...).



Tutti, però, sono in grado di specificare "lavaggio a 90 gradi con ciclo di prelavaggio e centrifuga", che è una serie di pochi comandi complessi.

Riepilogando: è possibile programmare a vari livelli (via via più complessi dall'alto al basso, in una metafora di avvicinamento al linguaggio del microprocessore).

I programmi di livello più basso sono quelli eseguibili dal microprocessore e sono il lavoro del programmatore.

I programmi di livelli più alti sono quelli che fanno uso di funzioni più complesse messe a disposizione da altri programmi, e possono essere creati e personalizzati da tutti gli utilizzatori.

Compilazione e interpretazione

Un programma di basso livello viene espresso attraverso istruzioni in un linguaggio leggibile, scritte in un file di testo ASCII. Questo file, in gergo, viene chiamato il file sorgente.

In seguito viene compilato da un programma apposito, che esamina il linguaggio leggibile e scrive una serie di codici incomprensibili.

Questa è la versione eseguibile del programma, che può essere data direttamente al processore perché la esegua.

In Windows, i programmi eseguibili sono contenuti nei file con estensione .exe .

Anche i programmi di livello più alto sono scritti attraverso istruzioni in un linguaggio leggibile.

Magari vengono scritti in una finestra esteticamente attraente anziché in uno spartano text editor, utilizzando mouse e pulsanti invece che scrivendo le istruzioni.

Possono anche essere espressi direttamente attraverso un esempio, con una procedura del tipo "io ti faccio vedere, tu ricorda che cosa ho fatto e replicalo quando te lo dico".

Però, alla fine, vengono sempre memorizzati in un file.

In ogni caso, questi programmi vengono letti ed eseguiti direttamente da un altro programma, che li interpreta, ossia esegue le istruzioni senza bisogno di "digerirle" e renderle incomprensibili.

Il programma interprete contiene sufficiente "intelligenza" da essere in grado di tradurre una per una le istruzioni, al volo, e di eseguirle con la sufficiente rapidità.

Programma compilato Viene prima tradotto in linguaggio macchina

Programma interpretato Viene direttamente eseguito.

Tipi di linguaggi

I linguaggi di programmazione, analogamente alle lingue umane,  sono molti e basati su differenti principi.

Dal punto di vista dell'utilizzatore, possiamo distinguere tre tipi interessanti di linguaggio di programmazione.


Linguaggixprocedurali
Consistono di istruzioni che specificano, passo passo, una procedura da seguire per eseguire un dato compito. Per esempio: print a. Questa istruzione visualizza il contenuto della variabile a.

Linguaggixdichiarativi
Consistono di istruzioni che specificano l'obiettivo desiderato. Per esempio 3  = x + 2.
Questa equazione è una condizione che x deve rispettare. L'interprete (in questo caso sarà un programma di soluzione di equazioni) deve trovare da solo il valore da assegnare ad x.

Linguaggixdixmarkup
Lavorano su dati (di solito testi, o comunque materiale destinato alla visualizzazione) dei quali specificano la funzione o il ruolo attraverso etichette, denominate tag.
Per esempio <TITLE> Questo è il titolo </TITLE>. L'interprete visualizzerà il testo, così identificato, usando il formato previsto per il titolo.

Vedremo i metodi di programmazione elencati di seguito. Naturalmente non dal punto di vista del programmatore, ma dell'utilizzatore.

Macroistruzioni

Postscript

Portable Document Format

Hypertext Markup Language

Questi sono i mezzi di programmazione che un non‑programmatore professionista può normalmente incontrare ed utilizzare. La conoscenza di questi è di solito più che sufficiente per un uso proficuo del calcolatore.

Macroistruzioni

Tutti i programmi hanno delle proprie funzioni (istruzioni).

Per esempio, stampa.

Anche il sistema operativo ha le proprie istruzioni.

Per esempio, copia file.

Alcune operazioni richiedono di eseguire un certo numero di istruzioni in sequenza. Può darsi il caso in cui questa sequenza sia di uso molto comune.

Un modo per rendere più comodo e rapido l'accesso a queste "routine" consiste nel creare delle macroistruzioni.

Una macroistruzione o macro è una sequenza di istruzioni memorizzate in un singolo comando.

Questo comando è a tutti gli effetti un programma interpretato vero e proprio.

La differenza tra questo e un programma eseguibile è che le istruzioni del programma eseguibile sono comprensibili direttamente al processore, mentre le istruzioni della macro sono comprensibili al programma applicativo o al sistema operativo.

I macrolinguaggi sono la forma in cui le macro vengono espresse, per poter essere memorizzate in un file.

L'interprete del macrolinguaggio è il programma applicativo stesso (o anche il sistema operativo). Esso avrà un comando particolare, esegui macro, che avvierà l'interpretazione.



Alcuni macrolinguaggi sono molto semplici: si memorizzano i tasti che occorrerebbe premere per eseguire ogni istruzione. Oppure si memorizzano i movimenti del mouse. E così via.

Altri macrolinguaggi sono un po' più evoluti: consentono p.es. di prendere decisioni secondo le circostanze. Essi comprendono quindi comandi aggiuntivi per eseguire dei test condizionali (IF... THEN...), oppure dei cicli (REPEAT...).

Altri macrolinguaggi sono dei veri e propri linguaggi di programmazione tradizionali, estesi con i comandi del programma applicativo. Per esempio, i programmi applicativi di Microsoft Office possono tutti eseguire macro scritte in Visual Basic for Applications o VBA.

VBA è un vero linguaggio Basic.

È esteso con l'aggiunta di istruzioni per la programmazione sotto interfaccia grafica (quindi è Visual).

Infine, è esteso con l'aggiunta di istruzioni per l'esecuzione dei comandi specifici di ciascun programma applicativo, p.es. Word o Excel (quindi è for Applications). Per esempio, VBA di Word conterrà l'istruzione DocumentNewDefault che crea un nuovo documento usando le impostazioni di default.

Hypertext Markup Language

Le pagine del World-Wide Web sono scritte in linguaggio HTML o Hypertext Markup Language.

HTML è un linguaggio di markup che ha lo scopo di descrivere documenti ipertestuali.

L'interprete HTML è il browser. Il browser legge il programma e, come uscita, produce la relativa schermata da visualizzare nella sua finestra.

Il codice sorgente di una pagina WWW conterrà quindi:

Istruzioni per definire il ruolo delle parti del testo (markup).

Istruzioni per fornire i link ipertestuali.

Istruzioni per includere in una pagina parti provenienti da altre fonti (altri codici sorgente come frame, immagini contenuti in file esterni, collegamenti a programmi ausiliari...).

HTML è in realtà molto semplice. Il codice sorgente di una pagina è un semplice file di testo.

Semplice esempio:


<HTML>

<HEAD>

<TITLE>Pagina di esempio</TITLE>

</HEAD>

<BODY>

<H1>Pagina di esempio</H1>

<P>Questa &egrave; una semplice pagina WWW scritta in <EM>HTML</EM>

per illustrare l'aspetto del <B>codice sorgente</B> HTML.

<P>Contiene anche il <U>link</U> ad un'altra pagina:

<A HREF="https://www.unibo.it">Home page del sito di Ateneo</A>

<HR>

<ADDRESS>Qui posso specificare il mio indirizzo</ADDRESS>

</BODY>

</HTML>


Posso scrivere questo breve testo in un file ASCII, utilizzando notepad (Pulsante start, menu Programs   Accessories, comando notepad)

Poi posso salvarlo p.es. come esempio.html.

Infine posso aprirlo e visualizzarlo con il browser. In questo modo posso avere un'idea di cosa facciano i vari tag (le parole che costituiscono i comandi del linguaggio).

Postscript

La ditta Adobe ha creato per le sue stampanti il Postscript, che è un linguaggio di descrizione di pagina.

Si tratta di un vero e proprio linguaggio di programmazione, il cui scopo è descrivere ad una stampante (o a un qualunque dispositivo grafico) le operazioni necessarie per ottenere la stampa/visualizzazione di un documento stampato.

Un programma che stampa in Postscript non fa altro che emettere una serie di comandi espressi nel linguaggio Postscript.

I comandi sono del tipo dichiarativo, e simulano il movimento di un cursore all'interno della pagina.

Per esempio, il comando moveto imposta la posizione attuale.

Per esempio, il comando lineto traccia una linea dalla posizione attuale ad un'altra.

Per esempio, il comando print scrive qualcosa alla posizione attuale.

Una stampante che stampa in postscript non fa altro che interpretare tali comandi. Alla fine di ogni pagina esisterà un comando showpage che causerà l'emissione su carta della pagina (finora solo "composta" in memoria).

L'utilizzatore non vede questo dialogo, né il linguaggio usato.

Il Postscript descrive la pagina esattamente come verrà visualizzata. Ciò indipendentemente dalla stampante e dal sistema.

Per questo l'uscita Postscript di una stampa può essere "riversata" su un file e conservata a disposizione di altri. Chiunque prelevi tale file potrà stamparlo senza modifiche, così come era stato creato dall'autore.

Questo è il modo in cui è fatta la maggior parte dei lavori scientifici scaricabili in rete.

I file Postscript sono identificati dall'estensione .ps .

Esiste, ed è disponibile in rete gratuitamente, un programma che consente:

A) di visualizzare file Postscript su schermo, senza necessità di stamparli;



B) di stampare file Postscript anche su stampanti non Postscript.

Il programma si chiama Ghostscript/Ghostview ed è accessibile da ftp://ftp.cs.wisc.edu/pub/ghost (o da vari portali shareware).

Portable Document Format

La Adobe ha perfezionato l'idea del Postscript come "linguaggio universale di scambio documenti", e ha creato il formato Portable Document Format, PDF.

Il PDF è pensato espressamente per questo scopo. Rispetto al Postscript, ha la possibilità di comprimere il contenuto e di fare dei compromessi sulla qualità delle immagini; quindi produce file di dimensioni minori.

In formato PDF è disponibile la maggior parte dei cataloghi e della documentazione scaricabile in rete. La diffusione del formato fa sì che negli ultimi tempi anche articoli, specialmente le versioni elettroniche in rete delle riviste e le versioni su CD-ROM degli atti di congressi (ma sempre più di frequente anche le versioni prodotte direttamente dagli autori), siano spesso pubblicati in PDF.

I file PDF sono identificati dall'estensione .pdf .

Essi sono visualizzabili e stampabili attraverso un programma chiamato Adobe Acrobat Reader, disponibile in rete e gratuitamente. (Il programma per generare file PDF è invece in vendita.)

Acrobat Reader è accessibile all'indirizzo https://www.adobe.com/.

Archiviazione e compressione dei file

Archivi

Un archivio è un particolare file che viene creato e letto da uno speciale programma di archiviazione.

Lo scopo di un file archivio è riunire molteplici file in un unico oggetto. Questo consente di archiviarli o scambiarli come un file unico.


Compressione

Poiché portare fuori i file dal calcolatore è sempre costoso (specialmente usando Internet), esiste un accorgimento che serve a ridurre la dimensione di un file.

Questo accorgimento è la compressione.

Un file compresso viene codificato internamente in un modo speciale, che:

preserva tutte le informazioni originariamente contenute nel file;

occupa un numero di byte inferiore.

ATTENZIONE: stiamo parlando della cosiddetta compressione senza perdita.

La compressione senza perdita può andare da un minimo di nulla (il file non può essere compresso senza perdere informazione) a un massimo tipico di 1:10. Non esiste un massimo teorico.

Posso aspettarmi normalmente che i miei file vengano compressi tra 1:1.5 e 1:3. Dipende dal tipo di file e dal suo contenuto.


Winzip = archiviazione + compressione

In rete è facile imbattersi in file compressi. Il programma più frequentemente usato si chiama Winzip  ed è un programma di archiviazione e compressione.

Questo significa che un singolo file di Winzip  (con estensione .zip) contiene più file originali, e che inoltre questi file sono compressi.

L'uso di Winzip  è molto semplice:


per creare un archivio esiste un pulsante "nuovo archivio"

per inserire i file in un archivio basta fare drag-and-drop dei file dalla finestra della cartella alla finestra di Winzip

per estrarre i file da un archivio basta fare drag-and-drop dei file dalla finestra di Winzip  alla finestra della cartella.


Winzip  è un programma shareware.

Questo termine indica che si tratta di un programma a pagamento, ma che, a differenza dei normali programmi commerciali:


si può distribuire

si può usare a titolo di prova

costa una cifra abbordabile

Si trovano in rete altri formati di archiviazione e compressione oltre al formato "zip". Il più frequente formato alternativo deriva dal mondo Unix e prevede due fasi distinte:

archiviazione col programma tar (archivio con estensione .tar)

compressione col programma gzip (archivio compresso con estensione doppia, .tar.gz, oppure singola, .tgz)


Non occorre sapere molto di questi programmi, perché Winzip  è in grado di trattarli semplicemente.






Privacy




Articolo informazione


Hits: 3507
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024