|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
pascal - occupazione in memoria
mi andrebbe bene anche un link, cmq...
1) Si consideri la seguente dichiarazione: Var s:string[30]; Qual è l’occupazione di memoria (per il Pascal standard) espressa in byte della variabile s? 2) Si consideri un vettore di 64numeri reali, dichiarato all’interno di un programma Pascal (standard). Calcolare quanti byte sono necessari per memorizzare il vettore 3) L'occupazione in memoria di un array di interi è pari al numero di interi per lo spazio occupato normarlmente da un intero o è diverso? 4) Si consideri un vettore di 64Xnumeri interi, dichiarato all’interno di un programma Pascal. Calcolare quanti byte sono necessari per memorizzare il vettore? 5) Si consideri la seguente dichiarazione: Var s:char[30]; Qual è l’occupazione di memoria (per il Pascal standard) espressa in byte della variabile s? e perché? 6) Quali sono i tipi predefiniti standard del linguaggio Pascal? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dipende cosa intendi per standard...
In un compilatore a 32 bit o 16 bit (visto che uno dei più usati Pascal è Turbo Pasquale)... |
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Già è proprio un idiota. Il pascal standard non ha nessuna funzione per verificare l'occupazione di memoria di variabili e compagnia bella... Ma forse si riferiva ai valori "lisci" che usa il compilarore, non di scrivere un programma standard che restituisca in output quelle informazioni...
![]() ![]() |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
Quote:
ed in questo caso sarebbero? la cosa che mi incuriosisce, se ammettendo un interger occupa 2 byte, un array di 10 integer occupa 10*2=20? |
|
![]() |
![]() |
![]() |
#6 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Si, supponendo un intero 2 byte, un array da 10 integer occupa 20 byte. |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
oggi ho chiesto e la "professoressa" ha detto che per il "pascal standard" (???) i char occupano due byte, negli array occupano 1 bte perchè sono packed (compattati)
![]() ![]() |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Se intende un compilatore a 16 bit dovrebbe essere vero.
|
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Non è vero. In tutti i linguaggi di programmazione un array ha dimensione che è la somma delle singole dimensioni degli elementi dell'array stesso. Quindi se consideri un char 1 byte, un array da 20 elementi ha dimensione 20 byte.
Gli array compattati vanno specificati in fase di dichiarazione ed è quindi una situazione "voluta" da chi sta programmando. Ma va specificata esplicitamente, quindi non è affatto vero che gli array in Pascal standard sono "packed"... E come dire che i file sul tuo disco sono zippati. Sono zippati solo se tu lo vuoi, |
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
Quote:
ma che caXXo significa pascal "STANDARD"? |
|
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
L'ultima standardizzazione del comitato ANSI per il Pascal ANSI-ISO DIS 7185.
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
|
Quote:
la prof fa parte dell'IEEE... ![]() #noncentrauncavolo end |
|
![]() |
![]() |
![]() |
#13 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
E' bona almeno sta professoressa???
![]() |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
![]() |
![]() |
![]() |
#15 |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Non credo ... Ma non ne sono sicuro al 100% ... Anche se lo scopo che ha il Pascal standard non mi lascia presagire diversamente ...
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Anche perchè bene o male se la prevedesse...sarebbe sicuramente a 32 bit...e quindi non 16 bit come nel Turbo Pasquale...
|
![]() |
![]() |
![]() |
#18 | |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
|
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Qui però si parla di allineamento...non di occupazione di memoria fisica...se un vettore di char lo vado a scrivere su disco non occupa 2*la lunghezza...ma 1*la lunghezza...
Anche nei 32 bit l'allineamento è ai 2 byte... Questo perchè è molto più costoso leggere un dato a partire da un indirizzo di memoria dispari... |
![]() |
![]() |
![]() |
#20 | |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 4334
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:26.