Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Programovací jazyk BASIC na osmibitových mikropočítačích (2)

malý pivo
malý pivo (neregistrovaný) ---.net.upc.cz
15. 6. 2010 0:50 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Pane Tišnovský, co Vy o počítačích nevíte nebo neumíte? :-)

Pavel Tišnovský aura:98
15. 6. 2010 11:24 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

To nemůžu prozradit, ještě by se to dozvěděl můj zaměstnavatel :-)

D.A. Tiger aura:65
16. 6. 2010 1:00 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

No, soudím, že tohoto se bát nemusíš :) Fakt dobrý.
Mimochodem, když jsi psal o Commodore, tak jsem se neudržel, málem jsem se přizabil na otočném křesle s kolečky, když jsem šplhal po skříni, ale našel jsem… svůj první počítač. Škoda jen, že už k němu nemám zdroj… :-(

Pavel Tišnovský aura:98
17. 6. 2010 9:31 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Hehe to je pekny s tim screenshotem roota na pozadi :-) Zdroj bych mozna mohl pohledat, pokud si pamatuju, tak ke komousovi potrebujete +5V a +9V ze?

D.A. Tiger aura:65
17. 6. 2010 10:56 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Pavle mám Vám vykat, nebo Ti mám tykat? Začínám v tom mít trochu chaos – jednou si tykáme a podruhé naopak :-D
Mám ten dojem, že ano. Ono by možná stačilo schéma zapojení toho konektoru, ale kdyby se mi podařilo dostat k originál zdroji, byla by to paráda :)

Pavel Tišnovský aura:98
17. 6. 2010 12:44 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

urcite tykat :-) Ja vetsinou ve vlaknu, kde se zacina vykat taky prechazim na vykani, ale preferuju tykani.

klusacek
klusacek (neregistrovaný) ---.net.upc.cz
15. 6. 2010 1:36 Nový

co dela prikaz POP?

celé vlákno

Jakozto byvaly atarista netusim co dela POP. Oni snad na applisti meli v basicu nejaky zasobnik?


S temi floaty v atari-basicu: Je pravda ze vypocet desive zpomalovaly, jeste navic pouzivaly BCD kod pro ulozeni mantissy, takze i plytvaly pameti, ale na druhou stranu to melo nasledek ze kdyz nekdo napsal


for a=1 to 10 step 0.1


tak to fungovalo jak by zacatecnik ocekaval, takze to melo aspon tuhle pedagogickou vyhodu.


Jo a ty floatovy rutiny nebyly soucasti tech 8kB kde byl BASIC, ale sidlily v 16kB OS-ROM, nekde pobliz te diry kam byly namapovany periferie. Vsechny ty rutiny se vesly do 4kB. Ted teda nevim jestli k nim patrily i funkce (log, exp, sin, cos, atd.) ale +,–,*,/ tam bylo urcite. Aspon si to takhle pamatuju, ale je to uz dlouho tak me neberte moc vazne.

atarist
atarist (neregistrovaný) ---.redhat.com
15. 6. 2010 9:19 Nový

Re: co dela prikaz POP?

celé vlákno

Jestli si dobre pamatuju, tak POP jsme meli i na Atarku. Odstranoval AFAIK ze zasobniku cislo radku + cislo prikazu, takze se dal (o5 AFAIK) pouzit k vyskokum z podprogramu nebo k opusteni smycky FOR.

klusacek
klusacek (neregistrovaný) ---.net.upc.cz
15. 6. 2010 12:08 Nový

Re: co dela prikaz POP?

celé vlákno

Aha, tak to jsem nikdy nepouzil. Ted jsem si to chtel zkusit v emulatoru a napsalo mi to error 13, kdyz jsem chtel opustit FOR cyklus, takze asi funguje jen pro GOSUB.

Pavel Tišnovský aura:98
17. 6. 2010 9:35 Nový

Re: co dela prikaz POP?

celé vlákno

Taky si nepamatuji, ze bych to casto pouzival, ale konstrukci typu:
100 IF X<0 THEN POP:GOTO 200
si pamatuju.
Ten error 13 mi pripomel dalsi skvelou vec v BASICu a to prikaz TRAP, kterym bylo mozne implementovat TRY-CATCH-FINALLY. Cislo chyby bylo ulozene v nejake bunce pameti v zero page, tusim adresa 195(?) a kdyz si clovek navic cisla chyb dal do promenych, bylo to dost citelne.

atarist
atarist (neregistrovaný) ---.redhat.com
15. 6. 2010 9:21 Nový

Re: co dela prikaz POP?

celé vlákno

Aha, to mas pravdu, nikdy me nedocvaklo, ze BCD mantisa ma vyhodu v tom, ze dokazu reprezentovat 0.1 presne. To ale znamenalo i desitkovy zaklad exponentu ne dvojkovy zejo?

astray
astray (neregistrovaný) ---.urel.feec.vutbr.cz
15. 6. 2010 9:56 Nový

Re: co dela prikaz POP?

celé vlákno

> Ted teda nevim jestli k nim patrily i funkce (log, exp, sin, cos, atd.)
To si najdeš tady
http://www.atari8.cz/calp/data/pha_pr_8/

atarist
atarist (neregistrovaný) ---.redhat.com
15. 6. 2010 11:23 Nový

Re: co dela prikaz POP?

celé vlákno

Pekne, nekdo si dal praci se skenovanim „Zpravodaju“. Ja je sice mam v originale, ale pro „IT historii“ je to dobry pocin.

klusacek
klusacek (neregistrovaný) ---.net.upc.cz
15. 6. 2010 12:20 Nový

Re: co dela prikaz POP?

celé vlákno

Dik. Takze jak vidim, se jim to vsechno veslo do 2KB, zbyle 2KB obsahovaly selftest. Krome zakladnich operaci tam maji vypocet polynomu hornerovym schematem a dale pak e^x, 10^x, ln(x) a log10(x). sin, cos atd. chybi, takze asi bude implementovany nekde v BASICu.

Pal
Pal (neregistrovaný) ---.net.upc.cz
17. 6. 2010 16:26 Nový

Re: co dela prikaz POP?

celé vlákno

Další výhodou bylo, že například pro jiné tehdejší počítače (Spectrum a myslím i PMD, C64 a jiné nevím) neřešitelné matematické úlohy, např.:
print 10.2–10.1
a podobné Atarko zvládalo bez problémů.

Biktop
Biktop (neregistrovaný) ---.28.broadband3.iol.cz
19. 6. 2010 11:26 Nový

Re: co dela prikaz POP?

celé vlákno

V čem spočívá ta neřešitelnost pro C64?

Pal
Pal (neregistrovaný) ---.net.upc.cz
19. 6. 2010 15:23 Nový

Re: co dela prikaz POP?

celé vlákno

Myslel jsem to tak, že u C64 a jiných toto nevím.

Radovan
Radovan (neregistrovaný) 88.146.198.---
19. 6. 2010 23:06 Nový

Re: co dela prikaz POP?

celé vlákno

V tom, že například u Spectra vyjde něco jako .09999998 místo správného 0.1, na C64 jsem to nezkoušel, ale bude to asi podobné. Ale neřešitelnost bych to nenazval, spíš zvětšená nepřesnost.

.
. (neregistrovaný) ---.cust.selfnet.cz
15. 6. 2010 3:29 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Boží, jako vždycky :)

pb
pb (neregistrovaný) 80.95.102.---
15. 6. 2010 8:07 Nový

advan basic

celé vlákno

V době TurboBasicu se u nás šířil jakýsi mýtus o implementaci Basicu nazvané Advan Basic nebo tak nějak. Pro Atari. Měl prý být ještě mnohem rychlejší než TurboBasic. Nevíte někdo jestli opravdu existoval?

pb
pb (neregistrovaný) 80.95.102.---
15. 6. 2010 8:09 Nový

Re: advan basic

celé vlákno
John_Pitralon
John_Pitralon (neregistrovaný) 213.29.222.---
15. 6. 2010 9:11 Nový

Re: advan basic

celé vlákno

Advan basic se dá stáhnout tady:
http://advan.oldos.net/
Dobrý optimalizující kompilátor  – a navíc v kódu lze kombinovat BASIC a assembler, v assembleru se dá přistupovat k BASICovým proměnným.

atarist
atarist (neregistrovaný) ---.redhat.com
15. 6. 2010 13:23 Nový

Re: advan basic

celé vlákno

nikdy jsem Advan Basic nezkousel, protoze jsem mezitim zacal laborovat se strojakm, ale vypada to dost uchvatne:
„Advan BASIC was already pretty fast. Now it's the fastest BASIC in Atari history. In our Sieve Benchmark, the Advan Optimizing Compiler is about four times faster than the MMG Compiler, six times faster than regular Advan, 20 times faster than compiled Turbo-BASIC XL and 120 times faster than uncompiled Atari BASIC. In fact, it's more than half the speed of ACTION!- that's getting real close to pure assembly language.“
Pokud byl skutecne az 120× rychlejsi nez Atari Basic a pametove to bylo vyhodne, tak mozna bylo lepsi se na strojak nakonec vykaslat :-)

Mykonou
Mykonou (neregistrovaný) ---.vsp.cz
15. 6. 2010 9:30 Nový

super

celé vlákno

Vyborny clanek – ostatne jako vzdy :).

zde
zde (neregistrovaný) ---.ptp.gts.cz
15. 6. 2010 9:53 Nový

Basic byl výbornej skriptovací jazyk

celé vlákno

..a jeho pomalost byla skvělá, protože díky ní se člověk rychle naučil stroják .-)

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
15. 6. 2010 12:11 Nový

Re: Basic byl výbornej skriptovací jazyk

celé vlákno

Nechápu, proč se tedy dneska skriptute v bashi, či v perlu, či v jiném šileném skriptovači? :-)

Pavel Tišnovský aura:98
17. 6. 2010 9:47 Nový

Re: Basic byl výbornej skriptovací jazyk

celé vlákno

Protoze se vyvojari vydali hledat slepe cesty vyvoje aby se po x-letech (kde x=30..40) pokorne vratili zpet k Basicu ;-)

hisaak
hisaak (neregistrovaný) ---.homecredit.net
15. 6. 2010 9:55 Nový

POKE

celé vlákno

Malem jsem se rozbrecel.

ondra.novacisko.cz
ondra.novacisko.cz (neregistrovaný) ---.seznam.cz
15. 6. 2010 12:08 Nový

Dostanem se k extenzím ZX Basicu?

celé vlákno

Pamatuju na Beta Basic, Mega Basic, a další šílené extenze :-)

Pavel Tišnovský aura:98
17. 6. 2010 18:51 Nový

Re: Dostanem se k extenzím ZX Basicu?

celé vlákno

jj, budu se snazit to vecpat uz do pristiho clanku.

krupkaj
krupkaj (neregistrovaný) 193.86.76.---
15. 6. 2010 12:49 Nový

Basicy pro Atari

celé vlákno

Mozna by bylo dobre jeste dodat, ze Basic, stejne jako DOS pro Atari vyvinula firma Shepardson Microsystems. Ve vyvoji basicu pak pokracovala OSS, ktera vydala Basic XL a XE. U nas jsem tyto jazyky nikdy nevidel, ale s jejich assemblerem MAC/65 se asi setkal kazdy osmibitovy atarista.

_r3450n_
_r3450n_ (neregistrovaný) 165.72.200.---
15. 6. 2010 15:47 Nový

Konecne

celé vlákno

Ja uz myslel, ze se k memu prvnimu pocitaci (C64) tato rubrika nedostane a je to tady. Moc diki za clanek :)
Jen bych dodal, ze Basic se pozdeji dostal do min vykonnych stroju jako napr. http://en.wikipedia.org/wiki/Sharp_EL-5120 kterou jsem vlastnil a bylo az k nevire, co vsechno se dalo na teto kalkulacce naprogramovat. Od jednoduchych her, az po screensaver s nahodne se obejevujicima hvezdickama, ale ja delal v te dobe hlavne aplikace do skoly.
Na stredni stihla projet celou tridu a vsichni meli z te pisemky jednicku. A aby ne, kdyz jenom vlozili parametry ktere meli v zadani a pak jen mackali Enter a opisovali co vydeli na display(i).
Ucitelka byla prijemne prekvapena jak se vsichni „pripravili“ a ja taky, jakozto test aplikace v produkcnim prostedi probehl bez problemu :D

Zdenek
Zdenek (neregistrovaný) ---.tbcn.telia.com
15. 6. 2010 16:41 Nový

Re: Konecne

celé vlákno

Jo, C64 jsem mel taky, krome Simons' Basic jsem tam mel jeste dva dalsi – Basic V3.5 a Plot Basic, se kterym se daly vykreslovat nadherne obrazce…

I/O
I/O (neregistrovaný) 147.32.68.---
15. 6. 2010 17:43 Nový

Re: Konecne

celé vlákno

No jo, že jsi školu ojebával, to ostatně „vydíme“ i na tvém písemném projevu. :-)

_r3450n_
_r3450n_ (neregistrovaný) 165.72.200.---
16. 6. 2010 16:44 Nový

Re: Konecne

celé vlákno

I/O – Si snad zo mna robis srandu. Ved ja niesom vobec Čech :p

Biktop
Biktop (neregistrovaný) ---.28.broadband3.iol.cz
16. 6. 2010 23:15 Nový

Re: Konecne

celé vlákno

A co jako? Ani po slovensky se „vidět“ nepíše s tvrdým.

_r3450n_
_r3450n_ (neregistrovaný) 165.72.200.---
17. 6. 2010 11:03 Nový

Re: Konecne

celé vlákno

A to jako z toho delas tragedii kvuli jenomu „y“?
To uz asi fakt nemas koho jineho prudit. Ze?

Pavel Tišnovský aura:98
17. 6. 2010 9:45 Nový

Re: Basicy pro Atari

celé vlákno

Diky moc za doplneni. Jeste doplnim toto doplneni :-) o informaci, ze OSS vydala jazyk Action!, coz byla na osmibitovych Atarkach docela bomba. V podstate slo o orezane Cecko a Pascal (chybely tusim struktury, FP a spousta runtime funkci), ale prekladalo se primo do stojaku a vysledek byl docela rychly.

MJJ
MJJ (neregistrovaný) ---.adsl.tmcz.cz
15. 7. 2010 22:17 Nový

Re: Basicy pro Atari

celé vlákno

Jasná věc, už jsem chtěl zmínku o Action! doplnit. Já se s ním prvně setkal na stránkách časopisu Bajtek, který jsem si chodil kupovat do Polského kulturního střediska :-) V tom čísle byl zdroják tetrisu, myslím že dokonce s nějakou chybou.

duri
duri (neregistrovaný) 213.215.67.---
15. 6. 2010 20:57 Nový

beta basic na zx spectru

celé vlákno

Pamatuje nekdo ? Malo to kompilator a umoznoval polymorfne programovanie :)

dex
dex (neregistrovaný) ---.eurotel.cz
15. 6. 2010 21:14 Nový

Re: beta basic na zx spectru

celé vlákno

Beta Basic? Že měl kompilátor?
Asi nejsem jediný, kdo o kompilátoru pro Beta Basic nic neví.
Něco bližšího by nebylo? Nebo to byl omyl?

duri
duri (neregistrovaný) 213.215.67.---
15. 6. 2010 22:27 Nový

Re: beta basic na zx spectru

celé vlákno

Je to uz 22 rokov co som to nahraval s pasky, mozna sa mylim, ale urcite viem ze nejaky basic compilator existoval, mozna bol len pre ZX basic :)

Cygnus
Cygnus (neregistrovaný) ---.net.upc.cz
15. 6. 2010 23:30 Nový

Re: beta basic na zx spectru

celé vlákno

Pro ZX Spectrum byly minimálně dva kompilery HiSoft BASIC compiler a IUC88+.

K IUC88+ kdysi vyšel podrobný návod … už nevím kde, nejspíš v ZX Magazínu. Kompilací skutečně došlo k výraznému zrychlení, ale pokud vím, tak kompiler měl omezení, jedním z nich byla tuším možnost používat pouze integer (16bit). Naopak byl docela malý a vměstnal se do paměti spolu se zdrojovým kódem i zkompilovaným výsledkem. Detaily si už nepamatuju, nepoužil jsem ho víc než 15 let.

duri
duri (neregistrovaný) 213.215.67.---
16. 6. 2010 20:54 Nový

Re: beta basic na zx spectru

celé vlákno

JJ bol to hisoft a bol len pre ZX basic. Kazdopadne beta bol rychlejsi ako XZ interpreter, ale kym sa to nahralo s pasky …

Cygnus
Cygnus (neregistrovaný) ---.net.upc.cz
15. 6. 2010 23:41 Nový

Re: beta basic na zx spectru

celé vlákno

Dodávám, že ani já netuším o existenci kompileru k Beta BASICu. Zmiňované HiSoft a IUC88+ pracují se Sinclair BASICem.

marwyn
marwyn (neregistrovaný) ---.cscworld.cz
16. 6. 2010 10:56 Nový

Re: beta basic na zx spectru

celé vlákno

Beta basic pro ZX rozhodně neměl kompilátor, ale jinak byl uměl zajímavé věci.

Substance242
Substance242 (neregistrovaný) ---.95-103-90.t-com.sk
15. 6. 2010 23:38 Nový

tera basic

celé vlákno

Nedávno som nahliadol do svojich starých denníkov (ehm), a dočítal sa ako som sa pobavil na popise neexistujúceho jazyka Tera Basic (alebo Tear?), pravdepodobne v časopise Mikrobáze. Viem že tam boli popísané príkazy ako „smoke“ (počítač začne dymiť), a myslím že tam bolo aj niečo ako:
if ja then high score
if kolega then zero
… nespomenie si na to niekto?

Pavel
Pavel (neregistrovaný) 217.194.71.---
17. 6. 2010 23:23 Nový

Re: tera basic

celé vlákno

Ja si na nej spominam.
Je to davno co jsem chodil v Hodonine do pocitacovehou krouzku a jeho popis byl rucne psany v A4 sesite.
Jsi si jisty ze jsi to cetl v Mikrobazi?

Substance242
Substance242 (neregistrovaný) 213.151.209.---
18. 6. 2010 9:39 Nový

Re: tera basic

celé vlákno

Nie som. :-)

Substance242
Substance242 (neregistrovaný) ---.95-103-90.t-com.sk
15. 6. 2010 23:45 Nový

nostalgia

celé vlákno

Jo a ešte k obrázku „Obrázek 17: Úvodní obrazovka interpretru jazyka BASIC na počítači Commodore C64.“ – internetový prezerač Opera dlho obsahoval uživateľký CSS, ktorý stránky zobrazoval v takomto štýle, volalo sa to „nostalgia“ a už nejaký čas je to preč.
http://wiki.operacesky.net/Opera_Lover_-_4-7_den-Obsah#Nostalgie_.7Bnostalgia.css.7D

jarous
jarous (neregistrovaný) ---.suas.cz
16. 6. 2010 7:36 Nový

Pěkná historie

celé vlákno

Zajímavé, vždy jsem si myslel , že první dílo Microsoftu byl BASIC pro CP/M, což jsem si myslel zřejmě špatně.
Neplánujete napsat něco jako „Softwarové dějiny“ ? ( třeba jen pro Home a PC ) Jak to vlastně bylo s Microsoftem, Digital research atd. Co to byl ten ISIS2.
Jako to bylo s DOSem, proč se nechytil CP/M86 a GEM atd. a i české firmy 602 apod. I záčatky implementace Unixů ( Xenix … ) na PC.
Řekl bych, že o tom víte v česku asi nejvíc a dost lidí by to zajímalo.
Díky.

Pavel Tišnovský aura:98
17. 6. 2010 9:42 Nový

Re: Pěkná historie

celé vlákno

Neco jako „SW dejiny“ planuju :-) ale jeste nevim, do jake hloubky. Ta „mainstreamova“ historie je jasna (MS, CP/M, Xerox, unixy, SGI…) ale jeste nevim, zda psat i o slepych cestach vyvoje. Ale spatny napad to urcite neni, treba takovy Xenix, GEM, je uz pozapomenuty a mladsi kolegove si uz nepamatuji ani T602 nebo NC (a proto nedelaji v MC :-)

jarous
jarous (neregistrovaný) ---.suas.cz
17. 6. 2010 12:47 Nový

Re: Pěkná historie

celé vlákno

Díky, už se těším. Já si právě myslím, že psát o těch slepých cestách je právě důležité. Protože software, který přetrval, se formoval právě vlivem v té době konkurenčních produktů. To dává klíč pochopení k tomu, proč je Dos, Windows i Linux právě takový, jaký je. Ze Sw ( iHW ) produktů „mrtvých větví“ se lze poučit, „kde udělali soudruzi chybu“, technickou, ale častěji obchodní, takže jejich produkt se neprosadil.

Pavel Křivánek aura:96
17. 6. 2010 15:14 Nový

Re: Pěkná historie

celé vlákno

Bereš předobjednávky? ;-)

Pavel Tišnovský aura:98
17. 6. 2010 18:52 Nový

Re: Pěkná historie

celé vlákno

Ahoj Pavle, jasne :-) Dobre napady se vzdycky hodi…

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
16. 6. 2010 14:09 Nový

10 PRINT "VICE" AND A>0;"MENE" AND A<0;"ROVNO" AND A=0

celé vlákno

Zajimavy clanek o programovani na ZX81 je tady:
http://f6.bloguje.cz/823204-zx81-kdyz-schazi-pamet.php

musa
musa (neregistrovaný) ---.deutsche-boerse.com
17. 6. 2010 13:46 Nový

Smrt Commodoru

celé vlákno

jedine Atari!!!

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
17. 6. 2010 15:37 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Maly pruvodce Basicem na ZX spectru http://www.fi.muni.cz/usr/jkucera/pv109/2004/xnovotn3speccy.htm
PS: Na tom emulatoru se neda poradne pracovat, dokud nedam oknu fuse rezim porad na popredi a pod to si nehodim http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/gallery/images/speckeys_jpg.jpg
--- C
if (podminka)
telo bloku
else if (podminka)
telo bloku
else
telo bloku
--- ZX spectrum
10 INPUT a
20 PRINT „Zadane cislo je ";
30 if a < 10 THEN PRINT "mensi jak“;
40 if a = 10 THEN PRINT „presne“;
50 if a > 10 THEN PRINT „vesti jak“;
60 PRINT " deset.„

10 INPUT a
20 PRINT "Zadane cislo je ";“mensi jak" AND a < 10;„presne“ AND a=10;„vesti jak“ AND a>10;" deset.„: REM prvne vyraz a pak retezec mi to nevzalo
--- C
for (v1;v2;v3) příkaz
--- ZX spectrum
10 FOR a = 2 TO 5 STEP 0.5
20 PRINT a,;
30 NEXT a: PRINT
--- C
double v1;
while (v2) {
příkaz
v3;
}
--- ZX spectrum
10 LET a=2
20 IF a>5 THEN GO TO 40
30 PRINT a,;: LET a=a+.5: GO TO 20

10 LET a=2: IF a>5 THEN GOTO 30
20 PRINT a,;: LET a=a+.5: IF a<=5 THEN GO TO 20

10 LET a=2: GO TO 30
20 PRINT a,;: LET a=a+.5
30 IF a<=5 THEN GO TO 20
--- C
v1;
do {
příkaz
v3;
} while (v2)
--- ZX spectrum
10 LET a=2
20 PRINT a,;: LET a=a+.5: IF a<=5 THEN GO TO 20
--- C
switch (n) {
case 0: // následující kód se provede, je-li n nulové

case 1: // následující kód se provede je-li n==1
// a také je-li n nulové, protože jsme nepoužili break

break;
case 2: // následující kód se provede jen je-li n==2

}
--- ZX spectrum
10 LET break=60: INPUT a
20 IF a>2 OR a<0 THEN GO TO 50
30 GO TO 40+a
40 PRINT "<0..0.5)“: GO TO break
41 PRINT „<0.5..1.5)“: GO TO break
42 PRINT „<1.5..2>“: GO TO break
50 PRINT „jinak“

10 LET break=60: INPUT a
20 IF a<>INT a OR a>2 OR a<0 THEN GO TO 50
30 GO TO 40+a
40 PRINT „urcite jen nula“
41 PRINT „nula nebo jedna“: GO TO break
42 PRINT „dva“: GO TO break
50 PRINT „jinak“
--- ZX spectrum
10 LET top=15: DIM z(top): DIM p(top): REM Zasobnik pomocnych promenych a parametru rekurzivni Fce
20 INPUT „Zadej faktorial: ";p(top): GO SUB 100: PRINT z(top): STOP
100 REM Simulace "rekurzivni Fce“
110 PRINT top;„: p – ";p(top);“, z – „;z(top)
120 IF p(top)=0 THEN LET z(top)=1: RETURN
130 REM Snizeni vrcholu zasobniku, nacteni parametru, zavolani Fce, obnoveni vrcholu
140 IF top=1 THEN PRINT "Preteceni zasobniku!“: STOP
150 LET top=top-1: LET p(top)=top(top-1)-1: GO SUB 100: LET top=top+1
160 LET z(top)=p(top)*z(top-1)
170 RETURN

10 LET top=15: DIM p(top): REM Zasobnik parametru rekurzivni Fce
20 INPUT „Zadej faktorial: ";p(top): GO SUB 100: PRINT rekurze: STOP
100 REM Simulace "rekurzivni Fce“
110 PRINT top;„: p – ";p(top)
120 IF p(top)=0 THEN LET rekurze=1: RETURN
130 REM Snizeni vrcholu zasobniku, nacteni parametru, zavolani Fce, obnoveni vrcholu
140 IF top=1 THEN PRINT "Preteceni zasobniku!“: STOP
150 LET top=top-1: LET p(top)=top(top-1)-1: GO SUB 100: LET top=top+1
160 LET rekurze=p(top)*re­kurze
170 RETURN

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
17. 6. 2010 15:49 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

140 IF top=1 THEN PRINT "Podteceni zasobniku!“: STOP
150 LET top=top-1: LET p(top)=p(top-1)-1: GO SUB 100: LET top=top+1

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
17. 6. 2010 16:43 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

ZX umel vytvaret vlastni prikazy? Tak na tohle si uz vubec nepamatuji…
http://scratchpad.wikia.com/wiki/DEF_FN
Snad jedine matne… ze to stejne nefungovalo.. protoze ta fce MIN je tam zapsana spatne.
10 DEF FN Q(x,y)=x-(x-y)*(x>y)
15 INPUT „Zadej cislo:“;a,„a druhy:“;b
20 PRINT „Mensi z ";a;“ a „;b;“ je:";FN Q(a,b)

Pavel Tišnovský aura:98
17. 6. 2010 18:54 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Jak se divam, taky jsi pouzival „pocitane GOTO“, to byla docela dobra ficurka :-) (stejne jako pocitane GOSUB).

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
17. 6. 2010 22:25 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Jo s tim se daly delat kouzla, ale asi by spouste lidem vstavaly vlasy hruzou kdyby videli v goto goniometrickou fci .)
Byl jsem hrozne prekvapeny kdyz jsem se prvne docetl ze GO TO je spatny. A pri uceni PASCALU jsem se divil co na tom vsichni maji, vzdyt to vsechno mohu udelat i v BASICU. A chvilku to trvalo nez jsem zjistil ze programy se nepisi pro hrani. A proto prehlednost/ci­telnost/rychlost vyvoje/udrzby je dulezita a dostal do krve while, do-loop kde goto maskuji pomoci continue a break. Jediny rozdil oproti goto je, ze je hned videt kam program pokracuje.
Ale obcas mi stejne jeste goto chybi… bylo to takovy svobodny. .) Nejaky break(3) co by vyskocil ze tri smycek, nebo nedavno jsem psal nejaky brain pro deskovou hru a v jednom okamziku zjistim ze cas vyprsel a potrebuji opustit rekurzivni fci z libovolneho zanoreni. Neprisel jsem na to, jak to bez hrani se zasobnikem udelat, tak jsem musel vracet konstantu „cas_vyprsel“ a hned jsem udelal chybu, kdyz se mi ta konstanta ulozila jako platna hodnota pozice do hashe .), protoze jsem v casti s hashem taky volal rekurzivne fci pro killer variantu a zapomnel vlozit po obdrzeni vysledku kontrolu jestli jen nemam opustit fci.

_dworkin
_dworkin (neregistrovaný) ---.cust.nbox.cz
17. 6. 2010 22:36 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

Asi by se to dalo prirovnat jako stavet z cihel nebo panelu. Stejne se vetsinou bude delat normalni stena tak proc to komplikovat. Velikost oken a dveri bude taky vetsinou standardni. A proc to rovnou neudelat z pripravenych unibunek?

Pavel Tišnovský aura:98
18. 6. 2010 12:09 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

jj, ze zacatku jsem mel podobne pocity. Prvni program v Placalu, co nam ucitel napsal na tabuli, pocital obvod kruznice a jak je u Pascalu zvykem, bylo to minimalne na 10 radku (samanske tance typu: program x(input, output), var, begin, end s teckou atd.) a ja si porad rikal, co na tom vsichni vidi kdyz se da jednoduse napsat:

10 ? "Zadej r:"
20 INPUT A
30 ? "Obvod="; A*2*3.1415

Samozrejme ze s prichodem slozitejsich datovych struktur a algoritmu se vyhoda strukturovanych jazyku nakonec ukazala :-)

Pavel Tišnovský aura:98
18. 6. 2010 12:11 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

jeste s tou rekurzi – v BASICech (tech klasickych) se moc nedala pouzit (ne ze by nesla, ale zasobnik pro GOSUB/RETURN byval maly a promenne globalni), takze tam se problem vyresil hned pri navrhu algoritmu :-)

Pavel Tišnovský aura:98
18. 6. 2010 12:30 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

<hereze>
Jeste k tomu clanku „GOTO considered harmful“ od Dijkstry. Trosku me pripadne, ze nekteri autori a autority ten clanek snad vubec necetli (nebo nepochopili) a vyvozuji zavery pouze z titulku toho clanku :-)
Protoze ono GOTO samo o sobe spatne neni, je to proste prikaz, pomoci nehoz se daji vytvaret klasicke strukturovane prikazy (ktere Dijstra samozrejme prosazuje), tj. WHILE a REPEAT-UNTIL.
Problem GOTO je v tom, ze s nim clovek (krome „cisteho“ pouziti) muze prasit, ale to muze i v nekterych jinych „cistych“ jazycich – treba menit hodnotu ridici promene smycky FOR (nekdy to pravda nejde, zalezi na jazyku), pouzivat longjmp() atd.
GOTO navic neni nejvetsi problem BASICu, tim je (IMHO) existence pouze globalnich promennych a jejich automaticka inicializace. Pokud by toto bylo vyreseno (napriklad zmenou prikazu GOSUB/RETURN s novym prikazem pro zacatek podprogramu), byl by i klasicky BASIC s cislovanymi radky a GOTO pouzitelny i pro psani vetsich aplikaci.
</hereze>

_r3450n_
_r3450n_ (neregistrovaný) 165.72.200.---
18. 6. 2010 14:52 Nový

Re: Programovací jazyk BASIC na osmibitových mikropočítačích (2)

celé vlákno

To jo. GOTO byla funkce za vsechny drobne, hlavne IF…GOTO :) Zjednodusovalo to tolik veci, ale kdyz pak editoval ten program nekdo jinej jako ten co ho psal, tak byl z toho pekne v prdeli :D

snehuliak
snehuliak (neregistrovaný) 158.197.161.---
20. 6. 2010 19:41 Nový

konverzia grafickych prikazov z PMD-85 na Spectrum

celé vlákno

Svojho casu som zacal robit na konvertore grafickych prikazov z PMD-85 na Spectrum.
Bolo to vo forme podprogramov a aj ked som to nikdy nedokoncil, podarilo sa mi urobit zakladne prikazy – SCALE, PLOT a MOVE. Spectrum SCALE nemalo – hodnoty som ulozil a pri prikazoch PLOT a MOVE som potom prerataval pevnu poziciu x a y na zaklade velkosti danych pri SCALE.
BPLOT a BMOVE som mal premyslene ale nedokoncil som ich.
Motivaciou bola kniha „Basic u Mikropocitacu“ ktora obsahovala vela dobrych prikladov pre PMD-85. Pomocou mojich podprogramov sa mi podarilo jednoduchym prepisanim programu z knihy vykreslit na didaktiku obrazok ktory bol aj na obalke knihy ;)

lucky/CULT
lucky/CULT (neregistrovaný) ---.trz.cz
13. 7. 2010 13:09 Nový

C64 - korekce

celé vlákno

C64 měl procesor 6510, ne 6502

>>Poměrně jednoduchý trik, pomocí něhož bylo možné na úvodní obrazovce interpretru jazyka BASIC zobrazit více než osm spritů.

tohle rozhodně jednoduchý trik nebyl a v žádném existujícím basicu nešel napsat. jednalo se o sprite-multiplexer a bylo třeba pracovat s rastrovým přerušením. vsadím se, že v době největší slávy c64 ho u nás nezvládlo víc jak 20–30 lidí :-)

Pavel Tišnovský aura:98
13. 7. 2010 13:15 Nový

Re: C64 - korekce

celé vlákno

jasne, 6510, ta 02 mi ulitla, omlouvam se.
Co me tesi, ze jsem ten trik (jakozto Atarista a ne Commodorista :-) nakonec taky zvladl, ono to opravdu neni tak slozite, staci zmenit jen nekolik registru (vubec i pres rozdily mezi Atarkem, komousem a treba i VGAckem na PC se pri znalosti toho, jak se obraz generuje a co se da menit na kazdem obrazovem radku ty efekty delaly docela snadno). Asi nejslozitejsi bylo to cele spravne nasynchronizovat, ale jen pro zobrazeni x-spritu ani toto nebylo tak slozite, kdyz na jejich presne pozici nezalezelo.

Zasílat nově přidané příspěvky e-mailem