Moje programy |
HV, BT Źródła |
Hyper View | spis treści |
...::: POBIERZ HYPER VIEW :::...
|
Boot Time | spis treści |
...::: POBIERZ BOOT TIME :::... |
Źródła | spis treści |
ZIP 202 kB - Win9x - Delphi 4 ...::: POBIERZ INTERPOLATE! :::... Program jest wykonany w Delphi 4 i umożliwia interaktywną interpolację w czasie rzeczywistym. Optyka - Interface graficzny w TP ZIP 262 kB - DOS - TP7 ...::: POBIERZ OPTYKA :::... Chciałem napisać jakiś uniwersalny interface graficzny, lecz z powodu braku czasu, a także sensu, interface jest dość mało elastyczny i uniwersalny. Z pewnością zastosowane w nim rozwiązania nie są rewelacyjne. Jednak na pewno warto program ściągnąć i obejrzeć. Dołączyłem konwerter plików PCX na 16C, które interface potrafi wczytywać. 'Engine' obsługuje także dane tekstowe we własnym formacie XT, zezwalającym na sterowanie czcionką, jej wielkością i kolorem... Pakiet 'Programiki' - zawartość opisana niżej ZIP 80 kB - DOS - TP7 ...::: POBIERZ PROGRAMIKI :::... Kod jednostronny, kodowanie haseł Kod jednostronny stosowany jest do kodowania haseł. Używają go między innymi takie systemy operacyjne jak UNIX. Cała zabawa polega na tym, by stworzyć procedurę kodującą ciąg znaków (hasło). Procedura ta musi jednak być tak skonstruowana, by nie dało się odwrócić jej działania. Czyli tak, żeby nawet ktoś znający nasz sposób kodowania nie mógł odkodować hasła. Program stworzony przeze mnie jest dość prosty lecz skuteczny :) Jedyny zarzut jaki usłyszałem pod jego adresem tyczył się jego dość szybkiego działania. Tak, tak, to wbrew pozorom prawda. Jedyną bowiem metodą poznania hasła jest kodowanie wszystkich kombinacji znaków i porównywanie ich z zakodowanym wcześniej hasłem. I teraz już łatwo się domyślić, że im wolniej hasło jest kodowane, tym wolniej będzie działał program łamiący hasło. W przypadku haseł unixowych dość znanym programem łamiącym jest John The Ripper, który z plikiem passwd (względnie shadow) potrafi czynić cuda :) Tablicowanie funkcji trygonometrycznych Każdy kto programuje choć troszkę, wie, jak ważne i często wykorzystywane są funkcje trygonometryczne. Te najbardziej potrzebne to Sin i Cos stosowane do obrotów i wyliczania rozmaitych efektów. Od razu przychodzą na myśl efekty graficzne, lecz Sinus i Cosinus pomagają także w syntezie dźwięku itd. Stąd też zachodzi potrzeba jak najszybszego otrzymywania wartości funkcji trygonometrycznych. Udostępniony tu przeze mnie program potrafi stablicować funkcje Sin i Cos przy inicjaji programu i potem na żądanie udostępnia gotowy już wynik. Nie jest to jednak tak proste jakby się mogło wydawać. Dla żadanego kąta (w radianach) trzeba wyliczyć, pod jakim indeksem w tablicy znajduje się wartość funkcji. I to właśnie od sposobu w jaki otrzymuje się indeks, zależy w głównej mierze szybkość podania wyniku. W moim programie zastosowałem wszelkie możliwe tricki, by wyliczenie było w miarę szybkie. Na szybkość moich funkcji wpływa ustawienie dyrektyw $N i $E oraz fakt, czy przed wyliczeniem indeksu program sprawdza poprawność argumentu pod względem zakresu. Jeden z zastosowanych tricków polega na mnożeniu przez odwrotność zamiast na dzieleniu, co dość pomaga. Dokładność obliczeń definiuje się za pomocą stałej. Standardowa dokładność wynosi 0.0075 radiana, co oznacza, że wartość funkcji Sin i Cos była próbkowana 839 razy (co 0.0075 rad). Przy takiej dokładności tablice zajmują 10068 bajtów. Dynamiczna kolejka objektów Prosty program zorientowany objektowo. Przykład dynamicznego zorganizowania objektów znajdujących się na ekranie. Program sprawdza kolejkę objektów, by zorientować się nad jakim polem jest kursor myszki. Podstawową trudnością jest poprawna obsługa dynamicznej struktury, tzw. kolejki (FIFO). Mnożenie z nieograniczoną ilością cyfr w wyniku Kiedyś z kumplem (dzięki Paulus) znaleźliśmy w gazecie algorytm na coś jakby pisemne mnożenie... Hmm - jakie zastosowanie??? Można dzięki temu obliczać silnie i potęgi bardzo dużych liczb i to ze 100% dokładnością. Wyniki mogą mieć nawet kilka tysięcy cyfr! Algorytm ubrałem w skromny interface, więc każdy może zobaczyć, jak to działa. ArcTg: "naprowadzanie na cel" Gdy na lekcji matematyki (bodajże 3 klasa liceum) usłyszłem o ArcusTangensie, od razu wiedziałem, że to da się praktyczie wykorzystać. Powstał bardzo prosty programik: kreska (a'la speedway) goni kursor myszki. Polecam więc ściągnąć i zobaczyć. Dla zaciętych może być to podstawa do zrobienia jakiejś gierki ;) |