Lower upper
Specifiche
Scrivere un programma che legge da linea di comando una sequenza di stringhe di rune formate da sole lettere (non va fatto nessun controllo in proposito) e stabilisce se tutte le stringhe sono formate da lettere minuscole e maiuscole alternate oppure no. Le stringhe valide rispettano l’alternanza e possono cominciare sia con una lettera minuscola che con una lettera maiuscola (es: SoS, sAlVaTeMi). Ad esempio, se la sequenza passata da riga di comando è sOno stRAnA, il programma stampa sequenza non valida; se legge invece iO sOnO gIuStA, stampa sequenza valida.
Osservazioni sulla gestione dell’input
Per quanto riguarda l’input, osservate che: i dati arrivano da riga di comando, quindi non c’è da fare una valutazione riguardo alla necessità di averli tutti in memoria per poterli elaborare, vengono già salvati automaticamente nell’array os.Args; i dati letti sono stringhe, mentre i dati da elaborare sono le rune delle stringhe, e quindi vanno estratte da queste.
Osservazioni su goal e plan
In questo caso di elaborazione su valori adiacenti occorre stabilire se una sequenza è valida o no nel senso che rispetta un’alternanza o meno. Osservate che per stabilire se una sequenza è valida occorre scorrerla tutta; basta invece fermarsi alla prima violazione dell’alternanza per stabilire che la sequenza non è valida.
Suggerimenti: i metodi isUpper e isLower del pacchetto unicode permettono di verificare se una lettera è minuscola o maiuscola, rispettivamente.
Prima di iniziare a scrivere il programma minumaiu.go leggete attentamente le specifiche e le osservazioni. Poi progettate e scrivete il programma.
