|
 |
Programmare in Assembly |
Esercizio n° E004 2/6
[19 di 57] |
 | In questo esercizio ci proponiamo di stampare a video una
cornice di
dimensioni fisse: la cosa sembra banale e immediata ma, in
realtà, la soluzione del problema nasconde alcune interessanti
problematiche... |
 | Per cornice intendiamo
un'area chiusa, creata con alcuni
speciali caratteri ascii estesi,
appositamente previsti per questo scopo. |
 | Sembra logico pensare che, per mettere a video una
cornice, sia sufficiente definire le stringhe
necessarie per
costruirla e affidarle ad altrettante
Macro
M_msgC, chiamate a
stamparle una sotto l'altra (stessa
colonna e numero di riga crescente in sequenza). |
 | In realtà questa scelta è
funzionante ma criticabile:
il risultato desiderato è stato senz'altro ottenuto, ma ha un difetto:
è statico!! |
 | Se si dovesse
presentare la necessità di spostare la
cornice in altro punto si dovrebbe intervenire su ogni
linea di programma per cambiare in ciascuna macro
la coppia di numeri delle
coordinate. |
 |
Ricorda: è
sempre
meglio prevenire piuttosto
che combattere... |
 | Tradotto: la gestione
statica delle strutture
non è mai una
buona tecnica: ogni volta che se ne crea una
è bene
pensarla in modo dinamico, cioè
strutturarla in modo che possa essere ricostruita con le stesse
caratteristiche in punti diversi o con attributi diversi, ricalcolati
automaticamente a partire da valori (parametri)
passati alla struttura stessa
dall'esterno. |
 | Una struttura
dinamica è dunque anche una struttura parametrica. |
 | Per creare una
cornice conviene perciò fissare le
coordinate del suo punto in alto a sinistra,
lasciando alla procedura il compito di posizionare dinamicamente ciascuna
delle stringhe necessarie. |
 | L'esercizio mostra come fare, evidenziando la capacità
delle strutture di stampa di assumere
valori variabili piuttosto che
fissi.. |
 | L'attento lettore avrà senz'altro pensato che la nostra
nuova struttura "cornice" non è
proprio dinamica del
tutto: per assolvere al meglio questo servizio si dovrebbe poter
passare alla struttura anche le dimensioni (altezza
e larghezza), il colore
della cornice e quello del suo contenuto,
il tipo di carattere utilizzato per i suoi bordi, ... |
 | Certamente la cosa è fattibile ma sembra
prematuro provvedere ora a queste
esigenze.... |
 | Il nostro viaggio è molto lungo... ci torneremo quando
saremo cresciuti. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|