Programowanie proceduralne copyright: M. Dwornik
IIr Informatyki Stosowanej 2012/2013 dwornik@geol.agh.edu.pl
Opisy Projektów
1 Uwagi wstępne
1. Projekty mają być przetestowane przy użyciu kompilatora gcc dostęp-
nego na serwerze geologa lub dev-C++.
2. Do każdego projektu ma być napisane sprawozdanie zawierające opis
funkcji, cel i ewentualny szkic teoretyczny;
3. Obowiązuje zakaz używania zmiennych globalnych;
4. Projekt oddawany jest przez całą grupę osobiście;
5. Grupa mają być maksymalnie czteroosobowe;
6. Każdy projekt jest rozwiązywany tylko przez jedną grupę (proszę się
podzielić jakoś między sobą)
7. Termin oddania (do 10.02.2013 - max. 10pkt, do 24.02.2013 -
max. 6 pkt, po 24.02.2013 - projekt nie zaliczony).
2 Opisy projektów
2.1 Macierz rzadka
Napisz program obsługujący macierz rzadką (macierz, której większość ele-
mentów jest równa zero, a macierz przechowywana jest w formie współrzęd-
nych punktów niezerowych wraz z wartością). Program ma:
" Wczytywać macierz pełną z pliku i konwertować ją na macierz rzad-
ką (zapisywaną w postaci współrzędnych punktów niezerowych wraz z
wartościami) i odwrotnie;
" umożliwiać wykonywanie podstawowych operacji na macierzach rzad-
kich (dla uproszczenia przyjmijmy, że tylko dwóch), takie jak dodawa-
nie, mnożenie, liczenie śladu, transpozycja, odwracanie;
" zapisywać wyniki do pliku.
2.2 Efekt grawitacyjny 2D
Napisz program, który dla rozkładu prostych figur (koło, prostokąt) o zadanej
anomalii gęstościowej. Program ma:
" Wczytywać z pliku parametry obiektów (położenie, kształt i wartość
anomalii)
" sprawdzać czy obiekty na siebie nienachodzą
" Obliczać wartości anomalii siły ciężkości w punktach równomiernie roz-
łożonych (definiowanych poprzez punkt początkowy, krok i ilość punk-
tów)
" Zapisywać wyniki do pliku
1
Programowanie proceduralne copyright: M. Dwornik
IIr Informatyki Stosowanej 2012/2013 dwornik@geol.agh.edu.pl
2.3 Sejsmika
Napisz program, który dla ośrodka płaskorównoległego będzie obliczał hodo-
grafy sesjmicznej fali podłużnej. Ośrodek jest definiowany poprzez głębokość
granicy oraz prędkość w warstwie nad granicą (dodatkowo należy podać pręd-
kość ostatniej warstwy o nieskończonej miąższości). Ograniczyć maksymalną
ilość warstw do 4. Program ma:
" wczytywać z pliku parametry modelu oraz położenia odbiorników
" dla zadanych punktów obliczać czas przyjścia fali (uwzględnić fale bez-
pośrednie, odbijające i refrakcyjne)
" wyniki zapisywać do pliku.
2.4 Kryptografia
Napisz własny program szyfrujący i deszyfrujący:
" oparty o tablice szyfujące (jednoczesne przestawianie i przesuwanie zna-
ku o wartość w tabeli)
" oparte o hasło (algorytm XOR).
Program ma obsługiwać polskie znaki.
2.5 Kryptologia
Napisz program szukający przesunięcia w szyfrze Cezara na zasadzie analizy
częstości. Program ma obsługiwać alfabet polski (w tym polskie litery) i
angielski.
2.6 Histogram kątów i długości
Napisz program, który dla zbioru prostych zadanych poprzez współrzędne
punktów początkowych i końcowych (plik), tworzy histogram kątów biegu i
długości prostych przecinających zadany z klawiatury prostokątny wycinek
powierzchni. Program ma zapisywać do osobnego pliku tylko te proste, który
mają choć jeden punkt wspólny z zadanym prostokątem.
2.7 Jestem normalny czyli rzecz o rozkładzie Gaussa
Napisz program, który dla zadanych zbiorów danych:
" sprawdza czy liczby w poszczególnych kolumnach opisane są rozkładem
normalnym (test Kołmogorowa-Smirnowa dla istotności 0.01 i 0.05);
" jeżeli spełniony jest warunek normalności rozkładu, sprawdza czy śred-
nie z danych w poszczególnych kolumnach różnią się istotnie;
2
Programowanie proceduralne copyright: M. Dwornik
IIr Informatyki Stosowanej 2012/2013 dwornik@geol.agh.edu.pl
" jeżeli spełniony jest warunek normalności rozkładu, sprawdza czy wa-
riancje z danych w poszczególnych kolumnach różnią się istotnie;
" oblicza podstawowe statystyki opisowe: minimum, maksimum, media-
na, odchylenie standardowe.
2.8 Powrót do macierzy
Napisz program, który dla macierzy kwadratowej wczytanej z pliku:
" Dokonuje odwrócenie macierzy metodami dekompozycji LU, QR i eli-
minacji Gaussa;
" Liczy wartości własne macierzy;
" Liczy wyznacznik macierzy;
2.9 Pola figur
Dana jest figura o N wierzchołkach. Napisz program, który:
" wczytuje z pliku współrzędne wierzchołków;
" oblicza pole, obwód oraz środek ciężkości zadanej figury;
" sprawdza wypukłość figury;
" oblicza punkty przecięcia brzegu z prostą o zadanej z klawiatury para-
metrach a,b (y=ax+b);
" Posiada opcję dodania lub odjęcia wierzchołka na zadanej pozycji i
wykonania zadań powyższych.
2.10 Kryształy
Projekt dla grupy 2 osobowej.
Napisz program tworzący plik *.amc na podstawie pliku *.cif. Pary plików są
do pobrania na stronie:http://rruff.geo.arizona.edu/AMS/amcsd.php.
Przetestować wyniki na podstawie kalcytu (calcite), mimetytu (mimetite),
Wanadynitu (vanadinite) i piromorfitu (pyromorphite). Nazwa pliku wejścio-
wego ma być podana z klawiatury, nazwa pliku wyjściowego ma się różnić
tylko rozszerzeniem.
2.11 Gra w życie
Napisz symulację do "Gry w Życie" dla pola o zdefiniowanych przez użyt-
kownika rozmiarze (ilości komórek). Zasady gry są następujące:
" Na początku gry wypełniamy komórki liczbami całkowitymi z zakresu
0-8
" W pojedyńczej iteracji zwiększamy wartość losowej komórki o jeden
3
Programowanie proceduralne copyright: M. Dwornik
IIr Informatyki Stosowanej 2012/2013 dwornik@geol.agh.edu.pl
" Komórka propaguje na zewnątrz po ośmiosąsiedztwie (sąsiedzi po ścia-
nie i po narożniku), gdy jej wartość osiągnie 8 (a jej wartość jej zero-
wana).
" Dla każdej iteracji ma być policzona ilość komórek, które uległy relak-
sacji.
2.12 Zbiór Julii
Projekt dla grupy 2 osobowej.
Napisz program, który dla kwadratowej tablicy o dowolnym rozmiarze wy-
pełnia ją zgodnie z równaniem:
2
Zk+1 = Zk + C (1)
Punkt początkowy, ilość iteracji oraz wartość stałejCwczytany z klawiatury.
Wynik należy zapisać do pliku w formie obrazu. Wybór rodzaju pliku obrazu
należy do autorów projektu (np. biblioteka netPBM) i można korzystać (tylko
przy konwersji tablicy 2D na plik obrazu) z gotowych rozwiązań.
2.13 Interpolacja 2D
Napisz program, który na podstawie pliku ze współrzędnymi (x, y, z) tworzy
siatkę o zadanym rozmiarze. Wartości w oczkach siatki mają być obliczone
z wykorzystaniem metody wagowania przez odwrotny kwadrat odległości
(IDW) oraz w oparciu o metodę najbliższego sąsiada (NN). Wynik ma być
zapisany zarówno w formie tabeli tekstowej, jak i w formie pliku graficznego
(zasady jak w 2.12).
2.14 Trzy łyki geografii
Napisz program, który dla współrzędnych geograficznych zapisanych w pliku
tekstowym (ilość punktów nieznana) będzie obliczał dla każdej pary różnych
punktów:
" odległość po łuku, przy założeniu, że Ziemia jest kulą
" różnicę czasu pomiędzy górowaniami słońca nad tymi punktami
" różnicę czasu strefowego pomiędzy tymi punktami.
Do przechowywania wyników obliczeń należy zastosować macierze trójkąt-
ne i struktury. Wyniki mają być zapisane do pliku o nazwie podanej przez
użytkownika.
2.15 Mój pomysł na projekt
Program, który zawsze chcieliście napisać, ale jakoś brakowało czasu. Temat
i zakres projektu wysłać do zatwierdzenia lub odrzucenia. Kilka grup może
wymyśleć swoje własne pomysły (każdy inny).
4
Wyszukiwarka
Podobne podstrony:
2012 11 05 Rozp MSW umundurowanie policjantów projektprojekt scrz aktualny 2001 2012Temat projekt wiązar dachowy 2012 13Planowanie i projektowanie terenów zieleni wyjład 1 (30 09 2012)2012 02 21 tematy Seminarium i projektów ETHPROJEKTOWANIE BADAN zadania DOBOR PROBY 2012Projekty oczkowo węzłowe na Lab MN 2012Projekt budżetu na 2012 województwa pomorskiegoWBiA IBN 7 2 2012 dane do projektutematy projektów 2012most kratowy projekt 2012 poprawki 22012 04 25 Rozp MTBiGM w sprawie szczegółowego zakresu i formy projektu budowlanegoid 755WBiA IBN 7 1 2012 dane do projektuwięcej podobnych podstron