Corso di Laurea in Ingegneria Elettronica - Università di Roma "La
Sapienza"
Corso di Fondamenti di Informatica - A.A. 2001/2002
Terza Esercitazione Autoguidata
L'obiettivo di questa esercitazione è prendere dimestichezza con le funzioni, scrivendo due programmi formati da più moduli che concorrono a risolvere un problema.
1. PRIMO ESERCIZIO
Scrivete un programma che legga un numero intero di due cifre e che produca il seguente output:
- se entrambe le cifre sono pari --> le cifre stesse (es. 46 --> 4 6)
- se entrambe le cifre sono dispari --> le cifre in lettere (es.: 13 --> uno tre)
- altrimenti le cifre dispari come numeri, quelle pari in lettere (es. 32 --> 3 due, 65 --> sei 5)
Il programma dovrà essere costituito da due moduli:
- la funzione scriviInLettere, che scrive una cifra in lettere
- la funzione main, che legge il numero intero e chiama
opportunamente la funzione scriviInLettere.
2. SECONDO ESERCIZIO
Progettate un programma per il calcolo della somma di due frazioni.
Il programma deve:
- ricevere in input quattro interi corrispondenti ai numeratori ed ai denominatori delle frazioni da sommare
- fornire in output numeratore e denominatore della frazione (eventualmente semplificata) risultante dalla somma dei due numeri.
Risolvete il problema in due passi:
- nella prima parte scrivete un programma, parziale.c, con due moduli (massimoComunDivisore e minimoComuneMultiplo)
- nella seconda parte riutilizzate questi due moduli per implementare il programma finale.c
NOTA: Create due cartelle differenti in cui salvare i due file (ad esempio parziale e finale), e realizzate un progetto per ciascun programma.
A. PRIMA PARTE
Scrivete un programma che calcoli il massimo comun divisore ed il minimo comune multiplo tra due numeri interi.
Il programma dovrà essere costituito da tre moduli:
- la funzione massimoComunDivisore, che calcola il massimo comun
divisore di due interi
- la funzione minimoComuneMultiplo, che calcola il minimo comune
multiplo di due interi
- la funzione main, che
- legge due interi
- chiama le due funzioni passando come parametri gli interi letti
- stampa i risultati delle due funzioni
Scrivete la funzione massimoComunDivisore utilizzando il metodo di Euclide (visto a lezione).
Nella funzione minimoComuneMultiplo fate uso della funzione
massimoComunDivisore per calcolare il risultato (il minimo comune
multiplo è uguale al prodotto dei due numeri diviso il loro massimo
comun divisore).
Esecuzione passo-passo
Dopo aver scritto e compilato il programma, effettuate l'esecuzione
passo-passo.
Quando il programma è costituito da più moduli, è possibile usare i due
comandi Step in (F8) e Same level (F4) del menù
Debug:
- Step in consente di eseguire passo-passo le istruzioni interne
alle funzioni chiamate.
- Same level esegue le istruzioni corrispondenti ad una chiamata di
funzione come se fossero un'unica istruzione (non entra cioè all'interno
dei moduli)
Provate ad effettuare l'esecuzione passo passo prima con F8 e successivamente con F4. Notate anche che tramite il comando Step out (F9) del menù Debug è possibile terminare l'esecuzione passo-passo di una funzione e tornare in un unico passo all'esecuzione del modulo che ne ha effettuato l'invocazione.
Per seguire l'andamento del programma ispezionare le variabili che compaiono nella funzione massimoComunDivisore.
B. SECONDA PARTE
In questa seconda parte sviluppate il programma per il calcolo della somma di
due frazioni, utilizzando le due funzioni implementate nella prima parte. Il
programma finale.c dovrà essere costituito da tre moduli:
- la funzione massimoComunDivisore
- la funzione minimoComuneMultiplo
- la funzione main, che
- legge l'input
- calcola il risultato usando gli altri moduli
- verifica se il risultato deve essere semplificato
- stampa il risultato
Per la realizzazione del programma finale.c potete utilizzare i moduli
che avete già scritto per risolvere la prima parte dell'esercizio:
attraverso i comandi del menù Edit, copiate nel file
finale.c il codice relativo alle funzioni
minimoComuneMultiplo e massimoComunDivisore contenuto nel
file parziale.c.
Dopo aver scritto e compilato il programma, effettuate l'esecuzione
passo-passo prima con il comando F8 e successivamente con il comando
F4.