ESERCITAZIONI: linguaggio C


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione


 
 
 

Ambiente Window


 
  1. Creare sul Desktop, tenendo premuto [Tasto Destro] del mouse e selezionando Nuovo/Cartella, una cartella dal nome lab1 (eventualmente aprire con Start/Guida in linea/Cerca e digitare 'Nuova Cartella' per accedere a un aiuto)
  2. Inserire un floppy nel drive A: e aprirlo
  3. Spostare in A: la cartella lab1. Per questo: fare clic sull'icona della cartella con [Tasto Sinistro] del mouse per selezionarla; tenere premuto il [Tasto Destro] e selezionare Taglia; nella finestra che mostra il contenuto di A: premere [Tasto Destro] e poi Copia
  4. Salvare il corrente file Es1.htm in A: con il comando File/Salva con nome... di Explorer digitando il nome A:Es1
  5. Usare Riduci a icona (facendo clic in alto a destra della finestra sull'icona [ _ ] )per mettere da parte la finestra aperta sul floppy senza chiuderla
  6. Fare una copia del floppy

    NOTA: I lavori realizzati in seguito dovranno essere salvati nella cartella A:Labn dove n rappresenta il numero della esercitazione. Inoltre, per propria sicurezza, occorrerà portarsi sempre due floppy, uno copia dell'altro.

  7. Aprire il file A:Es1.htm per leggere e seguire il resto dell'esercitazione
  8. Ridurre le dimensioni della finestra che deve restare visibile ma consentire la visibilità di un'altra nuova finestra
  9. Copiare in A: i file filesys.htm, turboC.htm e stamp.gif
  10. Approfondire eventualmente l'argomento Cenni su Gestione Risorse in Windows

 
 

Ambiente Turbo C++

  1. Aprire l'ambiente TuboC++ con Start/Programmi/Turbo C++ 4.5/Turbo C++ oppure facendo doppio clic (velocemente) sull'icona presente sul Desktop
  2. Ridimensionare la finestra in modo che sia visibile anche quella con il resto dell'esercitazione
  3. Eventualmente aprire con File/New una finestra di editor
  4. Redigervi il seguente testo:
    /************************************************************
      Filename: primo.cpp
      Author:
      Date: 
      Description: Scrive un messaggio sul monitor (consolle).
    ************************************************************/
    
    #include <stdio.h>
    
    
    /* Un commento che può essere
       scritto su più righe. */
    
    main(){
    
      // Un commento scritto su una sola riga.
    
      printf("Qui sei nell'ambiente esecuzione di un programma C.); 
    }
    
  5. Salvarlo in A:Lab1 con File/Save as.. digitando il nome primo.cpp
  6. Aprire il drive A: e controllare la presenza dei file primo.cpp
  7. Compilarlo
  8. Seguire le indicazioni del compilatore nella finestra Message per correggere l'errore. Per maggiori informazioni, selezionata nella finestra dei messaggi la riga con la descrizione dell'errore, premere F1 per servirsi dell'HELP. I messaggi d'errore preceduti da Warning non sono fatali, non pregiudicano cioè la possibilità di eseguire correttamente il programma.
  9. Salvare di nuovo con File/Save
  10. Aprire il drive A: e controllare la presenza dei file primo.obj
  11. Eseguire il programma
  12. Chiudere la finestra di Editor
  13. Aprire il drive A: e controllare la presenza dei file primo.exe
  14. Lanciare primo.exe facendo doppio click sull'icona
  15. Approfondire eventualmente l'argomento Compilatore Borland Turbo C++ 4.5 per Windows
Sulla console, cioè il prompt (di MS-DOS), o nella finestra di esecuzione in un ambiente di sviluppo si ottiene il seguente risultato:

Qui sei nell'ambiente esecuzione di un programma C.

Indicando tra parentesi angolari < ... > la tipologia dell'elemento che compone la struttura, in colore rosso quelle che sono parole o simboli chiave del vocabolario del linguaggio C, la struttura di un programma nella sua forma più semplice è la seguente:
# include <<identificatore file di libreria>.h>

<dichiarazioni di variabili globali>


<tipo valore restituito> main(<lista parametri>){


    <istruzioni>;


}

Normalmente vengono incluse nel programma librerie standard e inseriti commenti.

Viene richiamata la function 'printf' descritta nel file <stdio.h> per far scrivere il messaggio sul monitor. In generale occorre includere il file che descrive la function di libreria di cui si fa uso.

Anche le prime righe del programma, un'intestazione, sono un esempio di commenti, scritti in generale per fornire una documentazione utile per migliorare la leggibilità del programma.
Per DOCUMENTAZIONE intenderemo:

  1. Intestazione del programma

    comprende il nome del file in cui è registrato il programma, l'autore, la data, una descrizione sintetica dello scopo del programma e di come l'utente potrà utilizzarlo, ...
  2. Commenti

    favoriscono la comprensione nella lettura del programma; sono ignorati dal compilatore, cioè non vengono tradotti in linguaggio macchina per l'automa esecutore del programma.
  3. Indentazione

    rende più semplice la lettura del programma sfruttando la bidimensionalità del foglio-schermo su cui è scritto; evidenzia in particolare quali blocchi di istruzioni debbono essere eseguiti al verifificarsi di certe condizioni.

Una buona documentazione favorisce la comprensione del programma, quindi la manutenzione o lo sviluppo, sia agli altri sia a se stesso. Seguire altri consigli per una buona scrittura.
 
 

Redazione, compilazione, esecuzione di un programma; Debug con trace

  1. Selezionare con il mouse il testo del programma seguente, le cui istruzioni saranno chiare solo nelle prossime esercitazioni:
    /************************************************************
      Filename: media.cpp
      Author:Roberto Ricci
      Date: 24/01/'03
      Description: Calcola la media aritmetica di una sequenza di numeri
    	inseriti uno alla volta.
    ************************************************************/
    
    #include <stdio.h>
    
    main(){
    	int n,x;
    	float m=0;
    	printf("Di quanti numeri vuoi fare la media? ");
    	scanf("%d",&n);
    	for (int i=0; i<n; i++){
    		printf("\n    Introduci il %d^ numero: ", i+1);
    		scanf("%d",&x);
    		m += x;
    	}
    	printf("\n\nLa media e':  %f ",m/n);
     }
    
  2. catturare il testo mediante Modifica|Copia e poi trasferirlo nella finestra di editor del Turbo C++ mediante Edit|Paste
  3. salvarlo in A:Lab1 con File/Save as ... e nome media.cpp
  4. compilarlo
  5. quando non ci siano errori di compilazione, salvare di nuovo con File/Save
  6. esguirlo inserendo quando richiesto valori a vostra scelta
  7. eseguirlo una seconda volta un passo alla volta con Debug/Trace into [F7], inserendo quando richiesto valori a vostra scelta
In un linguaggio compilato come C sono richiesti quattro passi per lo SVILUPPO DI UN'APPLICAZIONE:
  1. redazione

    con parole e simboli vicini alle abitudini mentali umane in una "finestra di editor" sullo schermo. Occorre salvare il testo in un file al quale va attribuito un nome con una estensione ad esempio .c per un programma C oppure .cpp per un programma C++. Il risultato viene detto programma 'sorgente'.

     

  2. compilazione

    dal momento che la CPU della macchina può comprendere solo un codice in numeri binari. Questo processo produce un file intermedio, l'object file, con lo stesso nome del sorgente ma con estensione .obj
    Prima della compilazione vera e propria viene eseguita anche una pre-compilazione durante la quale un modulo del compilatore detto preprocessore esegue le direttive impartite in righe del sorgente che iniziano col carattere '#' come quelle di 'include'.

     

  3. collegamento

    ai moduli di libreria che fanno parte del package del compilatore, insiemi di 'macroistruzioni' scritte a cura della casa produttrice di quest'ultimo per facilitare una quantità di compiti che vanno dall'input/output alle funzioni matematiche. Nel C standard le macroistruzioni ( procedure o function) sono definite nella libreria stdio.h. Dopo il collegamento (linking) il file cambia l'estensione in .exe che si chiama anche 'eseguibile'.

     

  4. esecuzione

    del file eseguibile, quello con lo stesso nome del sorgente ma con estensione .exe, come tutte le altre applicazioni: nell'ambiente promt(di DOS) si digita il nome (senza estensione) e poi il tasto[INVIO], in ambiente window si può semplicemente fare clic doppio. Negli ambienti integrati per lo sviluppo di solito si realizza con il comando 'Run'. In questa fase il programma tradotto in codice macchina viene caricato in memoria e poi eseguito una istruzione alla volta sotto la supervisione della CPU.

 
  NOTA: Al termine di ogni sessione di lavoro fare una copia del floppy e poi spegnere il computer con Start/Chiudi sessione/Arresta il sistema.
pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione