Programowanie w C (programowanie dla astronomów II) 2017/2018
Zasady zaliczenia
Wyniki zadań domowych oraz zadań z ćwiczeń będą na bieżąco uzupełniane w USOSie. Tam też na końcu semestru znajdzie się ocena końcowa z ćwiczeń.
Zadania z ćwiczeń
Zadania z ćwiczeń są punktowane. Te, których student nie zdążył zrobić w trakcie ćwiczeń, stają się zadaniami domowymi. Powinny być przesłane zgodnie z opisem poniżej w ciągu tygodnia, czyli najpóźniej przed kolejnymi ćwiczeniami.
Zadania domowe - projekty
W trakcie semestru zadane zostaną trzy większe zadania domowe - projekty. Program będący rozwiązaniem powinien się kompilować na dowolnym komputerze w OA. Kody należy przesyłać na mój adres mailowy:
ajacyszyn@astrouw.edu.pl w terminie podanym przy danym zadaniu. Przesłanie zadania po terminie jest równoznaczne z nieprzesłaniem go wcale.
W przypadku jakichkolwiek problemów zachęcam do kontaktowania się ze mną :)
Wskazówka - jak sprawdzić, czy program kompiluje się na komputerze w OA: Przygotowany w domu kod należy przekopiować do swojego katalogu w OA (załóżmy, że jest to /home/stud/nazwa_uzytkownika/programowanie_c) za pomocą polecenia:
scp sciezka_do_kodu_w_domu/kod.f nazwa_uzytkownika@antares.astrouw.edu.pl:/home/stud/nazwa_uzytkownika/metody_numeryczne
Następnie logujemy się do OA:
ssh nazwa_uzytkownika@antares.astrouw.edu.pl
Powyższa komenda loguje nas na komputer Antares, na którym nie będziemy wywoływać żadnych programów (ten komputer służy do logowania). W związku z tym logujemy się na dowolny komputer z pracowni komputerowej:
rlogin nazwa_komputera
Teraz zmieniamy katalog na ten, w którym znajduje się przekopiowany z domu kod:
cd programowanie_c
I kompilujemy program za pomocą odpowiedniego kompilatora.
Aby połączyć się z Antaresem, adres IP użytkownika musi być w bazie danych. W razie niemożliwości połączenia się przez ssh, trzeba sprawdzić swój numer IP (np. wchodząc (z domu) na stronę https://www.whatismyip.com/ albo po prostu wpisując w wyszukiwarkę Google frazę "myip") i podać ten numer prof. Szymańskiemu lub dr. Jankowi Skowronowi.
Kolokwium
W trakcie sesji letniej odbędzie się kolokwium końcowe obejmujące cały zakres materiału. Kolokwium odbędzie się 27 czerwca w godz. 9
00-13
00 w Sali Kopernikańskiej OAUW.
Ocena końcowa z ćwiczeń
Wkład do wyliczenia końcowej oceny będą miały następujące elementy:
- zadania domowe - projekty: 25%;
- zadania z ćwiczeń: 25%;
- wejściówki: 10%;
- kolokwium końcowe: 40%.
Warunki konieczne zaliczenia
- Co najmniej 50% punktów z zadań domowych - projektów.
- Co najmniej 50% punktów z zadań z ćwiczeń.
- Co najmniej 50% punktów z kolokwium końcowego.
Wejściówki
Na zajęciach będą przeprowadzane wejściówki sprawdzające znajomość tematów zaprezentowanych na ostatnich wykładach.
Konsultacje
W przypadku jakichkolwiek pytań zachęcam do umówienia się na konsultacje lub do zadawania pytań drogą mailową:
ajacyszyn@astrouw.edu.pl.
Plan zajęć
Ćwiczenia 1: 2 marca. Tematyka: kompilacja, podstawowy program w C, styl tworzenia kodu i jego czytelność, komentarze, zmienne i ich typy, stałe, operatory.
Ćwiczenia 2: 9 marca. Tematyka: napisy, formatowanie wyjścia, operatory - powtórzenie.
Ćwiczenia 3: 16 marca. Tematyka: typ wyliczeniowy
enum, operatory c.d. - operacje złożone, priorytet operatorów, kolejność (łączność), więcej o operatorze przypisania wartości, operatorach logicznych, dwóch znaczeniach przecinka oraz nawiasów.
Ćwiczenia 4: 23 marca. Tematyka: instrukcja warunkowa
if, pętle
for,
while,
do while.
Wakacje wiosenne.
Ćwiczenia 5: 6 kwietnia (godz. 11:45-13:15). Tematyka: wprawianie się w tym, co było, instrukcje skoku
break,
continue.
Ćwiczenia 6: 13 kwietnia (godz. 11:45-13:15). Tematyka: reprezentacja liczb w komputerze w pigułce.
Ćwiczenia 7 + 8 cz. 1/2: 20 kwietnia (godz. 10:45-13:00). Tematyka: reprezentacja liczb w komputerze c.d., wypisywanie do pliku, rysowanie wykresów (tworzenie i wywoływanie skryptów do gnuplota w kodzie).
Ćwiczenia 8 cz. 2/2 + 9: 27 kwietnia (godz. 10:45-13:00). Tematyka: wczytywanie z pliku, napisy jako tablice, podstawy użycia tablic, wskaźniki.
Majówka. :)
Juwenalia.
Ćwiczenia 10: 18 maja (wykład 9:00-11:15, ćwiczenia 11:30-13:00). Temayka: tablice c.d., wskaźniki c.d., funkcje, macierze (tablice dwuwymiarowe).
Ćwiczenia 11 + 12 cz. 1/2: 25 maja (wykład 9:00-10:30, ćwiczenia 10:45-13:00). Tematyka: macierze c.d., sortowanie jako algorytm do zaimplementowania, wskaźniki do funkcji na przykładzie całkowania.
Wolne.
Ćwiczenia 12 cz. 2/2 + 13 cz. 1/2: 8 czerwca (wykład 9:00-11:15, ćwiczenia 11:30-13:00). Tematyka: struktury, unie, wskaźniki do struktur, typedef.
Ćwiczenia 13 cz. 2/2 + 14: 15 czerwca (wykład 9:00-10:30, ćwiczenia 10:45-13:00). Tematyka: powtórzenie wskaźników, dynamiczna alokacja pamięci, drzewo binarne, liczby pseudolosowe.
➤
Kolokwium końcowe: 27 czerwca godz. 9
00-13
00, Sala Kopernikańska OAUW.
Zadania domowe - projekty
Projekt 1 z 23 marca. Termin:
12 kwietnia 15 kwietnia godz. 2359.
Projekt 2 część A z 18 maja. Termin:
1 czerwca godz. 2359.
Projekt 2 część B z 18 maja. Termin:
7 czerwca godz. 2359.
➤
Projekt 3 z 15 czerwca. Termin: 28 czerwca godz. 23
59.
Przydatne linki itp.
Strona Janka Skowrona przedstawiająca podstawowe komendy linuksa:
http://www.astrouw.edu.pl/~jskowron/pracownia/komendy/.
Strona Marka Cieślara z poprzednich ćwiczeń w C:
http://www.astrouw.edu.pl/~mcie/ProgramowanieC.html.
Kolory do gnuplota:
http://jerkwin.github.io/pic/2014-04-06-gnuplot_color.png
https://www2.uni-hamburg.de/Wiss/FB/15/Sustainability/schneider/gnuplot/colors.htm