Eprogram vol 1 - Introduzione all'informatica PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document introduces the concept of programming, explaining the process of describing procedures for computers. It clarifies the roles of humans and machines in the programming process. The document also discusses the importance of communication in programming and how human-computer communication works, using the analogy of human communication and introducing the concept of languages for computers.
Full Transcript
5. COMUNICARE CON IL CALCOLATORE Programmare Programmare signifca descrivere un procedimento capace di far svol- LO SAI CHE gere a una macchina una serie ordinata di operazioni per raggiungere il risultato fnale desiderato....
5. COMUNICARE CON IL CALCOLATORE Programmare Programmare signifca descrivere un procedimento capace di far svol- LO SAI CHE gere a una macchina una serie ordinata di operazioni per raggiungere il risultato fnale desiderato. Algoritmo Insieme di comandi Per capire meglio che cosa signifca programmare è importante com- elementari, seguendo i quali è possibile prendere bene i ruoli svolti dall’uomo e dalla macchina. Dovendo risol- risolvere tutti vere un problema (di qualsiasi tipo), è l’uomo che ne identifca i termini, i problemi ne imposta la soluzione, scrive il procedimento risolutivo (l’algoritmo) e di un determinato tipo. il programma corrispondente. In tutto il processo che va dal problema alla soluzione, il computer ha un ruolo di semplice esecutore. Il compu- Programma ter è una macchina che elabora dati per mezzo di programmi scritti e Il programma è pensati dall’uomo. il mezzo con cui l’uomo descrive ciò che la macchina Comunicare (il computer) deve fare e come deve farlo. Per poter comprendere le fasi che portano alla realizzazione di un pro- gramma, cerchiamo di capire come è possibile comunicare con il calco- latore e come dobbiamo fornirgli le istruzioni affnché sia in grado di eseguire il compito che vogliamo affdargli. Analizziamo un esempio in ambito umano. Per comunicare con una per- sona, dobbiamo sapere la sua lingua o quella persona deve conoscere la nostra. Supponiamo che un italiano voglia comunicare con un cinese: se l’italiano conosce la lingua cinese, non ci sono problemi, ma se non la conosce è necessaria almeno una terza persona che funga da interprete. Se non è disponibile un interprete che conosca sia la lingua italiana sia quella cinese e l’interprete trovato (interprete 1) conosce solo la lingua inglese e quella cinese, l’italiano deve conoscere la lingua inglese oppure deve trovare un altro interprete (interprete 2), che conosca sia la lingua italiana sia quella inglese. In questo modo l’italiano può parlare in italia- no all’interprete 2, il quale parlerà in inglese all’interprete 1, che a sua volta parlerà al cinese in cinese. Per la risposta si dovrà seguire il percorso all’inverso: il cinese parlerà all’interprete 1, che tradurrà in inglese per l’interprete 2, che fornirà la risposta in italiano. Analogamente per la programmazione, se vogliamo comunicare con il cal- colatore, dobbiamo conoscere il suo linguaggio o trovare un interprete. I linguaggi Per permettere la comunicazione, esistono vari tipi di linguaggio. Un linguaggio è defnito tramite: n un vocabolario, un insieme fnito e non vuoto di parole, che, a loro volta, sono sequenze fnite e non vuote di simboli di un insieme detto alfabeto; LEZIONE 5. Comunicare con il calcolatore 15 n regole sintattiche, le regole che devono essere seguite per costruire frasi corrette. Per esempio, la frase «L’asino e il cavallo.», pur contenendo pa- role signifcative, non è sintatticamente corretta perché manca il verbo; n regole semantiche, le regole necessarie per attribuire signifcato alle fra- si. Per esempio, la frase «L’asino impone parole verdi come il tetto.», pur essendo sintatticamente corretta, non ha nessun signifcato semantico. I linguaggi si suddividono in naturali e artifciali. Tra questi ultimi ci sono i linguaggi di programmazione. I linguaggi naturali I linguaggi naturali sono quelli correntemente usati nella comunica- zione fra gli uomini. Hanno la caratteristica di avere un vocabolario molto vasto (migliaia di termini), ma una sintassi poco rigida, per cui si possono comporre diffe- renti frasi sintatticamente corrette con lo stesso signifcato. Tutto questo porta ad avere problemi semantici. Nella lingua italiana la stessa parola può avere signifcato diverso a seconda del contesto in cui è inserita (per esempio, il termine «vite»), e così anche un’intera frase. I linguaggi artifciali I linguaggi artifciali sono quei linguaggi usati nella comunicazione tecnico-scientifca tra uomo e uomo e tra uomo e macchina. Poiché questo tipo di comunicazione deve essere molto rigorosa, tali lin- guaggi hanno un vocabolario ristretto, una sintassi molto rigida e, di conseguenza, pochi problemi semantici. Un tipico esempio di linguaggio artifciale è il linguaggio matematico, in cui usando un ristretto numero di simboli matematici (per esempio, +, –,