Programowanie i metody numeryczne - cz. II
Zajęcia dla II roku studiów I stopnia na kierunku Astronomia, obie specjalności, rok akademicki 2010/2011, semestr zimowy
Piszemy bardziej zaawansowane programy, nadal w "czystym C". W planie mamy 5 programów na zaliczenie, w tym jeden indywidualny projekt.
Reguły wymagania obecności: maksymalnie 2 nieusprawiedliwione, punktualność!!!
Cel tych zajęć: myśleć i rozumieć. Nic na pamięć, dowolne notatki lub podręczniki, również na kartkówkach i kolokwiach.
Reguły oceniania: aktywność, zaliczenie zadań, własny projekt studenta, możliwe kolokwium zaliczeniowe z dopytaniem
Przypominam, że po zakończeniu zajęć każde zaliczenie programu wymaga uzgodnienia ze mną terminu zaliczenia a z każdy program można próbować zaliczyć tylko dwa razy.
Zadania
- Program rozwiązywania układu równań liniowych metodą Gaussa z częściowym wyborem elementu głównego: czytanie danych macierzowych z pliku, sortowanie, kontrola poprawności danych wejściowych, operacje na macierzach, wielokrotnie zagnieżdżone pętle, parametryzacja algorytmu. Dla ambitnych studentów, np. ze specjalności informatycznej, propozycja dodatkowa: wymyślić i zastosowac sposób kodowania w plikach danych współczynników w postaci ułamków, tak jak to jest w zestawach 1 i 4. Zestawy danych.
- Program rozwiązywania równania przestępnego pięcioma metodami na przykładzie eliptycznego równania Keplera: wstępna analiza równania, graficzne szacowanie rozwiązania jako przykład otrzymywania danych startowych dla iteracji, przeliczenia danych kątowych, metoda iteracji prostej, metoda Newtona, metoda siecznych, metoda bisekcji, metoda "Regula falsi", porównanie dokładności i efektywności pięciu metod dla różnych mimośrodów i anomalii średnich. Wszystkie metody mają być napisane jako własne funkcje (przykład programu z zajęć). Dane testowe
- Elementy programowania grafiki z użyciem biblioteki PGPLOT: używanie dodatkowych bibliotek, techniki rysowania, tworzenie wykresów, histogramów itp. Tegoroczny (jesień 2010) temat przewodni:"Statek na wzburzonym morzu".
- Praca z wielkim plikiem danych na przykładzie katalogu Tycho-2: wskaźniki w języku C, wyszukiwanie, sortowanie, wybieranie podzbiorów. Szczegółowy opis tego zadania.
- Indywidualny projekt programistyczny studenta (własny lub wybrany z listy propozycji).
Dodatek: Generator liczb losowych
Lista proponowanych zadań (w nawiasie szacowana trudność w skali od 1 do 15)
Tematy astronomiczne:
1. Mapy gwiazdozbiorów (10-15)
2. Wirtualny teleskop w oparciu o katalog gwiazd (12 - 15)
3. Program do konwersji starych oznaczeń komet na nowe, Dane (8)
4. Wschody i zachody Słońca (10 - 15) Patrz na przykład tu i tu.
5. Konwerter współrzędnych sferycznych dla układów: równikowego, ekliptycznego i Galaktycznego, zrealizowany macierzami obrotu. (10)
6. Topocentryczna efemeryda gwiazdy w układzie horyzontalnym plus kąt godzinny (10-15)
7. Rozwiązanie dowolnego trójkąta sferycznego (8-12)
8. Przeliczanie miejsc średnich pomiędzy epokami czyli precesja i ruchy własne (12)
9. Program produkujący miesięczny kalendarz dla wybranego roku z uwzględnieniem świąt. (8-12)
10. Testowanie dopasowania prostej metodą najmniejszych kwadratów (10 - 14)
Tematy nieastronomiczne:
1. Gra w kółko i krzyżyk do 5 na planszy 19x19 (10 - 15)
2. Wyliczenie pierwszych 200 cyfr liczby e lub π (12)
3. Czterodziałaniowy kalkulator o dowolnej precyzji (15)
4. Gra w numerki (8)
5. Grafika - wypełnianie dowolnego wielokąta (12)
6. Grafika - własna biblioteka graficzna (10-15)
7. Gra LIFE (8 - 12)
8. Korekta ortograficzna tekstu polskiego (10 - 15)
9. Grafika - obroty trójwymiarowej bryły (12 - 15)
10. Wyliczanie całki oznaczonej metodą Monte Carlo (8-10)
11. Gra Mu-Torere ( http://www.lutanho.net/play/mutorereshisima.html )
12. Gra w zapałki (8-12). Gra znana jako NIM, wariant z filmu "L'année dernière à Marienbad" ( Last Year at Marienbad )
Przykładowa literatura
- A. Ralston, Wstęp do analizy numerycznej, PWN, 1971
- G. Dahlquist, A. Bjorck, Metody numeryczne, PWN, 1983
- J. Legras, Praktyczne metody analizy numerycznej, WNT, 1974
- J. Stoer, Wstęp do metod numerycznych, tom 1., PWN, 1979
- M. Dryja, J. M. Jankowscy, Przegląd metod numerycznych, cz.2., WNT, 1982
- http://www.astro.caltech.edu/~tjp/pgplot/