• Non ci sono risultati.

Fondamenti di Informatica: esercitazione di laboratorio n. 2 Variabili, espressioni, operatori, overflow, funzioni Pier Luca Montessoro

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Informatica: esercitazione di laboratorio n. 2 Variabili, espressioni, operatori, overflow, funzioni Pier Luca Montessoro"

Copied!
1
0
0

Testo completo

(1)

Fondamenti di Informatica: esercitazione di laboratorio n. 2 Variabili, espressioni, operatori, overflow, funzioni

Pier Luca Montessoro

1. Controllo dati di ingresso

Si scriva un programma che legga N numeri compresi tra -50 e +50, estremi compresi, e ne calcoli la media.

Se l’utente inserisce un numero non compreso nell’intervallo, il programma deve segnalare l’errore e chiedere di nuovo l’inserimento.

SUGGERIMENTO: si scriva una funzione di lettura del numero che controllo la validità del numero inserito e, se non valido, ne chieda di nuovo l’inserimento.

2. Overflow

Come visto, il calcolo del fattoriale genera ben rapidamente overflow. Si riscriva la funzione fattoriale utilizzando come tipo di dato il long long int (intero su 64 bit).

NOTA: per la stampa di un valore di tipo

long long int è necessario utilizzare il codice di formato %lld.

Qual è il primo valore che genera overflow?

3. Spinta di Archimede

Si scriva un programma che legga da tastiera il raggio di una sfera e calcoli la spinta di Archimede che essa riceve quando viene immersa

(completamente) in acqua. Per questo programma si scriva (o si riutilizzi, se già scritta) una funzione per il calcolo del volume di una sfera.

4. sin(x)

Basandosi sul diagramma di flusso visto a lezione, si scriva un programma che calcoli lo sviluppo in serie della funzione sin(x), dove x e la precisione richiesta vengono letti da tastiera.

5. Giorni dell’anno

Si utilizzino le funzioni scritte per l’esercizio

“checkdate” (controllo della correttezza di una data) per realizzare la funzione

int numero_da_inizio_anno (int giorno, in mese, int anno) che riceve come

parametro di ingresso una data e restituisce il numero d’ordine di tale giorno nell’anno (es. 1 gennaio 1, 2 febbraio 33, ecc.).

SUGGERIMENTO: l’algoritmo può essere espresso come segue:

NOTA: "giorno", "mese" e "anno"

rappresentano la data di cui si vuole calcolare il numero d’ordine

numero giorni <- 0 mese corrente <- 1

while (mese corrente < mese) {

numero giorni <-

numero giorni +

giorni del mese corrente passa al mese successivo

(cioè incrementa mese corrente) }

numero giorni <- numero giorni + giorno

Osservazione: nell’algoritmo non compare

“anno”. Perché?

6. Data precedente

Sulla base di quanto fatto a lezione, si scriva una funzione che calcola la data precedente a quella passata come argomeno.

Riferimenti

Documenti correlati

[r]

[r]

(i) Si provi che f ha massimo e minimo assoluti su Γ.. (ii) Si determinino gli estremi assoluti di f

In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali... La

© 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 2 Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle

L’informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione.. Essa è fornita per scopi meramente didattici e non per essere utilizzata in

[r]

[r]