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:

Il programma dovrà essere costituito da due moduli:
  1. la funzione scriviInLettere, che scrive una cifra in lettere
  2. 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:
  1. ricevere in input quattro interi corrispondenti ai numeratori ed ai denominatori delle frazioni da sommare
  2. fornire in output numeratore e denominatore della frazione (eventualmente semplificata) risultante dalla somma dei due numeri.

Risolvete il problema in due passi:

  1. nella prima parte scrivete un programma, parziale.c, con due moduli (massimoComunDivisore e minimoComuneMultiplo)
  2. 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:
  1. la funzione massimoComunDivisore, che calcola il massimo comun divisore di due interi
  2. la funzione minimoComuneMultiplo, che calcola il minimo comune multiplo di due interi
  3. la funzione main, che

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:

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:
  1. la funzione massimoComunDivisore
  2. la funzione minimoComuneMultiplo
  3. la funzione main, che
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.