Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Diagrammi Di Flusso - Soluzioni
Diagrammi Di Flusso - Soluzioni
Esercizio 1
Progettare un algoritmo che, dati in ingresso la base e l’altezza di un
rettangolo, ne calcoli l’area e il perimetro.
Analisi:
Dati Input: Base (B)
Altezza (H)
H
Dati Output: Area (A)
Perimetro (P)
Relazioni I/O: A = B*H B
P = 2*B+2*H
Algoritmo:
1. Inizio
2. Ricevo da tastiera la Base (B)
3. Ricevo da tastiera l’Altezza (H)
4. Calcolo l’Area: A B*H
5. Calcolo il Perimetro: P B*2+H*2
6. Stampo a video l’Area A
7. Stampo a video il Perimetro P
8. Fine
Diagramma di Flusso:
Inizio
I: B,H
A B*H
O: A
P B*2+H*2
O: P
Fine
Esercizio 2
Progettare un algoritmo che, dati in ingresso i costi unitari e le quantità di due
prodotti, ne calcoli l’importo totale.
Analisi:
Dati input: Costo unitario 1° prodotto (C1)
Costo unitario 2° prodotto (C2)
Quantità acquistata 1° prodotto (Q1)
Quantità acquistata 2° prodotto (Q2)
Dati output: Importo totale (Itot)
Relazioni I/O: Itot = C1*Q1 + C2*Q2
Algoritmo:
1. Inizio
2. Ricevo da tastiera il Costo unitario del 1° e del 2° prodotto (C1, C2)
3. Ricevo da tastiera le Quantità acquistate del 1° e del 2° prodotto (Q1, Q2)
4. Calcolo l’Importo totale: Itot C1*Q1 + C2*Q2
5. Stampo a video il valore dell’Importo totale (Itot)
6. Fine
Diagramma di Flusso:
Inizio
I: C1, C2
I: Q1, Q2
O: Itot
Fine
Esercizio 3
Analisi:
Dati input: Prezzo di un prodotto (P)
Relativa percentuale di sconto (PS)
Dati output: Importo scontato (IS)
Relazioni I/O: SCONTO = P * PS / 100
IS = P - SCONTO
Algoritmo:
1. Inizio
2. Ricevo da tastiera il prezzo del prodotto (P)
3. Ricevo da tastiera la relativa percentuale di sconto (PS)
4. Calcolo lo sconto: SCONTO P * PS / 100
5. Calcolo l’importo scontato: IS P – SCONTO
6. Stampo a video il valore dell’importo scontato (IS)
7. Fine
Diagramma di Flusso:
Inizio
I: P, PS
SCONTO P * PS / 100
IS P - SCONTO
O: IS
Fine
Esercizio 4
Progettare un algoritmo che, dati in ingresso la base e l’altezza di un triangolo
rettangolo, ne calcoli l’area e il perimetro.
Analisi:
Dati input: Base (B)
Altezza (H)
Dati output: Area (A)
Perimetro (P) I
H
Relazione I/O: A = B*H / 2
P = B+H+I
I =
B
Algoritmo:
1. Inizio
2. Ricevo da tastiera la Base (B)
3. Ricevo da tastiera l’Altezza (H)
4. Calcolo l’Area: A (B*H)/2
5. Stampo a video l’Area A
6. Calcolo l’Ipotenusa: I
7. Calcolo il Perimetro: P B+H+I
8. Stampo a video il Perimetro P
9. Fine
Diagramma di Flusso:
Inizio
I:B,H
A (B*H)/2
O: A
I
P B+H+I
O: P
Fine
Esercizio 5
Analisi:
Dati input: Base (B)
Altezza (H)
Dati output: Area (A)
Perimetro (P) C1 C2
Relazione I/O: A = B*H / 2
P = C1+B+C2 H
C1 = C2 =
B
Algoritmo:
1. Inizio
2. Ricevo da tastiera la Base (B)
3. Ricevo da tastiera l’Altezza (H)
4. Calcolo l’Area: A (B*H)/2
5. Stampo a video l’Area A
6. Calcolo i lati C1 e C2: C1=C2
7. Calcolo il Perimetro: P B+C1+C2
8. Stampo a video il Perimetro P
9. Fine
Diagramma di Flusso:
Inizio
I:B,H
A (B*H)/2
O: A
C1=C2
P B+C1+C2
O: P
Fine
Esercizio 6
Ad un prodotto viene applicato uno sconto del 20% se costa meno di € 100; in
caso contrario viene applicato uno sconto del 35%. Progettare un algoritmo
che, dato in ingresso il prezzo del prodotto, ne calcoli l’importo finale scontato.
Analisi:
Dati Input: Prezzo del prodotto (P)
Dati output: Prezzo con applicato lo sconto (PS)
Relazioni I/O: Se P<100 allora PS = P-(20/100)*P
Altrimenti (P>=100) PS = P-(35/100)*P
Algoritmo:
1. Inizio
2. Ricevo da tastiera il prezzo del prodotto (P)
3. Se P<100, allora salta al passo 7 (sconto 20%) altrimenti prosegui al
passo 4
4. Calcolo il prezzo scontato PS P-(35/100)*P
5. Stampo a video il risultato PS
6. Salta al passo 9 (Fine)
7. Calcolo il prezzo scontato PS P-(20/100)*P
8. Stampo a video il risultato PS
9. Fine
Diagramma di Flusso:
Inizio
I: P
V P < 100 F
PS P-(20/100)*P PS P-(35/100)*P
O: PS O: PS
Fine
Esercizio 7
Progettare un algoritmo che, dati in ingresso i lati a, b, c, d, e, f, calcoli l’area e
il perimetro della seguente figura.
f
e
a d g
c h h = f-(b+d)
b g = e-(a-c)
Analisi:
Dati input: Lati del poligono (a,b,c,d,e,f)
Dati output: Area (A)
Perimetro (P)
Relazioni I/O: A = (b*a)+[d*(a-c)]+{[f-(b-d)])*e}
P = a+b+c+d+[e-(a-c)]+[f-(b+d)]+e+f
Algoritmo:
1. Inizio
2. Ricevo da tastiera i Lati del poligono (a,b,c,d,e,f)
3. Calcolo il Lato g e-(a+c)
4. Calcolo il Lato h f-(b+d)
5. Calcolo l’Area A (b*a)+[d*(a-c)]+(h*e)
6. Stampo a video l’Area A
7. Calcolo il Perimetro P a+b+c+d+g+h+e+f
8. Stampo a video il Perimetro P
9. Fine
Diagramma di Flusso:
Inizio
O: A
I: a,b,c,d,e,f
P a+b+c+d+g+h+e+f
g e-(a+c)
O: P
h f-(b+d)
Fine
A (b*a)+[d*(a-c)]+(h*e)
Esercizio 8
Progettare un algoritmo che, dati in ingresso tre numeri, ne determini il
maggiore.
Analisi:
Dati Input: Tre numeri (x,y,z)
Dati output: Il maggiore dei tre numeri (M)
Relazioni I/O: Se x>y,z allora M = x
Se y>x,z allora M = y
Altrimenti (z>x,y) M = z
Algoritmo:
1. Inizio
2. Ricevo da tastiera i tre numeri (x,y,z)
3. Se x>y, allora salta al passo 9 (x>z?) altrimenti prosegui al passo 4
4. Se y>z, allora salta al passo 7 (y>x,z) altrimenti prosegui al passo 5
5. Stampo a video M z (caso in cui: z>x,y)
6. Salta al passo 9 (Fine)
7. Stampo a video M y (caso in cui: y>x,z)
8. Salta al passo 9 (Fine)
9. Se x<z, allora salta al passo 5 (z>x,y) altrimenti prosegui al passo 10
10. Stampo a video M x (caso in cui: x>y,z)
11. Fine
I: x,y,z
V F
x>y
V F V F
x>z y>z
O: x O: z O: y O: z
Fine
Esercizio 9
Una palestra applica diverse tariffe mensili in base all’età di una persona.
Analisi:
Dati input: Età (E)
Prezzo (P)
Dati output: Tariffa Mensile (TM)
Relazioni I/O: Se E<25 allora TM=35
Se 25≤E≤60 allora TM=45
Altrimenti (E>60) TM=25
Algoritmo:
1. Inizio
2. Ricevo da tastiera l’Età E
3. Se E<25 allora salta al passo 7 (35 €) altrimenti prosegui al passo 4
4. Se E>60 allora salta al passo 9 (25 €) altrimenti prosegui al passo 5
5. Stampo a video TM 45 (caso in cui: 25≤E≤60)
6. Salta al passo 10 (Fine)
7. Stampo a video TM 35
8. Salta al passo 10(Fine)
9. Stampo a video TM 25
10. Fine
Diagramma di Flusso:
Inizio
I: E
V E < 25 F
O: 35
V E > 60 F
O: 25 O: 45
Fine