londoni camilla-galeandro beatrice1 dal problema al programma galeandro b. – londoni c
Post on 02-May-2015
213 Views
Preview:
TRANSCRIPT
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
11
Dal problema al programmaDal problema al programma
Galeandro B. – Londoni C.
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
22
IndiceIndice
•Sequenza
•selezione
•Ciclo o iterazione
• mappa
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
33
SequenzaSequenza
•Calcola la media di tre numeri
•Cerchio (area,circonferenza)
•Rettangolo (area,perimetro)
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
codifica
codifica
codifica
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
44
SelezioneSelezione
• Trova il massimo di tre numeri
• Definisci il triangolo
• Reciproco
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
codifica
codifica
codifica
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
55
Ciclo o iterazioneCiclo o iterazione
• mese per vero
• mese per falso
• spesa
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
Pseudocodifica
Flow-chart Debug
codifica
codifica
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
66
Pseudocodifica: calcola la media di tre numeriPseudocodifica: calcola la media di tre numeri
Algoritmo media
Variabili
A,B,C numerica,intera,input
M numerica,reale,output
Inizio
scrivi (“inserisci tre numeri interi”);
leggi (A,B,C);
M = (A+B+C)/3;
scrivi (“media =“,M);
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
77
Flow-chart: calcola la media di tre numeriFlow-chart: calcola la media di tre numeri
inizio
A,B,C
M = (A+B+C)/3
M
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
88
Debug: Calcola la media di tre numeriDebug: Calcola la media di tre numeri
Algoritmo media
scrivi (“inserisci tre numeri interi”);
leggi (A,B,C);M = (A+B+C)/3;scrivi (“media =“,M);
Debug
1. Inserisci tre numeri interi
2. A4, B6, C8
3. 6(4+6+8)/3
4. Media = 6
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
99
peseudocodifica: cerchio (area,circonferenza): cerchio (area,circonferenza)
Algoritmo cerchio
Variabili
Raggio numero reale,input
A,C numero reale,output
Costante
Pigreco = 3,14 numero reale
inizio
Scrivi (“inserisci raggio”);
leggi (“raggio”);
A = pigreco*raggio^2;
C = 2*pigreco*raggio;
scrivi (“area =“,A);
scrivi (“circonferenza =“,C);
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1010
Flow-chart: cerchio (area,circonferenza)Flow-chart: cerchio (area,circonferenza)
inizio
raggio
pigreco*raggio^2
2*pigreco*raggio
A
C
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1111
Debug:cerchio (area,circonferenza)Debug:cerchio (area,circonferenza)
Algoritmo area,circonferenza
Scrivi (“inserisci raggio”);leggi (“raggio”);A = pigreco*raggio^2;C = 2*pigreco*raggio;scrivi (“area =“,A);scrivi (“circonferenza =“,C);
Debug1. Inserisci raggio
2. Raggio5
3. 78,5pigreco*raggio^2
4. 31,42*pigreco*raggio
5. Area = 78,5
6. Circonferenza = 31,4
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1212
pseudocodifica: rettangolo(area,perimetro)pseudocodifica: rettangolo(area,perimetro)Algoritmo rettangolo
Variabili
B,H numerica,reale,I
A,P numerica,reale,O
Inizio
scrivi(“inserisci la base e l’altezza”);
leggi(B,H);
A=B*H;
P=2*(B+H);
scrivi(“area=“,A);
scrivi(“perimetro=“,P);
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1313
Flow-chart:rettangolo(area,perimetro)Flow-chart:rettangolo(area,perimetro)
inizio
B,H
B*H
2*(B+H)
A
P
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1414
Debug:rettangolo(area,perimetro)Debug:rettangolo(area,perimetro)
Algoritmo rettangolo
scrivi(“inserisci la base e l’altezza”);
leggi(B,H);A=B*H;P=2*(B+H);scrivi(“area=“,A);scrivi(“perimetro=“,P);
Debug
1. Inserisci la base e l’altezza
2. B 2,H 4
3. 8 B*H
4. 12 2*(B+H)
5. Area=8
6. Perimetro=12
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1515
Pseudocodifica:trova il massimo di tre numeriPseudocodifica:trova il massimo di tre numeriAlgoritmo massimoVariabili
A,B,C numerica,intera,I
Max numerica,intera,O
Inizio
scrivi (“inserisci tre numeri interi”);
leggi (A,B,C);
Max = A;
se (B>Max)allora
Max = B;
fine se
se (C>Max) allora
Max = C;
fine se
scrivi (“il massimo è =“, Max);
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1616
Flow-chart:trova il massimo di tre numeriFlow-chart:trova il massimo di tre numeri
inizio
A,B,C
Max=A
B>Max
Max=B
C>Max
Max=C
Max
fine
NO SI
NOSI
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1717
Debug:trova il massimo di tre numeriDebug:trova il massimo di tre numeri
Algoritmo massimoscrivi (“inserisci tre numeri interi”);
leggi (A,B,C);Max = A;se (B>Max)allora
Max = B;fine sese (C>Max) allora
Max = C;fine sescrivi (“il massimo è =“,
Max);
Debug 11. Inserisci tre numeri
2. A 4,B 6,C 8
3. Max=4
4. 6>4 ?
5. Max 6
6. 8>6 ?
7. Max 8
8. Il massimo è = 8
Debug 31. Inserisci tre numeri
2. A 14,B 6,C 8
3. Max = 14
4. 6>14 ?
5. 8>14 ?
6. Il massimo è = 14
Debug 21. Inserisci tre numeri
2. A4, B 16, C 8
3. Max = 4
4. 16>4 ?
5. Max 16
6. 8>16 ?
7. Il massimo è = 16
Debug 41. Inserisci tre numeri
2. A 4, B 4, C 4
3. Max = 4
4. 4>4 ?
5. 4>4 ?
6. Il massimo è = 4
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1818
Pseudocodifica:definisci il triangoloPseudocodifica:definisci il triangolo
Algoritmo triangoloVariabili
A,B,C numerica,intera,I
Inizio
scrivi (“inserisci i tre lati del triangolo”);
leggi (A,B,C);
se (A<>B) AND (B<>C) AND (A<>C) allora
scrivi(“scaleno”);
fine se
se (A = B) OR (B = C) OR (A = C) allora
scrivi (“isoscele”);
fine se
se ( A = B) AND (B = C) AND (A = C) allora
scrivi (“equilatero”);
fine se
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
1919
Flow-chart: definisci triangoloFlow-chart: definisci triangoloinizio
A,B,C
(A<>B) AND (B<>C) AND (A<>C)
scaleno
(A = B) OR (B = C) OR (A = C)
isoscele
( A = B) AND (B = C) AND (A = C)
equilatero
fine
no
no
no
si
si
si
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2020
Debug: definisci triangoloDebug: definisci triangoloAlgoritmo triangolo
scrivi (“inserisci i tre lati del triangolo”);
leggi (A,B,C);se (A<>B) AND (B<>C) AND (A<>C)
allorascrivi(“scaleno”);
fine sese (A = B) OR (B = C) OR (A = C) allora
scrivi (“isoscele”);fine sese ( A = B) AND (B = C) AND (A = C)
allorascrivi (“equilatero”);
fine se
Debug 1
1. Inserisci i tre lati del triangolo
2. A 2, B 3, C 6
3. (2<>3) AND (3<>6) AND (2<>6) ? (V)
4. Scaleno
5. (2 = 3) OR (3 = 6) OR (2 = 6) ? (F)
6. (2 = 3) AND (3 = 6) AND (2 = 6) ? (F)
Debug 2
1. Inserisci tre lati del triangolo
2. A 2,B 2, C 6
3. (2<>3) AND (3<>6) AND (2<>6) ? (F)
4. (2 = 3) OR (3 = 6) OR (2 = 6) ? (v)
5. Isoscele
6. (2 = 3) AND (3 = 6) AND (2 = 6) ? (F)
Debug 31. Inserisci i tre lati del triangolo2. A 2, B 2, C 23. (2<>2) AND (2<>2) AND (2<>2) ? (F)4. (2 =2) OR (2 = 2) OR (2 = 2) ? (V)5. (2 = 2) AND (2 = 2) AND (2 = 2) ? (V)6. equilatero
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2121
Pseudocodifica: reciprocoPseudocodifica: reciprocoAlgoritmo reciprocoVariabili
A numerica, intera, I
Inizio
scrivi (“inserisci un numero”);
leggi (A);
se ( A <> 0) allora
scrivi (“1/”A);
altrimenti
scrivi(“errore”);
fine se
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2222
Flow-chart: reciprocoFlow-chart: reciprocoinizio
A
(A<>0)
fine
1/Aerrore
sino
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2323
Debug: reciprocoDebug: reciprocoAlgoritmo reciproco
scrivi (“inserisci un numero”);leggi (A);se ( A <> 0) allora
scrivi (“1/”A);altrimenti
scrivi(“errore”);fine se
Debug 11. Inserisci un numero
2. A 4
3. (4 <> 0) ? (V)
4. ¼
Debug 21. Inserisci un numero
2. A 0
3. (0 <>0) ? (F)
4. errore
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2424
Pseudocodifica: mese per veroPseudocodifica: mese per veroAlgoritmo mese
Variabili
M numerica, intera, I
Inizio
M = 0;
esegui mentre ((M<=1) OR (M>=12));
scrivi (“inserisci il mese”);
legge(M);
se (M>0) AND (M<13) allora
scrivi (“mese corretto”);
altrimenti
scrivi (“errore”);
fine se;
ripeti
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2525
FLOW-CHART: MESE per FLOW-CHART: MESE per veroveroinizio
(M<1) OR (M>12)
M
(M>0) AND (M<13)
erroreMese corretto
M=0
fine
V
F
FV
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2626
Debug: mese per veroDebug: mese per veroDebug per vero1. M 0
2. 0<1 OR 0>12 ? (V)
3. Inserisci mese
4. M14
5. Errore
6. 14<1 OR 14>12 ? (V)
7. Inserisci mese
8. M 6
9. Mese corretto
10.6<1 OR 6 >12 ? (F)
Algoritmo mese per vero
M = 0;esegui mentre ((M<=1) OR (M>=12));
scrivi (“inserisci il mese”);legge(M);se (M>0) AND (M<13) allora
scrivi (“mese corretto”);altrimenti
scrivi (“errore”);fine se;
ripeti
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2727
Pseudocodifica: mese per falsoPseudocodifica: mese per falsoAlgoritmo mese per falsoVariabili
M numerica, intera, I
Inizio
ripeti;
scrivi(“inserisci il mese”);
leggi (M);
se (M>0) AND (M<13) allora
scrivi (“mese corretto”);
altrimenti
scrivi (“errore”);
fine se;
finché (M>0) AND (M<13);
fine
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2828
Flow-chart: mese per falsoFlow-chart: mese per falsoInizio
M
M>0 AND M< 13
Fine
F V
Errato Corretto
M>0 AND M< 13F
V
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
2929
Debug: mese per falsoDebug: mese per falsoDebug per falso1. Inserisci mese
2. M 14
3. 14>0 AND 14<13 ? (F)
4. Errore
5. 14>0 AND 14<13 ? (F)
6. Inserisci mese
7. M 1
8. 1>0 AND 1<13 ? (V)
9. Mese corretto
10.1>0 AND 1<13 ? (V)
Algoritmo mese per falso
ripeti;scrivi(“inserisci il mese”);leggi (M);se (M>0) AND (M<13) allora
scrivi (“mese corretto”);altrimenti
scrivi (“errore”);fine se;
finché (M>0) AND (M<13);
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3030
Pseudocodifica: spesaPseudocodifica: spesaAlgoritmo spesaVariabili
P numerica, reale,I
Tot numerica, reale,O
Inizio
ripeti;
scrivi (“ inserisci il prezzo”);
leggi (P);
se (
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3131
Flow-chart: spesaFlow-chart: spesainizio
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3232
Debug: spesaDebug: spesaDebug
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3333
Codifica: calcola la media di tre numeriCodifica: calcola la media di tre numeri
'VARIABILIDim primo, secondo, terzo, media As Integer'Acquisizione dei valori dalle celleprimo = Range("a1")secondo = Range("a2")terzo = Range("a3")'Calcolo della mediamedia = (primo + secondo + terzo) / 3Range("c1") = media
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3434
Codifica: cerchio (area,circonferenza)Codifica: cerchio (area,circonferenza)
'VARIABILI Dim raggio, area, circonferenza As Single Const pigreco = 3.14 'AQUISIZIONE DEI VALORI DELLE CELLE raggio = Range("B1") 'CALCOLO IL VALORE DELLA CIRCONFERENZA E DELL'AREA circonferenza = (2 * 3.14 * raggio) area = (3.14 * raggio ^ 2) 'STAMPO NELLA CELLA B2 IL RISULTATO: CIRCONFERENZA Range("b2") = circonferenza 'STAMPO NELLA CELLA B3 IL RISULTATO : AREA Range("b3") = area
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3535
Codifica: rettangolo (area , perimetro)Codifica: rettangolo (area , perimetro)
'VARIABILIDim base, altezza, perimetro, area As Integer'ACQUISIZIONE DEI VALORIbase = Range("a1")altezza = Range("a2")'CALCOLO AREA E PERIMETROarea = (base * altezza)perimetro = 2 * (altezza + base)Range("c1") = areaRange("c2") = perimetro
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3636
Codifica: massimoCodifica: massimo'VARIABILI Dim primo, secondo As Integer Dim maggiore As Integer 'ACQUISIZIONE DEI VALORI DALLE CELLE primo = Cells (1, 2) secondo = Cells (2, 2) 'CONTROLLO DEI NUMERI (SELEZIONE) If primo > secondo Then
maggiore = primo Else
maggiore = secondo End If ' VISUALIZZA I NUMERI ORDINATI Cells(2, 4) = maggiore
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3737
Codifica: triangoloCodifica: triangolo'variabiliDim lato1, lato2, lato3 As Single'acquisisci valori dalle cellelato1 = Range("b1")lato2 = Range("b2")lato3 = Range("b3")'definisci triangoloIf (lato1 <> lato2) And (lato2 <> lato3) And (lato1 <> lato3) Then Range("a5") = "scaleno"End If
If (lato1 = lato2) Or (lato2 = lato3) Or (lato1 = lato3) Then Range("a5") = "isoscele"End IfIf (lato1 = lato2) And (lato2 = lato3) Then Range("a5") = "equilatero" End If
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3838
Codifica: reciprocoCodifica: reciproco'variabiliDim numero As Single'acquisisci valori dalle cellenumero = Range("b1")'calcola il valore del reciprocoIf (numero <> 0) Then Range("a3") = 1/ numero
Else: Range("a3") = "errore"End If
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
3939
Codifica: meseCodifica: mese
'variabiliDim mese As Single'acquisisci valori dalle cellemese = Range("b1")'calcola mese giustoIf (mese < 1) Or (mese > 12) Then Range("a3") = "errore"Else: Range("a3") = "mese corretto"End If
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
4040
Codifica: spesaCodifica: spesa
'VARIABILIDim i, totale, spesa As Integer'QUANTI CONTA I NUMERI >20totale = 0'IL CONTATORE "i" CONTA QUANTE CELLE STO LEGGENDOFor i = 2 To 6 spesa = Cells (i, 1) totale = totale + spesaNext Range("b8") = totale
Londoni camilla-Galeandro BeatriLondoni camilla-Galeandro Beatricece
4141
mappamappa
menu
sequenza
Selezione
ciclo
media
cerchio
rettangolo
massimo
triangolo
reciproco
Mese vero
Mese falso
Spesa
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
pseudocodifica
Flow-chart
Flow-chart
Flow-chart
Flow-chart
Flow-chart
Flow-chart
Flow-chart
Flow-chart
Flow-chart
debug
debug
debug
debug
debug
debug
debug
debug
debug
top related