Palmclub forum

Palmclub Forum

alles over je Palm Treo smartphone of PalmOS pda

 
Ga terug   Palmclub forum > PalmOS - Algemeen > Softwareontwikkeling

Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen

Reageren
 
Discussietools Weergave
  #21  
Oud 14 december 2003, 00:40
Damanios
Guest
 
Berichten: n/a
My 2 cents

Interessant allemaal, maar beide oplossingen zouden niet de mijne zijn, omdat ze maar een beperkt deel van de mogelijke delingen geven.

Om een voorbeeld te geven:
Produkt = 100
Geboden oplossing komt met een maximale deler van 10, terwijl ook bijv. 2x50=100

Ik zou het volgende doen:

Produktschatting Ps = int(random * max)
Deler 1 D1 = int(random * (Ps/2) + 1) (geeft maximum range)
Produkt P = Ps - (Ps % D1)
(% = mod = restwaarde van Ps wanneer gedeeld op D1)
Deler 2 D2 = P / D1

...

Voorbeeldje:

Ps = 100
D1 = 49
P = 100 - (100 % 49) = 100 - 2 = 98
D2 = 98 / 49 = 2

enzovoorts....

euhh... nooit geprogrammeerd in de C variant voor Palm... zit toch neem ik aan wel een % operator in?

Hier in Java:

public class test {
public static void main(String args[]) {
int max = 100;
for(int t=0;t<100;t++) {
int p = (int) (Math.random() * max);
int d1 = (int) (Math.random() * (p/2) + 1);
p = p - (p % d1);
int d2 = (int) p / d1;
System.out.println(p + "/" + d1 + "=" + d2);
}
}

}


Laatst gewijzigd door Damanios; 14 december 2003 om 01:10.
Met citaat reageren
(verdwijnt na registratie)
Advertentie
Gesponsorde links

  #22  
Oud 14 december 2003, 09:29
RobB's schermafbeelding
RobB RobB is offline
Huisprogrammeur
Voornaam: Rob
Model: Overig
 
Geregistreerd: 06 december 2000
Locatie: 82.174.252.255
Berichten: 911
Citaat:
euhh... nooit geprogrammeerd in de C variant voor Palm... zit toch neem ik aan wel een % operator in?
Ja hoor , het voorbeeld kan je bijna geheel overnemen.

Randomizer is iets anders:

Int16 SysRandom (UInt32 newSeed)
__________________
Rob.

The real source of applications.
___________________________________
Met citaat reageren
  #23  
Oud 14 december 2003, 10:17
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.299
Citaat:
Op 14-12-2003, om 09:29 heeft RobB dit gezegd in bericht #22
Ja hoor , het voorbeeld kan je bijna geheel overnemen.
Behalve dat het programma is geschreven in HB++, en niet in C.

In het voorbeeld van Damanios kan ook geen getal groter zijn dan max.
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #24  
Oud 14 december 2003, 14:06
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Talking Wow!

Eh... wow! Ik zal alle oplossingen maar proberen als ik tijd heb. Bedankt!
Met citaat reageren
  #25  
Oud 15 december 2003, 08:11
r. dohmen's schermafbeelding
r. dohmen r. dohmen is offline
Model: Sony Clie PEG-TH55
 
Geregistreerd: 16 juni 2001
Berichten: 1.809
Ben ik toch ook in de (muizen-)val van Bram getrapt...

Dit is beter:

'// stel grenswaarden in
max=100
maxgrens=int(sqrt(max))


'// kies waarden voor het product
x= int(rand()*(maxgrens-1)+1)
y= int(rand()*(int(max/x)-2)+2)

[Bestandje met Damianos en mijn methode bijgevoegd; zowel als prc als als broncode]
Bijgevoegde bestanden
Bestandstype: zip vermenigvuldigen-delen.zip‎ (61,4 KB, 6x gelezen)
__________________
groet,

r2d2

My last Sony...
Met citaat reageren
  #26  
Oud 15 december 2003, 14:54
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.299
Het ligt ongetwijfeld aan mijn emulator, maar jouw (René) methode gaf erg veel 1*X vragen.
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #27  
Oud 15 december 2003, 23:17
r. dohmen's schermafbeelding
r. dohmen r. dohmen is offline
Model: Sony Clie PEG-TH55
 
Geregistreerd: 16 juni 2001
Berichten: 1.809
Kon de verleiding (weer) niet weerstaan. Ik heb beide 100x geprobeerd. Bij mijn methode kwam er 9x een berekening met 1, bij Damianos 18x (daar zit natuurlijk een protie toeval in).

Dat bij mijn methode het percentage '1x-berekeningen' ongeveer 10% is volgt uit 1) de keuze van max (100) 2) de berekening van sqrt(max)=sqrt(100)=10 -> de kans dat 1 gekozen wordt is ongeveer 1 op 10.

Ik heb het bij Damianos'methode niet geanalyseerd, maar daar kunnen beide getallen 1 worden. Ik gok even uit het vuistje daarom dat de kans op een 1-berekening daar dus 2x zo groot is.

Ik heb de kans daarop bij mijn methode daarop overigens kunstmatige verkleind door in de berekening van y de waarde 1 uit te sluiten.

Bij damianos kan overigens ook de berekening 1x0 voorkomen, omdat hij de waarde van y alleen tot positieve waarden beperkt.
__________________
groet,

r2d2

My last Sony...
Met citaat reageren
  #28  
Oud 16 december 2003, 00:36
Damanios
Guest
 
Berichten: n/a
Het zou heel goed kunnen dat mijn oplossing geen geweldige statistische verdeling oplevert, maar teveel hoge of lage waardes geeft. Ik heb het concept snel in elkaar gezet met als enige reden dat ik een volledig dekkende oplossing wou hebben.

Of het ook enig praktisch nut heeft, speelde voor mij totaal geen rol.

Wat betreft de 1 en 0 problemen, die zijn redelijk eenvoudig te fixen door:

Ps = int(rand() * (max - 2) + 2) 'produkt is minimaal 2
D1 = int(rand() * (Ps/2 - 2) + 2) 'D1 dan ook minimaal 2

D2 kon (en kan) alleen 1 worden als Ps erg klein is. D1 is nl. (bijna) altijd kleiner dan P / 2. Dus D2 is dan altijd groter dan P / (P / 2) = 2P / P = 2.
(of zoiets... )
Met citaat reageren
  #29  
Oud 28 december 2003, 13:57
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Talking Versie 1.1 uit!!

U heeft er even op moeten wachten (wat heet, een maand! ), maar hier is 'ie dan eindelijk: versie 1.1!

Nieuw/aangepast:
* menu: extra opties en overzichtelijkere scrollbars
* numpad: nieuwe knop 'M' voor Menu en de knop '<--' is nu 'C'
* delen: werkt nu perfect
* worteltrekken: nieuw en werkt goed
* kwadrateren: nieuw en werkt ook goed

Ik sta weer open voor kritiek, foutmeldingen enz...

Veel plezier ermee!
Bijgevoegde bestanden
Bestandstype: zip rekenen.zip‎ (20,3 KB, 5x gelezen)

Laatst gewijzigd door Aaron; 28 december 2003 om 16:09.
Met citaat reageren
  #30  
Oud 04 januari 2004, 17:10
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Unhappy

Iemand tips/bugs ???
Met citaat reageren
  #31  
Oud 04 januari 2004, 20:37
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.299
Citaat:
Op 04-01-2004, om 17:10 heeft Aaron dit gezegd in bericht #30
Iemand tips/bugs ???
Ja, ik! Als ik ga kwadrateren, wil ik er maar 5. Dat te teller vervolgens op 1 goed en 0 fout blijft steken is nooit grappig.

edit: Maar de andere keren doet hij het wel goed
edit2: bij grote getallen verdwijnt een deel van het wortelteken
edit3: en dat wortelteken komt nooit meer terug tenzij ik naar het hoofdmenu ga
edit4: Bij worteltrekken/kwadrateren is het grootste getal wat ik tegenkom maar 81, terwijl ik tot de 200 wil en het is vaak 0 of 1
edit5: het lijkt wel een anti-kinderafschrikfunctie te hebben, ook bij delen kom ik niet over de 81. en ik wil ook zien wat ik heb gehaald als ik klaar ben
edit6: toch een grotemensenfunctie, bij optellen gaat hij nu wel tot 294, terwijl het maximum 200 is
edit7: aantal fout en aantal goed met meer dan 2 cijfers zie ik alleen eerste cijfer
edit8: Jipieeeeee, met vermenigvuldigen gaat hij wel tot de 4176 en nog wel hoger

Mag ik vragen: heb je het zelf wel getest?
__________________
Lezen is ook een FAQ - Freeware PalmOS

Laatst gewijzigd door Bram; 04 januari 2004 om 20:49.
Met citaat reageren
  #32  
Oud 04 januari 2004, 21:03
r. dohmen's schermafbeelding
r. dohmen r. dohmen is offline
Model: Sony Clie PEG-TH55
 
Geregistreerd: 16 juni 2001
Berichten: 1.809
my 2 cents: ik heb alleen naar delen, worteltrekken en kwadrateren gekeken:

Bij 20 delingen kwam het bij mij nogal eens voor dat dezelfde opgave soms 2x of zelfs vaker in de reeks voorkwam. Misschien is het een idee om vooraf de reeks van 20 opgaven te maken en te zorgen dat er geen dubbele opgaven in zitten. Dat kan met twee array x en y als je opgave i maakt, voeg je die pas aan de reeks toe als ze niet gelijk is aan de voorgaande 1 t/m i-1 opgaven (x en y beide ongelijk).
Deze opzet kun je natuurlijk ook voor de andere opgaven soorten gebruiken, maar misschien vind je het juist handig. Het kan een manier zijn om opgaven in te slijpen.

Bij het worteltrekken raakt bij mij in de emulator het wortelteken 'beschadigd' (OS3).

Misschien dat je de scrollbars kunt vervangen door echte sliders. Scrollbars zijn eigenlijk meer om een zichtbaar iets te verschuiven (een tekst bijvoorbeeld). Een slider is bedoeld om een waarde te selecteren; en dat is wat je hier doet.
(Het viel me overigens ooit op dat de slider in HB++ 1.0.1 altijd te klein (niet hoog genoeg) wordt weergegeven als je hem zelf niet resized, maar misschien is dat in de huidige versie gerepareerd).
__________________
groet,

r2d2

My last Sony...
Met citaat reageren
  #33  
Oud 05 januari 2004, 23:00
Bram's schermafbeelding
Bram Bram is offline
Forumbikkel
Model: Palm Treo 650
 
Geregistreerd: 24 januari 2003
Locatie: onder het tapijt
Berichten: 5.299
Toen ik gisteravond in bed lag, en AvantGO doorgekeken was, dacht ik: kom, laat ik nog even rekenen. 5 sommetjes tot de 5 vermenigvulden zou zeker mij wel moeten lukken. Maar daar wordt ik om de oren geslagen 97x24 en 93x88. Op de basisschool kreeg ik daar altijd een kladblaadje voor. Hoewel ik mij niet uit het veld liet slaan (had ze alle 5 goed, uit mijn hoofd en zonder valsspelen ) lijkt het mij dat je dit wat kindvriendelijker af moet stellen.

Het is ook grappig dat ik 50 sommen kan worteltrekken met getallen tot de 200. Aangezien er maar 15 mogelijkheden zijn ((0..14)˛) krijg ik dus minimaal 3x dezelfde.
__________________
Lezen is ook een FAQ - Freeware PalmOS
Met citaat reageren
  #34  
Oud 10 januari 2004, 12:55
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Lightbulb

Zodra ik tijd heb (ik zit op 3vwo dus ik heb 't momenteel redelijk druk) ga ik het programma helemaal herschrijven. De instellingen zullen bijv. in een apart form komen, en bovengenoemde fouten zullen verleden tijd zijn.

Groeten,
Aaron.
Met citaat reageren
  #35  
Oud 18 januari 2004, 19:35
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Talking Versie 1.3

Nou, met deze versie kunnen jullie weer even vooruit!!
Bijgevoegde bestanden
Bestandstype: zip rekenen.zip‎ (21,5 KB, 3x gelezen)
Met citaat reageren
  #36  
Oud 24 januari 2004, 21:55
Aaron's schermafbeelding
Aaron Aaron is offline
Forumbikkel
Voornaam: Aaron
Model: Palm Tungsten|T3
 
Geregistreerd: 11 april 2003
Locatie: Ammerzoden
Berichten: 198
Unhappy Reviews / bugmeldingen?

Iemand?
Met citaat reageren
Reageren

Favorieten/bladwijzers


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)
 
Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies 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


Alle tijden zijn GMT +1. Het is nu 00:53.


Apple iPhone en iPad | Android (Google Android)
(c) Nederlandse Palmclub Stichting 1999-2019