Programowanie i metody numeryczne - cz. II
Zajęcia nieobowiązkowe dla chętnych z II roku studiów I stopnia na kierunku Astronomia, rok akademicki 2013/2014, semestr letni
Piszemy bardziej zaawansowane programy, nadal w "czystym C". W planie mamy 6 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 i w trakcie zaliczania zadań.
Reguły oceniania: zaliczenie co najmniej 5 zadań w tym własnego projektu, aktywność, możliwe kolokwium zaliczeniowe z dopytaniem
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, propozycja dodatkowa: wymyślić i zastosować 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.
- Elementy programowania grafiki z użyciem biblioteki PGPLOT: używanie dodatkowych bibliotek, techniki rysowania, tworzenie wykresów, histogramów itp. Tegoroczny (wiosna 2014) temat:"Portret jakiegoś słynnego astronoma sprzed co najmniej 200 lat".
- 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. Dane testowe
- 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. Na pracowni, w katalogu /home/COMMON/dydaktyka/PAD_programowanie jest mój program testowy do porównania. Kilka słów o wskaźnikach w C
- Położenie i prędkość na orbicie keplerowskiej z anomalii prawdziwej i przy użyciu zmiennych uniwersalnych. Opis zadania, Kilka słów o strukturach w C
- Indywidualny projekt programistyczny studenta (własny lub wybrany z listy propozycji).
Przypomnienie: o generatorze liczb losowych
Lista proponowanych zadań indywidualnych
(w nawiasie szacowana trudność w skali od 1 do 15)
Tematy astronomiczne:
- Mapy gwiazdozbiorów (10-15)
- Wirtualny teleskop w oparciu o katalog gwiazd (12 - 15)
- Współrzędne prostokątne i sferyczne planet z elementów średnich (7)
- Program do konwersji starych oznaczeń komet na nowe, Dane (8)
- Wschody i zachody Słońca (10 - 15) Patrz na przykład tu i tu.
- Wschody i zachody Księżyca (10 - 15)Patrz na przykład tu i tu.
- Geocentryczna (10) lub topocentryczna(15) efemeryda planetki
- Geocentryczna efemeryda planet oparta na efemerydzie JPL DE421 (15).
- Miejsca widome gwiazd (8 - 15)
- Momenty faz Księżyca w danym roku (dzień, godzina, minuta) w czasie urzędowym w Polsce (8)
- Elementy -> pozycje -> elementy -> pozycje dla dowolnego mimośrodu (12)
- Elementy orbity z dwóch położeń (12)
- Analityczne i numeryczne pochodne położeń po elementach (8)
- Diagramy HR dla różnych podzbiorów katalogu Hipparcos (12-14)
- Topocentryczna efemeryda gwiazdy w układzie horyzontalnym plus kąt godzinny (8-12)
- Rozwiązanie dowolnego trójkąta sferycznego (8-12)
- Przeliczanie miejsc średnich pomiędzy epokami czyli precesja i ruchy własne (12)
- Testowanie dopasowania prostej metodą najmniejszych kwadratów (10 - 14)
Tematy nieastronomiczne:
- Gra w kółko i krzyżyk do 5 na planszy 19x19 (10 - 15)
- Wyliczenie pierwszych 200 cyfr liczby e lub π (12)
- Czterodziałaniowy kalkulator o dowolnej precyzji (15)
- Gra w numerki (8)
- Grafika - wypełnianie dowolnego wielokąta (12)
- Grafika - własna biblioteka graficzna (10-15)
- Gra LIFE (8 - 12)
- Korekta ortograficzna tekstu polskiego (10 - 15)
- Grafika - obroty trójwymiarowej bryły (12 - 15)
- Gra Mu-Torere ( http://www.lutanho.net/play/mutorereshisima.html )
- 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/
- http://www.moshier.net/
- http://astro.if.ufrgs.br/trigesf/position.html
- http://aa.quae.nl/en/antwoorden/