Home Linx

Sources

Download Other E-Mail

Sources

VTP | PT | SOJ | EOM

Vypočetní technika a programování

Programy, které jsem napsal, nejsou moc kvalitní, ale některé jsou méně nekvalitní než ty druhé. Např. 40 kB Dáma 8x8 stojí za nic, ale takový buněčný automat je velice méně nekvalitní. Je samozřejmé, že ani ty nejméně nekvalitní programy nejsou tak precizně naprogramované, aby je dobrý programátor neroznesl, proto radím všem, kteří už někdy viděli nějaký zrojový kód a pochopili ho, protože byl srozumitelný, aby se nepokoušeli luštit moje paskvily. Všechen šitware, jehož jsem autorem je volně šiřitelný, můžete ho volně editovat, prodávat... Nejsem zodpovědný za případné škody, které mé programy způsobí, tzn. co si zničíte mým programem jde na vaše triko. Děkuji za pochopení.

Dáma 8x8

Program Dáma 8x8 vznikl jako semestrální práce na zimní semestr 2000. Je napsán v Turbo Pascalu 7 - tedy ve více méně mrtvém jazyce. Byl to první větší projekt napsaný v Pascalu a je to na něm bohužel hodně vidět. Vznikl ve velkém spěchu a už jsem neměl chuť se k němu vracet (času bylo hafo). Prohlížet zdojový kód budete tedy na vlastní nebezbečí - prostě je to šit a já to vím. Pokud jsem vás ještě neodradil tak skočte sem.

Beda Sucks (5,3 kB)

Beda Sucks (BS) je parser pro parserování jednoduchého souboru ve formátu pseudo XML. Je napsán v Turbo Pascalu 7. BS má načíst matice, spočítat jejich determinanty a seřadit je podle velikosti. Je to ukázka dobrého špatně naimplementovaného stavového automatu (jednoduše ukázka jak zabít dobrý nápad špatným naprogramováním). V tomto zdrojovém kódu se určitě nikdo nevyzná, přestože jsou u všeho popisky. Abyste byli v obraze jak je daná věc provedena: nepoužívám buffer (otevírám celý soubor a čtu po řádcích), determinant počítám rekurzí (děs běs a při větších maticích přetéká zásobník - max 10x10), třídící algoritmus stojí za pěkný kulový. Přiložen je generátor (ten jsem ale neprogramoval já), který vygeneruje vstupní soubor (POZOR musíte na začátek vstupního souboru připsat "<file>" a na konec "</file>").

Life (1 kB)

Asi nejlepší program, co na mých stránkách můžete najít je právě Life. Je to jednoduchý buněčný automat. Možná, že na tak malém programu se toho moc zkazit nedá. Dvakrát jsem se k Lifeu vrátil a trochu ho předělal (jednou celý do angličtiny a podruhé přidal ždibet assembleru, jinak je napsán v Turbo Pascalu 7)

Odporový dělič (2 kB)

Dělič je nejužitečnější program, co jsem zatím v Turbo Pascalu 7 napsal. Program provede výpočet pro jednu z úloh na Úvod do elektrotechniky - je to tedy program jednoúčelový. Na druhou stranu spočítá všechny možné varianty (uloží je do souboru) a odstraní varianty, které se opakují (pochopí pouze FELák, pro něž je program určen). Zadané proměnné se nastaví jako konstanty na začátku ve zdrojáku.

Don't Be Angry Pal (300 kB)

Toto má být druhá semestrální práce z programování. Je to první věc, co píšu v Delphi 4 a objektově. ... Tak sem to dodělal. No, kdyby bylo na mě, tak bych to sem nedal, ale možná to někomu pomůže, tak to tady je. Nakonec jsem asi 80% programu dopisoval za jednu noc, když už jsem musel semestrální práci druhý den odevzdat. Podle toho to taky tak vypadá. Je to nefunkční splácanina, bez jakékoli invence. Přestože se mi tuto praci podařilo obhájit (cvičící neměl naštěstí náladu se přehrabávat tunami zdrojového ködu) je to nefunkční hromada příkazů. Ostatně to uvidíte a pochopíte po stažení.

Řadící algoritmy (1 kB)

Toto jsou řadící algorimy zapsané v C. Jsou to insert sort, select sort a quick sort. Pozor u žádného z těchto kódů není popis, ale při psání algoritmů jsem používal jednoduché a sebepopisné příkazy (elementárn v C), protože sem se tím C učil.

Programovací techniky

Implementace datového typu turnajový pavouk (48 kB)

Jedná se o semestrální práci z předmětu programovací techniky. Je to program na velice slušné úrovni. Po zběžném nahlédnutí kantora byla práce ohodnocena jako velmi zdařilá. Veškerá dokumentace tj. specifikace, signatura datového typu i axiomy jsou přiloženy v archivu. K unitě v Turbo Pascalu je přiložen i drobný program TestPav.pas, který ověřuje funkčnost implementace a správnost axiomů.

Strojově orientované jazyky

Takže tady zveřejňuji vyřešné úlohy, které dostáváme na cvičení. Zadání jednotlivých úloh je přibaleno v archivu. Pro ty co nevědí o co jde - Assembler.

Úloha 1 (2,6 kB)

Cílem úlohy 1 bylo načíst pole, vhledat v něm největší, nejmenší prvek, index nejmenšího a index největšího prvku a tyto údaje vypsat v desítkové soustavě na obrazovku.

Úloha 2 (1,7 kB)

Měli jsme reagovat na zadávaný text z klávesnice. Průběžně ho vypisovat a v případě, že se v textu objeví desítkové číslo ho vzápětí vypsat v hex do závorek za něj. Program se měl ukončit stiskem klávesy <ESC>.

Úloha 3 (2,3 kB)

Program vypíše tabulku podle obrázku na oficiálních stránkách a překresluje jí podle stiknutých kláves. Musel sem namapovat přerušení klávesnice a pak už je to jen přepisování indexů podle stisklé klávesy. Vcelku jednoduché.

Úloha 4 (2,5 kB)

Nastavíme si paletu a pomocí Bessenhamova algorigmu vykreslíme 256 čar. Nastavování palety v jednom cyklu, jak to dělám já je docela nepřehledné, ale funguje to :].

Úloha 5 (31,4 kB)

Tak a sme ve finále. Lupa - je tam použitý kus kódu, co napsal Ing. P. Cimbál, takže se to ani moc nesnažte pochopit :].

Ground Attack (18,9 kB)

Moje semestrálka ze SOJů. Letí raketa, která střílí a hází bomby a ze země na ní střílí nepřátelé.

Elektronika osobních mikropočítačů

Volitelný předmět 37EOM doporučuji všem. Velice zajímavé a poučné povídání od ing. Davida Kopeckého. Je to zase assembler, ale když si vyberete ňákou složitější semestrálku, tak se dá dělat i v C/C++. Tady uveřejním úlohy, které jsme vypracovávali na cvičeních.

Úloha 1 (614 B)

Po bootu PC se z vložené EPROM načte program, který vypíše jednoduchý text. To je všechno.

Úloha 2 (2,5 KB)

Po bootu PC se z vložené EPROM načte program, který funguje jako boot manager (nastaví aktivní partition).

Úloha 3

Podle vstupního souboru - nejlépe wavu - rozbliká diody na klávesnici. To bohužel nemám, to jsem si nestáh, takže to bylo smazáno. Smůla.

Semestrální úloha (1,9 KB)

Zavaděč, který je schopný zavést operační systém, i když je na partition, která je za hranici 8GB.

Comming Soon

Doufám, že v brzké budoucnosti udělám něco kvalitnějšího než je dáma, parser a dělič. Mám rozmysleno už několik věcí, ale ještě jsem je nezačal realizovat (asi si říkáte, po tom co jsem vám výše předvedl, že je to dobře - já si to taky myslím). Ale určitě zase něco splácám a uveřejním to tady.

Koplih

VTP | PT | SOJ | EOM

Home Linx

Sources

Download Other E-Mail Top

Tato stránka byla napsána v programu HTML-Kit. Je zadarmo a má tolik možností, že se o tom FrontPagey ani nesnilo. Podporujte dobré programátory, kteří poskytují software také zadarmo.

Last update 19. October 2002
Opera