Lezione1 Linguaggio C

Post on 19-Jun-2015

9,593 views 0 download

description

come convertire un programma da pseudocodice a sorgente

transcript

Linguaggio CPrima lezione dicembre 2008

Descrizione testuale di un algoritmo• La soluzione algoritmica di un

problema può essere fornita sotto forma di disegno e/o sotto forma di descrizione testuale.

• Questa descrizione testuale utilizza l’alfabeto, la grammatica e la sintassi usuali di una lingua quale l’inglese o l’italiano.

Pseudo Inglese/italiano• Supponiamo di risolvere l’algoritmo che ci permetta di

acquisire e sommare una lista di numeri e infine di stamparla• Una descrizione testuale esauriente potrebbe essere la

sequente:• Leggi un numero alla volta dalla lista cartacea, sommalo ad

una variabile sommatoria parziale. Ripeti queste due operazioni di lettura e di sommatoria finchè non hai esaurito tutti I numeri della lista. Alla fine stampa il risultato di quesrta sommatoria.

CONVERTIRE LO PSEUDO ITALIANO NEL SORGENTE DEL PROGRAMMA

Occorre convertire la descrizione testuale in un linguaggio tecnico che fa uso delle istruzioni e dei costrutti sintattici specifici del linguaggio di programmazione utilizzato.

Regole di traduzione dal linguaggio ordinario a quello della programmazione• I verbi quali leggi, scrivi/stampa devono essere sostituiti con

le istruzioni corrispondenti del linguaggio di programmazione utilizzato. Ad esempio leggi diventa scanf(…) nel linguaggio C. Scrivi diventa printf(…).

• Bisogna poi studiarsi la sintassi e la grammatica precisa di queste istruzioni.

• Il costrutto di iterazione diventa while(condizione=true){…} oppure do…while(condizione=true) oppure for (…){…}

• Il costrutto di selezione diventa if (condizione=true){…} else {…}

Il programma sorgente o source• Quando abbiamo terminato la scrittura

esauriente di tutta la descrizione testuale dell’algoritmo e l’abbiamo tradotta con le istruzioni e i costrutti specifici del linguaggio di programmazione utilizzato, il testo così ottenuto si chiamo il programma sorgente od in inglese “SOURCE”

Compilazione del programma sorgente• Il programma sorgente non è ancora

comprensibile da parte del computer.• Affinchè il computer lo comprenda e

lo esegua, è necessario convertirlo, tramite un opportuno software chiamato compilatore, nel linguaggio macchina.

Il linguaggio macchina• Il linguaggio macchina è costituito da

istruzioni convertite in una sequenza di zeri e di uno; gli unici caratteri che la cpu del computer è in grado di comprendere.

Ambiente di sviluppo• Per ambiente di sviluppo si intende un

insieme di programmi di utilità che consentono al programmatore – di editare il sorgente del programma,– di compilarlo e– di mandarlo in esecuzione

Il nostro ambiente di sviluppo per il linguaggio C• Fare il download di mingw per il

sistema operativo Vista• Oppure di dev-cpp per il sistema

operativo windows xp

Ambiente di sviluppo semplice• Usiamo il blocco note per editare i programmi in C• Usiamo la bat c++.bat per aprire la finestra dei

comandi dos, all’interno della quale andiamo a compilare il nostro sorgente e lo andiamo ad eseguire.

• Inoltre usiamo la finestra dos per interagire con il programma in esecuzione. Per fornire i dati richiesti dal programma digitandoli con la tastiera e per visualizzare i risultati della elaborazione del nostro programma.

Il sorgente del programma somma.c

Confronto tra il sorgente e lo pseudocodice

• Leggi un numero alla volta dalla lista cartacea, sommalo ad una variabile sommatoria parziale. Ripeti queste due operazioni di lettura e di sommatoria finchè non hai esaurito tutti i numeri della lista. Alla fine stampa il risultato di questa sommatoria.

Differenza tra codice e pseudocodice• Nel codice ogni cosa è definita in modo molto

preciso. Non si possono commettere errori grammaticali e sintattici.

• Quando si è definito il nome di una variabile poi bisogna usare esattamente quel nome

• Le variabili che servono per fare dei calcoli vanno azzerate prima del loro uso.

• Occore prestare la massima attenzione anche all’ordine delle istruzioni