Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-12-2003, 15:58   #1
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
PASCAL

help.......ho bisogno di imparare bene come si usano:

Puntatori
Code
Liste
Alberi

in Turbo Pascal 7

Ho il libro (in inglese) e le Unit delle Code e delle Liste fatte......ma sinceramente ancora ci devo capire poco del ragionamento!!!!!

Specie sugli Alberi.......

Ho provato da solo e diciamo che ho capito qualcosa sulle Code, ma gli altri non ci riesco un granchè...............mi servirebbe qualcuno che mi facesse capire il ragionamento e la meccanica che si trova dietro queste funzioni..........
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2003, 16:12   #2
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
ti interessano solo in Pascal?

cmq devi prima impararle in modo "teorico" dato che l'implementazione è praticamente sempre la stessa nei vari linguaggi (a esclusione di Java direi).
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2003, 16:15   #3
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
beh io faccio Pascal all'univ, ma mi stà bene anche in linea teorica.........l'importante è che si capisca il concetto!!

Poi dopo si vede l'implementazione nei diversi linguaggi......

ti sarei grato....
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 19-12-2003, 17:09   #4
lalli83
Senior Member
 
L'Avatar di lalli83
 
Iscritto dal: Feb 2003
Città: Biella
Messaggi: 843
allora spiegazione teorica dei termini richiesti:
Puntatore: è uno strumento con cui e' possibile accedere alla porzione di memoria esterna. di solito con l'utilizzo delle variabili si punta al contenuto della variabile, mentre con i puntatori ci si riferisce alla locazione di memoria.

Code: strumento per avere un elenco di dati memorizzati in una struttura statica come un vettore ad esempio, in cui l'ultimo strumento ad essere inserito è il primo ad essere utilizzato (FIFO)

Liste: struttura dinamica (lavorano memoria HEAP) che tramite i puntatori collegano i vari elementi fra di loro

Alberi: struttura che serve soprattutto per algoritmi di ordinamento. Ci sono vari tipi di albero...ma non sto qui ad elencarteli perchè penso ti interessi solo in generale...cmq a seconda del tipo di albero hai un tipo diverso di algoritmo di ordinamento e/o di ricerca

spero di essere stata il più chiara possibile
__________________
Ubl~Team Rulez ^_^
lalli83 è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 09:47   #5
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
thanks, ma


1 - dov'è l'utilità di puntare all'allocazione di memoria invece che alla nostra variabile??

2 - se la CODA è "uguale" ad un'array perchè usiamo le code invece di crearci una piccola funzione che ci gestisce l'array in quel particolare modo???


3 - liste!?!? Sarebbero come le code, ma con l'uso di record per permettere di inserire anche il puntatore??? Nell'uso pratico a cosa servono le liste??

4 - chi mi fa un esempio dell'utilità di usare gli alberi??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 10:24   #6
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da leadergl
1 - dov'è l'utilità di puntare all'allocazione di memoria invece che alla nostra variabile??
cosa intendi per puntare alla "nostra variabile"?
il puntatore fa riferimento a un'area di memoria che viene chiamata heap. quando allochi dinamicamente memoria è nello heap che ti viene riservato spazio e il puntatore contiene l'indirizzo "fisico" di quello spazio.

Quote:
2 - se la CODA è "uguale" ad un'array perchè usiamo le code invece di crearci una piccola funzione che ci gestisce l'array in quel particolare modo???
beh insomma, uguale non troppo. la differenza è che gli array che dichiari come variabili sono statici, quindi hanno una grandezza prefissata. puoi gestire una coda con un array, ma in genere si usano i puntatori per poter sfruttare i vantaggi dell'allocazione dinamica della memoria.


Quote:
3 - liste!?!? Sarebbero come le code, ma con l'uso di record per permettere di inserire anche il puntatore??? Nell'uso pratico a cosa servono le liste??
veramente anche le code hanno il campo puntatore, a meno che tu le implementi con un array.
nell'uso pratico servono quando devi memorizzare tanti elementi e non ne conosci il numero a priori

Quote:
4 - chi mi fa un esempio dell'utilità di usare gli alberi??
gli alberi velocizzano la ricerca di elementi al loro interno. una lista devi scorrerla tutta, un albero invece (a patto che sia organizzato bene o "ben bilanciato") ti permette di accedere agli elementi in modo più rapido.
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 11:32   #7
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
mi potreste postare parti di codice su come si usano ciascuna delle cose trattare??

Code
Liste
Alberi
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 11:44   #8
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
ho guardato e ho solo roba in Java più qualcosina di C ma non di specifico (ovvero le strutture dati ci sono ma all'interno di un programma più complesso).

prova a vedere gli esempi che ci sono qui, il linguaggio è proprio il Pascal:
http://akbani.20m.com/Pas/PasDstr.htm
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 11:52   #9
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
grazie....ottimo sito...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 12:32   #10
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
si...però prendi questo pezzo di programma:
Codice:
PROGRAM Link_List;

USES crt;

TYPE
    NodePtr = ^Customer;

    Customer = Record
             Name    : String[25];
             Check_no : String[10];
             Next     : NodePtr;
    End;

VAR
   Head     : NodePtr;
   Current  : NodePtr;
   Previous : NodePtr;
   Search   : NodePtr;



PROCEDURE Get_Input;
BEGIN
     clrscr;

     write('Enter Name : ');
     readln(current^.name);

     write('Enter Check Number : ');
     readln(current^.check_no);
END;
perchè usa i puntatori?
non bastava usare un semplice record?
dov'è l'utilità di fare così?
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 12:37   #11
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
ah...aspe....praticamente:

gli ARRAY hanno una lunghezza prefissata....tipo

vettore = Array [20] of integer;

avrà sempre lunghezza 20 elementi sia che ne usciamo uno che mille.....

mentre le CODE e le LISTE possono variare il numero di elementi a seconda di quanti ce ne servono....giusto??

Ora però le CODE possono essere sia di ARRAY che con PUNTATORI....ma una coda con dei puntatori non è uguale ad una LISTA??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 15:23   #12
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da leadergl
ah...aspe....praticamente:

gli ARRAY hanno una lunghezza prefissata....tipo

vettore = Array [20] of integer;

avrà sempre lunghezza 20 elementi sia che ne usciamo uno che mille.....

mentre le CODE e le LISTE possono variare il numero di elementi a seconda di quanti ce ne servono....giusto??

Ora però le CODE possono essere sia di ARRAY che con PUNTATORI....ma una coda con dei puntatori non è uguale ad una LISTA??
si, gli array hanno una lunghezza fissa mentre le strutture di dati dinamiche hanno lunghezza variabile visto che puoi sempre aggiungere elmenti (fino a esaurimento memoria)

forse non hai capito una cosa: code, pile e alberi sono strutture dati "astratte"
possono esserci diverse implementazioni ma le strutture dati hanno delle proprietà che vanno rispettate

la coda ad esempio ha una gestione degli elementi FIFO (First In First Out). se vuoi implementarla con un array va bene, basta che il primo elemento che metti sarà il primo ad essere tolto.

rispondo all'ultima domanda: la coda con puntatori è un particolare tipo di lista. devi sapere che ci sono infatti diversi tipi di lista (concatenata, bidirezionale...).
in una coda serve un puntatore al primo elemento e ogni elemento deve puntare al successivo, punto.
l'unico modo di scorrere la coda è proprio partendo dal primo e visitando gli elementi nell'ordine di inserimento.
una lista invece puoi scorrerla più liberamente, sempre che tu metta i puntatori nel modo giusto
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 16:16   #13
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
....ho "capito" le code....anche se il mio libro di programmazione me le porta solo del tipo con Array...così definite:


Codice:
CONST 
       MaxQueue=100;
       NullItem= ' ';
TYPE
       ItemType =    STRING[20]:
       QueueType = RECORD
                                  Head,
                                  Tail:     1..MaxQueue;
                                  InUse: 0..MaxQueue;
                                  Items: ARRAY [1..MaxQueue] of ItemType;
                              END;
VAR
        Coda: QueueType;
il che è utile solo ai fini della complessità O(n) che nel caso della coda è O(1) mentre nel caso dell'array è O(n) dove n sono il numero di elementi dell'array!!.......altrimenti o usi le CODE o un semplice ARRAY non cambia nulla...........anzi l'array è anche più semplice e pratico.........
però tu mi, ora, mi dici che ci sono anche le CODE con puntatori..............posso chiederti qual'è l'utilità di usare i puntatori??

Ai fini pratici a che servono?
Non va bene usare le comuni e semplici variabili??
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2003, 17:36   #14
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da leadergl
però tu mi, ora, mi dici che ci sono anche le CODE con puntatori..............posso chiederti qual'è l'utilità di usare i puntatori??

Ai fini pratici a che servono?
Non va bene usare le comuni e semplici variabili??
le code con puntatori servono se devi gestire un numero indeterminato di elementi.

tu cmq mi sa che non hai ancora ben chiaro cos'è un puntatore. il tuo libro non spiega qualcosa sull'organizzazione della memoria in un calcolatore?
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2003, 10:59   #15
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
organizzazione della memoria.....NO!!

Riguardo ai puntatori dice che allocano memoria per un determinato tipo di dati (che noi scegliamo) e solamente quando facciamo chessò l'assegnazione del dato lui "formatta la memoria" per quel tipo di dato!!!

Nel senso che
Codice:
TYPE
       vettore=array [1..10] of integer;
       puntatore=^vettore;
VAR
       pVett: puntatore;
lui si riserva spazio in memoria per l'immagazinamento dei dati ma non si frega di che tipo sono i dati.....solo dopo se faccio

new(pVett);

lui dichiara che in quella memoria c'è un array........
Inoltre mentre le variabili normali alla chiusura di un programma si DeAllocano automaticamente dalla memoria, i puntatori NO...dobbiamo essere noi a DeAllocare la memoria del puntatore con

dispose(pVett);

ed infine se ho due puntatori e dico ad uno di puntare all'altro:

Codice:
VAR 
      aVett: puntatore;
      pVett: puntatore;
se faccio:

aVett := pVett;

lui non è che cambia il valore di aVett, ma semplicemente cambia il puntamento...ovvero adesso aVett punterà alla stessa allocazione di memoria di pVett.......giusto??
Però bisogna stare attenti quando si usano i puntatori, perchè se ad esempio cambio l'allocazione di memoria a cui punta un determinato puntatore senza prima DeAllocarlo, io manterrò cmq occupata la cella di memoria a cui puntava prima!!!


è giusto o non c'ho capito io una mazza....il che è probabile visto che il mio libro è tutto in inglese.....eheh
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2003, 14:58   #16
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
up
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 22-12-2003, 17:07   #17
recoil
Senior Member
 
L'Avatar di recoil
 
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19149
Quote:
Originariamente inviato da leadergl
Però bisogna stare attenti quando si usano i puntatori, perchè se ad esempio cambio l'allocazione di memoria a cui punta un determinato puntatore senza prima DeAllocarlo, io manterrò cmq occupata la cella di memoria a cui puntava prima!!!
si esatto.
con i puntatori bisogna fare attenzione perché è facile sbagliarti e poi puoi perdere il riferimento a dati che ti interessano o deallocare un'area che ancora ti serve ecc.
recoil è offline   Rispondi citando il messaggio o parte di esso
Old 26-12-2003, 12:12   #18
leadergl
Senior Member
 
Iscritto dal: May 2003
Messaggi: 1113
eh, ok per puntatori e code...............ma chi sarebbe così gentile da spiegarmi

Liste ??
Alberi ??

thanks.....ve ne sarei grato...
__________________
| Athlon XP Barton 3000+ | CoolerMaster HAC-V81 | ASUS A7N8X DELUXE v2.0 | 2*256 PC3200 + 1*512 PC3200 = 1GB DDR400| ATI Radeon 9250 | HD 80Gb Maxtor SATA | Ali Q-TEC 550W Dual Fan GOLD PFC
leadergl è offline   Rispondi citando il messaggio o parte di esso
Old 26-12-2003, 12:27   #19
Luc@s
Senior Member
 
L'Avatar di Luc@s
 
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
libricino
O se riesci a trovarl il Cormen( che è gnerico ) che pare essere er mejo ed è usato dappertutto
__________________
Gnu/Linux User
Luc@s è offline   Rispondi citando il messaggio o parte di esso
Old 26-12-2003, 20:59   #20
cisc
Senior Member
 
L'Avatar di cisc
 
Iscritto dal: Nov 2002
Città: Cosenza --> Roma
Messaggi: 853
se fai una ricerca nel forum ci sono un pai di discussioni su algoritmi in pascal per trattare liste e alberi...........
__________________
GNU MyServer Wants YOU!!
We live thinking we will never die. We die thinking we had never lived. Jason Becker
cisc è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v