Turbo Pascal:programma di bisezione

Auman
ho già un'idea molto carina per sviluppare il programma,però vorrei renderlo molto più intrigante:
al posto di dover scrivere la funzione (es: (x-55)(x+sqrt3) )nel programma prima di ogni avvio,vorrei che l'utente la potesse immettere come imput.
non ho la più pallida idea di come fare,se non facendo immettere all'utente gli operatori uno di seguito all'altro e poi rinchiudermi in cicli praticamente infiniti...
c'è un modo per far leggere al pascal una funzione (ovviamente scritta nella sua sintassi) in modo da poterla utilizzare poi?

Risposte
Rggb1
Ehm.. no. A meno tu non usi un interprete.

Però, è un'idea: la funzione la fai leggere da tastiera e la salvi in un file che poi passi al compilatore stesso (presumo tu sappia come fare), ovvio che preventivamente avrai inserito adeguate righe di codice.

In soldoni, il tuo programma in Pascal dovrebbe leggere l'input, creare un file che è un programma in Pascal e farlo compilare ed eseguire alla bisogna.

itpareid
feci un programma simile in Pascal (non Turbo Pascal, non ce lo facevano usare...) come parte dell'esame di fondamenti di informatica 1 (nel 1993), mi ricordo che facevo immettere la funzione da tastiera (variabili, costante ed operatori), poi nel programma trasformavo la stringa in "notazione polacca postfissa" per fare i calcoli.
funzionava abbastanza bene, tranne il giorno in cui la provò il prof durante l'esame...ma mi diede due punti in più lo stesso.
sicuramente si può fare con tecniche meno "pesanti"

Auman
che comando dovrei usare per fargli scrivere un programma .pas? il programma di bisezione funziona bene,non so come fare il programma che mi suggeriva rggb...qualcuno sa darmi una mano?

itpareid
scusa la funzione (matematica) in input non la puoi leggere da tastiera?

Auman
sì,ma non vorrei modificare il sorgente ogni volta...tu come penseresti di fare?
la mia idea ideale era

-''inserisci la funzione''
-(legge la funzione)
-usa la funzione

per il punto ''inserisci la funzione'' ovviamente è stupido,è un writeln,l'usa la funzione è il mio programma di bisezione...resta il problema di leggerla.
l'idea di rggb non è male,però non so far compilare al programma un altro programma...tu che espediente avevi usato per la polacca postfissa?

itpareid
ma per leggere da tastiera non c'era readln?

itpareid
per quanto riguarda il programma, ti confesso che non me lo ricordo, ricordo solo che ce lo fece fare in pascal standard e quindi tutte le funzioni che ti metteva a disposizione il turbopascal non le potevi usare, e se le volevi te le dovevi creare te

Rggb1
@itpareid
"Fondamenti di informatica 1"?!? Ma che razza di esame è?
Ah... ingegneria! ;)

@Auman
Non c'è una funzione in TP che esegue un comando esterno?

itpareid
"Rggb":
@itpareid
"Fondamenti di informatica 1"?!? Ma che razza di esame è?
Ah... ingegneria! ;)

pensa che il corso "analogo" a matematica si chiamava TAMC (teoria ed applicazione delle macchine calcolatrici) :-D

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.