Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354

    [pascal]Var... indeterminate

    Vi propongo il mio problema: quando in un algoritmo pascal variabili contatore non vengono pre determinate

    es:

    codice:
    var i:integer;
    ...
    
    i:=0; {devo mette la variabile i=0 se no potrebbe non partire da 0, perche?}
    REPEAT
    ...
    i:=i+1;
    UNTIL(i=10);
    ...
    possono creare problemi.
    la prof dice che il compilatore crea un un valore random alla variabile i, ma io non credo che il compilatore sprechi risorse per una var indeterminata.

    credo che sia semplicemnte il valore che avava la porsione di ram prima.

    potete dirmi che accade se lo sapete? o come scoprirlo?

    e in c?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Sì... effettivamente il valore random è dato dal fatto che non si sa quello che c'è scritto in quella porzione di RAM al momento dell'allocazione.

    In C succede una cosa leggermente diversa: il compilatore, automaticamente, inizializza tutte le variabili a 0.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    Sarà ma a me non è mai capitato un valore diverso dallo 0...
    potrebbe dipendere pure dal compilatore ma per questioni di "controllo" è sempre meglio inizializzare tutte le variabili

  4. #4
    Originariamente inviato da cso
    Sarà ma a me non è mai capitato un valore diverso dallo 0...
    potrebbe dipendere pure dal compilatore ma per questioni di "controllo" è sempre meglio inizializzare tutte le variabili
    Oltretutto è "buona programmazione" inizializzare anche se si sa che la variabile avrà un suo valore di default... In questo modo si rende anche l'algoritmo più portabile e facilmente convertibile in altri ling. di programmazione.

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Originariamente inviato da cicciox80
    Oltretutto è "buona programmazione" inizializzare anche se si sa che la variabile avrà un suo valore di default... In questo modo si rende anche l'algoritmo più portabile e facilmente convertibile in altri ling. di programmazione.
    Concordo pienamente. Inoltre la lettura del codice da parte di chi poi dovrà manutenerlo risulta più facile e meno soggetta ad errori.
    E' per questo che, anche in C, le variabili le inizializzo sempre, anche se il valore iniziale mi serve a 0.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.