Prova Intermedia di Laboratorio

Esercizi proposti

Come affrontare questi esercizi.

Si consiglia di leggere gli esercizi e pensare ad un programma C che li risolve "a tavolino" prima di recarsi in laboratorio, eventualmente provando a svolgere manualmente la traccia dell’esecuzione. Potete lavorare da soli o a piccoli gruppi di due-tre persone, secondo le vostre abitudini, ma e’ importante non appoggiarsi interamente al lavoro altrui, soprattutto se nel gruppo e’ presente una persona piu’ esperta.

Per chi non frequenta le lezioni, si consiglia di iniziare a svolgere esercizi dopo aver compreso gli esempi di programmi C diffusi come materiale supplementare (primo file e secondo file), che possono fornire una traccia per la soluzione di problemi analoghi.

Esercizi senza uso di array

Sviluppare i programmi seguenti supponendo che i dati in ingresso siano digitati correttamente (cioe’ non e’ necessario includere controlli di validita’).

  1. Scrivere un programma che dato un intero ne visualizza il quadrato ed il cubo.
  2. Scrivere un programma che dato un reale ne visualizza il quadrato, la meta’ e i 3 settimi.
  3. Si consideri una sequenza di 5 interi, scrivere un programma che ne calcola la media (senza memorizzarli)
  4. Si sviluppi un programma che esegue le seguenti operazioni:
    * legge un intero, detto n,
    ** legge n reali dati in sequenza
    *** scrive la somma di tutti i reali letti.
  5. Come sopra, ma scrivere il massimo valore reale letto
  6. Come sopra, ma scrivere quanti tra i numeri letti sono maggiori di pigreco (approssimato come 3.14159)
  7. Si sviluppi un programma che:
    * legge una sequenza arbitrariamente lunga di interi positivi (che sara’ terminata da uno zero o negativo),
    ** per ciascun valore letto, che rappresenta un prezzo espresso in euro, scrive il corrispondente in lire prima di leggere l’intero successivo (1 euro=1936,27 lire),
    *** termina dopo la lettura di un valore zero o negativo.
  8. Come sopra, ma il prezzo in lire non deve contenere decimali.

Si raccomanda inoltre

Esercizi con uso di array

  1. Scrivere un programma che legge una sequenza di 10 interi e
    * li memorizza in una array a,
    ** ne calcola il quadrato di ciascuno e lo memorizza nella posizione di indice corrispondente in una array b,
    *** ne calcola analogamente il cubo, memorizzandolo in una array c
    **** visualizza il contenuto di b e di c
  2. Se la soluzione dell’esercizio precedente contiene piu’ di due istruzioni cicliche (for o while) sviluppare una soluzione dell’esercizio precedente che non contenga piu’ di due istruzioni cicliche (for o while). Eventualmente visualizzare le informazioni in ordine diverso, o andando a capo con criteri diversi.
  3. Si consideri il programma sviluppato come soluzione dell’esercizio precedente e si sostituisca ogni ciclo for con un ciclo while (o viceversa).
  4. Si consideri una sequenza di 5 interi, scrivere un programma che
    * li memorizza in un array a,
    ** ne calcola la media, il massimo ed il minimo.
  5. Si dichiari una array a di interi, dimensionandola a 100. Si sviluppi un programma che esegue le seguenti operazioni:
    * legge un intero, detto n, e se n e’ compreso tra 1e 100
    ** legge altri n interi dati in sequenza e li memorizza in a, quindi visualizza il contenuto di tutte e 100 le posizioni di a
    *** se invece n e’ minore di 1, oppure e’maggiore di 100, scrive un messaggio di errore.
  6. Come sopra, ma scrivere soltanto
    * il contenuto delle n posizioni effettivamente riempite, e
    ** il massimo valore intero letto
  7. Come sopra, ma scrivere soltanto quanti tra i numeri letti sono pari e quanti sono dispari

E se proprio non sapete piu’ cosa fare,