Corso di Laurea in Ingegneria Elettronica - Università di Roma "La
Sapienza"
Corso di Fondamenti di Informatica - A.A. 2001/2002
Ottava Esercitazione Autoguidata
ESERCIZIO 1
Scrivete un programma che conti il numero di occorrenze dei caratteri '0' e di
'1' in una sequenza di soli caratteri '0' e '1' letta da file.
Il programma deve essere costituito da:
- una funzione che:
- riceve come parametro il nome di un file contenente una sequenza di
'0' e '1';
- legge il contenuto del file e conta il numero di '0' e di '1'
presenti;
- restituisce il risultato del conteggio alla funzione
chiamante attraverso due parametri passati per indirizzo.
- la funzione main che:
- legge da tastiera il nome del file contenente la sequenza di '0' e '1';
- invoca opportunamente la funzione definita precedentemente;
- stampa in output il risultato.
Prima di eseguire il programma è necessario creare il file contenente
la sequenza di '0' e '1', ad esempio un file di nome
sequenza.dat. Potete creare il file anche all'interno dell'ambiente
LCC-Win32 utilizzando il comando New -> File del menù
File. Una volta immessa la sequenza desiderata, salvate
sequenza.dat nella cartella contenente il file sorgente del programma.
Per lavorare in maniera agevole con i file in ambiente LCC-Win32, procedete
come segue:
- Salvate il file in cui avete scritto il programma (ad esempio
sequenza.c) in una cartella (di nome sequenza)
appositamente creata.
NOTA: Create le vostre cartelle nella cartella fondeln. Se
state lavorando su un PC potete accedere a fondeln attraverso il
percorso C:\fondeln, mentre sui
THIN CLIENT il percorso è G:\fondeln.
-
Compilate il programma.
Si ricorda che, a seguito della prima compilazione (senza errori) di
sequenza.c, LCC-Win32 crea la cartella lcc, contenuta in
sequenza, e memorizza in questa il file eseguibile
sequenza.exe.
-
Salvate il file sequenza.dat nella cartella sequenza.
-
Eseguite il programma. Alla richiesta del nome del file di input, digitate
"..\sequenza.dat" (senza i doppi apici!).
Notate che "..\" prima del nome del file indica che il
file sequenza.dat è memorizzato nella cartella posizionata
ad un livello superiore (ovvero sequenza) rispetto alla
cartella contenente sequenza.exe (che sta in lcc).
ESERCIZIO 2 (Conversione Carbonari)
Scrivete un programma che elabori un testo in modo da renderlo a prima
vista privo di significato. All'interno del testo si devono sostituire alcune
lettere maiuscole con altre, secondo il seguente schema (codice dei carbonari):
- al posto di ogni 'A' si scrive una 'O', e viceversa
- al posto di ogni 'B' si scrive una 'P', e viceversa
- al posto di ogni 'C' si scrive una 'G', e viceversa
- al posto di ogni 'D' si scrive una 'T', e viceversa
- al posto di ogni 'E' si scrive una 'I', e viceversa
- al posto di ogni 'F' si scrive una 'V', e viceversa
- al posto di ogni 'L' si scrive una 'R', e viceversa
- al posto di ogni 'M' si scrive una 'N', e viceversa
- al posto di ogni 'S' si scrive una 'Z', e viceversa
Tutti i rimanenti caratteri devono rimanere inalterati.
Ad esempio, [REPUBBLICANO] diventa [LIBUPPREGOMA].
Il programma deve essere costituito da:
- una funzione che:
- riceve come parametri
- il nome di un primo file contenente un testo,
- il nome di un secondo file, su cui scrivere il testo modificato;
- legge il contenuto del primo file e scrive nel secondo file il testo
convertito secondo il codice dei carbonari;
- la funzione main che:
- legge da tastiera i nomi dei due file;
- invoca opportunamente la funzione definita precedentemente.
Si noti che il file contenente il testo in input deve necessariamente essere
già esistente.
Per provare il programma scrivete un file (ad esempio di nome
dati.dat) contenente un testo a piacere.
Utilizzate le stesse modalità di lavoro indicate nell'esercizio
precedente.