Calcolatori Elettronici

Prova d'esame del 15 ottobre 2001



Introduzione:


Una delle più semplici tecniche di compressione dati (peraltro utilizzata nel formato grafico PCX) è quella basata sull'individuazione di ripetizioni nei dati stessi e nella loro sostituzione con sequenze più brevi. Ad esempio, la stringa ``AAAADBBBCCAA'' può essere codificata mediante la stringa ``4AD3B2C2A'' in cui i prefissi numerici hanno il significato di ripetizione.


Esercizio:


Scrivere un programma in assembly che prenda in ingresso una stringa contenente solo lettere e che stampi a video la codifica di questa stringa ottenuta calcolando le ripetizioni di ciascun carattere e stampando ciascun carattere ripetuto una sola volta preceduto dal numero delle ripetizioni.

Successivamente modificare il programma in maniera che effettui la codifica di caratteri ripetuti solo in presenza di un numero di ripetizioni superiore a 2.


Esempio:


Inserire una stringa: AAADBBBCCAAA

Versione codificata: 3AD3BCC3A