Programowanie funkcyjne/Tematy programów zaliczeniowych: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat: | Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat: | ||
* Wybrana(e) gry: | * Wybrana(e) gry i łamigłówki: | ||
** kółko i krzyżyk, | ** kółko i krzyżyk, | ||
** kółko i krzyżyk 3D, | ** kółko i krzyżyk 3D, | ||
Linia 15: | Linia 15: | ||
** domino, | ** domino, | ||
** kości, | ** kości, | ||
** | ** ScraMLe -- gra typu scrabble, | ||
** skrulki = scrabble + kulki, | |||
** Bullint (strzelanie), | |||
** turowa gra militarna, | |||
** gra typu WarCraft. | ** gra typu WarCraft. | ||
: Algorytmy wykorzystywane do tworzenia strategii w grach: | : Algorytmy wykorzystywane do tworzenia strategii w grach: | ||
Linia 24: | Linia 27: | ||
:* algorytmy genetyczne (do wyznaczenia funkcji oceniających), | :* algorytmy genetyczne (do wyznaczenia funkcji oceniających), | ||
:* metoda GLEM (szt. int.). | :* metoda GLEM (szt. int.). | ||
* Łamigłówki i algorytmy je rozwiązujące: | |||
** Sudoku, | |||
** obrazki logiczne. | |||
* Grafika: | * Grafika: | ||
** Fraktale: | ** Fraktale: | ||
Linia 48: | Linia 54: | ||
*** zmiennymi, przypisaniami, definicjami funkcji i wykresami, | *** zmiennymi, przypisaniami, definicjami funkcji i wykresami, | ||
*** zmiennymi, przypisaniami, definicjami funkcji i symbolicznym obliczaniem pochodnych. | *** zmiennymi, przypisaniami, definicjami funkcji i symbolicznym obliczaniem pochodnych. | ||
* Symulacje: | |||
** symulacja życia bakterii. | |||
* Struktury danych (z zastosowaniem funktorów): | * Struktury danych (z zastosowaniem funktorów): | ||
** Wielowymiarowe drzewa przedziałowe, | ** Wielowymiarowe drzewa przedziałowe, | ||
Linia 58: | Linia 66: | ||
* Implementacja algorytmów genetycznych i ich zastosowania: | * Implementacja algorytmów genetycznych i ich zastosowania: | ||
** funkcje oceniające w grach (--> Gry), | ** funkcje oceniające w grach (--> Gry), | ||
** znajdowanie | ** znajdowanie ekstremów funkcji. | ||
* System dowodzenia twierdzeń. | * System dowodzenia twierdzeń. | ||
* Generator parserów z wizualizacją. | * Generator parserów z wizualizacją. | ||
* Generator parserów uproszczonego XML'a w OCaml'u. | * Generator parserów uproszczonego XML'a w OCaml'u. | ||
* Wykrywanie niesamodzielnie napisanych programów. | * Wykrywanie niesamodzielnie napisanych programów. | ||
* Przetwarzanie strumieni danych: kompresja, szyfrowanie. | |||
* Wyszukiwanie podobieństw między plikami MP3. | * Wyszukiwanie podobieństw między plikami MP3. | ||
* Mikro-Enigma --- implementacja uproszczonej wersji Enigmy. | * Mikro-Enigma --- implementacja uproszczonej wersji Enigmy. | ||
* Szyfrowanie za pomocą RSA. | |||
* Wycena opcji w modelu dwumianowym. |
Aktualna wersja na dzień 12:08, 16 sty 2007
Oto przykładowe tematy programow zaliczeniowych z ubiegłych lat:
- Wybrana(e) gry i łamigłówki:
- kółko i krzyżyk,
- kółko i krzyżyk 3D,
- gomoku,
- szachy (końcówki),
- szachy,
- chińskie szachy Xiang Qi,
- reversi,
- hex,
- liero,
- Pylos,
- uproszczony backgammon,
- bilard,
- domino,
- kości,
- ScraMLe -- gra typu scrabble,
- skrulki = scrabble + kulki,
- Bullint (strzelanie),
- turowa gra militarna,
- gra typu WarCraft.
- Algorytmy wykorzystywane do tworzenia strategii w grach:
- mini-max,
- - obcięcie,
- drzewa and-or,
- różnorakie funkcje oceniające,
- algorytmy genetyczne (do wyznaczenia funkcji oceniających),
- metoda GLEM (szt. int.).
- Łamigłówki i algorytmy je rozwiązujące:
- Sudoku,
- obrazki logiczne.
- Grafika:
- Fraktale:
- iterowane przekształcenia liczb zespolonych (np. żółw Mandelbrota, zbiory Juli),
- opisywane przekształceniami afinicznymi,
- L-systemy,
- fraktale Newtona.
- Funkcyjnie reprezentowane obrazki i operacje na nich.
- Animowane obrazki funkcyjne (--> Interpretery).
- Ray-tracing.
- Wizualizacja i układanie kostki Rubika.
- Wyznaczanie możliwych ścian kryształów i ich wizualizacja.
- Wykresy 3D funkcji .
- Interfejs 3D dla szachów (--> Gry).
- Fraktale:
- Interpreter/semantyka języka programowania:
- Logo (uproszczone),
- imperatywnego języka programowania z mikrowątkami (semantyka kontynuacyjna),
- imperatywnego języka do obliczeń numerycznych,
- jezyka Tiny,
- język opisujący animowane obrazki funkcyjne,
- zintegrowany język zapytań,
- optymalizacja zapytań bazodanowych,
- kalkulator ze:
- zmiennymi, przypisaniami, definicjami funkcji i wykresami,
- zmiennymi, przypisaniami, definicjami funkcji i symbolicznym obliczaniem pochodnych.
- Symulacje:
- symulacja życia bakterii.
- Struktury danych (z zastosowaniem funktorów):
- Wielowymiarowe drzewa przedziałowe,
- Przeszukiwanie pełnotekstowe w oparciu o B-drzewa,
- Implementacja i wizualizacja drzew BST.
- Algorytm Dijkstry i kopiec dwumianowy.
- Tester struktur danych.
- Implementacja sieci neuronowej i jej zastosowania:
- rozpoznawanie cyfr pisanych odręcznie (OCR).
- Implementacja algorytmów genetycznych i ich zastosowania:
- funkcje oceniające w grach (--> Gry),
- znajdowanie ekstremów funkcji.
- System dowodzenia twierdzeń.
- Generator parserów z wizualizacją.
- Generator parserów uproszczonego XML'a w OCaml'u.
- Wykrywanie niesamodzielnie napisanych programów.
- Przetwarzanie strumieni danych: kompresja, szyfrowanie.
- Wyszukiwanie podobieństw między plikami MP3.
- Mikro-Enigma --- implementacja uproszczonej wersji Enigmy.
- Szyfrowanie za pomocą RSA.
- Wycena opcji w modelu dwumianowym.