Zakładamy, że liczby rzeczywiste zapisywane są jako następująca struktura:
Kod: Zaznacz cały
struct real {
double val;
double err;
}
struct real x;
x.val
przechowuje wartość liczby, x.err
przechowuje jej błąd bezwzględny.Należy stworzyć bibliotekę operacji arytmetycznych (co najmniej suma, różnica, iloczyn, iloraz) na takich liczbach, która oprócz wykonywania samych działań, będzie za każdym razem wyliczała błąd bezwzględny wyniku.
Biblioteka powinna też być wyposażona w funkcje poprawnego zaokrąglania wyniku (działającą dla dowolnych liczb: zaokrąglenie z dokładnością …,tysięcy, setek, dziesiątek, jedności, dziesiątych, setnych, tysięcznych…). Podczas zaokrąglania powinien być odpowiednio korygowany błąd bezwzględny.
Następnie należy wykorzystać funkcje tej biblioteki do powtórzenia obliczeń zaprezentowanych na slajdach 40-43 (lub, jeżeli to za trudne, jakieś inne „sensowne” obliczenia — objętość jakiejś popularnej bryły geometrycznej, rozwiązanie równania kwadratowego — potrzebne będzie oszacowanie błędu pierwiastka,…).