FONDAMENTI DI INFORMATICA I
Corso di Laurea in Ingegneria Elettronica, Informatica, delle Telecomunicazioni
Università La Sapienza - Consorzio Nettuno
Appello del 28-9-2002
Parte Pratica (20 punti)
0)
Scrivere un programma C che risponda alle seguenti specifiche:
Ad esempio, se l'input fosse 3 9.5 8.5 12.0 9.6 6.0 12.0 4.0 7.0 12.0 8.5 0
l'output potrebbe essere
--- il massimo valore era 12.0
--- numero di occorrenze del massimo: 3
NB In questo esercizio non servono gli array (e il loro uso comporta una penalizzazione)
1)
Scrivere un funzione
eser1() C che,Per carattere dominante in una stringa si intende quello che occorre più volte nella stringa. Se ci sono più caratteri dominanti in una stringa, si considera dominante il primo ad apparire.
Ad esempio, se le stringhe fossero
"POSTILLO" e "MIsticante", nella prima stringa il carattere dominante sarebbe O (che occorre due volte come L ma appare prima nella stringa); nella seconda stringa il dominante sarebbe t (unico ad occorrere due volte) e il risultato della sostituzione sarebbe di far diventare s2 "MIsOicanOe".2)
Scrivere una funzione
eser2() che,Ad esempio se
n fosse 10, e vi fosse 17 5 0 2 13 6 5 9 18 -4Scrivere poi un programma che, pur senza fronzoli inutili, utilizzi congruamente la funzione
eser2.FONDAMENTI DI INFORMATICA I
Corso di Laurea in Ingegneria Elettronica, Informatica, delle Telecomunicazioni
Università La Sapienza - Consorzio Nettuno
Appello del 28-9-2002
Parte Teorica (10 punti)
I) (2/4)
Siano N=77, M=299.
II) (1/2)
Scrivere una funzione C ricorsiva eserRic() che, ricevendo un valore intero n ne calcoli e restituisca il fattoriale.
Mostrare l'attivazione della funzione, nel caso di un piccolo programma di esempio in cui venga calcolato 5!, spiegando come il risultato viene calcolato secondo le modalità che si ritengono più efficaci.