Codificare il seguente algoritmo
Dichiarare una funzione f che restituisce un double e riceve un parametro di tipo double. { // corpo della funzione return (x*x-36); // in questo esempio si cerca la radice quadrata di 36 } intestazione della funzione main. { Nota: la dichiarazione delle variabili non viene indicata. È cura del programmatore individuare le variabili e il relativo tipo. Assegnare un valore all'estremo inferiore. Nell'esempio proposto si può scegliere il valore 0.0; Assegnare un valore all'estremo superiore. Nell'esempio proposto si può scegliere il valore 100.0; Calcolare il valore della funzione nel punto fx=(Estremo inferiore): fx = f(Estremo inferiore) Aprire un ciclo do { ... } while(...); Calcolare il centro dell'intervallo: Centro = (EstInf + EstSup) / 2.0; Calcolare il valore della funzione nel centro dell'intervallo: fc = f(Centro); Calcolare il prodotto tra fx (il valore della funzione calcolata nell'estremo inferiore) e il valore della funzione calcolata nel centro dell'intervallo fc, ed assegnare il risultato ad una variabile denominata segno. Se il risultato del prodotto è zero { si è trovata una soluzione esatta. Si mostra il valore di x per cui f(x) =0 e si termina. } Se il risultato del prodotto è negativo { significa che la funzione taglia l'asse delle ascisse nell'intervallo a sinistra del centro, e quindi la soluzione deve essere cercata in quell'intervallo. (il nuovo estremo superiore diventa il valore calcolato come centro), } altrimenti { la funzione taglia l'asse delle ascisse a destra del centro e quindi la soluzione deve essere cercata in quell'intervallo (il nuovo estremo inferiore diventa il centro). Avendo aggiornato l'estremo inferiore si deve aggiornare anche la variabile fx che rappresenta il valore della funzione nell'estremo inferiore. } si chiude il ciclo do { ... } while: la condizione per ripetere il ciclo è che l'ampiezza dell'intervallo sia maggiore di un'approssimazione prefissata, ad esempio 0.001 Si stampa la soluzione approssimata. system("PAUSE"); return EXIT_SUCCESS; }