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

Dziennik Lekcyjny happy smiley



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

Opis metody

  1. 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.

O równaniu Keplera

  1. 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
Obrazek 1
W roku 2008 tematem
przewodnim były
Słoneczniki Van Gogha.
Jeden ze studentów solidnie
się napracował jak widać!
[Wersja postscriptowa]

Opis biblioteki PGPLOT

  1. 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".
  2. 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.
  3. 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

  1. A. Ralston, Wstęp do analizy numerycznej, PWN, 1971
  2. G. Dahlquist, A. Bjorck, Metody numeryczne, PWN, 1983
  3. J. Legras, Praktyczne metody analizy numerycznej, WNT, 1974
  4. J. Stoer, Wstęp do metod numerycznych, tom 1., PWN, 1979
  5. M. Dryja, J. M. Jankowscy, Przegląd metod numerycznych, cz.2., WNT, 1982
  6. http://www.astro.caltech.edu/~tjp/pgplot/