Risultati da 1 a 1 di 1
  1. #1
    Z4kW0lf
    ospite

    Predefinito [Pascal]Valore della costante corrispondente a una stringa

    Salve a tutti, innanzitutto non cominciate a chiedermi "Ma perché usi ancora il Pascal": perché è un linguaggio semplice da imparare e dalle buone potenzialità(IMHO)
    Ora, ho un problema. Sto scrivendo un programma per il calcolo della dilatazione termica(programmino semplice per imparare a lavorare con array e funzioni che non metto nel codice sotto perché non fanno parte del problema). Il problema è che non riesco a farmi accettare dal compilatore(Free Pascal) la moltiplicazione di una variabile reale per una stringa il cui valore corrisponde al nome di una costante. Mi spiego(codice non corrispondende al programma reale, con svariate costanti e altre scelte, es. calcolo del coefficiente di dilatazione lineare, volumica, lunghezza originale ecc.).
    Codice:
    program dilataz;
    uses crt;
    const materialerandom = 0.000047;
    const materialerandom2 = 0.000055;
    const materialerandom3 = 0.000011;
    var dt,lo,dl: real;
    var mat:string;
    begin
    clrscr;
    write('Inserire la lunghezza iniziale in m: ');
    readln(lo);
    write('Inserire la variazione di temperatura in K: ');
    readln(dt);
    write('Materiali disponibili:');
    writeln('materialerandom1, materialerandom2, materialerandom3');
    readln(mat);
    dl:=lo*dt*mat;
    writeln('La variazione di lunghezza è ',dl:0:10,'m.');
    end.
    Penso che, se conoscete il Pascal, abbiate capito il funzionamento di questo programma, in caso contrario, spiego:
    Dopo l'inizializzazione di variabili e costanti, vengono chiesti lunghezza iniziale e variazione di temperatura, poi elencati i materiali disponibili, e letta una variabile di tipo stringa(mat). Teoricamente, se io inserissi materialerandom1, dovrebbe moltiplicarmi lo * dt * 0.000047. Invece non mi compila nemmeno il programma, dandomi errore di impossibilità di moltiplicare un reale per una variabile. Esiste un metodo per evitare questo problema?

    EDIT: Oddio, avevo messo i invece di mat nel calcolo della dilatazione. Sono un coglione. Sowwy.
    Ultima modifica di Z4kW0lf; 13-02-13 alle 16:50:30

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice HTML è Disattivato