Pomoc przy projektach C++

0

Witam. Potrzebuję pomocy przy projektach z C++. Muszę napisać przynajmniej 3 programy i nie bardzo wiem jak się za nie zabrać. Bardzo proszę o jakiekolwiek wskazówki jak zacząć i gdzie ewentualnie szukać materiałów pomocnych w rozwiązaniu zadań. Oto polecenia:

**Zadanie 1 - zachłanne przeszukiwanie stanów **
Zaproponować abstrakcyjny interfejs dla klas reprezentujących stany. Stan tutaj jest rozumiany jako węzeł
w grafie skierowanym, który ma powiązania do węzłów potomnych i do węzła rodzicielskiego. Najważniejsze
metody tej klasy są następujące:
• badanie, czy węzeł jest stanem końcowym,
• operator porównania,
• generowanie stanów następnych (tworzenie potomków).
Zaimplementować następujące algorytmy przeszukiwania grafów (wykorzystujące powyższy interfejs): wgłąb,
wszerz, od końca (dokładniejsze wyjaśnienie algorytmów - ustnie).
Wykorzystując powyższe klasy i algorytmy napisać program, który rozwiązuje zadanie przelewania.
Zadanie przelewania: W jaki sposób można uzyskać pojemność C płynu, przy użyciu naczyń o pojemnościach A
i B (A, B, C są całkowite)? Można dowolnie dolewać, wylewać, przelewać płyn.

**Zadanie 3 - komenda dla edytora **
Napisać prosty edytor dla gry przygodowej. Gra taka składa się z pomieszczeń, zawierających przedmioty, które
są połączone ze sobą. Edytor pozwala na następujące operacje:
• operacje edytorskie:
o dodawanie, usuwanie pomieszczeń, tworzenie połączeń (przejść) pomiędzy pomieszczeniami.
o dodawanie, usuwanie przedmiotów w danym pomieszczeniu
o wycofania wcześniejszej operacji (dowolna liczba zagłębień);
• możliwość poruszania się na aktualnej planszy: proste operacje przechodzenia do kolejnych
pomieszczeń oraz wyświetlanie znajdujących się tam przedmiotów,
• zapis planszy do pliku, odczyt planszy z pliku.
Wykorzystać wzorzec projektowy komendy (Command, patrz np. wikipedia
http://en.wikipedia.org/wiki/Design_pattern ). Komenda pozwala między innymi na tworzenie kolekcji
wykonanych operacji, co można wykorzystać np. do wycofywania operacji (undo).

**Zadanie 4 - kompozycja i XML **
Napisać edytor pozwalający obrabiać dokumenty o strukturze hierarchicznej, np. uproszczone dokumenty XML-
owe (w razie potrzeby dostarczę opis formatu). Edytor pozwala na następujące operacje:
• dodawanie, usuwanie elementów, atrybutów,
• modyfikacja elementów: dodawanie, usuwanie podelementów, zmiana tekstu,
• zapis do pliku, odczyt z pliku.
Wykorzystać wzorzec projektowy kompozycji (Composite, opisany np. w wikipedii
http://en.wikipedia.org/wiki/Design_pattern ). Wzorzec ten pozwala reprezentować drzewiaste struktury
obiektów.

**Zadanie 5 - uczenie się gry **
Zaimplementować program uczący się grać w kółko i krzyżyk (plansza 6 na 6). Program powinien
przechowywać drzewo gry i powinien „uczyć się na błędach”, tzn. w przypadku przegranej eliminować
niewłaściwe ścieżki.
Aby zmniejszyć rozmiar drzewa należy wykorzystać wzorzec proxy (opisany np. na stronie
http://en.wikipedia.org/wiki/Design_pattern), który pozwala na „leniwe” tworzenie obiektów.
Program powinien przechowywać zdobytą wiedzę w pliku (najlepiej, gdy zapisuje drzewo gry po otrzymaniu
polecenia zapisu od użytkownika). Powinna być możliwa gra z użytkownikiem oraz trening (gra z „trenerem” –
sztucznym przeciwnikiem, który gra losowo).

**Zadanie 7 – Rozsypanka **
Na podstawie danych znajdujących się w pliku test.txt podać oryginalną treść dokumentu tekstowego. Tekst
wzorcowy został wielokrotnie pocięty na kawałki, które zostały wymieszane a następnie ponumerowane i
umieszczone w pliku test.txt.
Wiemy, że pierwszy wiersz pliku zawiera pierwszą sekwencje startową dokumentu wzorcowego. Wycięte
sekwencje wyrazów mogą się na siebie nakładać, powielać lub w inny sposób wchodzić z sobą w relacje.

Przykład niech będzie następujący tekst: (gdzie litery odpowiadają wyrazom)

abcdefghi

Po pocięciu możemy otrzymać następujące sekwencje
abcd cdefgh bcd def efghi

Brak jakiś dodatkowych założeń odnośnie rozwiązanie. Plik w załączniku.

Z góry dziękuję za pomoc.

1

Dzial praca jak zawsze zaprasza. Takich zadan w zyciu nikt Ci z forum nie zrobi za darmo. Jedynie mozemy pomoc, takiego lenistwa i szukania frajera, ktory za free zrobi tutaj nie lubimy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1