Welcome, Guest. Please login or register.


Author Topic: BASIC (Read 154684 times)

Offline vizor

  • EP fan
  • *
  • Posts: 239
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://vizor.uw.hu
Re: BASIC
« Reply #90 on: 2008.November.30. 21:53:35 »
Quote from: szipucsu
Akkor ha írtam egyszer EP-re basic-ben egy programot, akkor azt elméletileg könnyen meg tudnám írni valami PC-s basic-ben is?

Egy példa:

EP128-as basic program (Tippek és Trükkök könyvbõl):

100 !grafikus kepernyore villogo szoveg
110 GRAPHICS 16
120 FOR X=0 TO 26 !sinusgorbe
130 LET V=45*X+50:LET F=240+240*SIN(X*PI/12)
140 SET INK RND(7)+1:PLOT V,F;
150 NEXT
160 PLOT V,F,
170 LET A$="ENTERPRISE128"
180 FOR X=0 TO 12 !a$ hullamvonalu kiirasa
190 LET F=400+230*SIN(X*PI/6)
200 SET INK RND(7)+1:PLOT 90*X,F,
210 PRINT #101:A$(X+1)
220 NEXT
230 GOTO 180

Ugyanaz a program csak PC-s QBasic-ban (a DOS6.22-ben alapban benne van vagy letölthetõ a fordító):

' grafikus kepernyore villogo szoveg
RANDOMIZE TIMER ' ora alapjan general veletlenszamot
SCREEN 9 ' EGA 640x350x16
' sinusgorbe
PI = 3.14
V1 = 56
F1 = 175
FOR X = 0 TO 25
 V2 = 56 + (20 * X)
 F2 = 175 + (70 * SIN((X * 14) * (PI / 180)))
 LINE (V1, F1)-(V2, F2), INT(RND * 15) + 1
 V1 = V2
 F1 = F2
NEXT
' a string hullamvonalu kiirasa
A$ = "ENTERPRISE128"
DO
FOR X = 1 TO 13
 COLOR INT(RND * 15) + 1
 LOCATE 10 + (5 * SIN((X * 28) * (PI / 180))), 5 + (X * 5)
 PRINT MID$(A$, X, 1)
NEXT
LOOP UNTIL INKEY$ = CHR$(27) ' ESC lenyomasaig csinalja

Szerk: a QBasic simán fut XP alatt

Offline szipucsu

  • EP addict
  • *
  • Posts: 7336
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #91 on: 2008.November.30. 23:25:18 »
Egy példa:
Nagyon szokatlan, hogy nincs a soroknak száma. Így a GOTO-t sem lehet használni. Persze valamirevaló programozónak ez nem is nagyon kell állítólag. :D
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Offline MrPrise

  • Administrator
  • EP addict
  • *
  • Posts: 2465
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • Enterprise Forever
Re: BASIC
« Reply #92 on: 2008.November.30. 23:28:59 »
Nagyon szokatlan, hogy nincs a soroknak száma. Így a GOTO-t sem lehet használni. Persze valamirevaló programozónak ez nem is nagyon kell állítólag. :D
A sorok számozása csak a nagyon basic (alap) basic-ekben szokásos. Egyébként sorszám nélkül is van goto, csak címkével, hasonlóan az assembly-ben lévő címkékhez.

Offline vizor

  • EP fan
  • *
  • Posts: 239
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://vizor.uw.hu
Re: BASIC
« Reply #93 on: 2008.November.30. 23:37:13 »
Quote from: MrPrise
Quote from: szipucsu
Nagyon szokatlan, hogy nincs a soroknak száma. Így a GOTO-t sem lehet használni. Persze valamirevaló programozónak ez nem is nagyon kell állítólag.
A sorok számozása csak a nagyon basic (alap) basic-ekben szokásos. Egyébként sorszám nélkül is van goto, csak címkével, hasonlóan az assembly-ben lévõ címkékhez.

Igen, van benne címkés GOTO:

VALAMI
eleje
DOLOG1
DOLOG2
GOTO eleje

Csak én direkt DO-LOOP-al csináltam szipucsu, hogy szoktasd magad a strukturális programozás gondolatához  :) Ettõl függetlenül használhatod ugyanúgy a GOTO-t, sõt GOSUB is van még a normál függvény és procedure hívások mellett...  :)  Egyik haverom kedvenc mondása volt: " Az igazi programozó nem fél a GOTO-tól..."  :ds_icon_cheesygrin: :ds_icon_cheesygrin: :ds_icon_cheesygrin:

Offline nyuzga

  • EP addict
  • *
  • Posts: 1954
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.52 Opera 9.52
    • View Profile
Re: BASIC
« Reply #94 on: 2008.December.01. 00:19:20 »
Egy példa:

EP128-as basic program (Tippek és Trükkök könyvbõl):

Beraktam a programodat EBBE de valami baja van a screennel. Bár én hülye vagyok a basichoz. :lol:

Offline vizor

  • EP fan
  • *
  • Posts: 239
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://vizor.uw.hu
Re: BASIC
« Reply #95 on: 2008.December.01. 00:24:31 »
Quote from: nyuzga
Beraktam a programodat EBBE de valami baja van a screennel.
Hát ez elég tág fogalom, attól függ, mit raktál mibe  :ds_icon_cheesygrin: Az elsõ lista EP IS-BASIC, emulátorban kipróbálva (EP32). A második QBasic, tele van spec. Microsoft féle cél-utasítással mint pl a Screen. Eddig még nem láttam PC-n két egyforma BASIC-ot amiben lett volna két egyforma grafikus pontkirakó utasítás  :)

Offline nyuzga

  • EP addict
  • *
  • Posts: 1954
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.52 Opera 9.52
    • View Profile
Re: BASIC
« Reply #96 on: 2008.December.01. 00:27:09 »
Hát ez elég tág fogalom, attól függ, mit raktál mibe  :ds_icon_cheesygrin: Az elsõ lista EP IS-BASIC, emulátorban kipróbálva (EP32). A második QBasic, tele van spec. Microsoft féle cél-utasítással mint pl a Screen. Eddig még nem láttam PC-n két egyforma BASIC-ot amiben lett volna két egyforma grafikus pontkirakó utasítás  :)

A Qbasic-be futott szép színes szinuszgörbét láttam
Gondoltam hátha ezzel is fut, de nem. :lol:
Pedig milyen szépen tud rajzolni. :)
1901-0
« Last Edit: 2008.December.01. 00:36:28 by nyuzga »

Offline vizor

  • EP fan
  • *
  • Posts: 239
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://vizor.uw.hu
Re: BASIC
« Reply #97 on: 2008.December.01. 00:48:15 »
Szépnek szép  :)

Ha hirtelen ilyen ábrát tudtam volna rajzolni az EP-en, akkor ilyen listát csapok össze  :ds_icon_cheesygrin: Errõl a BASIC-ról nem hallottam még, bár nem vagyok BASIC párti, a Delphi-vel jól elvagyok.

Errõl jut eszembe. Ha összehasonlítjuk a különbözõ gépek különbözõ BASIC nyelveit akárhány bites, nekem feltûnik valami. A fejlesztõk igyekeztek a szótárból kikeresni a lehetõ legtöbb féle szinonímát egy parancsra, nehogymár ugyanaz legyen mint a többi. Pl. a grafikus pont kirakása: PLOT, DRAW, PIXEL, PUTPIXEL, DRAWPIXEL, POINT... :) A paraméterezésrõl nem is beszélve. Nem egy univerzális nyelv, az biztos.

Offline szipucsu

  • EP addict
  • *
  • Posts: 7336
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: BASIC
« Reply #98 on: 2008.December.01. 01:32:31 »
Valahogy eszembe jutott, hogy egy újságban közölt BASIC programban ha nem kérünk újabb játékot, a gép újraindul. Ezt furcsa módon a SPOKE 255,16380,0 után kiadott TEXT utasítással tette a program. "Apró" szépséghibája, hogy a memóriateszt után nem jelenik meg az ENTERPRISE felirat, hanem fagyi van. Igazi gépen az EXOS... TESTING legvégén megáll és a képernyõ elkezd csíkozódni.
Az emulátorok is ugyanígy viselkednek, szóval tuti a BASIC program írója végzett félmunkát. Pontosabban az emulátoroknál nincs képernyõcsíkozás, csak fagyás, ez érdekes, nem tudom, mi lehet az oka.

Még érdekesebb, hogy amikor Zozó 2.3-as EXOS-át használjuk, akkor a hevenyészett akció után ilyen memóriateszt következik (emulátoron legalábbis):

Zozó, ilyet láttál már? :D

Szerk.: Bocs, közben rájöttem, az EXOS 2.3-ban is lehet az E-vel eredeti memóriatesztet kérni.

« Last Edit: 2008.December.01. 01:40:16 by szipucsu »
SOUND SOURCE 3,STYLE 16,LEFT 16,RIGHT 64,SYNC 2
SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 2
SOUND PITCH 25,SYNC 2
Videos

Online Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #99 on: 2008.December.01. 09:07:18 »
A sorok számozása csak a nagyon basic (alap) basic-ekben szokásos. Egyébként sorszám nélkül is van goto, csak címkével, hasonlóan az assembly-ben lévõ címkékhez.
Maradjunk abban, hogy az igazi BASIC az sorszámos, és interpreteres. A többi az csak amolyan utánzat :-)

Offline nyuzga

  • EP addict
  • *
  • Posts: 1954
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 9.52 Opera 9.52
    • View Profile
Re: BASIC
« Reply #100 on: 2008.December.01. 09:10:34 »
Ha hirtelen ilyen ábrát tudtam volna rajzolni az EP-en, akkor ilyen listát csapok össze  :ds_icon_cheesygrin: Errõl a BASIC-ról nem hallottam még, bár nem vagyok BASIC párti, a Delphi-vel jól elvagyok.

A DECIMAL BASIC 1mega és ingyenes.
Át tudnád ezt EP-re írni? :)

OPTION ANGLE DEGREES
LET q=2^20
LET fraz=5
LET ng= 3
LET q1 = 250
LET f=(q1/q)
LET cr=5
SET WINDOW -q1-cr,q1+cr,-q1-cr,q1+cr
LET xv=0
LET yv=0
LET ro=q/fraz*ng
LET th=0
LET xv=fraz/ng*f*ro*COS(th)
LET yv=0
FOR i = 1 TO q/fraz*ng
LET n=n+i
LET t=MOD(n,q)
IF t=0 THEN LET t=q
LET th=t*(360/(q) )
LET x=fraz/ng*f*ro*COS(th)
LET y=fraz/ng*f*ro*SIN(th)
SET LINE COLOR MOD(i , fraz)+1
PLOT LINES: xv,yv;x,y
LET xv=x
LET yv=y
NEXT i
END
1905-0
« Last Edit: 2008.December.01. 09:38:15 by nyuzga »

Online Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #101 on: 2008.December.01. 09:18:33 »
Errõl jut eszembe. Ha összehasonlítjuk a különbözõ gépek különbözõ BASIC nyelveit akárhány bites, nekem feltûnik valami. A fejlesztõk igyekeztek a szótárból kikeresni a lehetõ legtöbb féle szinonímát egy parancsra, nehogymár ugyanaz legyen mint a többi.
Éppen ezért a kezdeti burjánzás után szabványosították a nyelvet. Az EP-nél külön ki is volt emelve a tulajdonságoknál, hogy már ezt az "ANSI Standard" BASIC-et "beszéli"!
Aztán gondolom a gépek és lehetõségek fejlõdésével megint el kezdett burjánozni a különbözõ új utasítások tömege :-) , de ahogy nézem ezt utána újabb ANSI szabványokkal igyekeztek rendbe tenni.

Online Zozosoft

  • EP addict
  • *
  • Posts: 13070
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://enterprise.iko.hu/
Re: BASIC
« Reply #102 on: 2008.December.01. 09:40:53 »
Egyébként az igazi programozási tudáshoz nem az utasításokat kell tudni, hanem azt, hogy hogyan bontunk le egy feladatot olyan kisebb elemekre amiket már el tud végezni a gép. Aztán már csak meg kell nézni a kézikönyvben, hogy az aktuális programnyelvben, hogy hívják a kérdéses "építõkockát" :-)
Anno pl a Kandón elsõben C-t kellett tanulni. Elsõ órán elmondták, hogy mi lesz majd az évvégi feladat, második órán beadtam készen, pedig addig soha nem programoztam C-ben :-) 5-ös, többet nem is kellett bejárnom :-)
A legtöbb általános programnyelv (BASIC, Pascal, C, stb) ugyanazokra az alapokra épül, csak némelyikben több az alap "építõkocka". Sõt még az assemblyt is idesorolnám, az elv itt is ugyanaz, csak itt egész minimál az alapkészletünk, minden nagyobb elemet már nekünk kell létrehozni.

Offline vizor

  • EP fan
  • *
  • Posts: 239
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 3.0.4 Firefox 3.0.4
    • View Profile
    • http://vizor.uw.hu
Re: BASIC
« Reply #103 on: 2008.December.01. 10:55:37 »
Igen, ez így van. Életemben tegnapelõtt láttam másodszor QBasic-et, ezt a pici progi átiratot is a help alapján eszkábáltam össze némi próbálkozással  :)

Offline IstvanV

  • EP addict
  • *
  • Posts: 4753
  • OS:
  • Linux (Suse) Linux (Suse)
  • Browser:
  • Firefox 3.0.3 Firefox 3.0.3
    • View Profile
Re: BASIC
« Reply #104 on: 2008.December.01. 14:06:34 »
Zozó, ilyet láttál már? :D
Bár ez nem igazán tartozik ehhez a témához, de már van újabb ep128emu 2.0.6 beta verzió is (lásd itt). :)