INFORMATICA - BASIC VETTORI E MATRICI

trapaninfo.it

Matematica Dizionario A B C D E F G I K L M N O P Q R S T U V Z Dizionario Matematica

Dizionario A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Enciclopedia

INFORMATICA - BASIC VETTORI E MATRICI














INFORMATICA - BASIC: VETTORI E MATRICI

L'ISTRUZIONE DIM

Al contrario delle altre variabili che vengono definite nel momento in cui si usano, esiste per le matrici un'istruzione apposita per la definizione. La definizione di una matrice viene fatta utilizzando l'istruzione DIM. In una stessa istruzione DIM si possono definire una o più matrici; il tipo di dati della matrice è individuato dal nome della matrice nel solito modo (per esempio tramite il suffisso). DIM [SHARED] variabile [(elencoIndici)] [AS tipo] [,variabile [(elencoIndici)] [AS tipo]] ElencoIndici definisce il numero di dimensioni della matrice e quindi il numero di indici che si devono utilizzare per individuare ciascun elemento; per ogni dimensione la definizione del numero di elementi è data da [ Inferiore TO ] superiore inferiore e superiore sono gli estremi tra cui può variare l'indice. L'indice inferiore può essere 0 o 1. Se "inferiore" vale 1 "superiore" indica il numero massimo di elementi. Se non viene specificato diversamente però l'indice parte da 0. L'istruzione OPTION BASE OPTION BASE {0|1} permette di impostare il limite inferiore degli indici di una matrice, cioè di stabilire se il valore dell'indice deve partire da 0 o da 1. La parola SHARED specifica che la matrice è condivisa con tutte le SUB o FUNCTION del modulo. L'istruzione DIM è obbligatoria per le matrici con più di 8 elementi per dimensione. L'istruzione DIM cioè non è sempre indispensabile, e se non è presente la matrice viene considerata come se fosse stata definita di 8 elementi per ciascuna dimensione. Conviene comunque sempre definire le matrici per evitare errori; per esempio per un vettore usato nel programma, che non è stato definito con l'istruzione DIM, un riferimento ad un elemento con un indice maggiore o uguale a 9 causa un errore di esecuzione.

LE DIMENSIONI MASSIME DELLE MATRICI

In Basic è possibile creare matrici con un massimo di 60 dimensioni (anche se in pratica di solito si usano una, due o tre dimensioni, anche perché altrimenti risulta un po' complicato gestire gli indici). Per ogni dimensione si deve specificare il numero di elementi, che può essere al massimo di 32767. In ogni caso l'occupazione di memoria di una matrice non può superare i 65.535 byte (ossia 64K).

MATRICI STATICHE E DINAMICHE

Secondo il modo in cui sono definite, le matrici possono essere statiche o dinamiche. Le matrici statiche sono quelle per cui la capacità di memorizzazione viene definita al momento dell'avvio del programma; la memoria necessaria viene allocata subito e rimane occupata per tutta la durata del programma. Per le matrici dinamiche l'occupazione di memoria viene stabilita durante l'esecuzione del programma e la memoria allocata può essere rilasciata a richiesta. La scelta di utilizzare matrici statiche e dinamiche può essere fatta con metacomandi indicati in una istruzione REM. {REM|'} $STATIC $DYNAMIC Se non vengono impiegati i metacomandi l'allocazione statica o dinamica di una matrice dipende dalla sua definizione; se nella definizione della matrice il numero di elementi è specificato da numeri la matrice è statica; se il numero di elementi è specificato da una variabile la matrice è dinamica. Le variabili che specificano il numero di elementi della matrice devono comunque essere valorizzate nel corso del programma prima di arrivare all'istruzione DIM per la definizione della matrice. L'istruzione ERASE permette di cancellare gli elementi di una matrice. ERASE nomematrice L'istruzione ERASE si comporta in modo diverso per le matrici statiche e dinamiche. Nelle matrici statiche gli elementi vengono impostati a zero se numerici o al valore nullo se alfanumerici; per le matrici dinamiche invece viene liberata la memoria occupata dalla matrice. Per le matrici dinamiche, dopo l'istruzione ERASE, non ha quindi più alcun senso qualsiasi riferimento ad un elemento della matrice prima di una nuova istruzione DIM. PROGRAMMA 8 - PREPARAZIONE DI UN ISTOGRAMMA Questo programma riceve in input dei valori e produce un istogramma relativo ai valori stessi. Un istogramma è un grafico in cui ogni valore è rappresentato da una barra di lunghezza proporzionale al valore corrispondente. In questo esempio le barre vengono disegnate orizzontalmente, con un numero di asterischi proporzionale al valore da rappresentare; il valore massimo viene rappresentato da 60 asterischi (in modo da lasciare 20 posizioni per la descrizione del valore, dato che la riga a video è di 80 posizioni). Descrizione delle variabili

+----------------------------------------------------------------+
¦   NOME    ¦    TIPO     ¦      I/O         ¦    SIGNIFICATO    ¦
+-----------+-------------+------------------+-------------------¦
¦  TITOLO   ¦alfanumerico ¦  input/output    ¦titolo dell'isto-  ¦
¦           ¦             ¦                  ¦gramma             ¦
¦    N      ¦numero intero¦    input         ¦numero dei valori  ¦
¦           ¦             ¦                  ¦da rappresentare   ¦
¦DESCRIZIONI¦ vettore di  ¦  input/output    ¦vettore delle      ¦
¦   (N)     ¦alfanumerici ¦                  ¦descrizioni dei    ¦
¦           ¦             ¦                  ¦valori da          ¦
¦           ¦             ¦                  ¦rappresentare      ¦
¦ VALORI(N) ¦ vettore di  ¦  input/output    ¦vettore dei        ¦
¦           ¦numeri reali ¦                  ¦valori da          ¦
¦           ¦             ¦                  ¦rappresentare      ¦
¦   I       ¦numero intero¦    interno       ¦posizione del      ¦
¦           ¦             ¦                  ¦valore considerato ¦
¦ MASSIMO   ¦numero reale ¦    interno       ¦valore massimo da  ¦
¦           ¦             ¦                  ¦rappresentare      ¦
¦ COSTRID   ¦numero reale ¦    interno       ¦costante di        ¦
¦           ¦             ¦                  ¦riduzione in base a¦
¦           ¦             ¦                  ¦valore massimo     ¦
¦ NUMASTE-  ¦numero intero¦    interno       ¦numero degli       ¦
¦ RISCHI    ¦             ¦                  ¦asterischi da      ¦
¦           ¦             ¦                  ¦stampare per ogni  ¦
¦           ¦             ¦                  ¦valore             ¦
¦    J      ¦numero intero¦    interno       ¦numero di          ¦
¦           ¦             ¦                  ¦asterischi stampati¦
+----------------------------------------------------------------+
Trapani Flow chart Programma 8 Pseudocodifica (vedi Figura)

  1   inizio
  2        emissione richiesta titolo dell'istogramma
  3        lettura TITOLO
  4           emissione richiesta numero valori da rappresentare
  5        lettura N
  6        emissione richiesta valori da rappresentare
  7        per I da 1 a N
  8             lettura DESCRIZIONI(I)
  9             lettura VALORI(I)
 10        fine per
 11        MASSIMO = VALORI(1)
 12        per I da 2 a N
 13             se VALORI(I) > MASSIMO allora
 14                  MASSIMO = VALORI(I)
 15             fine se
 16        fine per
 17        emissione TITOLO
 18             calcolo della costante di riduzione COSTRID
 19        per I da 1 a N
 20                   calcolo del numero di asterischi da stampare
                      NUMASTERISCHI
 21             emissione DESCRIZIONI(I)
 22             per J da 1 a NUMASTERISCHI
 23                  emissione "*"
 24             fine per
 25             emissione ritorno a capo riga
 26        fine per
 27   fine
2-3 Viene richiesto il titolo dell'istogramma, cioè l'intestazione che deve comparire prima del grafico. 4-5 Conoscendo in anticipo il numero di valori da rappresentare è possibile usare un ciclo FOR per l'inserimento, rendendolo più pratico; è possibile comunque anche usare un ciclo while o until, stabilendo un metodo con cui l'utente possa comunicare che i valori sono terminati e contando i valori man mano che vengono inseriti. da 7 a 10 Inserimento dei valori da rappresentare e delle corrispondenti descrizioni da stampare prima delle barre di asterischi. T conveniente inserire descrizioni e valori in un unico ciclo, anziché in due cicli separati, uno per le descrizioni e uno per i valori, in modo da ridurre la possibilità di errore da parte dell'operatore che inserisce i dati. da 11 a 16 Ricerca del massimo dei valori inseriti. 11 Inizializzazione del massimo con il primo valore del vettore. da 12 a 16 Ciclo con cui vengono confrontati tutti i successivi elementi del vettore, cambiando il massimo se si trova un valore più grande. da 17 a 26 Preparazione dell'istogramma. 17 Stampa dell'intestazione. 18 Calcolo della costante di proporzionalità necessaria per determinare il numero di asterischi da stampare per la rappresentazione di ogni valore; viene calcolata come 60/massimo, dove 60 è il numero di asterischi che si vogliono stampare in corrispondenza al massimo valore inserito. da 19 a 26 Ciclo per la stampa delle barre dell'istogramma. 20 Per ciascun valore, calcolo del numero di asterischi da stampare; il numero di asterischi viene determinato arrotondando il prodotto della costante di riduzione per il valore considerato. Il numero di asterischi per il valore massimo sarà 60/massimo * massimo = 60 come infatti si voleva ottenere. 21 Stampa della descrizione del valore considerato. da 22 a 24 Ciclo per la stampa del numero di asterischi determinato in precedenza, per la produzione della barra dell'istogramma. 25 Ritorno a capo per considerare un nuovo valore. Programma in Basic

  10   REM Stampa di un istogramma
  20        PRINT "Inserire il titolo"
  30        INPUT TITOLO$
  40            PRINT "Inserire il numero di valori da
                rappresentare"
  50        INPUT N%
  60                       DIM DESCRIZIONI$(N%), VALORI(N%)
  70        PRINT "Inserire i valori da rappresentare"
  80        PRINT "Descrizione"; TAB(20); "Valore"
  90        FOR I% = 1 TO N%
 100             INPUT DESCRIZIONI$(I%)
 110             PRINT TAB(20);
 120             INPUT VALORI(I%)
 130        NEXT I%
 140        MASSIMO = VALORI(1)
 150        FOR I% = 2 TO N%
 160             IF VALORI(I%) > MASSIMO THEN
 170                  MASSIMO = VALORI(I%)
 180             END IF
 190        NEXT I%
 200        PRINT
 210        PRINT TAB(20); TITOLO$
 220        PRINT STRING$(80, "-")
 230        PRINT
 240        COSTRID = 60 / MASSIMO
 250        FOR I% = 1 TO N%
 260                  NUMASTERISCHI% = INT(COSTRID * VALORI(I%) +
                      5)
 270                 PRINT DESCRIZIONI$(I%); TAB(20);
 280                 FOR J% = 1 TO NUMASTERISCHI%
 290                  PRINT "*";
 300             NEXT J%
 310             PRINT
 320        NEXT I%
 330   END
60 Definizione e dimensionamento dei vettori; si tratta di vettori dinamici poiché la dimensione viene stabilita in fase di esecuzione (è il valore N inserito dall'utente). Non è necessario azzerare o inizializzare in precedenza i vettori perché in ciascuno degli elementi definiti verrà inserito un valore. da 80 a 130 Inserimento delle descrizioni da stampare e dei valori. L'inserimento avviene nel seguente modo: viene stampata l'intestazione con la costante "Descrizione" che parte dalla prima colonna e la costante "Valore" che inizia a colonna 20. Alla riga successiva viene presentato il punto di domanda e si inserisce la descrizione del primo valore; alla pressione del tasto di invio viene presentato il punto di domanda alla riga successiva, alla ventesima posizione, incolonnato sotto l'intestazione "Valore" e si può inserire il valore corrispondente. 210 Stampa del titolo a colonna 20. 220 Stampa di una riga composta da 80 trattini, prodotta dalla funzione STRING$. 260 Calcolo del numero di asterischi da stampare; l'arrotondamento del prodotto tra la costante di riduzione e il valore da rappresentare viene eseguito aggiungendo 0.5 al prodotto e determinando poi la parte intera del risultato ottenuto; in questo modo se la parte decimale del prodotto è minore di 0.5 si ha un arrotondamento per difetto, altrimenti si ha un arrotondamento per eccesso.

+----------------------------------------------------------------+
¦ Esempi di esecuzione                                           ¦
¦                                                                ¦
¦ Inserire il titolo                                             ¦
¦ ? VENDITE ANNUALI                                              ¦
¦ Inserire il numero di valori da rappresentare                  ¦
¦ ? 12                                                           ¦
¦ Inserire i valori da rappresentare                             ¦
¦ Descrizione              Valore                                ¦
¦ ? GENNAIO                                                      ¦
¦                                   ? 215                        ¦
¦ ? FEBBRAIO                                                     ¦
¦                                   ? 300                        ¦
¦ ? MARZO                                                        ¦
¦                                   ? 150                        ¦
¦ ? APRILE                                                       ¦
¦                                   ? 98                         ¦
¦ ? MAGGIO                                                       ¦
¦                                   ? 320                        ¦
¦ ? GIUGNO                                                       ¦
¦                                   ? 80                         ¦
¦ ? LUGLIO                                                       ¦
¦                                   ? 120                        ¦
¦ ? AGOSTO                                                       ¦
¦                                   ? 187                        ¦
¦ ? SETTEMBRE                                                    ¦
¦                                   ? 274                        ¦
¦ ? OTTOBRE                                                      ¦
¦                                   ? 165                        ¦
¦ ? NOVEMBRE                                                     ¦
¦                                   ? 306                        ¦
¦ ? DICEMBRE                                                     ¦
¦                                   ? 295                        ¦
¦                                                                ¦
¦ VENDITE ANNUALI                                                ¦
¦   -----------------------------------------------------------  ¦
¦ GENNAIO       *                                                ¦
¦ FEBBRAIO                                                       ¦
¦ MARZO                                                          ¦
¦ APRILE                                                         ¦
¦ MAGGIO                                                         ¦
¦ GIUGNO                                                         ¦
¦ LUGLIO                                                         ¦
¦ AGOSTO        *                                                ¦
¦ SETTEMBRE                                                      ¦
¦ OTTOBRE                                                        ¦
¦ NOVEMBRE      *                                                ¦
¦ DICEMBRE      *                                                ¦
+----------------------------------------------------------------+
Commenti Per ottenere la stampa di un istogramma con delle barre rettangolari, in orizzontale o anche in verticale, bisogna fare uso di istruzioni di grafica per il tracciamento di righe. E' possibile invece stampare le barre di asterischi anche in verticale, preparando gli asterischi in una matrice, con una colonna relativa ad ogni valore e tante righe quant'è il numero massimo di asterischi da stampare. Bisogna prima calcolare il numero di asterischi per ogni valore, e in corrispondenza caricare questi asterischi nella colonna corrispondente della matrice, partendo dall'ultima riga; per la stampa dell'istogramma si stamperà la matrice riga per riga. PROGRAMMA 9 - STATISTICA DELLE NASCITE Questo programma richiede la data di nascita di un numero di persone a piacere e permette di stabilire quante persone sono nate nello stesso giorno dell'anno (quante il primo gennaio, quante il 2 ecc. senza tener conto dell'anno di nascita). La stampa dei dati viene presentata sotto forma di tabella di 31 righe e 12 colonne, in cui i valori di una colonna rappresentano le nascite in un mese, la prima colonna per gennaio, la seconda per febbraio ecc. I valori di una stessa riga rappresentano quindi le nascite nello stesso giorno (da 1 a 31) dei 12 mesi. Descrizione delle variabili

+----------------------------------------------------------------+
¦   NOME    ¦    TIPO     ¦      I/O         ¦    SIGNIFICATO    ¦
+-----------+-------------+------------------+-------------------¦
¦  NASCITE  ¦  matrice di ¦   input/         ¦matrice per conteg-¦
¦  (31,12)  ¦numeri interi¦   output         ¦giare le nascite in¦
¦           ¦             ¦                  ¦ogni giorno        ¦
¦  GIORNO   ¦numero intero¦   input          ¦giorno di nascita  ¦
¦   MESE    ¦numero intero¦   input          ¦mese di nascita    ¦
¦   I, J    ¦numeri interi¦   interni        ¦indice dei cicli   ¦
¦           ¦             ¦                  ¦sulle righe e sulle¦
¦           ¦             ¦                  ¦colonne            ¦
+----------------------------------------------------------------+
Trapani Flow chart Programma 9 Pseudocodifica (vedi Figura)

  1   inizio
  2        per I da 1 a 31 con passo 1
  3             per J da 1 a 12 con passo 1
  4                  NASCITE(I,J) = 0
  5             fine per
  6        fine per
  7        emissione richiesta giorno
  8        lettura GIORNO
  9        mentre GIORNO > 0
 10             se GIORNO = 31 allora
 11                  emissione richiesta mese
 12                  lettura MESE
 13                  se MESE >=1 e MESE =12 allora
 14                        NASCITE(GIORNO, MESE) = NASCITE(GIORNO,
                           MESE) + 1
 15                  fine se
 16            fine se
 17            emissione richiesta giorno
 18            lettura GIORNO
 19        fine mentre
 20        per I da 1 a 31 con passo 1
 21             per J da 1 a 12 con passo 1
 22                  emissione NASCITE(I,J)
 23             fine per
 24             emissione ritorno a capo
 25        fine per
 26   fine
da 2 a 6 Ciclo per l'azzeramento degli elementi della matrice; la matrice deve essere azzerata perché i suoi elementi vengono utilizzati come contatori. da 7 a 19 Ciclo per l'inserimento delle date di nascita; vengono richiesti soltanto il giorno e il mese perché l'anno di nascita non ha nessuna importanza per lo scopo del programma. Per terminare l'inserimento delle date bisogna inserire il valore 0 (o un numero negativo) alla richiesta del giorno di nascita. 10 Si controlla che il giorno sia al massimo 31; non è un controllo molto efficace perché verrebbero considerate corrette date inesistenti come il 30 febbraio o il 31 aprile. 12 Inserimento del mese di nascita; il mese va indicato con il numero corrispondente da 1 a 12 (1 per gennaio, 2 per febbraio ecc.). Alla riga successiva viene controllato che il valore inserito sia effettivamente compreso tra 1 e 12. 14 Conteggio delle nascite in ciascun giorno. Il giorno e il mese introdotti identificano la riga e la colonna dell'elemento della matrice da incrementare. Il controllo sul GIORNO e MESE introdotti permette di assicurarsi che venga effettivamente individuato un elemento della tabella (altrimenti si verificherebbe un errore di esecuzione). da 20 a 25 Stampa della tabella che riporta in ogni elemento, corrispondente a un giorno dell'anno, il numero delle nascite avvenute in quel giorno. Programma in Basic

  10   REM Statistica sulle nascite
  20        DIM NASCITE(31, 12)
  30        ERASE NASCITE
  40        PRINT "Inserire il giorno di nascita"
  50        INPUT GIORNO%
  60        DO WHILE GIORNO% > 0
  70             IF GIORNO% = 31 THEN
  80                  PRINT "Inserire il mese di nascita"
  90                  INPUT MESE%
 100                  IF MESE% >= 1 AND MESE% = 12 THEN
 110                   NASCITE(GIORNO%, MESE%) = NASCITE(GIORNO%,
                       MESE%) + 1
 120                  END IF
 130             END IF
 140             PRINT "Inserire il giorno di nascita"
 150             INPUT GIORNO%
 160        LOOP
 170        PRINT
 180             LPRINT TAB(20); "FREQUENZA  DELLE NASCITE"
 190        LPRINT
 200        FOR I% = 1 TO 31
 210             FOR J% = 1 TO 12
 220                            LPRINT USING "
"; NASCITE(I%, J%); 230 NEXT J% 240 PRINT 250 NEXT I% 260 END 20 Definizione e dimensionamento della matrice; si tratta di una matrice statica perché le dimensioni sono già fissate al momento della stesura del programma. 30 Azzeramento della matrice; essendo la matrice statica l'istruzione ERASE azzera tutti gli elementi. da 180 a 250 Stampa della matrice alla stampante; a video non si riuscirebbe a vedere tutta la matrice poiché vengono impiegate più delle 25 righe disponibili a video.

+----------------------------------------------------------------+
¦ Esempi di esecuzione                                           ¦
¦                                                                ¦
¦ A video compaiono le richieste di inserimento delle date di    ¦
¦ nascita:                                                       ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 16                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 4                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 18                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 6                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 23                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 5                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦   ? 2                                                          ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 12                                                           ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 21                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 6                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 16                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 2                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 16                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 4                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 21                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 5                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 2                                                            ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 12                                                           ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 29                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 6                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 14                                                           ¦
¦ Inserire il mese di nascita                                    ¦
¦ ? 6                                                            ¦
¦ Inserire il giorno di nascita                                  ¦
¦ ? 0                                                            ¦
¦                                                                ¦
¦ La stampa della tabella viene mandata alla stampante:          ¦
¦                                                                ¦
¦           FREQUENZA DELLE NASCITE                              ¦
¦                                                                ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    2      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    1    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    1    0    2    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    1    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    1    1    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    1    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    1    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
¦  0    0    0    0    0    0    0    0    0    0    0    0      ¦
+----------------------------------------------------------------+
Commenti La rappresentazione grafica risulta migliore se si scrivono sulla prima riga i nomi dei mesi (abbreviati naturalmente) e sulla prima colonna i numeri da 1 a 31.

eXTReMe Tracker

Shiny Stat

free counters

Check google pagerank for trapaninfo.it

Close  GBM Close W3C  Close

Ai sensi dell'art. 5 della legge 22 aprile 1941 n. 633 sulla protezione del diritto d'autore, i testi degli atti ufficiali dello Stato e delle amministrazioni pubbliche, italiane o straniere, non sono coperti da diritti d'autore. Il copyright, ove indicato, si riferisce all'elaborazione e alla forma di presentazione dei testi stessi. L'inserimento di dati personali, commerciali, collegamenti (link) a domini o pagine web personali, nel contesto delle Yellow Pages Trapaninfo.it (TpsGuide), deve essere liberamente richiesto dai rispettivi proprietari. In questa pagina, oltre ai link autorizzati, vengono inseriti solo gli indirizzi dei siti, recensiti dal WebMaster, dei quali i proprietari non hanno richiesto l'inserimento in trapaninfo.it. Il WebMaster, in osservanza delle leggi inerenti i diritti d'autore e le norme che regolano la proprietà industriale ed intellettuale, non effettua collegamenti in surface deep o frame link ai siti recensiti, senza la dovuta autorizzazione. Framing e Deep Link: che cosa è lecito - Avvocato Gabriele FAGGIOLI. Il webmaster, proprietario e gestore dello spazio web nel quale viene mostrata questa URL, non è responsabile dei siti collegati in questa pagina. Le immagini, le foto e i logos mostrati appartengono ai legittimi proprietari. La legge sulla privacy, la legge sui diritti d'autore, le regole del Galateo della Rete (Netiquette), le norme a protezione della proprietà industriale ed intellettuale, limitano il contenuto delle Yellow Pages Trapaninfo.it Portale Provider Web Brochure e Silloge del web inerente Trapani e la sua provincia, ai soli dati di utenti che ne hanno liberamente richiesto l'inserimento. Chiunque, vanti diritti o rileva che le anzidette regole siano state violate, può contattare il WebMaster. Note legali trapaninfo.it contiene collegamenti a siti controllati da soggetti diversi i siti ai quali ci si può collegare non sono sotto il controllo di trapaninfo.it che non è responsabile dei loro contenuti. trapaninfo.it