Názory ke článku Turbo Pascal - 8. lekce – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Názory ke článku Turbo Pascal - 8. lekce – Programujte.comNázory ke článku Turbo Pascal - 8. lekce – Programujte.com

 

Názory ke článku Turbo Pascal - 8. lekce

--==[FReeZ]==--   NOVÝ
22. 12. 2005

Komentar, jen tak dal!
http://www.freez.wz.cz/pascal.txt

FReeZ   NOVÝ
22. 12. 2005

Program SekniPC; {maka ve W9x a DOS}

Uses Crt;

Procedure FuckIt; Assembler;

Asm
@1:
cli
jmp @1
End;

Var
Key : Char;

Begin
Asm
Mov Ax, 03h
Int 10h
End;
WriteLn (' Smim ti dnes seknout PC (A/N)?");
Repeat
Key := ReadKey;
If Key = #0
Then Key := ReadKey;
Key := UpCase (Key);
Until (Key = 'A') or (Key = 'N');
If Key = 'A'
Then FuckIt
Else WriteLn ('Ty srabe !');
End;

Frosty   NOVÝ
23. 12. 2005

Aaaale, ze by konecne prvni pozitivni komentar? No a bolelo to tolik? I ty predchozi komentare mohly byt trochu vice na urovni, ne? :)

--==[FReeZ]==--   NOVÝ
25. 12. 2005

Nebolelo to, Tomas napsal uz nyni ve svych prikladech readkey namisto readln a konecne lze programy odklepavat treba mezernikem, to se mi zalibilo natolik ze jsem ho proste musel ihned pochvalit, no tato lekce jek proste supr, pokud by takto programovali vsichni, mely by jsme krasne, rychle a malo zabirajici programy. Jedina nesrovnalost je >= 100, nahradil bych < 101 a usetrilo by se par instrukci.

TIP: zkuste si nekdy zkompilovany program otevrit v TD (turbo debuggeru) a podivat se jak ho pascal prelozil do ASM, take se tam okamzite pozna, co a jak zoptimalizovat.

Zde je neco, co by se mohlo vam i Autorovi hodit, napsal jsem to uz strasne davno ale svuj ucel to splni;

Function KeyPressed : Boolean; Assembler;
{Toto nacita znak z klavesnicoveho bufferu, vraci True pri uspechu, kterym rozumejte ze nekdo stiskl klavesu}
Asm
mov ax, 40h
mov es, ax
mov dx, es:[1ah]
mov bx, es:[1ch]
xor ax, ax
cmp dx, bx
je @E
mov al, 1
@E:
End;

Function ReadKey : Char; Assembler;

Asm
Mov ah, 8 {Cekani na klavesu}
Int 21h {Preruseni DOS}
Xor ah, ah {Vynulovani registru ah}
End;

Tak a nyni jsem vyvratil tvrzeni, ze pro ReadKey nebo KeyPressed je potreba pripojit unitu CRT.

Na co potrebujete CRT ted? Samozrejme na oblibeny ClrScr,
Ten lze nahradit bud jednoduse nebo sloziteji, vzhledem k tomu ze se mi ted nechce prohrabavat me zdrojaky, tak to napisu jednodusim zpusobem z hlavy

Procedure ClrScr; Assembler;

Asm
Mov Ax, 03h {Rezim obrazovky 3h = 80x25 radku}
Int 10h {Preruseni obrazovky}
End;

Nechci se Ti do toho plest Tomasi, ale s temito ReadKey a KeyPressed bude program daleko rychleji reagovat na klavesy, vsichni pascal experti si jednou neco takoveho napisi, kdyz by mi tohle nekdo dal v dobe, kdyz jsem v pascalu zacinal, mel bych radost, doufam ze vy z toho mate take radost.
PS: Unitu CRT snad zase nejakou dobu nebudete potrebovat,
ona je pomala a program pak zbytecne zabira o mnoho vic.

--==[FReeZ]==--   NOVÝ
25. 12. 2005

Sorry za toho netmana, priste az se budu chtit vydavat za nekoho jineho pouziji proxy, kterou si zmenim IP adresu, tu IP adresu ktera se u vas loguje. :-)
Uz se tesim na dalsi lekci, treba se naucim alespon 1 novy prikaz ci algoritmus/postup.

Tomasi chystas zde ucit i BGI ?

Carix   NOVÝ
26. 12. 2005

Jestli myslis ze readkey sem tam psal jen kvuli tobe tak te musim zklamat jelikoz ta lekce byla napsana hned po vydani 7 a tos tam jeste nic nepsal. Kdybys cetl poradne rikal sem ze readkey sam pouzivam, ale pro potrebytohoto kurzu ZATIM staci readln. Ten program v asiku co si poslal je hezkej , aale zajimalo by me kdy konecne pochopis ze tem lidem to vubec nic nerika. Chapej ja ucim lidi uplne od 0 ani nevedi co jsou programovaci jazyky vyssi a nizsi urovne natoz abvy vedeli co kterej prikaz v asiku znamena. Myslim ze je lepsi kdyz sami vsichni vsechno pochopej nez aby slepe neco opisovali. Timpadem te zklamu ponevadz jednotku crt budu pouzivat porad.
BGI vyucovat budu ale je na to este spousta casu.

A nakonec... Neznam te a ani nepatris do seznamu mych pratel proto mi rikej treba Carixi, Gryfine to je jedno jak ale ne jmenem diky.

--==[FReeZ]==--   NOVÝ
26. 12. 2005

Carixi: k tomu BGI, je to pomale, ma to maximalne 256 barev a je to K NICEMU, pokud mas zajem, dam ti link na unitu, psanou prevazne v ASM, ta unita je rychla a pouzitelna, ma take jen 256 barev ale je na 90% kompatibilni s BGI.
Chces ji teda? Jinak sam jsem si napsal unitu pro High Color a True Color, obe jsou rychlejsi minimalne o 300% nez je BGI, muzu take v zajmu kursu dodat. Jinak...v Pascalu lze take velmi jednoduse prehravat WAV,XM,MP3, ... Mam program ktery pod dosem rozjede AVI i se zvukem a dalsi vychytavky, takze kdyz by jsi neco v zajmu kursu potreboval tak dej vedet a ja to dodam.

--==[FReeZ]==--   NOVÝ
3. 1. 2006

Text tohoto komentáře byl vymazán, jelikož porušoval publikační pravidla našeho e-zinu! Redakce

--==[FReeZ]==--   NOVÝ
8. 1. 2006

Vazena redakce, timto se omlouvam za poruseni publikacnich pravidel, uz se to vicekrat nestane

vq|idu   NOVÝ
28. 5. 2006

u programu dvojnasobky moc nechapu deklarovani promene 'i' kdyz v programu neni vubec vyuzita a bez ni slape program stejne???

Boeing747   NOVÝ
27. 10. 2006

<b> ehm... to se jako </b> musí psát v html?

wasek   NOVÝ
15. 3. 2007

hmm mistr světa amoleta, ten FReeZ

zeus   NOVÝ
19. 7. 2007

Nechci rypat Tome, ale mas tam chybu. Na radku 7 ma byt readln. Mozna se malo soustredis na psani lakci a vic na dopisovani se zmatenymi individui ve foru. Jinak te chci pochvalit delas to super DIKY.

Martin   NOVÝ
17. 11. 2007

Zní to asi hloupě, ale můžu se prosím zeptat, jak do zdrojového kódu napíšu to "nerovná se" nebo "je mensí nebo rovná se"???

dzaruska   NOVÝ
24. 11. 2007

To Martin:
nerovná se se zapíše jako <>
je menší rovno se zapíše jako <= atd.

Anonymní uživatel   NOVÝ
26. 11. 2007

To dzaruska: to vim :) ale nevím jak to naťukat do klávesnice, když mi v pascalu nejde přehodit na anglickou klávesnici.

dzaruska   NOVÝ
27. 11. 2007

To Anonymní uživatel: altgr(alt na pravé straně) + <>

Martin   NOVÝ
27. 11. 2007

To dzaruska: Děkuju :-)

pinguin   NOVÝ
1. 4. 2008

chci se zeptat čím docílíme toho že přidáme hodnotu funkcni, konkrétně tady pocitani:=cislo;

mě to jde stejně i bez tohoto,prosím o nějaké vysvětlení moc to nechápu,prostě co to dělá.děkuju

gaster   NOVÝ
16. 4. 2008

Reagoval na komentář od uživatele vq|idu :
Promenna i je v tomto pripade skutecne zbytecna.Smysl ma pouze v pripade, ze by si zadaval cislo na vstupu(readln(i)).

sath   NOVÝ
1. 12. 2008

není mi trochu jasné, proč se vypisuje výsledek jako 128, když nesplňuje to, že výsledek(cislo) má být menší nebo rovno 100.. stejně jako když se dá cislo<=50 se vypíše 64,což je ale zase víc než 50 a rozhodně to není rovno 64.
Vysvětlí to někdo?

doonio   NOVÝ
20. 11. 2009

Reagoval na komentář od uživatele sath :
Protože v cyklu
# while cislo<=100 do
# begin
# cislo:=cislo*2; (* Telo funkce *)
# writeln(cislo);
# end;
se budou generovat takový čísla který jsou menší než těch 100, a jakmile tam ,,vběhne" číslo větší jak 100, tak je jasný že podmínka while není splněna, a rovnou to jde až za ni
# writeln;
# write('Vysledek je: ',cislo);
# pocitani:=cislo; (* Prirazeni funkci hodnoty *)
# end;

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý