Page under construction!!

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.