Enterprise Forever

:HUN => Programozás => BASIC => Topic started by: Lacika on 2021.March.20. 18:27:51

Title: Városok
Post 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.
Title: Re:Városok
Post by: szipucsu on 2021.March.21. 09:49:19
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]
Title: Re:Városok
Post by: Lacika on 2021.March.21. 11:50:53
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:
Code: [Select]
  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
Title: Re:Városok
Post by: szipucsu on 2021.March.21. 11:56:58
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.
Title: Re:Városok
Post by: Povi on 2021.March.31. 14:30:16
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.
Title: Re:Városok
Post by: szipucsu on 2021.March.31. 15:39:12
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.
Title: Re:Városok
Post by: Lacika on 2021.April.02. 09:49:38
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...
Title: Re: Városok
Post by: szipucsu on 2021.April.02. 12:25:51
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.
Title: Re: Városok
Post by: Zozosoft on 2021.April.02. 13:40:07
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?
Title: Re: Városok
Post by: szipucsu on 2021.April.02. 15:00:48
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.
Title: Re: Városok
Post by: szipucsu on 2021.April.02. 15:42:02
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)
Title: Re: Városok
Post by: szipucsu on 2021.April.02. 16:03:28
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.