Enterprise Forever
:HUN => Programozás => BASIC => Topic started by: Lacika on 2021.March.20. 18:27:51
-
Ez a program most kivételesen nem csak teljesen felesleges, de használhatatlanul lassú is. :ds_icon_cheesygrin:
A lista parancs ad országonkénti listát az ismert városokról.
-
Ez a program most kivételesen nem csak teljesen felesleges, de használhatatlanul lassú is. :ds_icon_cheesygrin:
Nem felesleges, én például eddig nem tudtam volna megtippelni Miskolc és Los Angeles közötti távolságot. Most talán megmarad.
A lassúságot inkább emberi léptékűnek mondanám, én lassabban számoltam volna ki, mint a gép.
Viszont ki kéne találni valamit, hogy bármilyen konfigurációba is töltsünk be basic programot, ha az magyar nyelvű, akkor megfelelően jelenjenek meg a karakterek. Nagyon jó dolog az EPDOS és a karakterkészlete is, de alapból nem használom, mert az igazi EP-mhez sem volt, és így igazi nosztalgikus a hangulat emulátorral. Kéne egy eljárás, ami megvizsgálja, mi van a gépben, és ha nem az, ami kéne, akkor átdefiniálja az ékezetes karaktereket, és ezt az eljárást be lehetne tenni minden basic programba a basic programcsokorban, ami magyar nyelvű.
[attachimg=1]
-
Viszont ki kéne találni valamit, hogy bármilyen konfigurációba is töltsünk be basic programot, ha az magyar nyelvű, akkor megfelelően jelenjenek meg a karakterek.
Ilyen van:
200 CALL HFONT
2380 DEF HFONT
2390 WHEN EXCEPTION USE NINCSHFONT
2400 EXT "HFONT"
2410 END WHEN
2420 HANDLER NINCSHFONT
2430 CLEAR FONT
2440 SET CHARACTER 145,24,24,60,102,126,102,102
2450 SET CHARACTER 151,24,24,126,96,120,96,126
2460 SET CHARACTER 133,28,24,60,24,24,24,60
2470 SET CHARACTER 146,6,60,102,102,102,102,60
2480 SET CHARACTER 148,66,60,102,102,102,102,60
2490 SET CHARACTER 153,102,92,102,102,102,102,60
2500 SET CHARACTER 149,24,102,102,102,102,102,60
2510 SET CHARACTER 137,102,66,102,102,102,102,60
2520 SET CHARACTER 143,51,102,102,102,102,102,60
2530 SET CHARACTER 129,24,24,60,6,62,102,62
2540 SET CHARACTER 147,24,24,60,102,126,96,60
2550 SET CHARACTER 132,28,16,56,24,24,24,60
2560 SET CHARACTER 134,24,24,60,102,102,102,60
2570 SET CHARACTER 135,102,0,60,102,102,102,60
2580 SET CHARACTER 136,102,102,60,102,102,102,60
2590 SET CHARACTER 138,24,24,102,102,102,102,60
2600 SET CHARACTER 139,102,0,102,102,102,102,60
2610 SET CHARACTER 140,54,36,102,102,102,102,60
2620 END HANDLER
2630 END DEF
-
Ilyen van:
Jónak tűnik!
Lehet olyat is, hogy az egész karakterkészletet töltse be egy fájlból, de ahhol kell egy külön fájl is.
-
Nem felesleges, én például eddig nem tudtam volna megtippelni Miskolc és Los Angeles közötti távolságot. Most talán megmarad.
Jó kis csillagászati földrajz feladatok! :-)
Szerencsére az adatbázisban benne van Makó, és Jeruzsálem is! :-D
Lehetne valami intelligens input, ahogy írod be a betűket, mindig automatikusan kiírja az első találatot.
-
Lehetne valami intelligens input, ahogy írod be a betűket, mindig automatikusan kiírja az első találatot.
Az basicben megoldható elfogadható sebességgel?
Még nem próbáltam Zzzippel lefordítani, de ha viszi, az nagyon jó.
A legjobb lenne a kétabrakos fájlkezelőhöz hasonló módszer: két ablakban jelennének a városnevek, és úgy lehetne válogatni.
-
Az basicben megoldható elfogadható sebességgel?
Még nem próbáltam Zzzippel lefordítani, de ha viszi, az nagyon jó.
BASIC-ben lehetetlen, pláne, ha még bővíteni akarnánk a listát.
Zuuip-pel fordított programban ilyeneket meg pláne nem számolsz ki...
-
Double reference hibával állt le a Zzzip. Elvileg egy eljárás kétszer szerepel, vagy hasonló. (A Zzzip leírásban nem szerepel a Double reference hiba.) OFF: A Zzzip két p-vel van a leírás címében (http://ep128.hu/Ep_Util/Zzzip.htm), csak egy p kell.
A program talán nem túl nagy, 30K alatt még szokta vinni a Zzzip. Ha a data sorok felét töröltem, akkor is Double reference volt a hiba.
Mindegyik számot meg lehetne szorozni 1000-rel, az eredmény kiírásakor pedig visszaosztani, így a törteket ki lehetne kerülni. Ha túl nagy szám jön ki 1000-rel szorzásnál, akkor is talán van valami trükk, pl. ki kell vonni valamennyit a számból, elvégezni a műveletet, majd hozzáadni.
-
Double reference hibával állt le a Zzzip. Elvileg egy eljárás kétszer szerepel, vagy hasonló.
Nincs valami olyan, hogy rövidebb neveket használ, így két hasonló nevűből duplázás lesz?
-
Nincs valami olyan, hogy rövidebb neveket használ
Elsőre belekukkantva nem találtam ilyet, de attól még lehet.
Az a baj, a Zzzip nem ír sorszámot a hiba mellé.
Olyan szokott még lenni, hogy basicben basic parancs is lehet változónév (pl. LET PRINT=1), a Zzzip az ilyet vissza szokta dobni.
Vagy lehet, hogy a belső és a külső változók zavarják össze.
-
Az ATVALT(T) eljárással vagy annak meghívásával lesz a gond. Ha kikommentelem (! mögé) ezt az eljárást, és a két sort, ami ezt hívja meg, lefordul Zzzippel.
(El is indul a zzzippelt program, más kérdés, hogy nem csinál semmit, nem ír ki adatokat. :D)
-
Tényleg duplán szerepelt egy változó. Az eljáráson belüli P változónév a főprogramban tömbként szerepelt P(x). Az eljáráson belüli P-t átírva pl. PP-re már nincs gond, és az eljáráson belülről ki kell tenni a program elejére a NUMERIC utasítást, mert a Zzzip nem kezel belső változókat. (De talán az eljáráson belül is maradhat.)
Már csak a szögfüggvényekkel kellene kezdeni valamit, amik olyan sok törtet kezelnek, hogy kb. mindig 0 lesz a végeredmény.
Zzzippelés nélkül az out 191,12 és a poke 56,201 is gyorsíthat valamit, Zzzippel kombinálva meg pláne.
-
Kicsit használhatóbb formába alakított program. A rekodok BASIC logika szerint rendezettek, így logaritmikus kereséssel tudja kikeresni az elemet. Csak az elején kell kibekkelni az adatok betöltését...
list paracs kilistázza országkódra az ismert várásokat.