Notifiche
Cancella tutti

[Risolto] ALGORITMO2

  

0

 Scrivere un programma che legga due numeri e scriva tutti i divisori del primo compresi tra 1 e il secondo

 

Autore
1 Risposta



0

Analisi del problema e vincoli di programmazione
---------------
Il concetto di "divisore" attiene alla divisione euclidea che, fra numeri, è quella fra un dividendo intero e un divisore naturale.
I divisori del numero intero 'm' sono i naturali sottomultipli del valore assoluto di m, |m|, e i loro opposti.
I divisori del numero intero 'm' compresi tra 1 ed un secondo numero 's' sono i divisori naturali di |m| maggiori di uno e minori di s.
Quest'ultimo insieme è vuoto se s < 3: se così è, il programma termina immantinente.
Pertanto ...
--------
1) La stringa acquisita per il primo numero dev'essere un numerale intero
1a) se così non è, ABORT
1b) se è zero, ABORT
1c) se il valore convertito è negativo lo si sostituisce col suo modulo
1d) il valore convertito si assegna alla variabile 'm' che quindi ha un numero naturale.
--------
2) La stringa acquisita per il secondo numero dev'essere un numerale decimale
2a) se così non è, ABORT
2b) se il valore convertito è minore di tre, ABORT
2c) alla variabile 's' si assegna il valore convertito se è intero
2d) e, se non è intero, le si assegna il successore della sua parte intera
2e) quindi la variabile 's' ha un numero naturale maggiore di due.
--------
3) Il programma, dopo avere garentito che (m, s) siano naturali e che s sia almeno tre, attiva la procedura di calcolo e stampa e, al ritorno di questa, termina.
------------------------------
Algoritmo di calcolo e stampa
---------------
1) porre s = s - 1
2) se s < 2, RETURN
3) se m : s ha resto zero, emettere s
4) proseguire da 1



Risposta




SOS Matematica

4.6
SCARICA