...

Esercizi 0-6

by user

on
Category: Documents
10

views

Report

Comments

Transcript

Esercizi 0-6
Elementi di Base dei Linguaggi di Programmazione - IFTS
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 0 specifica
Esercizio 0 analisi
• Creare un convertitore interattivo di
distanze espresse in miglia nelle
equivalenti distanze espresse in chilometri.
• L’input e’ rappresentato dalla distanza in
miglia
• L’output e’ rappresentato dalla distanza
equivalente in chilometri
• La relazione fondamentale da sfruttare e’:
1 mi = 1.609 km.
© Emanuele Lattanzi
Urbino 2005
1/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
© Emanuele Lattanzi
Esercizio 1 specifica
• Calcolare il valore complessivo di un
insieme di monete che vengono
depositate da un cliente presso una
banca, espresso come numero di euro e
frazione di euro.
• In questo caso i passi sono:
–
acquisire la distanza in miglia;
–
convertire la distanza in chilometri;
–
comunicare la distanza in chilometri.
Urbino 2005
3/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
© Emanuele Lattanzi
Urbino 2005
Esercizio 1 analisi
Esercizio 1 progettazione
• Conviene calcolare il valore totale in centesimi
prima di determinare il valore totale in euro e
frazione di euro, i passi sono i seguenti:
• L’output e’ rappresentato dal valore complessivo
delle monete espresso in euro e frazione di euro.
• Le relazioni da sfruttare sono le seguenti:
–
acquisire il numero di monete di ogni tipo;
–
calcolare il valore totale delle monete in euro e
frazione di euro:
1 centesimo = 0.01 euro, 2 centesimi = 0.02 euro,
•
calcolare il valore totale delle monete in centesimi;
–
5 centesimi = 0.05 euro, 10 centesimi = 0.10 euro,
•
–
20 centesimi = 0.20 euro, 50 centesimi = 0.50 euro,
convertire il valore totale delle monete in euro e
frazione di euro;
•
–
1 euro = 100 centesimi, 2 euro = 200 centesimi.
comunicare il valore totale delle monete in euro e
frazione di euro.
© Emanuele Lattanzi
4/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
• L’input e’ rappresentato dal numero di monete
di ogni tipo (1, 2, 5, 10, 20, 50 centesimi e 1, 2
euro) che vengono depositate.
–
2/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 0 progettazione
© Emanuele Lattanzi
Urbino 2005
Urbino 2005
5/12
© Emanuele Lattanzi
Urbino 2005
6/12
1
Elementi di Base dei Linguaggi di Programmazione - IFTS
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 2 specifica
Esercizio 2 analisi
• L’input e’ costituito dalla lettura del contatore
alla fine del periodo precedente, dalla lettura
del contatore alla fine del periodo corrente (cui
la bolletta si riferisce), e dall’importo di eventuali
bollette precedenti ancora da pagare.
• L’output e’ costituito dall’importo della bolletta
del periodo corrente, evidenziando l’eventuale
mora.
• La relazione da sfruttare e’ che l’importo della
bolletta e’ dato dalla somma della quota fissa,
del costo al metro cubo per la differenza tra le
ultime due letture del contatore, dell’importo di
eventuali bollette arretrate e dell’eventuale
mora.
• Calcolare la bolletta dell’acqua per un
utente sulla base di una quota fissa di 15
euro e una quota variabile di 2.50 euro
per ogni metro cubo d’acqua consumato
nell’ultimo periodo, più una mora di 10
euro per eventuali bollette non pagate
relative a periodi precedenti.
© Emanuele Lattanzi
Urbino 2005
7/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
© Emanuele Lattanzi
Esercizio 3 specifica
• Creare un programma che calcoli l’area delle
seguenti figure geometriche:
• Osservato che l’importo della bolletta e’ diverso
a seconda che vi siano bollette precedenti
ancora da pagare o meno, i passi sono i
seguenti:
–
acquisire le ultime due letture del contatore;
acquisire l’importo di eventuali bollette precedenti
ancora da pagare;
calcolare l’importo della bolletta:
•
•
•
–
Digita 0 per uscire dal programma
9/12
QUADRATO:
lato
TRIANGOLO:
base e altezza
–
CERCHIO:
raggio
Urbino 2005
10/12
Esercizio 3 progettazione
• Dapprima e’ necessario acquisire il valore che
identifica il tipo di figura
• Si consiglia di usare una struttura “switch(valore)”
per la scelta multipla
•
L’output e’ rappresentato dal valore dell’area della figura
geometrica
•
Le relazioni da sfruttare sono le seguenti:
–
Area quadrato = lato * lato
–
Area triangolo = base * altezza / 2
–
Area cerchio = raggio * raggio * P_GRECO
© Emanuele Lattanzi
© Emanuele Lattanzi
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 3 analisi
–
CERCHIO
Digita 3 per CERCHIO
L’input e’ rappresentato, in una prima fase, nel tasto di
scelta (0, 1, 2, o 3). In seguito, in base al tipo di scelta
intrapresa avremo input diversi così specificati:
–
TRIANGOLO
–
Digita 1 per QUADRATO
Elementi di Base dei Linguaggi di Programmazione - IFTS
•
QUADRATO
–
Digita 2 per TRIANGOLO
comunicare l’importo della bolletta evidenziando
l’eventuale mora.
Urbino 2005
–
• Il programma deve presentare un menù iniziale
per scegliere di quale figura calcolare l’area del
tipo:
calcolare l’importo derivante dal consumo di acqua
nel periodo corrente;
determinare l’applicabilità’ della mora;
calcolare l’importo totale;
© Emanuele Lattanzi
8/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 2 progettazione
–
–
Urbino 2005
Urbino 2005
• In base al tipo di figura e’ necessario acquisire o
solo la dimensione del lato (QUADRATO) o la
dimensione della base e la dimensione
dell’altezza (TRIANGOLO) o solo la dimensione
del raggio (CERCHIO)
• Infine e’ necessario calcolare l’area sfruttando le
relazioni illustrate in precedenza e comunicarla
all’utente.
11/12
© Emanuele Lattanzi
Urbino 2005
12/12
2
Elementi di Base dei Linguaggi di Programmazione - IFTS
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 4 specifica
Esercizio 4 analisi
• L’input e’ costituito dal livello iniziale
delle radiazioni.
• In un laboratorio può verificarsi una
perdita di un materiale pericoloso, il quale
produce un certo livello di radiazione
iniziale che poi si dimezza ogni giorno.
• L’output e’ rappresentato dal giorno
in cui viene ripristinata una situazione
di sicurezza
• Calcolare il livello delle radiazioni
giornalmente fino a raggiungere il giorno
in cui il livello delle radiazioni scende al di
sotto di un decimo del livello di sicurezza
quantificato in 0.466 [mrem]
© Emanuele Lattanzi
Urbino 2005
• La relazione da sfruttare e’ il
dimezzamento del livello delle
radiazioni ogni giorno.
© Emanuele Lattanzi
13/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 5 specifica
• Osservato che il problema richiede il calcolo
ripetuto del livello delle radiazioni sino a quando
tale livello non scende sotto una certa soglia, i
passi sono i seguenti:
–
acquisire il livello iniziale delle radiazioni;
–
calcolare e comunicare il livello delle radiazioni ogni
giorno (finché il livello delle radiazioni non si riduce
ad un decimo del livello di sicurezza);
Urbino 2005
15/12
Esercizio 5 analisi
L’aumento viene calcolato allo stesso modo (in base alla
posizione) secondo la seguente relazione:
•
Stampare a monitor lo stipendio di tutti i 22 dipendenti, lo
stipendio minimo e lo stipendio massimo.
Detrazione = indice * 3
Aumento = indice * 2
© Emanuele Lattanzi
Urbino 2005
16/12
• Calcolare gli stipendi di ogni dipendente e
trovare il valore minimo e massimo utilizzando
due funzioni trova_min e trova_max
• Comunicare tutti gli stipendi stampandoli a
monitor, comunicare il valore minimo e il valore
massimo.
• E’ necessario individuare quando l’indice e’ pari
o dispari (possiamo utilizzare il resto della divisione
dell’indice per 2)
–
Se indice e’ pari allora indice % 2 vale 0
–
Se indice e’ dispari allora indice % 2 vale 1
© Emanuele Lattanzi
•
• acquisire l’ammontare dello stipendio iniziale da
tastiera
• La relazione da sfruttare e’ :
Aumento = indice * 2
Il contabile decide di calcolare la detrazione in base alla
posizione del dipendente nel database (indice) secondo
la seguente relazione:
Esercizio 5 progettazione
• L’output e’ rappresentato dallo stipendio di
ciascun dipendente, da lo stipendio minimo e
massimo.
Detrazione = indice * 3
•
Elementi di Base dei Linguaggi di Programmazione - IFTS
• L’input e’ costituito dall’ ammontare iniziale dello
stipendio (uguale per tutti).
–
Una ditta al momento di calcolare la busta paga dei suoi
22 dipendenti decide di punire, detraendo una quota
dallo stipendio, i dipendenti memorizzati nei record di
indice dispari e premiare, con un aumento, i dipendenti di
indice pari.
–
Elementi di Base dei Linguaggi di Programmazione - IFTS
–
•
–
comunicare il giorno in cui il livello delle radiazioni si
riduce ad un decimo del livello di sicurezza
© Emanuele Lattanzi
14/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 4 progettazione
–
Urbino 2005
Urbino 2005
17/12
© Emanuele Lattanzi
Urbino 2005
18/12
3
Elementi di Base dei Linguaggi di Programmazione - IFTS
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 6 specifica
Esercizio 6 analisi
• Una maschera di un teatro vuole scrivere
un programma in linguaggio C che le
permetta di memorizzare su file il numero
di visitatori che ogni giorno della
settimana frequentano il teatro. All’interno
del file dovra’ scrivere, oltre al numero dei
visitatori, anche il giorno della settimana
corrispondente (lunedi’ martedi’, ..ecc).
Inoltre, in un secondo file, scrivera’ il
valore cumulativo di tutti i visitatori che
sono entrati nel teatro.
© Emanuele Lattanzi
Urbino 2005
• L’input e’ costituito, innanzi tutto, da un
codice che identifica il giorno della
settimana (es. 1=lunedi’, 2=martedi’, ecc).
Una volta deciso il giorno l’input sara’
costituito dal numero dei visitatori di quel
giorno.
• L’output e’ rappresentato dal giorno e dai
visitatori corrispondenti da scrivere su file e
dal numero totale dei visitatori da scrivere
su di un altro file
19/12
© Emanuele Lattanzi
Urbino 2005
20/12
Elementi di Base dei Linguaggi di Programmazione - IFTS
Esercizio 6 progettazione
• Acquisire il codice identificativo del giorno
• Acquisire il numero di visitatori di quel giorno
• Stampare su file il giorno e il numero dei visitatori
corrispondenti al giorno
• Leggere dal file il valore cumulativo dei visitatori,
sommargli il valore acquisito precedentemente e
salvare il nuovo valore sul file sovrascrivendo
quello vecchio
© Emanuele Lattanzi
Urbino 2005
21/12
4
Fly UP