Affronteremo oggi i multipli di un numero con Scratch.
I multipli di un numero sono tutti quei numeri che si ottengono moltiplicando quel numero per altri numeri interi.
Facciamo un esempio:
6 è multiplo di 3 e anche di 2, infatti 6 è dato dal prodotto di 3 *2.
Primo esempio – multipli di un numero con Scratch
Prendiamo in input un numero e controlliamo se è multiplo di tre.
Innanzitutto scegliamo uno sfondo e uno sprite qualunque:
Dopo creiamo la variabile numero:
Quindi basterà controllare che il resto della divisone di numero per 3 sia diverso da zero.
Se la condizione è vera allora visualizziamo in output che il numero è multiplo di 3, altrimenti visualizziamo che non lo è.
Allego lo script completo per i multipli di un numero con Scratch.
Avremmo anche potuto utilizzare una costante dove poter memorizzare il valore tre in modo da poterlo cambiare facilmente e utilizzare tale valore più volte all’interno del nostro codice a blocchi.
Secondo esempio – multipli di un numero con Scratch
Facciamo un altro esempio generalizzando il problema, cioè chiediamo in input sia il numero che il multiplo.
In questo caso ci serviranno due variabili:
Poi controlliamo semplicemente che, dividendo il numero per il multiplo presi in input, il resto sia uguale a zero, in modo da poter visualizzare in output di conseguenza il messaggio opportuno.
Quindi ecco i blocchi necessari per risolvere i multipli di un numero con Scratch.
Analogamente si può ragionare per i sottomultipli.
Chiaramente questi sono solo degli esempi sui multipli di un numero con Scratch.
Il ciclo for in C++ è una struttura iterativa, più sofisticata e potente delle precedenti (while e do-while).
Il ciclo for è utilizzato per quelle istruzioni cicliche che devono essere ripetute un numero prestabilito di volte.
Sintassi del ciclo for in C++
for(Espressione1; Espressione2; Espressione3)
Istruzioni;
Dove:
Espressione1 può essere una inizializzazione di variabile o una dichiarazione (vedremo in seguito degli esempi).
Espressione2 è un’espressione booleana, il corpo del ciclo verrà dunque eseguito finché la condizione è vera. Quindi rappresenta il punto di arrivo dell’iterazione.
Espressione3 in genere è un’istruzione di incremento o decremento del contatore.
Istruzioni rappresentano quindi le istruzioni che devono essere eseguite, chiaramente può anche essere un’istruzione singola.
Dopo aver visto la sintassi del ciclo for in C++, facciamo adesso degli esempi pratici.
Esempio 1
Generiamo i numeri da 5 a 100, a step di 5, utilizzando un ciclo for.
Rifacciamo dunque gli esempi visti in precedenza con il ciclo while e il do-while, questa volta utilizzando il for.
#include <iostream>
using namespace std;
int main(){
int n;
for(n=5;n<=100;n+=5){
cout<<n<<endl;
}
return 0;
}
Quindi Espressione1 rappresenta l’inizializzazione della variabile n che poniamo uguale a 5 ed è il primo numero che voglio stampare.
Espressione2 rappresenta il nostro test, quindi finché risulta essere vero il ciclo continua.
Espressione3 rappresenta l’incremento, in questo caso incrementiamo di 5 in quanto ci servono i numeri da 5 a 100.
Inoltre avremmo potuto anche scrivere:
for(int n=5;n<=100;n+=5)
dove la prima espressione rappresenta in questo modo anche una dichiarazione di variabile.
Ricordiamo anche che nel for nessuna espressione è obbligatoria, quindi si può scrivere anche in questo modo:
int n=5; for(;n<=100;n+=5)
Esempio 2 di ciclo for in C++
Inserire n numeri e sommarli, utilizzando il ciclo for.
Potremmo sviluppare questo algoritmo con il seguente ciclo for:
for(;n>0;n–)
In questo caso la condizione iniziale corrisponde ad n, quindi se ad esempio n=3 farò queste considerazioni:
Espressione1 corrisponde a n=3;
Espressione2 risulta vera in quanto 3 >0 è vera;
Espressione3 decrementa la variabile n di 1.
Quindi quando n non è più maggiore di zero vuol dire che avremo inserito i nostri tre numeri.
Ecco quindi il listato completo del ciclo for in C++ per l’algoritmo della somma di n numeri.
#include <iostream>
using namespace std;
int main(){
int n, numero, somma=0;
cout<<"Quanti numeri? ";
cin>>n;
for(;n>0;n--){
cout<<"Inserisci il numero: ";
cin>>numero;
somma+=numero;
}
cout<<"La somma e': "<<somma;
return 0;
}
In maniera simile possiamo utilizzare una variabile contatore i, che parte da 1 ed arriva ad n.
In questa soluzione sto però utilizzando una variabile in più.
Ecco dunque il listato completo della seconda soluzione all’esempio utilizzando il ciclo for in C++.
#include <iostream>
using namespace std;
int main(){
int n, numero, somma=0;
cout<<"Quanti numeri? ";
cin>>n;
for(int i=0;i<n;i++){
cout<<"Inserisci il numero: ";
cin>>numero;
somma+=numero;
}
cout<<"La somma e': "<<somma;
return 0;
}
Chiaramente questi sono solo dei semplici esempi sul ciclo for in C++, più avanti vedremo tanti altri esercizi.