anoniem Geplaatst: 7 januari 2003 Delen Geplaatst: 7 januari 2003 Ik heb nu dit werkend nodig. voorbeeld: A = B/C B is een getal en dat getal wordt gedeelt door C en C is B min 1 en dan weer min 1. Maar dat heb ik al. Dus hier komt het op neer A = B/C-1 A = B/C-1-1 A = B/C-1-1-1 A = B/C-1-1-1-1 enz. En uit A komen dan verschillende getallen. Daar moet ik de som van hebben. Maar ik weet niet hoe ik dat moet doen. Kan ik ergens de getallen opzij zetten zodat Qbasic er later weer me rekenen kan? of kan het anders? Quote Link naar reactie
anoniem Geplaatst: 7 januari 2003 Auteur Delen Geplaatst: 7 januari 2003 Als je weet hoeveel het er zijn: [code:1:8d4695823e] 'evt hier aangeven wat variabele 'aantal' is, anders 'aantal' veranderen dim getallen(aantal) getallen(1) = B/C-1 getallen(2) = B/C-1-1 getallen(3) = B/C-1-1-1 getallen(4) = B/C-1-1-1-1 getallen(5) = B/C-1-1-1-1-1 'enzovoort for x = 1 to aantal totaal = totaal + getallen(x) next [/code:1:8d4695823e] Quote Link naar reactie
anoniem Geplaatst: 7 januari 2003 Auteur Delen Geplaatst: 7 januari 2003 Hieronder is er van uitgegaan dat je het getal waarmee je begint ook bij het totaal wil optellen. De getallen 50 en 20 moet je aan je eigen situatie aanpassen. [size=9:729bb960ca]Dim A(20) Begin = 50:Totaal = 0 For x = 1 to 20 A(x) = Begin/(Begin-x) Totaal = Totaal + A(x) Next x Totaal = Begin + Totaal [/size:729bb960ca] Quote Link naar reactie
anoniem Geplaatst: 7 januari 2003 Auteur Delen Geplaatst: 7 januari 2003 Bij nader inzien vermoed ik dat het niet de bedoeling is dat op het eind het begingetal nog eens bij het totaal wordt opgeteld. Waarschijnlijk wil je de berekening gebruiken in een situatie waarbij je tot 0 terugtelt. Uitgaande van mijn vorige code met begingetal 50, moet de lus dan worden: For x = 1 to 49. De laatste regel moet dan vervallen, de berekende variabele Totaal (zonder Begin er bij opgeteld) is dan tevens het eindtotaal. De opdracht Dim A(20) uiteraard wijzigen in Dim A(49). Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 Nog een aanvulling: bovenstaand Basic-programmaatje [b:16903017a2]berekent[/b:16903017a2] alleen het gevraagde. Wil je in QBasic het eindtotaal ook nog op het scherm zien, dan moet je er uiteraard nog een laatste opdracht aan toevoegen, nl: Print Totaal Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 Bedankt voor de reactie's, maar hier kan ik niet mee wat ik nodig heb. Het moet zo gaan. [code:1:3e6cc3d1db] screen 12 X = 1 DO X = X + 1 PRINT X SLEEP 1 LOOP [/code:1:3e6cc3d1db] Telkens als ie LOOPt wordt X 1 hoger. Als X dan tot een bepaalt getal komt moet ie alle waarden die X daarvoor gehad heeft optellen. Bijv. X = 1 X = 2 X = 3 Dan moet ie die optellen is 6. (en dan moet ie dat getal vergelijken, maar dat snap ik wel.) Als dat is gebeurt dan doet ie het volgende. X = 1 X = 2 X = 3 X = 4 totaal is 10. enzovoort. Zo moet het als het waare zijn. Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 [quote:f75f3176ad="webspider"]Als je weet hoeveel het er zijn: [code:1:f75f3176ad] 'evt hier aangeven wat variabele 'aantal' is, anders 'aantal' veranderen dim getallen(aantal) getallen(1) = B/C-1 getallen(2) = B/C-1-1 getallen(3) = B/C-1-1-1 getallen(4) = B/C-1-1-1-1 getallen(5) = B/C-1-1-1-1-1 'enzovoort for x = 1 to aantal totaal = totaal + getallen(x) next [/code:1:f75f3176ad][/quote:f75f3176ad] Dat kan ik wel doen, maar het loopt in de miljoenen dus heb ik variabelen nodig. Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 [quote:63ad7e4c45="no_name"]Ik heb nu dit werkend nodig. voorbeeld: A = B/C B is een getal en dat getal wordt gedeelt door C en C is B min 1 en dan weer min 1. Maar dat heb ik al. Dus hier komt het op neer A = B/C-1 A = B/C-1-1 A = B/C-1-1-1 A = B/C-1-1-1-1 enz. En uit A komen dan verschillende getallen. Daar moet ik de som van hebben. Maar ik weet niet hoe ik dat moet doen. Kan ik ergens de getallen opzij zetten zodat Qbasic er later weer me rekenen kan? of kan het anders?[/quote:63ad7e4c45] SomAantal = (aantal * (B/C)) - (((aantal^2)/2) + (aantal*0.5)) Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 Als je (uitgaande van de probleemstelling van gisteren) ook telkens de subtotalen wil weergeven (wat ik opmaak uit je tekst), dan hoeft het programma daarvoor niet wezenlijk te veranderen, je moet dan enkel een printopdracht geven om de subtotalen (die toch al berekend worden) op het scherm weer te geven. Probeer dit eens (in Qbasic uiteraard), voor de duidelijkheid laat ik alle tussenberekeningen weergegeven: [size=9:5835d60054] Dim A(4) Begin = 4:Totaal = 0 For x = 1 to 3 A(x) = Begin/(Begin-x) Totaal = Totaal + A(x) Print x, A(x), Totaal Next x [/size:5835d60054] Je krijgt nu 3 kolommen. In de 1e wordt de waarde van x weergegeven, in de 2e A/A-1, en in de 3e het (sub)totaal. Je krijgt dan: in [b:5835d60054]kolom[/b:5835d60054] 1: 1 - 2 - 3 In [b:5835d60054]kolom[/b:5835d60054] 2: 1,33 - 2 - 4 In [b:5835d60054]kolom[/b:5835d60054] 3: 1,33 - 3,33 - 7,33 Is ook dit niet wat je wenst, dan graag een [b:5835d60054]duidelijke omschrijving[/b:5835d60054] van het in principe eenvoudige probleem. PS: Ik begrijp niet wat je bedoelt met: "en dan moet ie dat vergelijken". Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 [quote:537b034608="Aimable"]Als je (uitgaande van de probleemstelling van gisteren) ook telkens de subtotalen wil weergeven (wat ik opmaak uit je tekst), dan hoeft het programma daarvoor niet wezenlijk te veranderen, je moet dan enkel een printopdracht geven om de subtotalen (die toch al berekend worden) op het scherm weer te geven. Probeer dit eens (in Qbasic uiteraard), voor de duidelijkheid laat ik alle tussenberekeningen weergegeven: [size=9:537b034608] Dim A(4) Begin = 4:Totaal = 0 For x = 1 to 3 A(x) = Begin/(Begin-x) Totaal = Totaal + A(x) Print x, A(x), Totaal Next x [/size:537b034608] Je krijgt nu 3 kolommen. In de 1e wordt de waarde van x weergegeven, in de 2e A/A-1, en in de 3e het (sub)totaal. Je krijgt dan: in [b:537b034608]kolom[/b:537b034608] 1: 1 - 2 - 3 In [b:537b034608]kolom[/b:537b034608] 2: 1,33 - 2 - 4 In [b:537b034608]kolom[/b:537b034608] 3: 1,33 - 3,33 - 7,33 Is ook dit niet wat je wenst, dan graag een [b:537b034608]duidelijke omschrijving[/b:537b034608] van het in principe eenvoudige probleem. PS: Ik begrijp niet wat je bedoelt met: "en dan moet ie dat vergelijken".[/quote:537b034608] Met "en dan moet ie dat vergelijken" bedoel ik dat het totaal met een cijfer dat ergens anders is berekent wordt vergelijkt. Wat jij op gaf is wel handig. Maar de getallen die ik heb zijn al berekent. En kunnen niet tussen For en next commando worden geplaatst. Is er niet iets dat je de getallen ergens kunt opslaan? Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 Zoals ik in het programmaatje getallen opsla in A(x), waarbij x variabel is, zo kun je ook andere waarden opslaan. Ik heb overigens geen flauw benul waar je heen wil. Als je nu eens in gewone woorden je probleem goed en duidelijk zou omschrijven, dan komen we misschien verder, want op deze manier weet ik niet wat ik hier verder mee aan moet. Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 [quote:e02760873c="no_name"][quote:e02760873c="Aimable"]Als je (uitgaande van de probleemstelling van gisteren) ook telkens de subtotalen wil weergeven (wat ik opmaak uit je tekst), dan hoeft het programma daarvoor niet wezenlijk te veranderen, je moet dan enkel een printopdracht geven om de subtotalen (die toch al berekend worden) op het scherm weer te geven. Probeer dit eens (in Qbasic uiteraard), voor de duidelijkheid laat ik alle tussenberekeningen weergegeven: [size=9:e02760873c] Dim A(4) Begin = 4:Totaal = 0 For x = 1 to 3 A(x) = Begin/(Begin-x) Totaal = Totaal + A(x) Print x, A(x), Totaal Next x [/size:e02760873c] Je krijgt nu 3 kolommen. In de 1e wordt de waarde van x weergegeven, in de 2e A/A-1, en in de 3e het (sub)totaal. Je krijgt dan: in [b:e02760873c]kolom[/b:e02760873c] 1: 1 - 2 - 3 In [b:e02760873c]kolom[/b:e02760873c] 2: 1,33 - 2 - 4 In [b:e02760873c]kolom[/b:e02760873c] 3: 1,33 - 3,33 - 7,33 Is ook dit niet wat je wenst, dan graag een [b:e02760873c]duidelijke omschrijving[/b:e02760873c] van het in principe eenvoudige probleem. PS: Ik begrijp niet wat je bedoelt met: "en dan moet ie dat vergelijken".[/quote:e02760873c] Met "en dan moet ie dat vergelijken" bedoel ik dat het totaal met een cijfer dat ergens anders is berekent wordt vergelijkt. [/quote:e02760873c] Dus het gaat jouw alleen om het uiteindelijke resultaat? Die vergeleken dient te worden met een ander getal. Zo ja, heb je mijn vorige reaktie, met de [url=http://forum.computertotaal.nl/phpBB2/viewtopic.php?p=492818#492818]formule, [/url]niet gezien ofzo? :-? [quote:e02760873c="no_name"] Wat jij op gaf is wel handig. Maar de getallen die ik heb zijn al berekent. En kunnen niet tussen For en next commando worden geplaatst. Is er niet iets dat je de getallen ergens kunt opslaan?[/quote:e02760873c] Wat wil je nou? Het gaat je toch alleen maar om het uiteindelijke resultaat? :-? Quote Link naar reactie
anoniem Geplaatst: 8 januari 2003 Auteur Delen Geplaatst: 8 januari 2003 [quote:48a4a1fcf0="no_name"]Ik heb nu dit werkend nodig. voorbeeld: A = B/C B is een getal en dat getal wordt gedeelt door C en [b:48a4a1fcf0]C is B min 1 en dan weer min 1[/b:48a4a1fcf0]. Maar dat heb ik al. Dus hier komt het op neer A = B/C-1 A = B/C-1-1 A = B/C-1-1-1 A = B/C-1-1-1-1 enz. En uit A komen dan verschillende getallen. [b:48a4a1fcf0]Daar moet ik de som van hebben[/b:48a4a1fcf0]. Maar ik weet niet hoe ik dat moet doen. Kan ik ergens de getallen opzij zetten zodat Qbasic er later weer me rekenen kan? of kan het anders?[/quote:48a4a1fcf0] hmm, die beschrijving van de berekening van C komt niet overeen met het voorbeeld. Mijn eerdere formule gaat trouwens uit van het voorbeeld met de twee constanten B en C. Het lijkt me beter als je gewoon met een concreet voorbeeld komt. Quote Link naar reactie
anoniem Geplaatst: 10 januari 2003 Auteur Delen Geplaatst: 10 januari 2003 Misschien is dit de bedoeling: CALL Bereken(Vergelijk) ' De routine Bereken geeft als resultaat de te vergelijken waarde. Deelgetal = 5645 Startwaarde = 12 MaxWaarde = 456 Result = 0 CALL Zoekuit(DeelGetal,StartWaarde,MaxWaarde,Result) Print Result IF Vergelijk = Result THEN PRINT "O.K." ELSE PRINT "FOUT" END Als je wilt dat de variabele Startwaarde ongewijzigd blijft, roep de routine dan aan met Startwaarde * 1. i.p.v. structuurspatie's breng ik even underscores aan. SUB Zoekuit(DeelWaarde,Beginwaarde,MaximumWaarde,TotaalGevonden) __TotaalGevonden = 0 ' Voor alle zekerheid __If BeginWaarde > MaximumWaarde THEN EXIT SUB ' Fout! __DO ____INCR TotaalGevonden,DeelWaarde / BeginWaarde ____IF BeginWaarde = MaximumWaarde THEN EXIT LOOP ____INCR BeginWaarde __LOOP END SUB SUB Bereken(Resultaat) __? __? END SUB Quote Link naar reactie
anoniem Geplaatst: 10 januari 2003 Auteur Delen Geplaatst: 10 januari 2003 Kan je niet gewoon doen: [code:1:a7bab345f1]a=a+(b/c)[/code:1:a7bab345f1] Quote Link naar reactie
anoniem Geplaatst: 12 januari 2003 Auteur Delen Geplaatst: 12 januari 2003 Laat maar, ik heb zelf nu wat bedacht. Maar toch bedankt voor jullie inspanningen!. Quote Link naar reactie
anoniem Geplaatst: 13 januari 2003 Auteur Delen Geplaatst: 13 januari 2003 [quote:4b610a52a3="no_name"]Laat maar.....[/quote:4b610a52a3]De kwaliteit van de antwoorden is mede afhankelijk van de formulering van het probleem. Jouw probleem was voor de lezers niet helemaal duidelijk, dat blijkt uit de reacties. Als nu bij herhaling om uitleg wordt gevraagd en je weigert die uitleg te verstrekken, dan zullen diezelfde lezers minder geneigd zijn om nog op vragen van jou te reageren. Quote Link naar reactie
anoniem Geplaatst: 13 januari 2003 Auteur Delen Geplaatst: 13 januari 2003 [quote:42d92048be="Aimable"][quote:42d92048be="no_name"]Laat maar.....[/quote:42d92048be]De kwaliteit van de antwoorden is mede afhankelijk van de formulering van het probleem. Jouw probleem was voor de lezers niet helemaal duidelijk, dat blijkt uit de reacties. Als nu bij herhaling om uitleg wordt gevraagd en je weigert die uitleg te verstrekken, dan zullen diezelfde lezers minder geneigd zijn om nog op vragen van jou te reageren.[/quote:42d92048be] Ik ben niet pist hoor. Ik zeg alleen dat ik het waardeer dat jullie hebben gepost. En ik kon het niet beter uitleggen. Dit was zo duidelijk mogelijk (voor mijn doen dan :x ) anders had ik het echt wel gedaan. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen