Skocz do zawartości

[Mikrokonkurs] Bitowy ciurak ;)


Toster

Polecane posty

Tak tak kolejna propozycja na długie popołudnia pełne chmur i męczących kobiet ;)

 

Zadanie: napisać klasę dziedziczącą po TStream która umożliwia zapisywanie danych o określonym rozmiarze bitowym. Użytkownik sam definiuje rozmiar „słowa” w przedziale 1-8 bitów. Proponowany interface to:

 

TBitStreamWordSize = (bswsBites1, bswsBites2... bswsBites8);

TBitStream = class(TStream)
  public
     function Read(var Buffer; Count: Longint): Longint; virtual; abstract;
     function Write(const Buffer; Count: Longint): Longint; virtual; abstract;
  published
     property  WordSize: TBitStreamWordSize;
     property Buffer: Pointer;
     property BufferSize: integer;
End;

Przykład:

Dane:

String: Ala ma KOTA

reprezentacja bajtowa:

(HEX, bswsBites8): 41, 6C, 61, 20, 6D, 61, 20, 4B, 4F, 54, 41

(HEX, bswsBites4): 1C, 10, D1, 0B, F4, 10

 

czyli w przykładzie, jeśli słowo ma 4 bity, to dane wejściowe andujemy z $F a następnie dopisujemy do naszego streama. Ponieważ 1 bajt to 8 bitów w naszym przypadku 2 bajty wejściowe będą upchnięte do 1 bajta.

 

Punktacja:

+1 za napisanie streama który poprawnie zapisuje dane

+1 za napisanie streama który poprawnie odczytuje dane

+5 za napisanie streama który może pracować w 2 trybach równocześnie (zapis/odczyt)

+1 za poprawnie napisaną funkcję seek

 

Proponowany czas realizacji: do piątku 25-08.

Podpowiedz: mimo iż zadanie wydaje się banalne proponuje napisać najpierw streama, który pracuje tylko w jednym trybie naraz (zapis lub odczyt).

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

nie :) to byl przyklad

w tak dobranym slowniku zapis na 4 bitach prowadzi do utraty danych.

ale jesli bysmy przyjeli ze uzywamy np Huffmana do zmniejszenia alfabetu A-Z do 5 bitow, a nastepnie ustawili streama na 5 bitow i zapisywali dane slownikowe to mozliwy jest zapis/odczyt w obie strony bez stratny.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Konkurs polegl smiercia naturalna.

 

Biorac pod uwage znikoma aktywnosc w minikonkursach, podjalem decyzje ze byla to ostatnia tego typu incjatywa z mojej strony.

 

Jednoczesnie dziekuje wszystkim ktorzy brali udzial we wczesniejszych "edycjach" mam nadzieje ze cos z nich wyniesliscie.

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Za mało ludzi jest na unit1... No i może jakby były jakieś nagrody, to kto wie ;)

soon Delphi will be only for veterans and finally we all will die at the end…

delphi.dathox.com - nowinki z świata Delphi/Pascala

only programmers and drug dealers call their customers "users"

 

Oto cisza przed burzą, Chwile się dłużą.Z gór schodzi dużo chmur ku podnóżom.Ptaki milaczą, drogi suche jak wiór się kurzą, Ptaki milczą a drogi się kurzą.

Link do komentarza
Udostępnij na innych stronach

tiaaa kolo 10-20 osob w miare aktywnych za malo na rywalizacje.

Co jakis czas marudzicie ze przydaloby sie cos porobic....

pomijajac fakt ze trace czas prywatny na organizacje i sprawdzenie powinienem wam jeszcze za to "placic" nagrodami.

no coz, az nie wiem co powiedziec.

 

W sumie to chyba musze sie z toba HNB zgodzic, szkoda tracic na "was" (w znaczeniu portalu) czas. Zamiast odpowiadac na 99% postow typu "jak zrobic petle" trzeba sie przeniesc na powazniejsze forum...

Always Dark<br />u1_tt_logo.png banner-1.pngexFabula-banner.pngson_banner_ubersmall.jpg

Link do komentarza
Udostępnij na innych stronach

Konkurs ?

Ja to nawet nie zrozumiałem o co tutaj chodzi a gdzie brać udział :P NIe moja branża po prostu :D

 

Skoro temat upadł to offtopujmy przynajmniej :)

 

Jeśli chodzi o konkursy to chyba najwięcej osób wzięło czas w trwającym miesiąc konkursie na grę z robakami może bardziej w tym kierunku (czas i gry)? Chodziarz wtedy aktywność chyba była większa wiec pewnie teraz też te klimaty by poległy.

Po za tym coraz częściej zamiast normalnie zakładać tematy na forum ludzie wolą się pytać na gg i tu jest pies pogrzebany w aktywności forum.

 

Toster nie ma sensu się przenosić :) Pomóżcie ludzie bo zniknie jedyna osoba która stara się coś tu robić :D

www.spider.dathox.com :)

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...