to get the file

Transkrypt

to get the file
Podstawy Programowania 2
Tematy projektowe
mgr inż. Leszek Ciopiński
1. Rozwiązanie problemu komiwojażera algorytmem genetycznym
a) Wczytywanie mapy miast z pliku
b) Możliwość dobierania parametrów (liczebność pokolenia, liczba mutacji, krzyżowań,
pokoleń)
2. Walidator plików XML na podstawie dołączonego pliku DTD.
a) Wczytywanie odpowiednich plików
b) Wskazywanie miejsca błędów, jeżeli występują. Możliwość nawigacji po takich
miejscach.
3. Łamanie prostego szyfru podstawieniowego metodą analizy językowej.
a) Wczytywanie tekstu do złamania z pliku
b) Weryfikacja poprawności łamania tekstu przy pomocy słownika.
4. Gra w statki z komputerem
a) Komputer sam losuje miejsca ukrycia statku
b) Możliwość wczytania planszy użytkownika z pliku lub edycja w okienku.
c) Komputer musi działać logicznie – jeżeli znajdzie jakiś statek, powinien starać się go
zatopić.
d) Program powinien prowadzić statystyki skuteczności dla różnych graczy.
5. Gra Pro Gomoku z komputerem
a) Użytkownik może zdecydować, czy gra pionkami czarnymi czy białymi.
b) Możliwość zapisania gry i jej wznowienia.
6. Napisać program, który będzie generował funkcję w języku Pascal, realizującą zadaną
funkcję matematyczną.
a) jako dane wejściowe program będzie przyjmował ciąg z zapisaną funkcją i tablicą o
dowolnej długości z danymi do obliczeń.
b) obliczenia muszą być wykonywane zgodnie z zasadami matematyki (np. mnożenie ma
pierwszeństwo nad dodawaniem)
c) program ma obsługiwać funkcje: dodawanie, odejmowania, mnożenia, dzielenie,
potęgowanie, pierwiastkowanie, sumowanie (od, do), min (od, do), średnia (od, do)
d) do programu musi być dołączony schemat programu testującego utworzony kod.
7. Edytor tekstu w formacie RTF.
a) Edytor musi obsługiwać zapis i odczyt z pliku. Dopuszczalna jest edycja kilku
dokumentów jednocześnie.
b) Sprawdzanie poprawności ortograficznej. Nawigowanie po błędach i podpowiedź
prawidłowego rozwiązania.
c) Możliwość edycji stylu (pogrubienie, kursywa itd.)
d) Możliwość osadzania obrazów.
e) Opcja wyszukiwania może sprawdzić zarówno tylko aktywny, jak i wszystkie otwarte
pliki.
8. Gra Mikro Shōgi.
a) Możliwość zapisania bieżącego etapu rozgrywki i jej wznowienie w późniejszym czasie.
b) Możliwość rozgrywek: człowiek-człowiek, człowiek-komputer i komputer-komputer
c) Program ma podpowiadać użytkownikowi dozwolone ruchy danym pionkiem.
9. Gra labirynt.
a) Możliwość tworzenia nowych poziomów i ich zapisywanie oraz odczytywanie z pliku.
b) Umieszczenie w labiryncie pułapek, np.: Minotaur goniący zawodnika, brama otwierana
po zdobyciu klucza itp.
c) Punktacja zliczająca wynik gry dla różnych graczy.
10. Analizator kodu języka Pascal
a) Program ma odnajdywać w plikach źródłowych zapisanych w jednym folderze te same
fragmenty kodu.
b) Program ma zauważać podobieństwo typu: a:=b+c jest tożsame z tmp:=tmp1+tmp2, pod
warunkiem, że kilka kolejnych linii kodu jest zgodnych poza nazwą zmiennej.
c) Program ma wyświetlić podsumowanie – które pliki są najbardziej, a które najmniej
zgodne.
11.
Tematy własne – zaproponowane przez studentów (wszystkie są już zarezerwowane)
A. Słownik wielojęzyczny. Słownik zawierałby takie rzeczy jak:
I. -dodawanie słowa;
II. -usówanie słowa;
III.
-edycję słowa (po wprowadzeniu błędnego słowa można będzie je edytować);
IV.-tłumaczenie słowa;
V. -ewentualnie tłumaczenie wprowadzonego tekstu;
VI.
Słownik umożliwiałby operację na plikach. Zawierałby kilka języków. Każdy
słownik byłby umieszczony w osobnym pliku. Np. będzie można wykonywać powyższe
operacje z polskiego na angielski i odwrotnie.
B. Domino węgierskie
C. Arkanoid z edycją poziomów i rankingiem graczy
D. Gra w karty „Pan”
I. Gra użytkownik – komputer. Strategia wyboru nie może być oczywista.
II. Prowadzenie rankingu najlepszych graczy.
E. Gra typu „Snake”
I. Kilka poziomów trudności
II. Edytor poziomów
III.
Plansze wczytywane z plików
IV. Tunel
V. Zapisywanie wyników (ranking)
VI.
Przedmioty przyspieszające, spowalniające węża.
F. Gra typu „Milionerzy”
I. Co najmniej 4 koła ratunkowe (podpowiedzi komputera nie mogą być oczywiste (np.
pytanie do publiczności dające zawsze prawdziwą odpowiedź jest niedopuszczalne))
II. Możliwość wstrzymania gry i jej wznowienia z pliku.
III. Ranking najlepszych graczy
G. Aplikacja działająca jak elektroniczna książka kucharska.
I.
- Podawane są składniki, a w wyniku otrzymujemy potrawę.
II.
- Możliwe jest również działanie odwrotne tzn. podajemy potrawę otrzymujemy
składniki.
III.
- W przypadku gdy brakuje składników do stworzenia potrawy uzyskujemy podpowiedz
IV.
- Całość oparta jest o bazę danych mysql.
V.
- Przy każdej potrawie będą umieszczone takie dane jak kalorie, czas przygotowania, typ
posiłku.
H. Aplikacja sklep ułatwiającą prowadzenie sklepu. Aplikacja powinna posiadać następujące
funkcje:
I.
* sprawdzenie stanu magazynowego towarów,
II.
* zakup / sprzedaż towaru, rozliczenia
III.
* zapis i odczyt stanu magazynowego
IV.
* powiadamianie o brakach towaru, gdy jego ilość jest mniejsza od ustalonej wartości
granicznej.
V.
* przechowywanie i edycja listy klientów i dostawców
I. Program do nauki słówek
I.
-nauka poprzez powtarzanie aż do utrwalenia słownictwa
II.
-bazy tematyczne słownictwa
III.
-testy z danego działu oraz z całości materiału
IV.
-testy typu „wstaw odpowiedni wyraz”
V.
-statystyki postępów w nauce
VI. -obsługa wielu użytkowników
VII. -porównanie postępów użytkowników
VIII. -możliwość tworzenia własnych zestawów słówek
IX. -przystosowanie programu do obsługi wielu języków
J. gra monopoly
I.
-Gra będzie działać
II.
-będzie dostępny tryb multiplayer
III.
-interfejs graficzny będzie przyjazny dla użytkownika
IV.
możliwość gry człowiek-komputer
K. Gry karciane Blackjack, Kuku, Wojna, Pinkerton:
I.
gra użytkownik-komputer,
II.
prowadzenie rankingu najlepszych graczy,
III.
możliwość wstrzymania gry i jej wznowienia,
IV.
pomoc dotycząca zasad każdej z gier.
L. Gra Pacman rozszerzona o elementy gry Bomberman
M. Gra typu "Space shooter" :
I.
Ranking ,
II.
Przeciwnicy będą poruszali się po losowych liniach.
N.