Obiettivi del corso

Benvenuti nel sito del corso di Laboratorio di informatica applicata.

Obiettivo del corso e' quello di sviluppare due progetti, uno in C ed uno PHP. Le lezioni e le esercitazioni servono per imparare ad implementare idee nei due linguaggi ed a capire cosa succede nel nostro sistema quando eseguite un programma. Il corso contiene molti esempi. E' importante che ogni esempio venga non solo letto e capito, ma soprattutto provato, modificato, anche riutilizzato.

Lunedì, 23 Febbraio 2004

OBIETTIVO DELLA LEZIONE
Capire cosa e' un programma, come possa diventare eseguibile su un processore attraverso la compilazione, quali sono gli strumenti per iniziare a scrivere programmi ed a eseguirli e e dove trovarli in rete.

Cosa e' un programma

Approfondiamo la struttura di un programma C

Cosa serve per programmare: Compilatori ed Ambienti di sviluppo

Lab

Raccomandazioni e prassi

Esercizio 1
Usando NOTEPAD, creare il file halloword.c copiando il programma sotto riportato e compilarlo con DEV-C
# include <stdio.h>

int main()
{
    printf("Hello World!");
}
Esercizio 2
Compilare il file halloword.c creato nell'esercizio 1 con Microsoft Visual Studio .NET. La procedura e' in questo caso piu' laboriosa perche' dobbiamo necessariamente definire un progetto. Quindi:
  • Per prima cosa apriamo MSVS .NET;
  • Dal menu' file, selezioniamo nuovo progetto. Scegliamo un progetto "Visual C++" (anche se noi inseriremo solo un file C), per win32. IMPORTANTE: nel menu' successivo, tra le opzioni avanzate, ricordarsi di selezionare che volete una applicazione di CONSOLE che sia VUOTA (il file lo aggiungeremo manualmente al prossimo punto).
  • A questo punto dal menu file, aggiungiamo al progetto il nostro file halloword.c
  • Possiamo compilare il progetto ed eseguirlo.
Esercizio 3
Compilare il file halloword.c con il compilatore gcc da riga di comando. Esplorare le varie opzioni di compilazione chiamando l'help.
  • Per prima cosa apriamo un command prompt;
  • VERIFICHIAMO di essere nella cartella dove abbiamo messo il file da compilare!
  • Aggiungiamo al PATH la cartella dove è installato il GCC, con
    set PATH=%PATH%;c:\dev-cpp\bin
  • Invochiamo il compilatore come spiegato a lezione.

Se non diversamente specificato, da adesso in poi, useremo sempre in aula TUTTI DEV-C. A casa, prova sempre ad usare altri compilatori e a compilare da riga di comando.

Esercizio 4
Usando l'interfaccia grafica di DEV-C, creare il file sesso.c copiando il programma sotto riportato , compilarlo con DEV-C
#include <stdio.h>

int main()
{
    char sex;
    int eta;

    printf("Inserire il proprio sesso:\n M sta per maschio:\n F sta per femmina:\n");
    scanf("%c", &sex);

    printf("Inserire l'eta\n");
    scanf("%d", &eta);

    if((sex=='M') || (sex=='m')) printf("Sei un maschio e hai %d anni", eta);
    else printf("Sei una femmina e hai %d anni",eta);

    printf("\n\nPremi un tasto per uscire");
    fflush(stdin);
    getchar();   // trucco per far rimanere aperta la finestra di testo
}
Esercizio 5
Iniziamo a vedere come si manifestano gli errori di sintassi in C. Togliere getchar(); compilare, cosa cambia?
Togliere il punto e virgola a int eta; cosa accade? Dove si manifesta l'errore? Perche'?
Togliere una graffa in varie posizione del costrutto if. cosa accade? Dove si manifesta l'errore? Perche'?
Modificare (sex=='m') in (sex='m') cosa cambia?
Esercizio 6 (facoltativo)
Questo esercizio è FACOLTATIVO.
Svolgilo SOLO se hai ultimato gli esercizi precedenti, che sono necessari per l'esame finale.
Usando Dev-C++, creare il file inmemoria.c riportato sotto. Compilalo e prova ad eseguirlo da linea di comando
Inserisci un breakpoint alla linea printf("Inserisci un numero intero: "); e fai partire il debugger.
Segui l'esecuzione del programma passo passo. Visualizza il contenuto di ciascuna variabile.
#include <stdio.h>

int main()
{
    int numero_intero;
    char carattere, parere;
    float numero_reale;

    do
    {
        printf("Inserisci un numero intero: ");
        scanf("%d", &numero_intero);
        fflush(stdin);

        printf("Inserisci un carattere: ");
        scanf("%c", &carattere);
        fflush(stdin);

        printf("Inserisci un numero reale: ");
        scanf("%f", &numero_reale);
        fflush(stdin);

        printf("Hai inserito: %d, %c, %f.\n", numero_intero,
            carattere, numero_reale);

        printf("Vuoi continuare [S]/N? ");
        scanf("%c", &parere);
        fflush(stdin);
    }
    while((parere=='S') || (parere=='s')); // Attenzione al ;
}





Informazioni sul sito