Successivo: Fondamenti sui tipi di dati, Su: Concetti fondamentali [Contenuti][Indice]
Al livello più fondamentale, il compito di un programma è di elaborare alcuni dati in input e produrre dei risultati. Si veda la Figura D.1.
Il “programma” nella figura può essere sia un programma
compilato127
(come ls
),
sia un programma interpretato. In quest’ultimo caso, un programma
direttamente eseguibile dal computer, come awk
, legge il
programma, e quindi usa le istruzioni in esso contenute per elaborare i dati.
Quando si scrive un programma, esso è composto normalmente dai seguenti insiemi di istruzioni di base, come si vede nella Figura D.2:
Queste sono le cose da fare prima di iniziare la reale elaborazione dei
dati, per esempio controllare gli argomenti con cui è stato invocato il
programma, inizializzare dei dati di cui si potrà aver bisogno per la
successiva elaborazione, e così via.
Questa fase corrisponde alla regola BEGIN
di awk
(vedi la sezione I criteri di ricerca speciali BEGIN
ed END
).
Nella preparazione di una torta, questa fase corrisponde a quella di tirar fuori tutti i contenitori in cui mischiare gli ingredienti, e la teglia in cui cuocerla, e nell’assicurarsi di avere a disposizione tutti gli ingredienti necessari.
Questa fase è quella in cui si svolge il lavoro vero e proprio. Il programma legge i dati, raggruppati in “pezzi logici”, e li elabora secondo necessità.
In quasi tutti i linguaggi di programmazione, la lettura dei dati va gestita
manualmente, controllando dopo ogni lettura se è
rimasto ancora qualcosa d’altro da leggere. Il paradigma criterio di
ricerca–azione di awk
(vedi la sezione Per iniziare con awk
)
gestisce automaticamente la parte di lettura dati.
Nella preparazione di una torta, l’elaborazione corrisponde all’attività vera e propria: rompere le uova, mescolare la farina, l’acqua e gli altri ingredienti, e quindi mettere la torta a cuocere nel forno.
Una volta elaborati tutti i dati, ci sono attività da svolgere prima di aver
finito. Questa fase corrisponde alla regola END
di awk
.
(vedi la sezione I criteri di ricerca speciali BEGIN
ed END
).
Dopo che la torta è stata tirata fuori dal forno, va fatta raffreddare e avvolta in una pellicola trasparente per evitare che qualcuno la assaggi, e inoltre vanno lavati i contenitori e le posate.
Un algoritmo è la descrizione dettagliata della procedura necessaria per svolgere un compito o per elaborare dati. Lo si può paragonare alla ricetta per preparare una torta. I programmi sono il modo con cui un algoritmo viene eseguito da un computer. Spesso è compito del programmatore sia sviluppare un algoritmo, sia programmarlo.
I “pezzi logici” nominati precedentemente sono chiamati record (registrazioni), in analogia con le registrazioni del personale di una ditta, degli studenti di una scuola, o dei pazienti di un dottore. Ogni record è composto di molte parti, per esempio nome, cognome, data di nascita, indirizzo, e così via. Le parti di cui è composto un record sono chiamate campi del record.
L’atto di leggere i dati è noto come input, e quello di generare risultati è, come facilmente prevedibile, chiamato output. Spesso i due sono riuniti sotto il nome di “input/output” e, ancor più spesso, con l’abbreviazione “I/O”. (In inglese “input” e “output” sono spesso usati come verbi, nel gergo informatico, al posto di leggere e scrivere.)
awk
gestisce la lettura dei dati, come anche la divisione in
record e campi. Lo scopo del programma dell’utente è di dire ad awk
cosa fare con i dati. Questo vien fatto descrivendo modelli da
ricercare nei dati e azioni da eseguire qualora si siano trovati questi
modelli. Questa caratteristica dei programmi awk
, di essere
guidati-dai-dati, di solito li rende più facili sia da scrivere che da
leggere.
I programmi compilati sono normalmente scritti in linguaggi di programmazione di livello più basso, come C, C++, o Ada, e quindi tradotti, o compilati, in una forma che il computer può eseguire direttamente.
Successivo: Fondamenti sui tipi di dati, Su: Concetti fondamentali [Contenuti][Indice]