Dal problema al programma Galeandro B. – Londoni C. Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Indice Sequenza selezione Ciclo o iterazione mappa Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Sequenza Calcola la media di tre numeri Debug Pseudocodifica Flow-chart codifica Cerchio (area,circonferenza) Pseudocodifica Flow-chart Debug codifica Rettangolo (area,perimetro) Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Selezione Trova il massimo di tre numeri Pseudocodifica Flow-chart Debug codifica Definisci il triangolo Pseudocodifica Flow-chart Debug codifica Reciproco Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Ciclo o iterazione mese per vero Pseudocodifica Flow-chart Debug mese per falso codifica Pseudocodifica Flow-chart Debug spesa Pseudocodifica Flow-chart Debug codifica Londoni camilla-Galeandro Beatrice
Pseudocodifica: 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 Beatrice
Flow-chart: calcola la media di tre numeri inizio A,B,C M = (A+B+C)/3 M fine Londoni camilla-Galeandro Beatrice
Debug: 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 Inserisci tre numeri interi A4, B6, C8 6(4+6+8)/3 Media = 6 Londoni camilla-Galeandro Beatrice
peseudocodifica: 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 Beatrice
Flow-chart: cerchio (area,circonferenza) inizio raggio pigreco*raggio^2 2*pigreco*raggio A C fine Londoni camilla-Galeandro Beatrice
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); Debug Inserisci raggio Raggio5 78,5pigreco*raggio^2 31,42*pigreco*raggio Area = 78,5 Circonferenza = 31,4 Londoni camilla-Galeandro Beatrice
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 Beatrice
Londoni camilla-Galeandro Beatrice Flow-chart:rettangolo(area,perimetro) inizio B,H B*H 2*(B+H) A P fine Londoni camilla-Galeandro Beatrice
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 Inserisci la base e l’altezza B 2,H 4 8 B*H 12 2*(B+H) Area=8 Perimetro=12 Londoni camilla-Galeandro Beatrice
Pseudocodifica:trova il massimo di tre numeri Algoritmo massimo Variabili 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; scrivi (“il massimo è =“, Max); fine Londoni camilla-Galeandro Beatrice
Flow-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 Londoni camilla-Galeandro Beatrice
Debug:trova il massimo di tre numeri Inserisci tre numeri A 4,B 6,C 8 Max=4 6>4 ? Max 6 8>6 ? Max 8 Il massimo è = 8 Debug 3 A 14,B 6,C 8 Max = 14 6>14 ? 8>14 ? Il massimo è = 14 Algoritmo massimo 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; scrivi (“il massimo è =“, Max); Debug 2 Inserisci tre numeri A4, B 16, C 8 Max = 4 16>4 ? Max 16 8>16 ? Il massimo è = 16 Debug 4 A 4, B 4, C 4 4>4 ? Il massimo è = 4 Londoni camilla-Galeandro Beatrice
Pseudocodifica:definisci il triangolo Algoritmo triangolo Variabili 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”); se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); fine Londoni camilla-Galeandro Beatrice
Flow-chart: definisci triangolo inizio 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 si Londoni camilla-Galeandro Beatrice
Debug: definisci triangolo Inserisci i tre lati del triangolo A 2, B 3, C 6 (2<>3) AND (3<>6) AND (2<>6) ? (V) Scaleno (2 = 3) OR (3 = 6) OR (2 = 6) ? (F) (2 = 3) AND (3 = 6) AND (2 = 6) ? (F) Debug 2 Inserisci tre lati del triangolo A 2,B 2, C 6 (2<>3) AND (3<>6) AND (2<>6) ? (F) (2 = 3) OR (3 = 6) OR (2 = 6) ? (v) Isoscele Algoritmo triangolo 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”); se ( A = B) AND (B = C) AND (A = C) allora scrivi (“equilatero”); Debug 3 Inserisci i tre lati del triangolo A 2, B 2, C 2 (2<>2) AND (2<>2) AND (2<>2) ? (F) (2 =2) OR (2 = 2) OR (2 = 2) ? (V) (2 = 2) AND (2 = 2) AND (2 = 2) ? (V) equilatero Londoni camilla-Galeandro Beatrice
Pseudocodifica: reciproco Algoritmo reciproco Variabili 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 Beatrice
Flow-chart: reciproco inizio A (A<>0) fine 1/A errore si no Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Debug: reciproco Algoritmo reciproco scrivi (“inserisci un numero”); leggi (A); se ( A <> 0) allora scrivi (“1/”A); altrimenti scrivi(“errore”); fine se Debug 1 Inserisci un numero A 4 (4 <> 0) ? (V) ¼ Debug 2 A 0 (0 <>0) ? (F) errore Londoni camilla-Galeandro Beatrice
Pseudocodifica: mese per vero Algoritmo 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 Beatrice
FLOW-CHART: MESE per vero inizio (M<1) OR (M>12) M (M>0) AND (M<13) errore Mese corretto M=0 fine V F Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Debug: mese per vero Debug per vero M 0 0<1 OR 0>12 ? (V) Inserisci mese M14 Errore 14<1 OR 14>12 ? (V) M 6 Mese corretto 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 Beatrice
Pseudocodifica: mese per falso Algoritmo mese per falso Variabili 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 Beatrice
Flow-chart: mese per falso Inizio M M>0 AND M< 13 Fine F V Errato Corretto Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Debug: mese per falso Debug per falso Inserisci mese M 14 14>0 AND 14<13 ? (F) Errore M 1 1>0 AND 1<13 ? (V) Mese corretto 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 Beatrice
Pseudocodifica: spesa Algoritmo spesa Variabili P numerica, reale,I Tot numerica, reale,O Inizio ripeti; scrivi (“ inserisci il prezzo”); leggi (P); se ( Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Flow-chart: spesa inizio Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Debug: spesa Debug Londoni camilla-Galeandro Beatrice
Codifica: calcola la media di tre numeri 'VARIABILI Dim primo, secondo, terzo, media As Integer 'Acquisizione dei valori dalle celle primo = Range("a1") secondo = Range("a2") terzo = Range("a3") 'Calcolo della media media = (primo + secondo + terzo) / 3 Range("c1") = media Londoni camilla-Galeandro Beatrice
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 Beatrice
Codifica: rettangolo (area , perimetro) 'VARIABILI Dim base, altezza, perimetro, area As Integer 'ACQUISIZIONE DEI VALORI base = Range("a1") altezza = Range("a2") 'CALCOLO AREA E PERIMETRO area = (base * altezza) perimetro = 2 * (altezza + base) Range("c1") = area Range("c2") = perimetro Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Codifica: 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 Beatrice
Londoni camilla-Galeandro Beatrice Codifica: triangolo 'variabili Dim lato1, lato2, lato3 As Single 'acquisisci valori dalle celle lato1 = Range("b1") lato2 = Range("b2") lato3 = Range("b3") 'definisci triangolo If (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" If (lato1 = lato2) And (lato2 = lato3) Then Range("a5") = "equilatero" Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Codifica: reciproco 'variabili Dim numero As Single 'acquisisci valori dalle celle numero = Range("b1") 'calcola il valore del reciproco If (numero <> 0) Then Range("a3") = 1/ numero Else: Range("a3") = "errore" End If Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Codifica: mese 'variabili Dim mese As Single 'acquisisci valori dalle celle mese = Range("b1") 'calcola mese giusto If (mese < 1) Or (mese > 12) Then Range("a3") = "errore" Else: Range("a3") = "mese corretto" End If Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice Codifica: spesa 'VARIABILI Dim i, totale, spesa As Integer 'QUANTI CONTA I NUMERI >20 totale = 0 'IL CONTATORE "i" CONTA QUANTE CELLE STO LEGGENDO For i = 2 To 6 spesa = Cells (i, 1) totale = totale + spesa Next Range("b8") = totale Londoni camilla-Galeandro Beatrice
Londoni camilla-Galeandro Beatrice mappa menu sequenza Selezione ciclo media cerchio rettangolo massimo triangolo reciproco Mese vero Mese falso Spesa pseudocodifica Flow-chart debug Londoni camilla-Galeandro Beatrice