Welcome, Guest. Please login or register.


Author Topic: Általános BASIC Kérdések (Read 423962 times)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #345 on: 2012.November.02. 16:33:01 »
Érdekes bugot találtam. Rögtön a basic bejelentkezése után is jelentkezik a bug. Ha meghívunk CALL-lal egy eljárást, amiből csak annyi van, hogy DEF eljárás, akkor furcsa dolog történik. Ha a DEF után van még legalább egy sor, akkor nem lesz furcsa, bár a DEF utáni sort írja ki hibásnak, pedig talán nem abban van a hiba, hanem a DEF sorban, hogy nincs lezárva END DEF-fel.
Ha előtte nem hívjuk meg CALL-lal, akkor sem jelentkezik a bug az egysoros, lezáratlan blokknál.

Nem lehet, hogy ez összefügg azzal, hogy a puszta END IF (IF nélkül) nem okoz megszakítást, ahogy azt korábban észrevettük, a "kakaó mellett futó" program kapcsán?

[ Guests cannot view attachments ]

[ Guests cannot view attachments ]

[ Guests cannot view attachments ]

[ Guests cannot view attachments ]
« Last Edit: 2012.November.03. 12:34:13 by szipucsu »
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #346 on: 2012.December.03. 10:36:19 »
Érdekelne, van-e valakinek valami ötlete, hogyan lehetne még érdekesebbé tenni ezt az "animációt".
Turbós gépen egy kicsit talán jobb.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #347 on: 2012.December.03. 18:04:20 »
Egy sorozat összes lehetséges permutációjára a Rosetta Code-on szégyenletes megoldások vannak... :evil: Van kicsit egyszerűbb megoldás is... (ld.: T10. Permutáció rekurcióval)

Egy megfigyelés annak, aki esetleg rekurzióval szeretne foglalkozni.
Ha egy eljárás önmagát hívja, és FOR-NEXT ciklust használunk benne, legalább a CIKLUSVÁLTOZÓT deklaráljuk először. Ellenkező esetben hibát ugyan nem kapunk, de a program nagyon nem azt fogja csinálni, amit szeretnénk...
« Last Edit: 2013.January.23. 08:29:31 by Lacika »

Offline Tuby128

  • EP addict
  • *
  • Posts: 1448
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #348 on: 2012.December.03. 18:18:55 »
Légy szíves mutass példát arra, hogy mire gondolsz. Néhány programsor és komment. Köszönöm!

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #349 on: 2012.December.03. 18:23:07 »
Quote from: szipucsu
Érdekelne, van-e valakinek valami ötlete, hogyan lehetne még érdekesebbé tenni ezt az "animációt".

A 130. 140. sor fölöslegesnek tűnik.
BASIC-ből igazából erre nagyon már nem lehet nagyon sokat rakni. Esetleg a LINE STYLE méginkább a LINE MODE ad még lehetőséget a variálásra.

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #350 on: 2012.December.03. 18:30:14 »
Quote from: Tuby128
Légy szíves mutass példát arra, hogy mire gondolsz. Néhány programsor és komment. Köszönöm!
Az innen letölthető példaprogramok közül a PERMUT.BAS-t érdemes kipróbálni. Maga az eljárás a fenti linken megtekinthető.
A megoldás semmi  extra, rekurzívan cserélgetjük az elemeket. Ha elfogynak a felcserélendő elemek (330-as sor), kész a sorozat, amit kiírunk: 340-370 sor.
Ami a lényeg: A 320-as sorban deklaráljuk a ciklusváltozót, ezt kell kitörölni és úgy is lefuttatni a programot. Mintha a nem deklarált ciklusváltozó belepiszkítana a BASIC verembe(?)

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #351 on: 2012.December.03. 21:02:15 »
Quote from: Lacika
A 130. 140. sor fölöslegesnek tűnik.
A GRAPHICS, majd a CLOSE #101? Azért van benne, mert ha nem először futtattam a programot, mindig Channel already open hiba volt, és ezzel ezt jól ki lehetett kerülni.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Tuby128

  • EP addict
  • *
  • Posts: 1448
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #352 on: 2012.December.03. 21:36:00 »
Szipucsu, hogyan jöttél rá erre a megoldásra? Próbálgatással? Ne érts félre örülök, hogy foglalkozol vele, és érdekenek a részletek.

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #353 on: 2012.December.03. 21:36:47 »
Quote from: szipucsu
A GRAPHICS, majd a CLOSE #101? Azért van benne, mert ha nem először futtattam a programot, mindig Channel already open hiba volt, és ezzel ezt jól ki lehetett kerülni.
Ez azért van, mert vagy programhibával állt le, vagy STOP-pal leállítottad és nyitva maradt a csatorna. Ha a program illedelmesen bezárja maga után a megnyitott videolapokat, nincs ilyen hiba.

Offline Tuby128

  • EP addict
  • *
  • Posts: 1448
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #354 on: 2012.December.03. 21:41:07 »
Az F5 (TEXT) mindig segít videólapokat bezárni.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #355 on: 2012.December.03. 23:16:42 »
Mármint milyen megoldásra érted, hogy hogy jöttem rá?
Igen, a csatorna nyitva maradt, mert szerkesztgettem a programot, mindig leállítottam STOP-pal, aztán listáztam, újra elindítottam, stb. Egyszerűbb volt így megoldani, mint TEXT-et nyomogatni :D Persze megszakításkezelővel azt is meg lehetne csinálni, hogy STOP-ra TEXT legyen és így legyen vége a programnak.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #356 on: 2012.December.04. 13:55:58 »
Quote from: Tuby128
Szipucsu, hogyan jöttél rá erre a megoldásra? Próbálgatással? Ne érts félre örülök, hogy foglalkozol vele, és érdekenek a részletek.
Ja, hogy a GRAPHICS - CLOSE #101 megoldásra hogy jöttem rá? Hát, láttam, hogy Channel already open van néha, de nem mindig. Ha csak beírom, hogy CLOSE #101, akkor meg akkor lenne hiba, ha éppen nincs nyitva. És hogy még ezt is kiküszöböljem, betettem elé a GRAPHICS utasítást. Természetesen egy szál TEXT egyszerűbb lett volna, de hát programíráskor bonyolultabban gondolkozik az ember, én legalábbis. De a kész programból majd ki lehet törölni minden felesleges ideiglenes cuccot.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Általános BASIC Kérdések
« Reply #357 on: 2012.December.04. 19:58:43 »
Rosetta Code-os feladat.
« Last Edit: 2012.December.04. 20:43:52 by szipucsu »

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9898
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: Általános BASIC Kérdések
« Reply #358 on: 2012.December.04. 20:49:02 »
Quote from: Lacika
Rosetta Code-os feladat.
Jó lett!
Látom, tanultál a bénázásomból és a STOP-ra bezárja a program a videólapokat. :D

Más 8 bites gépeken ezt gondolom, BASIC-ben nem igazán lehet megcsinálni, mert tudtommal csak az EP-n lehet sok videólapot megnyitni és váltogatni azokat.
Amúgy a szinusz függvényt használja a mozgáshoz?
A szinuszt és más függvényeket is fel lehetne még használni abban a programban is, amit én tettem be lentebb, látványos dolgokat lehetne vele művelni.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Tuby128

  • EP addict
  • *
  • Posts: 1448
  • Country: hu
Re: Általános BASIC Kérdések
« Reply #359 on: 2012.December.04. 20:49:44 »
Annyira szeretném látni a kódjaitokat.  Nekem nincs emulátorom, de a kód nagyon érdekelne. Nem lehetne, hogy a .bas mellett .txt formátumban is becsatolnátok? Kérlek!