Realizziamo oggi un programma in Scratch per contare i numeri positivi, negativi e nulli.
Dati N numeri contare quanti sono positivi, negativi e uguali a zero.
Algoritmo per contare i numeri positivi, negativi e nulli
Innanzitutto scegliamo uno sfondo e uno sprite qualsiasi.
Poi creiamo le seguenti variabili:
N indica i numeri da inserire;
numero rappresenta il numero da inserire di volta in volta;
conta_pos per contare quanti numeri positivi sono stati inseriti;
conta_neg per contare quanti numeri negativi sono stati inseriti;
conta_n per contare quanti numeri nulli sono stati inseriti.
Poi aggiungiamo allo sprite il seguente codice a blocchi:
1. Inizializziamo a zero le variabili che servono a contare i positivi, negativi e i nulli, conta_pos, conta_neg, conta_n.
2. Chiediamo quanti numeri inserire.
3. Portiamo la variabile N a risposta.
4. Realizziamo un ciclo che ripeteremo finchè la condizione N maggiore di 0 è falsa e inseriamo queste istruzioni:
a. Chiediamo quanti numeri inserire.
b. Portiamo la variabile N a risposta.
Il ciclo serve ad inserire nuovamente N, qualora l’utente dovesse inserire un numero uguale a zero o negativo.
5. Realizziamo un altro ciclo che ripeteremo N volte e inseriamo queste istruzioni:
a. Chiediamo quindi di inserire il numero.
b. Portiamo la variabile numero a risposta.
c. Con l’istruzione se controlliamo se il numero è maggiore di zero e se vero:
d. Incrementiamo la variabile conta_pos di 1.
e. Altrimenti con un’altra istruzione se controlliamo se il numero è uguale a zero e se vero:
f. Incrementiamo la variabile conta_n di 1.
g. Altrimenti incrementiamo la variabile conta_neg di 1.
6. Infine visualizziamo tutte le variabili utilizzando l’istruzione dire.
Ecco dunque il codice a blocchi completo per contare i numeri positivi, negativi e nulli in Scratch 3:
Allego anche il codice in C++ dell’algoritmo per contare i numeri positivi, negativi e nulli, per chi volesse consultarlo:
#include <iostream>
using namespace std;
int main() {
int i, N, numero, conta_pos=0,conta_neg=0, conta_n=0;
do{
cout<<"Quanti numeri vuoi inserire?: \t";
cin>>N;
}while (N<=0);
i=0;
while(i<N) {
cout<<"Inserisci il numero: \t";
cin>>numero;
if(numero>0)
conta_pos++;
else if (numero==0)
conta_neg++;
else
conta_n++;
i++;
}
cout<<"Hai inserito "<<conta_pos<<" numeri positivi. "<<endl;
cout<<"Hai inserito "<<conta_neg<<" numeri negativi. "<<endl;
cout<<"Hai inserito "<<conta_n<<" numeri nulli. ";
return 0;
}
Alcuni link utili
Massimo fra tre numeri in Scratch
Minimo tra 3 numeri in Scratch
Esempio di successione di Fibonacci con Algobuild
La successione di Fibonacci in C++