Nei Blocchi di Controllo ci sono tutti i costrutti di programmazione, quindi tutte le fasi decisionali (if … then) e di ripetizione (loops), comuni a tutti i linguaggi di programmazione, che rendono il coding così flessibile e facile da utilizzare.
- http://ai2.appinventor.mit.edu/reference/blocks/control.html
- https://docs.kodular.io/blocks/control/
- https://docs.thunkable.com/control/
Contenuti:
- if & else if – Se & Altrimenti se
- for each number from to – per ciascun numero da… a …
- for each item in list – per ciascun elemento da … a …
- for each key with value in dictionary – per ciascuna chiave con valore nel dizionario)
- while – fin quando)
- if then else (senza Set) – Se … allora … altrimenti – senza impostazione
- do with result – fai con risultato
- evaluate but ignore result – valuta ma ignora il risultato
- open another screen – apri un altro schermo
- open another screen with start value – apri un altro schermo con valore iniziale
- get plain start text – ottieni testo di inizio pulito
- get start value – ottieni testo di inizio
- close screen – chiudi schermo
- close screen with plain text – chiudi schermo con testo pulito
- close screen with value – chiudi schermo con valore
- close application – chiudi applicazione
- break – ferma
Contenuti KODU:
Blocchi identici a AI2
Contenuti THUNX:
- Test
- Wait
x
second - Forever (di tipo LOOP)
- Repeat
x
times (di tipo LOOP) - Count with i from [1] to [10] by [1] (di tipo LOOP)
- For each item
j
in list (di tipo LOOP) - Repeat while (di tipo LOOP)
- Break out of loop (di tipo LOOP)
- Open an Installed App or Website by Link
App Inventor 2 | Kodular | ThunkableX |
---|---|---|
Fig.: Le tre liste dei componenti
If … then & Else if – Se … allora & Oppure se
IF THEN – Verifica una determinata condizione. Se la condizione è vera
, esegue le azioni in una determinata sequenza di blocchi; in caso contrario, i blocchi vengono ignorati. IF THEN ELSE – Verifica una determinata condizione. Se la condizione è vera
, esegue le azioni nella sequenza dei blocchi; in caso contrario, esegue le azioni nell’equivalenza –else
dei blocchi. IF THEN ELSEIF THEN ELSE – Verifica una determinata condizione. Se il risultato è vero
, esegue le azioni nella sequenza dei blocchi; altrimenti verifica l’istruzione nella sezione -else if. Se il risultato è vero
, esegue le azioni nella sequenza dei blocchi; in caso contrario, esegue le azioni nella sequenza di blocchi -else. L’animazione in basso mostra come utilizzare il blocco mutatore if else.
In THUNKABLE i blocchi IF … THEN si trovano al gruppo Logici.
for each number from … to – per ogni numero da a … a
Esegue i blocchi della sezione do
(fai !) per ogni valore numerico nell’intervallo a partire da from
e terminando in to
, incrementando la variabile number
del valore di by
ogni volta. Utilizzare il nome della variabile specificata, number
, per fare riferimento al valore corrente. Se lo desideri, puoi cambiare il nome da number
in qualcos’altro.
for each item in list – per ogni elemento nell’elenco
Esegue i blocchi nella sezione do
per ciascun elemento (item) nell’elenco. Utilizzare il nome della variabile specificato, item
per fare riferimento alla voce dell’elenco corrente. e lo desideri, puoi cambiare il nome item in qualcos’altro.
for each key with value in dictionary – per ogni chiave con valore nel dizionario
Esegue i blocchi nella sezione do
per ogni voce valore-chiave nel dizionario. Utilizzare le variabili fornite key
e value
(chiave e valore), per fare riferimento alla chiave e al valore della voce del dizionario corrente. Puoi cambiare i nomi key e value con qualcos’altro se lo desideri.
while – mentre
Verifica la condizione di test. Se vero
, esegue l’azione indicata in do
, quindi verifica di nuovo. Quando il test è falso
, il blocco termina e l’azione indicata in do
non viene più eseguita.
If … then … else – Se … allora … oppure
I blocchi visti precedentemente if … then … istruzione1 else istruzione2 , possono essere rappresentati più facilmente con questo if … then … else dove non esiste nessuna spina di tipo set ma solo di tipo get.
Verifica una determinata condizione. Se l’istruzione è vera
, esegue le azioni nella sequenza di blocchi di ritorno e restituisce il valore di ritorno; in caso contrario, esegue le azioni nella sequenza else-return dei blocchi e restituisce il valore else-return. Questo blocco è simile all’operatore ternario trovato in alcuni linguaggi.
do with result – fare con il risultato
A volte in una procedura o in un altro blocco di codice, potresti dover fare qualcosa e restituire qualcosa, ma per vari motivi potresti scegliere di usare questo blocco invece di creare una nuova procedura.
evaluate but ignore result – valutare ma ignorare il risultato
Fornisce una “presa fittizia” per il montaggio di un blocco che ha una spina alla sua sinistra in un luogo in cui non vi è alcuna presa, come una delle sequenze di blocchi nella parte do
di una procedura o un blocco if
.
Il blocco in cui ti trovi verrà eseguito, ma il risultato restituito verrà ignorato. Ciò può essere utile se si definisce una procedura che restituisce un risultato, ma si desidera chiamarlo in un contesto che non accetta un risultato.
open another screen – apri un’altra schermata
NB: conviene ricordare che gli eventi dello schermo non sono solo all’interno di questi blocchi, ma anche nel componente Screen.
In maniera particolare, ecco il blocco relativo alla chiusura di un altro schermo:
Apre la schermata con il nome fornito. ScreenName deve essere una delle schermate create nel Designer. ScreenName deve essere inserito in un componente di testo e digitato esattamente come indicato nella finestra di progettazione. (è case sensitive, se il nome della schermata progettata è myNewScreen, ciò che si utilizza nel pezzo del puzzle non può essere mynewscreen o MyNewScreen).
Se si apre un’altra schermata, è necessario chiuderla quando si torna alla schermata principale per liberare memoria di sistema. La mancata chiusura di uno schermo dopo averlo lasciato alla fine porterà a problemi di memoria. Gli sviluppatori di app non devono mai chiudere Screen1 o utilizzare questo blocco per tornare a Screen1. Invece, devono chiudere progressivamente gli screen utilizzando il blocco close screen.
open another screen with start value – apre un’altra schermata con il valore iniziale
Apre un’altra schermata e gli passa un valore.
get plain start text – ottenere un testo di inizio in chiaro
Restituisce il testo normale che è stato passato a questa schermata quando è stato avviato da un’altra app. Se non è stato passato alcun valore, restituisce il testo vuoto. Per app con più schermi, utilizzare get start value
anziché get plain start text
.
get start value – ottenere il valore iniziale
Restituisce il valore iniziale dato alla schermata corrente. Questo valore è dato dall’uso di open another screen with start value
o close screen with value
.
close screen – chiudi schermo
Chiude la schermata corrente.
close screen with plain text – chiudi schermo con testo in chiaro
Chiude la schermata corrente e passa il testo all’app che ha aperto questa. Questo comando serve per restituire il testo ad attività non di App Inventor, non alle schermate di App Inventor. Per le schermate di App Inventor, come nelle app con più schermate, utilizzare close screen with value
, non close screen with plain text
.
close screen with value – chiudere lo schermo con valore
Chiude la schermata corrente e restituisce un valore alla schermata che ha aperto questa.
close application – chiudi applicazione
Chiude l’applicazione. Non funziona con l’emulatore.
break – interrompere
Quando si esegue il loop utilizzando l’ intervallo for
, for...each
o while
, a volte è utile poter uscire anticipatamente dal loop. Il break permette di sfuggire al ciclo. Una volta eseguito, questo uscirà dal ciclo e continuerà l’app con le istruzioni che si verificano dopo il ciclo nei blocchi.
Contenuti THUNX:
- Test
- Wait
x
second. Questo componente può essere un’alternativa al sensore Timer (cioè il clock) per fare, ad esempio, un count down. - Forever (di tipo LOOP)
- Repeat
x
times (di tipo LOOP) - Count with i from [1] to [10] by [1] (di tipo LOOP)
- For each item
j
in list (di tipo LOOP) - Repeat while (di tipo LOOP) e c’è anche in AI2 e KODU
- Break out of loop (di tipo LOOP)
- Open an Installed App or Website by Link – Puoi richiedere a un utente di aprire una pagina all’interno di un’app installata sul telefono o un URL nel browser utilizzando il blocco Open.
Grazie allo sviluppo di collegamenti universali per i collegamenti alle app iOS e Android, devi semplicemente inserire l’URL della pagina Web affinché la tua app si apra automaticamente all’app se è installata o aprire il browser Web se non lo è.
Aggiornato al 1/12/2023 | |
Aggiornato al 4/04/2023 | |
Aggiornato al 18/02/2023 |
PDF Lista comparazione dei componenti di AI2 KODULAR THUNKABLEX agg.20210911
Vuoi avere più informazioni sul Coding visuale? Vai alla pagina dei Blocchi incorporati dove potrai imparare a scrivere il linguaggio di programmazione per App Inventor 2, Kodular e Thunkable X. Visita la pagina del Blog con le ultime notizie sulle le tre piattaforme. Nella pagina Documentazione troverai i collegamenti ai forum, il glossario, i link ai siti dei migliori programmatori, i download e tanti altri accessori.