Proseguo con la lettura... siamo a pagina 6.
Codice:
Vediamo i segni di operazione: [...] = (assegno)
Il termine giusto è assegnazione
Codice:
N.B. Nella funzione MsgBox non abbiamo messo “$variabile3†tra apici ma senza gli apici questo perché
se l’avessimo messa dentro gli apici il messaggio stampato sarà $variabile3 e non il contenuto, quindi
ricordate che quando si vuole stampare il contenuto di una variabile non bisogna metterla dentro gli
apici “â€.
Che può andar bene per un how to, così dici solo "non mettete le variabili tra virgolette" ma non spieghi perché. Può essere complicato spiegarlo subito, ma è un grosso problema di linguaggi fortemente orientati al proprio framework. Tu giustamente cominci parlando subito di funzioni (la MsgBox) ma non hai minimamente accennato ancora ai tipi di dato. Una spiegazione semplice per dare un perché al non mettere le " sulle variabili è che le virgolette rappresentano costanti stringa (come 1, 5, 233.4 sono costanti numeriche) e contengono un valore costante, non variabili.
Codice:
Le variabili possono contenere qualsiasi dato, quindi anche stringhe, ora vedremo il concatenamento di
stringhe e la gestione delle stesse.
Così generi confusione, fai una benedetta spiegazione dei tipi di dato e dì che le variabili li contengono, poi passi a spiegare il dettaglio!
Codice:
... il carattere & (e commerciale) serve ...
meglio dire che si chiama ampersard, nei testi informatici in genere è riportata con questo nome.
Per quanto riguarda la concatenazione (e qui parlo per pareri personali) secondo me è meglio che prima gli fai fare la stampa di "hello" e "world", vedono che si stampano attaccati, e poi gli fai vedere le possibili soluzioni. Tra l'altro quella che usi tu è deprecata, perché se poi riutilizzo l'hello con lo spazio per concatenarla con un altra variabile che, putacaso, ha uno spazio prima per gli stessi motivi, l'output sarà sballato. Fagli concatenare uno spazio tra le due variabili-stringa, così si vedono anche che possono concatenare costanti-stringa e variabili-stringa.
È un buon approccio all'insegnamento "impara dagli errori", e anche fargli provare sulla pelle gli errori comuni aiuta.
↑ok, l'hai fatto dopo, ma non edito perché comunque i fatti restano e ormai l'ho scritto =\
Nella parte finale sulle variabili, effettivamente è sbagliato dire che "il msgbox esegue l'operazione", si fanno una logica sbagliata del funzionamento della programmazione. In realtà la funzione prende una stringa e basta, l'espressione viene valutata prima, e quello che risulta viene passato alla funzione.
Codice:
Un array è una variabile contenente serie di elementi di dati.
Io amplierei e specificherei meglio questa premessa degli array.
Prima di tutto, un array contiene UNA serie di elementi. Che sono l'equivalente del contenuto di una singola variabile. Poi possono anche contenere altri array (non so se in autoIT) ma insomma non puoi dire che contiene "serie" di elementi, in genere è così che li introduco io. E poi,
Codice:
Ciascun elemento di questa variabile può
essere letta da un numero di indice.
Direi che "si può accedere a ciascuno di questi elementi tramite un indice. È una lista di valori, quindi ogni valore ha il proprio indice numerico che lo identifica.".
Codice:
Questo è uno script dove viene dichiarato un array di 2 elementi (ricordo che il conteggio dei valori parte da
0 quindi sarà sempre inferiore di 1 dal numero di valori reali) nell’indice 0 viene memorizzato il valore “Io
sono†e nell’ indice 1 viene memorizzato il valore “un array†tutto questo richiamato all’interno di un
MsgBox e separato da uno spazio (altrimenti verrebbe tutto attaccato).
Quindi diciamo che l’indice dell’array và da 0 a n-1 (dove n e il valore che abbiamo messo per creare l’array)
La parte tra parentesi e l'ultima frase sono lo scoglio più grande di chi approccia gli array per la prima volta (insieme al ciclarli tramite for), direi che meritano un trattamento più ampio.
E che vuol dire "sempre inferiore di 1 dal numero di valori reali"? Ci sono valori finti? Quella parentesi è un casino, il conteggo dei valori è UGUALE al numero dei valori, non inferiore di uno. Occhio alla terminologia!
Dì piuttosto che l'ultimo elemento avrà indice n-1 dove n è il numero totale degli elementi, così non si capisce un tubo.
Nel capitolo seguente passi subito a parlare di ricerca sequenziale, senza introdurre minimamente il problema della ricerca.
"Spesso è necessario ricercare un valore all'interno di un array, ci sono differenti algoritmi [giustamente, pazzo è un algoritmo?] per trovare l'indice (o gli indici) di un (o più) valori precisi, vedremo qui il più semplice ma anche il meno efficente."
e poi vai con la ricerca sequenziale.
Codice:
Per verificare la grandezza dell’array ci facciamo aiutare dalla funzione UBound che restituisce il valore
massimo dell’indice dell’array, però voglio ricordare che resituisce il valore completo dell’array quindi
basta che mettiamo un -1 dopo in modo da risolvere. Vediamo un esempio:
Questa è una contraddizione! Prima dici che restituisce "il valore massimo dell'indice dell'array" [???, al limite restituirà l'indice dell'ultimo valore dell'array] che è, abbiamo detto, n-1 (n=numero elementi). Poi dici che restituisce il valore completo dell'array [???, semmai la dimensione dell'array, il numero dei suoi elementi] ovvero n.
Non puoi usare i cicli (for), istruzioni condizionali (if) e valori boleani senza averli ancora spiegati!
Codice:
L'array è grande "&UBound($array)-1 & "Le dimenzioni complete sono:
"&UBound($array))
Ottimo, così se prima avevano dubbi su cosa facesse UBound ora sarà tutto chiarissimo. Che differenza c'è tra la grandezza di un array e la sua dimensione??
Red, sta guida è un po' un casino, dagli una riguardata! Se trovo il tempo andrò avanti.
EDIT: piuttosto, spieghi le cose in modo che solo qualcuno che conosce già un linguaggio o più possa capirle, ma in genere queste persone non vanno a cercare guide, ma vanno a leggersi i references e le starter guide ufficiali visto che ne sono in grado. Se il tuo intento era scrivere una guida solo per per le persone che già conoscono la programmazione allora dovresti spiegare subito i caratteri salienti del tuo linguaggio e non come fare una ricerca per selezione o dichiarare una variabile. Se invece vuoi fare una guida ufficiale devi stare più attento ai bisogni del lettore.