Programy, Programiki
Aktualnie na stronie: 1. Przetwarzanie równoległe i rozproszone 2. Metody i aplikacje sztucznej inteligencji 6. Klient i Serwer z własnym protokołem. 7. Sprzęt komputerowy - Wyświetlacz LCD. Przetwarzanie równoległe i rozproszone (C)1. Program realizujący mnożenie macierzy metodą klasyczną [.c] 2. Program realizujący mnożenie macierzy metodą blokową [.c] Metody i aplikacje sztucznej inteligencji (MATLAB)1. Program realizujący uczenie perceptronu prostego dla zadanego zbioru trenującego i kroku uczącego. 2. Sterownik rozmyty sterujący automatycznym hamowaniem samochodu (należałoby popracować nad wartościami przedziałów). [.m] 3. Program realizujący uczenie sieci neuronowej z jedną warstwą ukrytą metodą propagacji wstecznej. Programowanie HTML i XML - dokument XML z XSLT i CSSPlik XML zawiera kilka rekordów opisujących książki lub artykuły:
Element book opisuję konkretną książkę w drzewie books (książek), natomiast w każdej książce (biblio) może znajdować się nieograniczona liczba egzemplarzy (items) z własnym niepowtarzalnym numerem inwentarza oraz miejscem "przebywania". Tak przygotowany dokument zawiera odwołanie do arkusza stylów XSLT: <?xml-stylesheet type="text/xsl" href="wyglad.xsl"?> gdzie zostało ustalone rozmieszczenie elementów na stronie, w wyniku czego otrzymujemy tabelke z kolejnymi rekordami:
Struktury danych - programy napisane na laboratoriach (C++)1. Uporządkuj kolejkę Q mając do dyspozycji stos TS i kilka zmiennych. [.cpp] 2. Należy napisać program, który wyznaczy część wspólną 2 zbiorów (A i B), kazdy z tych zbiorów zapisany jest w liście 3. Napisz program który zbuduje drzewo dla wyrażenia przedstawionego w notacji prefiksowej, obliczy wartość tego wyrażenia przechodząc przez utworzone wcześniej drzewo. [.cpp] 4. Napisz program, który będzie realizował funkcję na strukturze kopcowej zorientowanego na minimum. [.cpp] Przyklad z cwiczen: Wynik: [L0=2]L>[L1=5]L>[L2=12]L>[L3=30]R>[L3=22]R>[L2=6]L>[L3=10]R>[L3=40]R>[L1=8]L>[L2=9]L>[L3=34]R>[L3=28]R>[L2=18] Ostatni element o wartosci:28 Ktory element usunac (wartosc tego elementu -jesli takie same pierwszy znaleziony zostanie usuniety): Wynik: [L0=2]L>[L1=5]L>[L2=12]L>[L3=30]R>[L3=22]R>[L2=10]L>[L3=28]R>[L3=40]R>[L1=8]L>[L2=9]L>[L3=34]R>[L2=18] 5. Napisz program, który obliczy minimalne drzewo spinające na podstawie grafu. [.cpp] Przyklad z laboratoriow: Programowanie obiektowe - programy napisane na laboratoriach (C#)1. Laboratorium 1 - Podstawy obiektowości [.cs] 2. Laboratorium 2 - Podstawy obiektowości II [.cs] 3. Laboratorium 3 - Tablice [.cs] 4. Laboratorium 4 - Kolekcje i interfejsy [.cs] 5. Laboratorium 5 - Dziedziczenie [.cs]
Protokoły w sieciach komputerowych i telekomunikacyjnych - ProjektKlient i Serwer z własnym protokołemWygląd programu klienckiegoWygląd serwera obsługującego klienta
Ogólna zasada działania. Na początku zostaje uruchomiony serwer, który czeka na klienta. Po wysłaniu ramki "HELO" przez klienta następuje nawiązanie połączenia (serwer dopisuje klienta do listy).W kolejnym etapie serwer czeka na żądania klienta, wysyłając o ustalony czas ramkę PING, aby zweryfikować czy klient dalej "żyję". Jeśli klient nie odpowie na ramkę serwer usuwa z listy tego klienta. Klient może wysłać komendę tekstową lub dane binarne, z tym, że dane binarne muszą być poprzedzone komendą tekstową, aby serwer wiedział, po co mu dane binarne. Natomiast serwer po wydaniu komendy przez klienta może od razu wysłać dane binarne jak to jest w powyższym przykładzie. Po zakończeniu współpracy klienta z serwerem, klient wysyła ramkę rozłączeniową. Na co serwer usuwa go z listy i czeka na kolejnego klienta. W przypadku większych danych są dzielone na osobne ramki (max. 999 ramek). Narzędzia. Program klient i serwer został wykonany w Borland Builder 6 z użyciem standardowym komponentów.
Sprzęt Komputerowy - ProjektWyświetlacz LCD
Wygląd programu obsługującego wyświetlacz LCD zgodny z HD44780
Projekt napisany w Borlandzie Builderze 6, jego kod źródłowy przedstawia się następująco:
Zasada działania LCDShowProgram jest bardzo prosty, do komunikacji z wyświetlaczem potrzebuje pakietu PortIO, dzięki niemu odwołuje się bezpośrednio pod Windowsem XP do portu. Program umożliwia wyświetlenie aktualnej daty (aktualizowanej w trybie rzeczywistym) oraz wybranego tekstu na wyświetlaczu LCD. Sprzęt Komputerowy - ProjektBenchmark RozproszonyWygląd serwera zbierającego fraktale z klientów:Wygląd klienta tworzącego i wysyłającego fraktal:Projekt napisany w Borlandzie Builderze 6, jego kod źródłowy przedstawia się następująco:Tester.cppKlient.cppZasada działania benchmarkaZasada działania całego benchmarka jest bardzo prosta, każdy klient komunikuje się z wątkami komunikacyjnymi, a nie bezpośrednio z serwerem co odciąża serwer od odbierania danych (które np. przy fraktalu 800x600 zajmują 800x600x3+9 bajtów) i innych "mniej ważnych problemów". Serwer zajmuje się jedynie odbieraniem od wątków informacji o nowych klientach, przesłanym fraktalu, oraz wysyłaniem kolejnych fraktali do obliczenia przez klienty. W każdej chwili może przyłączyć się nowy klient do listy.. Natomiast w tej wersji nie przewidziano możliwości bezkonfliktowej rezygnacji klienta. Nie został zaimplementowany mechanizm radzenia sobie w sytuacji braku odpowiedzi klienta na fraktala, sewer będzie czekał aż do skutku tzn. do odberania wszystkich "zleconych" klientom fraktali. Wątki komunikacyjne rozpoznają co mają "robić" po zweryfikowaniu pierwszego otrzymanego bajta z klienta i tak: "N" - zgłoszenie się nowego klienta "F" - klient wysyła fraktala "Q" - klient zgłasza żądanie zdjęcia z listy dostępnych klientów (odłączanie)
Wątki komunikacyjne wiedzą ile mają odebrać danych dzięki przesyłaniu na początku string'a o długości 20 znaków zawierającego długość danych do odebrania w bajtach. Klienty wysyłają fraktale w formacie: pierwsze 4 bajty zawierają w stringu numer klatki (tak więc max'ymalnie 9999 klatek), kolejne 4 bajty zawierają w stringu czas obliczeń fraktala (max 9999 milliseconds), a kolejne bajty zawierają już wygląd fraktala w formacie RGB.
| |||||||||||||||||||||||||||||||||||