[Ti83]if en else

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

  • Tusk
  • Registratie: Juni 2001
  • Laatst online: 11-09 08:57

Tusk

Sticky Bomb likes you!

Topicstarter
ik heb dit gemaakt (soort login)
code:
1
2
3
4
5
6
7
8
9
10
input "login?",e
if e=malou
then
goto 3
if e=tusk
then
goto 2
else
goto 99
end

de bedoeling is dus dat je een login intypt. En dat je bij malou naar label 3 en bij tusk naar 2. de rest is fout (label 99 staat zo van probeer opnieuw)
ik kan nou alles intypen hij gaat naar label 2
alleen als ik malou intyp gaat ie naar 3

hoe los ik dit op (btw er is geen functie OR)
kweenie welke taal het is lijkt wel een beetje op pascal :?


*I asked for a shotgun, not an anti-aircraft!
- shotgun? that must be the guns that fire a shot....
*yes.. you must be the brains


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

[topic=391554/1/25]

heb je daar wat aan misschien?

Doet iets met Cloud (MS/IBM)


  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10

StratoFarmer

Anke :*

het is TI-BASIC ofwel standaard BASIC met een paar toevoegingen.

in de nummers, een soort vaste variabelen kunnen alleen cijfers worden opgeslagen.
woorden kun je opslaan in str() dingetjes, die vindt je ook ergens in een menu.

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


Verwijderd

Op maandag 18 maart 2002 20:00 schreef Tusk het volgende:
ik heb dit gemaakt (soort login)
code:
1
2
3
4
5
6
7
8
9
10
input "login?",e
if e=malou
then
goto 3
if e=tusk
then
goto 2
else
goto 99
end

de bedoeling is dus dat je een login intypt. En dat je bij malou naar label 3 en bij tusk naar 2. de rest is fout (label 99 staat zo van probeer opnieuw)
ik kan nou alles intypen hij gaat naar label 2
alleen als ik malou intyp gaat ie naar 3

hoe los ik dit op (btw er is geen functie OR)
kweenie welke taal het is lijkt wel een beetje op pascal :?
Probeer eens:

input "Login ?",e
if e="malou" then
goto 3
else
if e="tusk" then
goto 2
else
goto 99
end if
end if

Laat me even weten of dit werkt.
eventueel de 2 x endif gewoon weg laten

Zo niet laat me even weten welke taal. Als het pascal is kan ik wel even voor je nazoeken.

  • Marcj
  • Registratie: November 2000
  • Laatst online: 11-09 18:51
De taal van de TI83 lijkt erg veel op BASIC. Het enige probleem is dat er geen else if bestaat, alleen if then else.
code:
1
2
3
4
5
6
input "login=",str1
if str1="malou"
goto 3
if str1="tusk"
goto 2
goto 99

Dit is al voldoende :), zonder then voert de if-regel alleen de opvolgende regel uit, zo niet slaat hij hem over.
Ow ja, str1 vindt je onder vars->string->str1. Alleen daar kun je een string in kwijt :)
En er is ook wel een OR-functie hoor. Onder 'test'

  • StratoFarmer
  • Registratie: April 2000
  • Laatst online: 04-09 21:10

StratoFarmer

Anke :*

zo kan het, lijkt meer op het origineel:
code:
1
2
3
4
5
6
7
INPUT "login?",Str1
IF Str1="malou":goto 3
IF Str1="tusk":THEN
GOTO 2
ELSE
GOTO 99
END

(je hoeft niet te werken met : tekens, maar het staat wel beter vaak)

<hier werd zooi herhaald>

Mijn plekkie + Sympathisant van 'GoT voor Behoud der Nederlandsche Taal' [GvBdNT]


  • Marcj
  • Registratie: November 2000
  • Laatst online: 11-09 18:51
Maar die THEN en ELSE kost alleen maar processor-kracht, en die heb je al zo weinig ;)

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
OR en AND kunnen wel gebruikt worden. Daarnaast zitten er meer vouten in, malou hoort namelijk een string te zijn dus het programma hoort als volgt te zijn.

Zoals hij hieronder staat werkt en klopt hij volledig, niet getest maar k heb al heel wat geprogrammeerd in de TI-83.
Alle strings zijn nu met hoofdletters gelijk aan de TI en daarnaast. Het programma zoals jij het uit geprobeerd had, testte of e gelijk is aan de variable M*A*L*O*U. En dat is waarschijnlijk niet de bedoeling. Daarnaast kun je gewoon Then gebruiken als je hem maar afsluit met een End. En ipv van else heb ik hier gewoon er reken mee gehouden dat als hij geen van de twee voorgaande waar is dan moet het dus gewoon anders zijn en gaat hij terug naar het begin.

Ohja tenslotte nog even dit, Str1 is te bereiken via. VARS --> 7. String... --> 1. Str1.

Nog verdere vragen over TI-83 basic lees dan het boekjes door wat je als het goed er bij gehad heb, niet helemaal doorlezen gewoon het hoofdstuk over programmeren, zo uit mijn hoofd zeg ik hfd 16.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Lbl 99
Input "LOGIN?: ",Str1
If Str1 = "MALOU"
Then
Goto 3
End
If Str1 = "TUSK"
then
goto 2
End
Disp "Verkeerde login"
goto 99
Lbl 2
Disp "LOGIN IS TUSK"
// evt andere code
Stop
Lbl 3
Disp "LOGIN IS MALOU"

Het kan dus ook zonder de Then en End. Ook dan heb je idd geen else nodig zoals enkele van mijn voorgangers al zeggen.

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Oeps ik heb enkele mensen herhaald gelukkig ook nog wat nieuws verteld :)

  • EWS99
  • Registratie: Maart 2001
  • Laatst online: 08:11
Tis al weer lang geleden hoor, Ti-basic, maar er hangt mij iets bij dat een label moet beginnen met een letter, dus
code:
1
2
3
4
code...
goto a
code...
lbl a

Ik kan het mis hebben hoor!

Hier had uw advertentie kunnen staan!


Verwijderd

lbl 1
input "Login?",a
if a="Milou"
then
goto 5
if a="Tusk"
then
goto 6
else
disp "Verkeerde Login!"
goto 1
lbl 5
(blabla)
lbl 6
(blabla)
end


dit is volgens mij hoe die moet, je kan niet meerdere commando's op 1 line zetten, ik heb em ook. tenzij er een : tussen zet...
suc6

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Lezen een letter kan geen string bevatten daa zul je dus echt een van de StrX voor moeten gebruiken. Staat al meerdere keren verteld, ik herhaalde ook iets maar tenminste goed :)

En een Then moet je echt afsluiten hoor, probeer je eigen programma maar eens.

Een deel van jouw programma getest en dat werkt dus echt niet, dat van mij daarentegen doet wat het zou moeten doen.

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IF [statement]
[doe_dit_als_statement_is_true]

IF [statement]
THEN
[doe_dit_als_statement_is_true]
[doe_dit_als_statement_is_true]
END

IF [statement]
THEN
[doe_dit_als_statement_is_true]
[doe_dit_als_statement_is_true]
ELSE
[doe_dit_als_statement_is_false]
[doe_dit_als_statement_is_false]
END


code:
1
2
3
4
5
6
7
8
9
10
input "login?",e
If e=malou
Then
   Goto 3
   If e=tusk
   Then
     Goto 2
   Else
     Goto 99
   End

Mist nog een End.
De waarde van malou is is meestal 0, tenzij je andere waarden dan 0 in de m, a, l, o en u hebt gestopt. Want...
code:
1
malou

...is eigenlijk...
code:
1
m * a * l * o * u

Gebruik dus aanhalingstekens.

edit:
Effe wat blaat verwijdert, bedankt M4rt1nvW.

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Toch is mijn eigen oplossing het netste want mocht je geen gebruik maken van die goto dan zou de else altijd uitgevoerd worden als de onderste then niet waar is, duz dat is een beetje slordig aan de taal.
Maar je kan natuurlijk ook ASM programmeren op de TI maar jah, een leuke uitdaging voor in de toekomst alleen rond de examens niet echt haalbaar.

Ohw, ik zal ook nog even voor de topicstarter vertellen waar hij de Or en de And kan vinden :

2nd + Math = Test. En daar staan tekens als = > < etc. En als je dan naar rechts gaat, kom je in logic terecht waar ondere andere de AND en OR te vinden zijn.

  • Robino
  • Registratie: Oktober 2001
  • Laatst online: 09:48
Misschien heb je hier nog wat aan als voorbeeld, heb ik zelf gemaakt :9

Klik hier ;)

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 14-12-2025
Neej strings worden niet opgeslagen als list maar als string (eigenlijk vin k dat persoonlijk erg logisch) ze zitten opgeslagen in de variable Str0 tm Str9 waar deze te vinden zien als al meerdere keren gezegd, dit topic kan echt gesloten worden want er zijn alleen mensen die het voor de vraagsteller onduidelijker maken en niet eens de exacte syntax van de taal weten.

En daarbij krijgt iemand het voor elkaar om mij te citeren en vervolgens niet weten dat een string opgeslagen wordt als een string :'( ik doel dus op de heer Ericston. Vin je dat je toch gelijk heb stuur dan een private msg want aangezien dit topic nog steeds over TI-83 basic gaat durf ik te zeggen dat ik gelijk heb. :P

  • Marcj
  • Registratie: November 2000
  • Laatst online: 11-09 18:51
Ik zou al deze personen eens aanraden om de TI83 handleiding door te lezen. Staan alle opdracht vrij duidelijk in hoor. En letters kun je alleen in strings opslaan, of je moet ze gaan coderen in cijfers ;)

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
Op dinsdag 19 maart 2002 17:50 schreef M4rt1nvW het volgende:
Neej strings worden niet opgeslagen als list maar als string (eigenlijk vin k dat persoonlijk erg logisch) ze zitten opgeslagen in de variable Str0 tm Str9 waar deze te vinden zien als al meerdere keren gezegd, dit topic kan echt gesloten worden want er zijn alleen mensen die het voor de vraagsteller onduidelijker maken en niet eens de exacte syntax van de taal weten.

En daarbij krijgt iemand het voor elkaar om mij te citeren en vervolgens niet weten dat een string opgeslagen wordt als een string :'( ik doel dus op de heer Ericston. Vin je dat je toch gelijk heb stuur dan een private msg want aangezien dit topic nog steeds over TI-83 basic gaat durf ik te zeggen dat ik gelijk heb. :P
Je hebt helemaal gelijk. Ik probeerde even vlug wat met...
code:
1
"blaat" -> A

En toen ik bij het LIST-menuutje keek zag ik list A verschijnen. Wat mij behoorlijk logisch overkwam, aangezien strings in C ook in arrays terechtkomen. Maarja, het blijft een soort BASIC... :)

geirriteerde modus:
Daarnaast heb ik je niet geciteerd. Als je misschien beter uit je doppen kijkt zie je dat mijn reply er toch wat schoner uitziet dan die van jou...
...goh, zou dat misschien komen omdat je er een tijdje aan hebt getikt heer Ericston?
Ja, daar heb je gelijk in, en jij reageerde in de tussentijd.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

mooi en toen kwam er een olifantje en blies het verhaaltje uit :)
laten we het maar "voor de sfeer" noemen dat deze dichtgaat

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.