Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 14-09-2005, 12:17
Verwijderd
De bedoeling is dat je een tekening krijgt van allemaal randomvectors{-1,0,1} die aanelkaar gelegd zijn. Daarnaast moet de kleur van zwart(begin) naar rood (eind) verlopen. Verder moeten er 2 circels worden getekend bij het beginpunt (0,0) en het eindpunt.

Code:
Const afm As Integer = 120
Const n As Integer = 10000



Private Sub cmdgenereer_Click()
Dim x As Integer
Dim y As Integer
Dim filetxt As String
Dim getal As Double
Dim randominteger As Integer
Dim invoer As String


Open "O:\opgave2\beweging.txt " For Output As #1



For getal = 1 To n
x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
y = randominteger = Int((1 + 1 + 1) * Rnd - 1)
Write #1, x, y
Next getal
Close #1
End Sub

Private Sub cmdtoon_Click()

Dim X1 As Integer
Dim X2 As Integer
Dim Y1 As Integer
Dim Y2 As Integer
Dim color As Integer
Dim x As Integer
Dim y As Integer
Dim i As Integer


picbewegingen.Cls

X1 = 0
Y1 = 0
i = 0

picbewegingen.Scale (-afm, -afm)-(afm, afm)

Open "O:\opgave2\beweging.txt " For Input As #1
Do Until EOF(1)
color = ((255 / 10000) * i)
Input #1, x, y
Y2 = Y1 + y
X2 = X1 + x

picbewegingen.Line (X1, Y1)-(X2, Y2), RGB(color, 0, 0)

X1 = X2
Y1 = Y2
i = i + 1

Loop
Close #1

picbewegingen.Circle (0, 0), (afm \ 10) + 0.1, vbBlue

picbewegingen.Circle (X1, Y1), (afm \ 10) + 0.1, RGB(255, 0, 0)

End Sub
Maar hij doet alleen maar het begin en tekent dan de blauwe begin circel, maar de lijn blijft zwart en hij tekent ook zeker niet alle elementen en dus ook niet de eindcircel. Iemand een idee hoe het komt
Met citaat reageren
Advertentie
Oud 14-09-2005, 15:38
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
ik ben totaal niet bekend met de vb syntax maar kan me haast niet voorstellen dat zoiets bestaat:

x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
y = randominteger = Int((1 + 1 + 1) * Rnd - 1)

je bedoelt waarschijnlijk

x = randominteger(Int((1 + 1 + 1) * Rnd - 1))
y = randominteger(Int((1 + 1 + 1) * Rnd - 1))
Met citaat reageren
Oud 14-09-2005, 17:02
Verwijderd
x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
y = randominteger = Int((1 + 1 + 1) * Rnd - 1)

moet je veranderen in het volgende:

x = Int((1 + 1 + 1) * Rnd - 1)
y = Int((1 + 1 + 1) * Rnd - 1)

Volgens mij zijn de orginele regels zoiezo fout maar de compiler slikt ze toch (geen idee waarom) maar iig met '= randominteger' ertussen (wat dit ook mag doen) creert de functie (zoals je zelf had kunnen checken in je tekstfile) alleen maar 0 en -1 en geen 1, oftewel je krijgt een lijn die richting linkerbovenhoek verdwijnt en nog ver buiten het scherm doorgaat, verder is de code wel goed (die verandering naar rood zie je dus niet omdat die buiten het scherm ligt maar die werkt wel)
Met citaat reageren
Oud 14-09-2005, 21:18
Verwijderd
Citaat:
fosje schreef op 14-09-2005 @ 18:02 :
x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
y = randominteger = Int((1 + 1 + 1) * Rnd - 1)

moet je veranderen in het volgende:

x = Int((1 + 1 + 1) * Rnd - 1)
y = Int((1 + 1 + 1) * Rnd - 1)

Volgens mij zijn de orginele regels zoiezo fout maar de compiler slikt ze toch (geen idee waarom) maar iig met '= randominteger' ertussen (wat dit ook mag doen) creert de functie (zoals je zelf had kunnen checken in je tekstfile) alleen maar 0 en -1 en geen 1, oftewel je krijgt een lijn die richting linkerbovenhoek verdwijnt en nog ver buiten het scherm doorgaat, verder is de code wel goed (die verandering naar rood zie je dus niet omdat die buiten het scherm ligt maar die werkt wel)
danku
Met citaat reageren
Oud 15-09-2005, 09:19
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
fosje schreef op 14-09-2005 @ 18:02 :
x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
y = randominteger = Int((1 + 1 + 1) * Rnd - 1)

Volgens mij zijn de orginele regels zoiezo fout maar de compiler slikt ze toch (geen idee waarom) maar iig met '= randominteger' ertussen (wat dit ook mag doen) creert de functie (zoals je zelf had kunnen checken in je tekstfile) alleen maar 0 en -1 en geen 1
Als je je afvraagt waarom de compiler dingen als x = 1 = 1 gewoon slikt; 1=1 is gewoon een conditie waaruit false (0) of true (-1) uit komt. In geval van 1=1 komt er true uit (-1), in geval van iets anders, 0.
Met citaat reageren
Oud 15-09-2005, 12:20
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
Citaat:
Marcade schreef op 15-09-2005 @ 10:19 :
Als je je afvraagt waarom de compiler dingen als x = 1 = 1 gewoon slikt; 1=1 is gewoon een conditie waaruit false (0) of true (-1) uit komt. In geval van 1=1 komt er true uit (-1), in geval van iets anders, 0.
Howw, dat klopt niet, ik weet niet hoe het met de syntax van vb zit, maar wat jij zegt kan sowieso niet. Als de = gebruikt wordt om te vergelijken dan betekent x=1=1 uitgaande van links assoc. dat x gelijk is aan 1 en dat dat gelijk is aan 1; dus (x = 1) = 1. Aangezien x niet geinitialiseerd is, is x=1 dus false, en is false = 1 ook false.
Echter gaat dit niet op hier voor vb, omdat in vb de = een toekenningsoperator is. Dus de statement x = 1 kent de waarde 1 toe aan x, en zegt niet "is x gelijk aan 1".

Daarnaast, ik kan me vergissen, maar voor zover ik weet is true altijd 1 (bij een cast naar int) en is false altijd 0, maar toch geen -1.....
Met citaat reageren
Oud 15-09-2005, 13:15
Verwijderd
In VB is een true wel -1 (0xFFh byte) en = wordt gebruikt voor zowel vergelijkingen en toewijzingen.
Met citaat reageren
Oud 15-09-2005, 14:58
Verwijderd
Citaat:
fosje schreef op 15-09-2005 @ 14:15 :
= wordt gebruikt voor zowel vergelijkingen en toewijzingen.
Idd. Erg vervelend.

x = a = 2 betekend eigenlijk x = (a == 2) (=: assignment, ==: compare)
Met citaat reageren
Oud 15-09-2005, 16:38
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
Dr HenDre schreef op 15-09-2005 @ 13:20 :
Howw, dat klopt niet, ik weet niet hoe het met de syntax van vb zit, maar wat jij zegt kan sowieso niet. Als de = gebruikt wordt om te vergelijken dan betekent x=1=1 uitgaande van links assoc. dat x gelijk is aan 1 en dat dat gelijk is aan 1; dus (x = 1) = 1. Aangezien x niet geinitialiseerd is, is x=1 dus false, en is false = 1 ook false.
Echter gaat dit niet op hier voor vb, omdat in vb de = een toekenningsoperator is. Dus de statement x = 1 kent de waarde 1 toe aan x, en zegt niet "is x gelijk aan 1".

Daarnaast, ik kan me vergissen, maar voor zover ik weet is true altijd 1 (bij een cast naar int) en is false altijd 0, maar toch geen -1.....
Citaat:
fosje schreef op 15-09-2005 @ 14:15 :
In VB is een true wel -1 (0xFFh byte) en = wordt gebruikt voor zowel vergelijkingen en toewijzingen.
Citaat:
eddie schreef op 15-09-2005 @ 15:58 :
Idd. Erg vervelend.

x = a = 2 betekend eigenlijk x = (a == 2) (=: assignment, ==: compare)
Dus .. ..
Met citaat reageren
Oud 15-09-2005, 17:04
Verwijderd
Dus klopte het niet helemaal wat jij zei....
Met citaat reageren
Oud 15-09-2005, 17:18
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
fosje schreef op 15-09-2005 @ 18:04 :
Dus klopte het niet helemaal wat jij zei....
Hmm; wat klopte er dan niet?
Met citaat reageren
Oud 15-09-2005, 19:24
Verwijderd
Hmm was Dr HenDre die iets zei wat niet helemaal klopte maar er klopt ook iets niet aan wat jij zegt (jah ff mierenneuken dan )

Citaat:
Marcade schreef op 15-09-2005 @ 10:19 :
Als je je afvraagt waarom de compiler dingen als x = 1 = 1 gewoon slikt; 1=1 is gewoon een conditie waaruit false (0) of true (-1) uit komt. In geval van 1=1 komt er true uit (-1), in geval van iets anders, 0.
de vergelijking is natuurlijk x = 0 = ..... ipv x = 1 = ....... omdat randominteger niet gedeclareerd is en een waarde heeft van 0.
maar zoals ik al zei had me vergist.
Met citaat reageren
Oud 15-09-2005, 19:32
Marcade
Avatar van Marcade
Marcade is offline
Citaat:
fosje schreef op 15-09-2005 @ 20:24 :
de vergelijking is natuurlijk x = 0 = ..... ipv x = 1 = ....... omdat randominteger niet gedeclareerd is en een waarde heeft van 0.
maar zoals ik al zei had me vergist.
x = 1 = 1 was een voorbeeldje en was niet gerelateerd aan x = randominteger = Int((1 + 1 + 1) * Rnd - 1)
Met citaat reageren
Oud 15-09-2005, 20:09
Dr HenDre
Avatar van Dr HenDre
Dr HenDre is offline
wtf
ambiguiteit in de informatica......
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 13:55.