===== Zadanie 3: prędkość rakiety ===== Plik {{https://www.fizyka.umk.pl/~grochu/mn1/files/rocket.txt}} zawiera pomiary wysokości rakiety (w km) od momentu wystrzelenia t=0 s. do t=200 s wykonywane w stałych odstępach czasowych (co 20 sekund). Plik zawiera pomiary zapisane w następującym formacie: 0 0 20 9.170 40 23.835 Każda linia zwiera pomiar czasu $t_i$ oraz wysokość rakiety. Napisz program, który wczyta dane z pliku a następnie wyznaczy numerycznie wartości prędkości (pierwsza pochodna) oraz przyśpieszenia (druga pochodna) w każdym punkcie czasu $t_i = 0, 20, 40, \ldots$ ==== ==== Do wyznaczenia pochodnej użyj wzorów o dokładności co najmniej $O(h^2)$ (np. trzypunktowe różnice). Pochodną dla początkowych wartości $t_i=0$ wyznacz z różnic zwykłych Wartości pochodnej dla ostatniego elementu ($t_i=200$ s.) wyznacz z różnic wstecznych. Pozostałe wartości wyznacz z różnic centralnych. Rozwiązanie zadania w postaci kodu programu w języku C umieść w Moodle pod adresem [[https://moodle.umk.pl/WFAIIS/mod/assign/view.php?id=4572]] ==== Operacje na plikach w C ==== Przykład demonstrujący odczyt wartości numerycznych z pliku testowego o nazwie ''text.txt'' za pomocą funkcji ''fscanf()''. #include #define MAX 100 int main() { int i, k; float tab[MAX]; FILE *plik; plik = fopen("text.txt", "r"); if ( plik == NULL) { printf("Blad otworzenia pliku."); return 1; } i = 0; while(!feof(plik) && i < MAX) if(fscanf(plik, "%f", tab+i) > 0) i++; for(k=0; k %f\n", k, tab[k]); fclose(plik); return 0; }