Scholieren.com forum

Scholieren.com forum (https://forum.scholieren.com/index.php)
-   Huiswerkvragen: Exacte vakken (https://forum.scholieren.com/forumdisplay.php?f=17)
-   -   visual basic HELP! (https://forum.scholieren.com/showthread.php?t=874572)

deecee 18-06-2004 10:30

visual basic HELP!
 
goedemiddag allemaal!!

ik zit met grote problemen:

dit jaar heb ik op school voor de eerste keer visual basic gehad, maar ik snap hier al het hele jaar NIETS van! op testen ben ik telkens grandioos bebuisd, en nu moeten we als eindexamen een oefening met visual basic maken, en deze dan nu maandag mondeling komen verklaren. HET PROBLEEM IS --> IK ZOU TOTAAL NIET WETEN HOE IK ERAAN MOET BEGINNEN, en wat nu eigenlijk de bedoeling is!!
Visual Basic 6.0 beginners is m'n cursus, en de opdracht gaat zo:

" Vijf voetbalploegen, genummerd van 1 tot en met 5, moeten tegen elkaar spelen. Laat alle mogelijke wedstrijden afdrukken,
* als de volgorde niet van belang is, dwz wedstrijd 4-2 is gelijk aan de wedstrijd 2-4 en dan wordt er ook maar 1 van beide afgedrukt.
*als de volgorde wel van belang is. "

ik zit met men handen in het haar, ik ken zoveel van computers, maar net van visual basic NIKS! ik snap er NIKS van!

alstublieft mensen help me!

als ik iets terug kan doen, doe ik direct, maar als iemand mij kan helpen, ik zal je dankbaar zijn!

greetz
deecee

Sherco 18-06-2004 21:00

Kijk eens hier

ILUsion 23-06-2004 22:21

Rijkelijk laat :D maar toch een tip voor iedereen die sukkelt met programmeren (wees blij dat je geen Turbo Pascal hebt, bij VB is alles tenminste grafisch :p en nog simpeler). Deze grote tip is eigenlijk dat je eerst het probleem manueel moet zien op te lossen als je niet direct ziet wat er moet gebeuren. Bij dit probleem heb je dus een overizcht nodig dat er in het eerste geval zo uit ziet:
1 - 2
1 - 3
1 - 4
1 - 5
2 - 3
2 - 4
2 - 5
3 - 4
3 - 5
4 - 5
en bij het tweede geval zo
1 - 2
1 - 3
1 - 4
1 - 5
2 - 1
2 - 3
2 - 4
2 - 5
3 - 1
3 - 2
3 - 4
3 - 5
...

In die reeksen zit een logica in, die je moet vervatten in woorden eerst en daarna zet je ze om in Visual Basic. Naarmate je VB meer zal gebruiken, ga je deze tussenstappen niet meer nodig hebben en zul je gewoon uit de losse hand kunnen schrijven. (Oké, af en toe heb je wel een stukje papier nodig om een schema te maken of wat notities te nemen, maar als je echt bezig bent met programmeren, erger je je aan die leerboeken waar je variabelen, constanten, procedures, stroomschema's (bij ons: PST-diagrammen: een stroomschema dat getekend werd met het blad verkeerd om) moet opschrijven)

Als je de logica van de reeksen niet ziet:
1: de ploegen afgaan per rangnummer en enkel combineren met ploegen met een hoger rangnummer
2: de ploegen afgaan per rangnummer en ze combineren met de andere ploegen

Met de code in VB kan ik je niet direct helpen omdat het al jaren geleden is dat ik nog VB onder handen heb gehad (enkel nog Object Pascal/Delphi hier)

Warsocket 01-07-2004 19:42

Volgorde wel van belang is de makkelijkste
===============================
Code:

Option Explicit
Private Sub Form_Load()
Dim out As String
Dim n As Byte
Dim m As Byte

For n = 1 To 5
For m = 1 To 5

If n <> m Then out = out & CStr(n) & "-" & CStr(m) & vbCrLf

Next m
Next n

MsgBox out
End Sub

==================================
volgorde niet van belang
==================================
Code:

Option Explicit
Private Sub Form_Load()
Dim out As String
Dim n As Byte
Dim m As Byte

For n = 1 To 5
For m = 1 To 5

If n <> m And n < m Then out = out & CStr(n) & "-" & CStr(m) & vbCrLf

Next m
Next n

MsgBox out
End Sub

edit: je hoeft alleen de middelste vergelijing te veranderen
dus et een if statement eromheen kun je dus kiezen of ie de ene of de andere code uitvoert

ILUsion 05-07-2004 23:37

Daar is dus de uitwerking in VB, een enkele opmerking voor de tweede implementatie:
je moet niet nakijken of m verschilt van n en daarna nog eens kijken of m groter is dan n. Je moet gewoon kijken of m groter is dan n en dan de opdracht uitvoeren. Als ze gelijk zijn zal m niet groter zijn dus zal de opdracht ook niet uitgevoerd worden...


Alle tijden zijn GMT +1. Het is nu 20:21.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.