25.06.2013 Views

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

Il Linguaggio Fortran 90/95

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

42 Tipi ed espressioni<br />

Data attuale -> 19970811<br />

Anno -> 1997<br />

Mese -> 08<br />

Giorno -> 11<br />

Orario attuale -> 010717.620<br />

Ore -> 01<br />

Minuti -> 07<br />

Secondi -> 17.620<br />

Orario -> 01:07:17.620<br />

Si noti che si sarebbe potuto ”assemblare” la variabile orario anche al modo seguente:<br />

orario(:2) = ore<br />

orario(3:3) = ’:’<br />

orario(4:5) = minuti<br />

orario(6:6) = ’:’<br />

orario(7:) = secondi<br />

<strong>Il</strong> programma precedente fa uso della subroutine intrinseca DATE_AND_TIME la quale restituisce<br />

informazioni circa la data e l’ora in due argomenti stringa. <strong>Il</strong> primo, date, deve avere<br />

una lunghezza di almeno otto caratteri ed il valore ritornato ha la forma ccyymmdd, in cui cc<br />

rappresenta il secolo, yy l’anno, mm il mese, e dd il giorno. Se, ad esempio, il giorno corrente<br />

fosse l’11 Agosto del 1998, la chiamata alla subroutine restituirebbe la stringa di otto caratteri:<br />

19980811. <strong>Il</strong> secondo argomento, time, riceve una stringa di 12 caratteri nella forma<br />

hhmmss.sss, in cui hh rappresenta le ore, mm i minuti e ss.sss i secondi. Così, se questa<br />

subroutine venisse invocata all’una e 7 minuti e 17.620 secondi, il valore restituito sarebbe la<br />

stringa 010717.620.<br />

Relazione d’ordine fra stringhe<br />

<strong>Il</strong> processo mediante cui due operatori stringa vengono confrontati si articola nei seguenti passi:<br />

• Se i due operandi non hanno la stessa lunghezza, al più corto dei due vengono idealmente<br />

aggiunti spazi bianchi in modo da rendere le stringhe di uguale lunghezza.<br />

• I due operandi vengono confrontati carattere per carattere a partire dal primo (ossia da<br />

quello più a sinistra) fino a quando non vengono riscontrati due caratteri differenti oppure<br />

fino al raggiungimento della fine delle stringhe.<br />

• Se vengono trovati due caratteri corrispondenti differenti, allora è la relazione tra questi<br />

due caratteri che determina la relazione tra i due operandi. In particolare viene considerato<br />

”minore” il carattere che viene prima nella sequenza di collating del processore. Se<br />

non viene riscontrata alcuna differenza le due stringhe vengono considerate uguali.<br />

Così, ad esempio, la relazione:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!