Het grote programmeertips topic

Dit forum is voor het voortgezetonderwijs (of 2de/3de graad ASO), als je in de bovenbouw zit. We gaan er vanuit dat je een Grafische Rekenmachine hebt.

Het grote programmeertips topic

Berichtdoor Marco » 07 Mrt 2005, 19:06

Hier kun je al tips kwijt als het gaat om programmeren op je GR.
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Berichtdoor Marco » 07 Mrt 2005, 19:11

Bewegende tekst
Als je bewegende tekst wilt is dat niet zo moeilijk, maak maar eens dit programmaatje:
For(X,1,6)
Output(X,1," Hallo")
End

Door de operator For te gebruiken kun je heel makkelijk tekst laten bewegen over het basis scherm. Dit werkt natuurlijk ook in het draw scherm. Hierdoor kun je ook pixels laten bewegen.

Extra tips
  • Als je het scherm leeg wilt maken achter de tekst dan kun je er een spatie voor zetten, hier door wordt de tekst ook weer gewist
  • Als je een beetje creatief bent dan kun je ook bewegende spelletjes hiermee maken.
  • Meestal zal de tekst zo snel bewegen dat het lijkt of het er in een keer staat. Je kunt dit vertragen door een extra For er in te zetten, bijv:
    For(D,1,50)
    End
Laatst gewijzigd door Marco op 10 Mrt 2005, 08:44, in totaal 1 keer gewijzigd.
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Berichtdoor Marco » 08 Mrt 2005, 09:13

Mooi menu
Als je de tag Menu gebruikt dan is het slim om even paar spaties voor en na de titel te zetten. Hierdoor wordt de menu balk bovenaan helemaal zwart.
Bijvoorbeel:
Menu(" Hoger of Lager ","Lager",00,"Hoger",99)
Door de extra spatie(s) ervoor en erachter lijkt het menuutje veel mooier.
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Berichtdoor Marco » 09 Mrt 2005, 09:09

Programma verkleinen
De ruimte op een Ti is meestal erg beperkt, het is dus slim om je porgrammaatje zo klein mogelijk te maken. Even wat tips:

  • Laat sluit haaksjes weg, zoals " ). Deze zijn overbodig, want de rekenmachine let er niet op. Laat ook overbodige lege regels weg.
  • Gebruik zo weinig mogel if. Dit neemt meestal erg veel ruimte in. For is, als het kan, korter.
  • Onzin is altijd leuk aan het begin (bijv. made by) maar besef wel dat dat erg veel ruimte neemt, en mensen vinden het meestal ook niet mooi, alleen irritant.
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Berichtdoor Marco » 09 Mrt 2005, 12:34

Programma versnellen
Soms kan een programmaatje wat je hebt gemaakt erg traag zijn. Dit kun je meestal wel verbeteren, waardoor je programma wat sneller gaat lopen. Wat tips:

  • Gebruik zo weinig mogelijk "if". De if operator is erg traag in basic. For of while is veel sneller
  • Laat de output zo weinig mogelijk komen. Als je de tekst twee keer output dan is dat zonde van de snelheid.
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Re: Het grote programmeertips topic

Berichtdoor eleruin » 26 Jun 2008, 09:12

Pauzeren

Om je programma even te vertragen (zie: bewegende tekst) kan je ook Random getallen laten berekenen.
De functie RandInt staat bij MATH.

Voorbeeld: Neem "RandInt(0,1,5)" op in je programmacode. De 5 (staat voor aantal getallen dat hij moet genereren) kan je aanpassen naar gelang de duur.

Negatief

Je beeldscherm heeft 94 op 62 pixels. Hiermee kan je een code maken om je graphs/tekeningen negatief te maken. Dit is volledig zinloos, maar wel leuk.

Code: Alles selecteren
for(x,0,94)
for(y,0,62)
pxl-Change(y,x)        // Als je met pixels werkt zet je eerst de y en dan de x
end
end
eleruin
Nieuw lid
Nieuw lid
 
Berichten: 8
Geregistreerd: 17 Jun 2008, 15:19

Re: Het grote programmeertips topic

Berichtdoor ti-wereld.nl » 24 Aug 2008, 17:06

eleruin schreef:Pauzeren
Om je programma even te vertragen (zie: bewegende tekst) kan je ook Random getallen laten berekenen.
De functie RandInt staat bij MATH.

Voorbeeld: Neem "RandInt(0,1,5)" op in je programmacode. De 5 (staat voor aantal getallen dat hij moet genereren) kan je aanpassen naar gelang de duur.


je kan ook Rand(x) gebruiken!

@Marco if is iets heel anders dan For of While!
als je een alternatief wil aan geven wat veel beter is:
booleans
even voorbeeld:
(x=1)*3+(x=2)*6->C

als x==1 is komt er 3 in C te staan als x==2 is komt er 6 in C te staan.

als jullie nog meer willen weten over de GR kijk eens naar mijn site, als je vragen hebt stel ze gerust :wink:
ti-wereld.nl
Vergevorderde
Vergevorderde
 
Berichten: 247
Geregistreerd: 24 Aug 2008, 16:20

Re: Het grote programmeertips topic

Berichtdoor Marco » 25 Aug 2008, 10:58

Het is zo dat IF anders werkt, maar toch gebruiken sommige mensen de IF-functie om een soort van FOR of WHILE constructie te maken. Dat is niet handig want IF is heel erg traag ;)
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Re: Het grote programmeertips topic

Berichtdoor ti-wereld.nl » 26 Aug 2008, 10:00

ook vooral geen Goto's gebruiken :P

Repeat is volgens mij nog sneller
ti-wereld.nl
Vergevorderde
Vergevorderde
 
Berichten: 247
Geregistreerd: 24 Aug 2008, 16:20

Re: Het grote programmeertips topic

Berichtdoor Marco » 28 Aug 2008, 18:15

Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...
Groeten, Marco
Gebruikers-avatar
Marco
Beheerder
Beheerder
 
Berichten: 826
Geregistreerd: 19 Feb 2005, 12:50
Woonplaats: Leeuwarden

Re: Het grote programmeertips topic

Berichtdoor Zap » 18 Dec 2008, 20:35

In veel programma's zie ik één hélé grote fout.

Code: Alles selecteren
If (blablabla)
Then
Goto (ergens)
End


Doe dit nooit! Probeer de volgende code maar eens uit:

Code: Alles selecteren
While 1
Lbl 1
If 1
Then
Goto 1
End
End


Als je het programma een tijdje laat lopen, krijg je na een tijdje het volgende
ERR:MEMORY
1:Quit
2:Goto


Wat in feite gebeurt is dat het End deel van het If statement nooit bereikt wordt. Daardoor wordt de code hierboven als het ware gekopieërd in het if deel zelf. Dit zou er dus gebeuren in het geheugen:

Code: Alles selecteren
While 1
Lbl 1
If 1
Then
While 1
Lbl 1
If 1
Then
Goto 1
End
End
End
End


En dat gaat door totdat het geheugen vol is. De meeste programma's crashen niet door dit, maar doordat het programma steeds meer geheugen gebruikt wordt het steeds trager en trager.
Zap
Nieuw lid
Nieuw lid
 
Berichten: 10
Geregistreerd: 18 Dec 2008, 18:23

Re: Het grote programmeertips topic

Berichtdoor Zap » 18 Dec 2008, 20:43

Nog een handige tip waar ik net aan dacht. Veel programma's werken met lijsten. Als je niet weet hoe lang een lijst gaat worden, gebruik je gewoon 0->dim(L1 [of L2 of wat dan ook]). De lijst wordt vanzelf groter als je iets nieuws toevoegd.
Zap
Nieuw lid
Nieuw lid
 
Berichten: 10
Geregistreerd: 18 Dec 2008, 18:23

Re: Het grote programmeertips topic

Berichtdoor ti-wereld.nl » 06 Mrt 2009, 22:49

Marco schreef:Misschien wel sneller dan WHILE, maar FOR is echt de snelste geloof ik...


seq() is nog sneller ;)
ti-wereld.nl
Vergevorderde
Vergevorderde
 
Berichten: 247
Geregistreerd: 24 Aug 2008, 16:20

Re: Het grote programmeertips topic

Berichtdoor barto » 28 Dec 2011, 13:29

Vensterinstellingen
Als je handig wilt werken is het niet slecht van dit te gebruiken:
Code: Alles selecteren
0   ->YMax
-62 ->YMin
0   ->XMin
94  ->XMax

Hierdoor zal pxl-off(5,8) hetzelfde doen als pt-off(8,-5). Handig als je lijnen wilt tekenen, die maken gebruik van je window instellingen, terwijl pixels dat niet doen. pxl-off(100,200) geeft een error, maar pt-off(200,-100) niet.
Given that, by scientifical reasons, the state of an object is completely determined by the physical influence of its environment, the probability to roll six with a dice is either one or zero.
Gebruikers-avatar
barto
Vergevorderde
Vergevorderde
 
Berichten: 656
Geregistreerd: 07 Jun 2011, 16:02


Terug naar Voortgezet onderwijs bovenbouw / 2de en 3de graad ASO

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten

cron

Wie is er online?

Er zijn in totaal 4 gebruikers online :: 0 geregistreerd, 0 verborgen en 4 gasten (Gebaseerd op de gebruikers die actief waren gedurende 5 minuten)
De meeste gebruikers ooit tegelijkertijd online was 649 op 31 Okt 2014, 18:45

Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten
Copyright © 2009 Afterburner - Free GPL Template. All Rights Reserved.