Rexsus18 Inserito: 14 settembre 2020 Segnala Share Inserito: 14 settembre 2020 (modificato) Buonasera a tutti, ho sentito parlare tantissimo di dati di tipo Array. Ma non riesco a trovare un esempio che mi faccia comprendere a pieno le sue potenzialità. A cosa servono questi tipi di dati? Riuscite a farmi un esempio concreto in base alla vostra esperienza? Grazie Modificato: 14 settembre 2020 da Rexsus18 Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 14 settembre 2020 Segnala Share Inserita: 14 settembre 2020 (modificato) Dire 'Dati di tipo array non è corretto' ... semmai userai dire : array di un determinato tipo di dati / strutture / array. Comunque per non fare tante parole : Cosa sono gli array (in C ma il concetto è lo stesso anche per gli altri linguaggi di programmazione) Modificato: 14 settembre 2020 da max.riservo Link al commento Condividi su altri siti More sharing options...
max.riservo Inserita: 14 settembre 2020 Segnala Share Inserita: 14 settembre 2020 Per restare in casa : array esempio banale Link al commento Condividi su altri siti More sharing options...
marchinoktm Inserita: 14 settembre 2020 Segnala Share Inserita: 14 settembre 2020 (modificato) Non so se ti può essere utile come spiegazione , ma io ho sempre insegnato cosi l'array ....... l'utilizzo di array (in qualsiasi linguaggio) è una metodologia di programmazione molto potente; ti permette di utilizzare strutture che possono contenere migliaia di dati e con la variazione di alcuni parametri, puoi fare confronti , controlli, scritture in modo dinamico e senza scrivere molto codice di programmazione . Per capire ... immagina di avere una scarpiera con 5 ripiani , ed ogni ripiano può contenere fino a 5 paia di scarpe.... il tuo totale è di 25 paia si scarpe ; quindi in una DB dovrai scrivere 25 variabili ad esempio di natura INT, piu la variabile count (int). Se dovessi controllare quanti scarpe sono ad esempio di colore rosso (per semplicità mettiamo il confronto 1 == rosso nel nostro esempio ), Quote IF scarpa_1 = 1 THEN // Se il valore è uguale a 1 allora la scarpa è rossa count := count + 1; END_IF ........ IF scarpa_25 = 1 THEN // Se il valore è uguale a 1 allora la scarpa è rossa count := count + 1; END_IF nel codice sopra riportato, dovrai inserire fino a 25 confronti e sapere che tutto il codice deve essere eseguito una sola volta , altrimenti la variabile count incrementa sempre . Con gli array la dichiarazione deve essere fatta nel seguente modo scarpa [0..24 array of int] == partiamo da 0 fino a 24 quindi in totale sono 25 inc variabili int la variabile indice che ti permette di controllare tutte le tue scarpe il tuo codice si riduce cosi : Quote IF #inc <= 24 THEN // fin tanto che l'inc è uguale o minore di 24 fa il controllo,quando è > di 24 non esegue piu l'if IF #scarpa[#inc]= 1 THEN // Se la scarpa è == 1 allora è di colore rosso #count := #count + 1; END_IF; #inc := #inc + 1; END_IF; alla fine del codice appena scritto ,nella variabile count avrai il totale di tutte le scarpe rosse presenti nella tua scarpiera. VANTAGGI : Codice molto piu snello Se dovessi cambiare il confronto, lo cambi in un solo punto e non nei 25 confronti del primo esempio Nei 80% dei casi con gli array utilizzi anche i cicli FOR per fare dei confronti o scritture molto più grandi SVANTAGGI Non sono semplici da capire ed è facile sbagliare gli indirizzi di memoria e quindi mandare in Stop la CPU Con gli array puoi utilizzare anche i multi array , che sono alla fine matrice ... esempio se nel nostro caso vogliamo sapere per ogni ripiano, quante paia di scarpe rosse ci sono allora avremmo dovuto scrivere scarpa [0..4,0..4 array of int] == il primo valore [0..4] sta indicare i ripiani da 1 a 5 ma partiamo da zero per semplicità, è il secondo valore [0..4]sta per il numero massimo di scarpe presenti nel nostro ripiano cioè 5. count [0..4]array of int inc variabili int la variabile indice che ti permette di controllare tutte le tue scarpe Quote IF #ripiano <= 4 THEN // fin tanto che l'inc è uguale o minore di 4 fa il controllo IF #scarpa[#ripiano,#inc]= 1 THEN // Se la scarpa è == 1 allora è di colore rosso #count[#ripiano] := #count[#ripiano] + 1; END_IF; IF #inc > 4 THEN // quando abbiamo controllato tutte le scarpe nel ripiano passiamo a quello successivo aumentando il ripiano // ed azzerando la varibile inc che mi permette di cominciare dalla prima scarpa del ripiano successivo #inc := 0; #ripiano := #ripiano + 1; ELSE #inc := #inc + 1; END_IF; END_IF; alla fine del codice appena scritto ,nella variabile count[0]== avrai il valore delle scarpe rosse ripiano 1 count[1]== avrai il valore delle scarpe rosse ripiano 2 count[2]== avrai il valore delle scarpe rosse ripiano 3 count[3]== avrai il valore delle scarpe rosse ripiano 4 count[4]== avrai il valore delle scarpe rosse ripiano 5 Modificato: 14 settembre 2020 da marchinoktm Link al commento Condividi su altri siti More sharing options...
Rexsus18 Inserita: 14 settembre 2020 Autore Segnala Share Inserita: 14 settembre 2020 Perfetto!! Adesso è tutto molto più chiaro. Grazie mille del tempo e delle risposte! Adesso ho capito 😄. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora