[TI-BASIC] Hoe dieper niveau aangeven met maar 2 karakters?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het volgende probleem: ik "programmmeer" een samenvatting in TI-BASIC. In deze taal kun je labels (Lbl) aangeven in je code, als volgt:
code:
1
2
3
4
5
6
7
Menu("ETEN","GROENTEN",1,"FRUIT",2

Lbl 1
Disp "Groenten is lekker!

Lbl 2 
Disp "Fruit is OK

Nu wil ik een menu structuur creeeren van meer dan 2 niveaus diep, maar het probleem is dat in TI-BASIC labels slechts 2 karakters (A-Z en 0-9) lang kunnen zijn. Het volgende - mijn oorspronkelijke idee - gaat dus niet lukken:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Menu("ETEN","GROENTEN",1,"FRUIT",2

Lbl 1
Menu("GROENTEN","ZOMER",11,"WINTER",12

Lbl 11
Menu("ZOMERGROENTEN","WITLOF",111,"SPRUITJES",112

Lbl111
Menu("WITLOF","GEBAKKEN",1111,"GEKOOKT",1112

Lbl1111
Menu("GEBAKKEN","MET BOTER",11111,"IN OLIE",11112

Lbl11112
Disp "U KOOS:
Disp "IN OLIE GEBAKKEN WITLOF!

Door de labels te nummeren, zou ik snel kunnen zien op welk niveau en waar in de boom ik mij bevindt. Dat gaat nu dus niet door.

Ik vraag me af, voordat ik ga prutsen met random labels, of er niet een handige manier is om toch met twee karakters, vijf niveaus te kunnen aangeven (ik heb vijf niveaus nodig). Een twee-karakter systeem waarmee je toch in 1 keer kunt zien dat je op niveau 1.1, 1.3.2 of 1.6.7.2 zit?

Ik vraag het omdat ik het zelf niet verzonnen krijg (volgens mij is het onmogelijk), en omdat ik bang ben voor de chaos die anders in de code gaat ontstaan met random verzonnen labels :'(

Met andere woorden: eigenlijk is de vraag: los de volgende puzzel op zodat je met slechts 2 karakters snel kunt zien of je in de structuur zit in paragraaf:
in cijfersin 2 karakters
1?
3.1?
5.7.3?
6.6.7.2?
4.2.2.2.5?

Edit: ook handig om toe te voegen: elk niveau heeft maximaal 7 items (maximaal is dus paragraaf 1.7; 1.8 bestaat niet. Net als dat paragraaf 6.4.8 niet zal voorkomen (6.4.7 zou maximaal zijn).

[ Voor 18% gewijzigd door Verwijderd op 08-03-2010 21:53 ]


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Nu online

The Eagle

I wear my sunglasses at night

Dan draai je de boel om :Y)

Niveau 0 wordt 01, 02 tm 09
Niveau 1 wordt 10, 11 tm 19
Niveau 3 wordt 30, 31 tm 39.

True, je bent wat gelimiteerd....maar dit is TI-basic, geen C++ ;)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 12:07
Base36 :P?

1 => 01
1.1 => 11 => 0B
3.6.4 => 364 => A4
1.1.4.3 => 1143 => VR

Je hebt dan alleen nog het probleem dat je niet verder kan als 1.2.9.5

[ Voor 69% gewijzigd door IcE_364 op 08-03-2010 22:03 ]


Acties:
  • 0 Henk 'm!

  • analog_
  • Registratie: Januari 2004
  • Niet online
IcE_364 schreef op maandag 08 maart 2010 @ 21:59:
Base36 :P?

1 => 01
1.1 => 11 => 0B
3.6.4 => 364 => A4
1.1.4.3 => 1143 => VR

Je hebt dan alleen nog het probleem dat je niet verder kan als 1.2.9.5
Dat is niet zon ramp aangezien er toch maar ~1500 mogelijke labels zijn. Wel intressanter zou zijn als je meer vrijheid hebt in hoe je die uitbesteed.

Acties:
  • 0 Henk 'm!

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 12:07
Als je trouwens in excel of iets dergelijks je base36 tabel mapped naar je Base7 nummering (aangezien er maar max 7 menu opties zijn) en begint met tellen bij 0 in plaats van 1 heb je ruimte tot en met 3.5.2.6, dan is het echter niet meer makkelijk terug te rekenen en zal je je excelsheet als lookup tabel moeten gebruiken :)

Vrijheid in toekennen word lastig denk ik omdat het maar zo beperkt is en je er wel logica in wil houden :)

[ Voor 14% gewijzigd door IcE_364 op 08-03-2010 22:13 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
IcE_364 schreef op maandag 08 maart 2010 @ 22:11:
Als je trouwens in excel of iets dergelijks je base36 tabel mapped naar je octale nummering (aangezien er maar max 7 menu opties zijn) en begint met tellen bij 0 in plaats van 1 heb je ruimte tot en met 3.5.2.6, dan is het echter niet meer makkelijk terug te rekenen en zal je je excelsheet als lookup tabel moeten gebruiken :)
[...]
Een lookup table gebruiken is geen probleem. Een vereiste is echter wel dat elk menu item tot 7 moet kunnen gaan: 7.x.x.x, x.7.x.x, x.x.7.x en x.x.x.7 moet dus ook tot de mogelijkheden behoren >:) Ziehier mijn probleem...

Acties:
  • 0 Henk 'm!

  • IcE_364
  • Registratie: Februari 2002
  • Laatst online: 12:07
Verder als dit kom ik niet, als max hoofdmenu 3, als max submenu 5. Misschien heb je er iets aan, zie maar :) http://izerion.com/files/menu_table.pdf

Base7 kolom zijn dus je menu id's als je er . tussen zet. en Base36 is je code label.

[ Voor 22% gewijzigd door IcE_364 op 08-03-2010 22:25 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
IcE_364 schreef op maandag 08 maart 2010 @ 22:24:
Verder als dit kom ik niet, als max hoofdmenu 3, als max submenu 5. Misschien heb je er iets aan, zie maar :) http://izerion.com/files/menu_table.pdf

Base7 kolom zijn dus je menu id's als je er . tussen zet. en Base36 is je code label.
Je PDF is leeg?

Acties:
  • 0 Henk 'm!

Verwijderd

nee, er staat een tabel met 1296 regens en 3 klommen in :)

je kan trouwens beter zoiets doen:

code:
1
2
3
4
5
6
"fruit is OK
Menu("ETEN","GROENTEN",1,"FRUIT",2
lbl 1
"groenten is lekker!
Lbl 2
disp ans

en ik kan het weten: ik heb hier de hele havo 4 aan verspild O-)
het kan ook met sub(, maar daar heb ik ff geen zin in...

documentation: http://tibasicdev.wikidot.com/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op maandag 08 maart 2010 @ 22:38:
nee, er staat een tabel met 1296 regens en 3 klommen in :)

je kan trouwens beter zoiets doen:

code:
1
2
3
4
5
6
"fruit is OK
Menu("ETEN","GROENTEN",1,"FRUIT",2
lbl 1
"groenten is lekker!
Lbl 2
disp ans

en ik kan het weten: ik heb hier de hele havo 4 aan verspild O-)
het kan ook met sub(, maar daar heb ik ff geen zin in...
Ik snap niet wat je bedoelt: kan je gewoon strings typen zonder Disp? Wat zijn daarvan de na- en voordelen? Wat bedoel je met "disp ans"? En wat ik van de documentatie begrijp, is sub( om een substring te pakken. Hoe zou mij dat dan helpen?

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 19:58

Sebazzz

3dp

Verwijderd schreef op maandag 08 maart 2010 @ 22:38:
ik kan het weten: ik heb hier de hele havo 4 aan verspild O-)
Ha, herkenning. Lekker kloten om programma's te maken voor de ABC formule en kansberekeningen _/-\o_

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op maandag 08 maart 2010 @ 23:18:
[...]

Ik snap niet wat je bedoelt: kan je gewoon strings typen zonder Disp? Wat zijn daarvan de na- en voordelen? Wat bedoel je met "disp ans"? En wat ik van de documentatie begrijp, is sub( om een substring te pakken. Hoe zou mij dat dan helpen?
dan word het namelijk in and geduwd: dat bespaard een boel kostbare ruimte, zeker als je max groote net geen 8 kb is..

ans is heel handig met menu, je kan gewoon een var in ans gooien en die ophogen:

code:
1
2
3
4
5
6
7
8
1
menu('kies een getal","1",1,"2',2,"3"3
lbl 3
ans + 1
ldl 2
ans + 1
lbl 1
disp "u koos voor ",ans
Sebazzz schreef op maandag 08 maart 2010 @ 23:19:
[...]

Ha, herkenning. Lekker kloten om programma's te maken voor de ABC formule en kansberekeningen _/-\o_
havo 5 heb ik verspild aan asm voor hetzelfde apparaat...

komt wel goed van pas bij mijn opleiding :P makkelijk C leren zo

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nu er zoveel ti-basic fans blijken te zijn, nog een vraag. Is het mogelijk om (in het spiekbriefje dat ik tik) een tabel te maken? Bijvoorbeeld:

verwerpaccept
blaatblaat

Acties:
  • 0 Henk 'm!

  • mat.hi.as
  • Registratie: November 2007
  • Laatst online: 17:07
Wow, TI Basic. * mat.hi.as geen havo aan verspild, maar wel 5/6 VWO.

Je hebt maar een beperkt aantal letters op je scherm als je Disp gebruikt (namelijk 16), dus misschien kan je beter met Text werken, en dan ook nog eventueel lijntjes ertussen stoppen als je dat wilt. Per regel moet je 7 of 8 coordinaten naar beneden gaan. Gelukkig onthou je de belangrijke dingen van je school :+

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op dinsdag 09 maart 2010 @ 00:10:
Nu er zoveel ti-basic fans blijken te zijn, nog een vraag. Is het mogelijk om (in het spiekbriefje dat ik tik) een tabel te maken? Bijvoorbeeld:

verwerpaccept
blaatblaat
met veelvuldig gebruik van line( ja :O

met asm is het al helemaal feest: ik geloof dat je 25 regels nodig hebt om een simpel tabletje te tekenen..

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je per menu een eigen program maakt heb je geen enkel probleem met je labels. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe schreef op dinsdag 09 maart 2010 @ 00:38:
Als je per menu een eigen program maakt heb je geen enkel probleem met je labels. ;)
Kun je verschillende programma's in 1 bestand definieren of moet je dan voor elk programma een apart bestand maken?
pseudo
code:
1
2
3
4
5
6
7
8
PROGRAM:GROENTEN
:Menu(A, B
:Lbl A
:Lbl B

PROGRAM:FRUIT
:Menu(A
:Lbl A

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Daar zul je (natuurlijk) losse programmafiles van moeten maken, en dat is natuurlijk ook de reden dat je alsnog labels kunt hergebruiken. Ik herinner me nog wat van mijn grotere projecten waarin ik ook gewoon allerlei losse files maakte om het overzicht te kunnen houden. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nog een laatste vraag:
code:
1
2
:Disp "HIER EEN LANGE TEKST DIE IK ZOU WILLEN WRAPPEN
:Disp "OOK HIER EEN ZIN DIE LANGER IS DAN 16 KARAKTERS

Ziet er in het scherm uit als:
code:
1
2
HIER EEN LANGE ...
OOK HIER EEN ZI...

Nu kan ik in mijn code natuurlijk elke zin zelf gaan wrappen:
code:
1
2
3
:Disp "HIER EEN LANGE
:Disp "TEKST DIE IK ZOU
:Disp "WILLEN WRAPPEN

Maar is er geen commando dat dat automatisch doet? Let wel: ik heb een TI-83, dus heb geen beschikking over klein lettertype dat te zetten is met Text(

Ik hoop dat iemand een oplossing weet, anders gaat het lang duren om mijn samenvatting te tikken :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Output gebruiken in plaats van Disp. Lees je handleiding eens door in plaats van elk klein vraagje hier te dumpen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe schreef op dinsdag 09 maart 2010 @ 13:32:
Output gebruiken in plaats van Disp. Lees je handleiding eens door in plaats van elk klein vraagje hier te dumpen. ;)
Ja, die had ik al gezien maar het is geen oplossing omdat ik dan niet kan scrollen. In de documentatie staat dat er 3 commando's zijn om tekst af te drukken: Disp, Text( en Output(. Alleen de laatste wrapped, maar als de tekst langer is dan het scherm hoog, verdwijnt de rest uit het scherm:
code:
1
2
3
Output(1,1,"een hele lange tekst die zelfs als hij gewrapped wordt op 16 karakters nog 
niet in een scherm past omdat het scherm maar 7 regels hoog is en deze tekst hoger 
is dan dat

wordt:
code:
1
2
3
4
5
6
7
een hele lange t
ekst die zelfs a
ls hij gewrapped
 wordt op 16 kar
akters nog niet 
in een scherm pa
st omdat het sch

Als ik op de pijltes (up, down) druk, zou je verwachten dat de tekst gaat scrollen zodat je de rest kunt lezen. Dit is echter niet het geval.

Mijn vorige vraag was wellicht niet volledig. Maar het is niet zo dat ik de documentatie niet wil doorlezen. Ik heb http://tibasicdev.wikidot.com/ al twee dagen open staan, maar het is lastig als je er verder niets van weet om door alle bomen het bos te zien :)

Acties:
  • 0 Henk 'm!

  • User
  • Registratie: Juli 2006
  • Laatst online: 07:33

User

S3

Je kan bij Lbl ook letters gebruiken trouwens. Dus kan je AA -> ZZ, 00 -> 99, A0 -> Z9, 0A -> 9Z.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Er zit dan ook geen scrollfunctionaliteit op de output in dat apparaat. Hij is ook niet bedoeld om boeken in te schrijven, 't is een rekenmachine. Sowieso weet je toch hoe lang je tekst is? Output de zooi, en als je op 16x8 tekens zit doe je een Pause en pas daaronder output je verder. Simpel.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

of schijf je eigen scroll routine met sub(, werkt prima

Acties:
  • 0 Henk 'm!

  • mat.hi.as
  • Registratie: November 2007
  • Laatst online: 17:07
Of ga het leren. Serius man, je was van plan om gehele boeken erin te stoppen? Een paar steekwoorden gaat nog, maar hele lappen tekst gaat je niet lukken, of je hebt heel veel geduld.

Trouwens, waarom maak je de tekst niet gewoon in een programma (dus gewoon als code, niet om uit te voeren)? Dat kan je wel gewoon scrollen, hij wordt niet afgebroken. Enige probleem is dat wanneer je op Clear drukt, je álles kwijt bent. En je kan dat een stuk makkelijker doen via de computer met het progammatje wat erbij zat. Copy paste en progje erop pleuren. Al zit je dan wel weer met je labelsysteem, maar dan moet je maar wat leuks doen met je prognamen, daar heb je immers minder limitaties voor.

Acties:
  • 0 Henk 'm!

Verwijderd

of nog beter: google notefolio, kan je je spiekbriefjes op je PC tikken, of op die van school >:)

Acties:
  • 0 Henk 'm!

  • Chip.
  • Registratie: Mei 2006
  • Niet online
http://www.google.nl/search?q=notefolio + usb kabel :) Boven was me voor.

En zoals gezegd moet TS gaan leren.

[ Voor 12% gewijzigd door Chip. op 09-03-2010 22:34 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wouser schreef op dinsdag 09 maart 2010 @ 22:34:
En zoals gezegd moet TS gaan leren.
Ik leer me een ongeluk, maar het heeft niet zoveel zin om toetsgrootheden en uitzonderingen voor Chi2, Fisher, Anova, t-toets, F-toets, Cronbach's alpha, Cramers V, Spearman's rangcorrelatie, Mann-Whitney test en nog vele anderen uit je hoofd te leren. Uiteraard hebben jullie al die formules volledig in je parate kennis zitten _/-\o_ , maar er zijn nu eenmaal ook mindere goden als ik die het van een (overigens niet verboden) naslag moeten hebben }:O
Pagina: 1