BLOCCHI INCORPORATI CONTROLLO (Control Blocks)

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.

Contenuti:

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.

Le istruzioni For Each…Next consentono di ripetere un blocco di istruzioni per ogni oggetto di un insieme, evitando al programmatore di impostare il limite di partenza e quello di arrivo.

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.

L’istruzione (Azione) può non essere eseguita neanche una volta, se a.e. diviene FALSA subito (nel caso di Do While),

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.

Esempio: all’apertura dello schermo ScreenSet il componente File1 creerà la directory myRecs

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.