Calcolatori Elettronici
Prova d'esame del 28 febbraio 2000
Scrivere un programma in Assembly che iterativamente accetti in ingresso parole al massimo di 40 caratteri formate esclusivamente da lettere maiuscole o minuscole.
Il programma deve stampare a schermo le parole: così come appaiono nella stringa in ingresso se il numero di lettere maiuscole è maggiore o uguale al numero di lettere minuscole, invertendo l'ordine delle lettere nel caso in cui il numero di lettere minuscole sia maggiore del numero di lettere maiuscole.
Il programma termini qualora venga premuto il tasto ``%''.
Successivamente si modifichi il programma in maniera che in presenza di parole contenenti ugual numero di lettere maiuscole e minuscole stampi prima tutte le lettere minuscole e successivamente quelle maiuscole se nella parola esaminata in precedenza il numero di lettere maiuscole è inferiore o uguale al numero di lettere minuscole; viceversa nel caso opposto.
Esempio:
Inserire parole (massimo 40 caratteri, % per uscire):
Parola: ADFcvjsASkcvAA
Risultato: ADFcvjASKcvAA
Parola: QWcdfgmsEEddd
Risultato: dddEEsmgfdcWQ
Parola: AsAsAs
Risultato: sssAAA
Parola: pONTE
Risultato: pONTE
Parola: AsAsAs
Risultato: AAAsss