Problema 1
Calculați rădăcina ecuației f(x) = 0 cu o precizie dată, prin
metoda înjumătățirii intervalului, când f este o funcție continuă
și monotonă pe un interval pe care schimbă semnul. Funcția f va
fi specificată la laborator și se codează direct în program. Capetele
intervalului și precizia se citesc de la intrare.
Exemplu: f(x) = e^x + x^2 - 5 pe intervalul [1, 2], cu o precizie de 10^-5.
Indicații Calculul unei valori cu o anumită precizie înseamnă
că diferența în valoare absolută între aproximația găsită și valoarea precisă
(care nu se cunoaste, dar e sigur in intervalul considerat) să fie cel mult
egală cu precizia dorită.
Dacă f(x1) < 0 și f(x2) > 0 (sau invers), calculați
valoarea lui f în mijlocul intervalului [x1, x2] și continuați cu
subintervalul pe care f schimbă semnul, până la precizia dorită.
Se pot folosi funcțiile standard declarate în math.h, de exemplu
exp.
Problema 2a
Scrieți un program care calculează și afișează ca întreg hexazecimal o sumă
de control pe 8 biți pentru o linie de text citită de la intrare, în felul
următor: bitul k (pentru 0 ≤ k ≤ 7) reprezintă
paritatea sumei (calculată pe un octet) caracterelor din text aflate la indici
care dau restul k la impartirea cu 8. Rezolvați problema fără a
limita lungimea liniei de text.
Explicații. Paritatea unui octet (sau cuvânt de memorie)
se definește ca 1 dacă acesta are un număr impar de biți de 1, și 0 dacă
are un număr par.
Indicii caracterelor în text se numără de la zero.
Pentru a obține de exemplu bitul 3 al sumei de control se adună caracterele de pe pozițiile 3, 11, 19, etc. din text, și se calculează paritatea octetului
rezultat. Caracterul final de linie nouă se consideră că face parte din text.
Laboratorul de anul trecut conține și alte două probleme mai complexe, utile ca exerciții.