La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Problema: come dividere due numeri

Presentazioni simili


Presentazione sul tema: "Problema: come dividere due numeri"— Transcript della presentazione:

1 Problema: come dividere due numeri
interi se si è capaci di fare solo somme e sottrazioni ?

2 L’informatica è una disciplina che vive nello spazio che intercorre
tra i problemi e le risorse tecnologiche L’informatico: successivamente decide COME l’esecutore deve operare inizialmente analizza il problema per precisare CHE COSA deve essere fatto

3 33 < 38 … il calcolo è terminato
147 : 38 divisore quoziente dividendo 147 – 38 = 109 – 38 = 71 – 38 = 33 < 38 … il calcolo è terminato 147 : 38 = 3 con il resto di 33

4 3 33 147 109 71 33 38 1 3 2 acquisisci dividendo acquisisci divisore
quoziente  0 quoziente 1 dividendo  dividendo-divisore quoziente  quoziente +1 3 2 dividendo >= divisore schermo dividendo < divisore 3 33 scrivi quoziente scrivi dividendo

5 Utilizzando i diagrammi
PROGRAM dividi; acquisisci dividendo acquisisci divisore Utilizzando i diagrammi sintattici VAR dividendo,divisore, quoziente: INTEGER; BEGIN quoziente  0 READLN(dividendo); READLN(divisore); quoziente := 0; REPEAT dividendo := dividendo – divisore; quoziente := quoziente + 1 UNTIL dividendo < divisore; L’esecutore predispone tre locazioni di memoria in cui registrerà dei numeri interi dividendo  dividendo-divisore quoziente  quoziente +1 dividendo >= divisore dividendo < divisore WRITELN(quoziente,dividendo) END. scrivi quoziente scrivi dividendo

6 La struttura iterativa
falso Si ripete l’istruzione eseguita fino a che la condizione indicata si verifica Vero Analogo effetto si potrebbe ottenere utilizzando una forma linguistica differente falso Vero In questo caso la ripetizione avviene solo se la condizione si verifica l’istruzione potrebbe non essere eseguita

7 3 33 147 109 71 33 38 1 3 2 acquisisci dividendo acquisisci divisore
quoziente  0 dividendo < divisore quoziente dividendo >= divisore 1 dividendo  dividendo-divisore quoziente  quoziente +1 3 2 schermo 3 33 scrivi quoziente scrivi dividendo

8 := := dividendo  dividendo-divisore quoziente  quoziente +1
WHILE espressione DO istruzione WHILE dividendo >= divisore DO BEGIN dividendo := dividendo – divisore; quoziente := quoziente + 1 END; Dividendo, dopo l’operazione, conterrà il valore della differenza tra dividendo e divisore := simbolo di assegnazione := uguale dinamico

9 dividendo  dividendo-divisore quoziente  quoziente +1
PROGRAM dividi; acquisisci dividendo acquisisci divisore VAR dividendo,divisore, quoziente: INTEGER; BEGIN READLN(dividendo); quoziente  0 READLN(divisore); dividendo < divisore quoziente := 0; dividendo >= divisore WHILE dividendo >= divisore DO BEGIN dividendo := dividendo – divisore; quoziente := quoziente + 1 END; dividendo  dividendo-divisore quoziente  quoziente +1 WRITELN(quoziente,dividendo) scrivi quoziente scrivi dividendo END.


Scaricare ppt "Problema: come dividere due numeri"

Presentazioni simili


Annunci Google