abonnement Unibet Coolblue Bitvavo
pi_39015438
Ik heb een vraagje, over natuurkunde, 4e klas VWO. Dit is de opgave:

Een atleet heeft een massa van 80 kg. Zijn zwaartepunt bevindt zich tijdens de aanloop 0,90 m boven de grond. Tijdens de aanloop tot de afzet houdt hij het zwaartepunt van de stok (lengte: 4,80 m; massa 2,3 kg) ook 0,90 m bovend de grond. Vlak voor de afzet is de snelheid van de atleet met de polsstok 8,8 m/s. Neem aan dat de polsstok na de afzet ten slotte verticaal staat en geen snelheid meer heeft. De atleet gaat met een te verwaarlozen snelheid gestrekt over de lat.

Bereken de hoogte van het zwaartepunt van de springer op het moment dat hij over de lat gaat.

Dit was mijn uitwerking, alleen ik begrijp niet meer waarom ik het vetgedrukte er in heb staan (antwoord is wel goed overigens):

energie in A = energie in B
0,5 × m × v2 = m × g × hB
0,5 × 82,3 (stok + atleet) × 8,82 = 80 × 9,8 × h + 2,3 × 9,8 × 2,4
3187 - 54 = 784h
h = 3133 / 784 = 4 + 0,9 = 4,9 m

Ik snap dus niet goed waarom ik van die 3187 nog 54 aftrek, iemand hier die mijn redenatie wel kan volgen ?
pi_39016952
quote:
Op maandag 19 juni 2006 21:29 schreef MeScott het volgende:

0,5 × 82,3 (stok + atleet) × 8,82 = 80 × 9,8 × h + 2,3 × 9,8 × 2,4
3187 - 54 = 784h
Zomaar een ideetje, niet nagerekend.
Alle eendjes zwemmen in het water. :)
Anatidaephobia is altijd terecht! Wij zijn de beste stalkers...
pi_39017102
quote:
Op maandag 19 juni 2006 21:59 schreef Wackyduck het volgende:

[..]

Zomaar een ideetje, niet nagerekend.
Argh natuurlijk Pure wiskunde, maar totaal over het hoofd gezien. Bedankt!
pi_39018641
quote:
Op maandag 19 juni 2006 12:11 schreef eSSe het volgende:
[afbeelding]

Hoe pak je zuks aan?

Hier vind je het antwoord:

http://images.fok.nl/upload/060619_56974_antwoord.jpg
Ik herken die vraag, is die van scheikunde-examen van vorig jaar?
  maandag 19 juni 2006 @ 22:48:17 #48
105263 Litso
Interlectueel.
pi_39019393
quote:
Op maandag 19 juni 2006 12:11 schreef -J-D- het volgende:
vergeten te tvp-en
Waar slaat dit nou weer op?
"Dat is echt ontzettend zielig" ©
pi_39019865
quote:
Op maandag 19 juni 2006 22:48 schreef Litso het volgende:

[..]

Waar slaat dit nou weer op?
Nieuwsgierig modje...

Er was wel gepost maar het topic stond niet boven aan mn My At list. Sterker nog, het stond er niet in.
Dus ik dacht :tvp.

Had hier wel gepost zie ik nu, dus blijkbaar was ik tijdelijk blind
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
pi_39022742
quote:
Op maandag 19 juni 2006 22:35 schreef fallrite het volgende:

[..]

Ik herken die vraag, is die van scheikunde-examen van vorig jaar?
Jup
  dinsdag 20 juni 2006 @ 15:20:08 #51
105263 Litso
Interlectueel.
pi_39037254
quote:
Op maandag 19 juni 2006 22:57 schreef -J-D- het volgende:

[..]

Nieuwsgierig modje...

Er was wel gepost maar het topic stond niet boven aan mn My At list. Sterker nog, het stond er niet in.
Dus ik dacht :tvp.

Had hier wel gepost zie ik nu, dus blijkbaar was ik tijdelijk blind
Hehe, vandaar. Ik was al bang dat tvp zo'n gemeengoed was geworden dat mensen de hele werking ervan waren vergeten, want je had hier inderdaad al meerdere keren in gepost
"Dat is echt ontzettend zielig" ©
  dinsdag 20 juni 2006 @ 17:15:11 #52
151791 Kindervriend
Tilburg boven fallus.
pi_39041465
Simpele vraag, maar voor mij onoplosbaar. Kansberekening.

Je gooit dus met drie dobbelstenen achter elkaar.

P(je gooit ten hoogste 5) = ...

Kom maar op. Ik dacht zelf 3/6*1/6*1/6, maar dat geeft niet het juiste antwoord.
pi_39041633
5/6 * 5/6 * 5/6
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
  dinsdag 20 juni 2006 @ 17:21:22 #54
151791 Kindervriend
Tilburg boven fallus.
pi_39041677
quote:
Op dinsdag 20 juni 2006 17:20 schreef -J-D- het volgende:
5/6 * 5/6 * 5/6
Sorry, ik leg het brak uit.

Het is dus 'de kans dat het totaal aantal ogen ten hoogste 5 is', dat is de beschrijving...

Je gooit dus met 3 dobbelstenen... en bij elkaar opgeteld mag je niet meer dan 5 gooien.
pi_39041685
quote:
Op dinsdag 20 juni 2006 15:20 schreef Litso het volgende:

[..]

Hehe, vandaar. Ik was al bang dat tvp zo'n gemeengoed was geworden dat mensen de hele werking ervan waren vergeten, want je had hier inderdaad al meerdere keren in gepost
1x eerder.
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
pi_39041711
dat is 1- de kans dat je 3 maal 6 gooit

is dus 1-(1/6)3
You don't have to know why you do something to stop doing it. All you have to do is to take a close look at what you are actually doing and decide to stop doing it for that moment!"
pi_39041759
quote:
Op dinsdag 20 juni 2006 17:21 schreef Kindervriend het volgende:

[..]

Sorry, ik leg het brak uit.

Het is dus 'de kans dat het totaal aantal ogen ten hoogste 5 is', dat is de beschrijving...

Je gooit dus met 3 dobbelstenen... en bij elkaar opgeteld mag je niet meer dan 5 gooien.
111
112
113
121
122
211
221

7 mogelijkheden van de 6*6*6 = 7/216
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
  dinsdag 20 juni 2006 @ 17:27:12 #58
151791 Kindervriend
Tilburg boven fallus.
pi_39041894
quote:
Op dinsdag 20 juni 2006 17:23 schreef -J-D- het volgende:

[..]

111
112
113
121
122
211
221

7 mogelijkheden van de 6*6*6 = 7/216
Je vergeet er een paar denk ik.

Maar het principe is me nu duidelijk. De uitkomst moet overigens 0,0463 worden volgens het antwoordmodel.
pi_39041945
Ow ja, volgorde maakt wel uit. Ik deed zonder volgorde.
112 is dus anders dan 121.
Nu kom je er wel uit.
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
  dinsdag 20 juni 2006 @ 18:13:35 #60
75592 GlowMouse
l'état, c'est moi
pi_39043372
Er moet sowieso 1x een 1 voorkomen, dus onderstaand zijn alle mogelijke rijtjes.
111
112
113
122
Letten we daarnaast op volgorde, zie je dat 3 van de 4 rijtjes op 3 verschillende volgordes gezet kunnen worden. Het aantal gunstige uitkomsten is dus 10. Het totale aantal mogelijke uitkomsten is 63. De gevraagde kans is dus 10 / 63.
Bij een opgave 'bepaal de kans dat de som ...' kun je niets anders doen dan het aantal juiste uitkomsten te tellen, tenzij elke term van de som slechts twee waarden aan kan nemen (en een van die waarden dan bij voorkeur 0). Bij het tellen kun je dan nog wel enkele trucs aanleren, die je alleen onder de knie krijgt door vaak te oefenen, maar er is geen universele eenvoudige manier om zulke opgaven te maken.
quote:
Op dinsdag 20 juni 2006 17:22 schreef teigan het volgende:
dat is 1- de kans dat je 3 maal 6 gooit

is dus 1-(1/6)3
Dat klopt niet, want zelfs als de vraag zou zijn om de kans dat er nooit hoger dan 5 geworpen wordt te berekenen, houd jij geen rekening met de situatie dat er één of twee zessen geworpen wordt. (5/6)3 zou wel het juiste antwoord opleveren.

[ Bericht 22% gewijzigd door GlowMouse op 20-06-2006 18:26:43 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39047873
Ik zit in 3VWO en heb een vraag.

Het hoofdstuk gaat over Breuken en Functies
EN deze paragraaf met name over Hyperbolen en rechte lijnen.

Nu heb ik deze vraag:
Gegeven zijn f(x)= 8/x en g(x)= x+2
a Teken de grafieken van f en g in één assenstelsel.

Dit is allemaal niet zo moeilijk maar ik zit altijd zo te klooien met hoe lang ik de x-as en de y-as moet maken. Is daar een trucje voor of is dat echt alleen maar op de gok tekenen?
Shoulder pads may come and go, but a BFF is forever O+
pi_39048199
quote:
Op dinsdag 20 juni 2006 20:20 schreef Nesle het volgende:
Ik zit in 3VWO en heb een vraag.

Het hoofdstuk gaat over Breuken en Functies
EN deze paragraaf met name over Hyperbolen en rechte lijnen.

Nu heb ik deze vraag:
Gegeven zijn f(x)= 8/x en g(x)= x+2
a Teken de grafieken van f en g in één assenstelsel.

Dit is allemaal niet zo moeilijk maar ik zit altijd zo te klooien met hoe lang ik de x-as en de y-as moet maken. Is daar een trucje voor of is dat echt alleen maar op de gok tekenen?
Doordat je in 3VWO zit, heb je horizontale en verticale asymptoten gehad.
Je ziet dat de HA van f(x) gelijk is aan de y=0
en de VA van f(x) is gelijk aan x=0

Dat is al handig om te weten, want de tabel kan je dan laten lopen met 0 als middelpunt.
-4 -3 -2 -1 0 1 2 3 4

Ik neem aan dat die rechte lijn niet zo lastig is
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
  dinsdag 20 juni 2006 @ 21:15:57 #63
75592 GlowMouse
l'état, c'est moi
pi_39050516
Het belangrijkste is dat je, door veel te oefenen, standaardfuncties herkent. Hieronder geef ik een paar voorbeelden:
8/x -> de grafiek van 1/x maar dan 8x zo hoog
1/(x+5) -> de grafiek van 1/x maar dan 5 naar links
1/x+5 -> de grafiek van 1/x maar dan 5 plaatjes omhoog
8/(x-5) -> de grafiek van 1/x maar dan 8x zo hoog en 5 naar rechts
Als je vervolgens uit je hoofd leert hoe de grafiek van 1/x eruit ziet, kun je al een hele groep andere functies tekenen.

@-J-D-: niet zo liev om 0 mee te nemen in je tabel
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39051915
quote:
Op dinsdag 20 juni 2006 20:20 schreef Nesle het volgende:
Ik zit in 3VWO en heb een vraag.

Het hoofdstuk gaat over Breuken en Functies
EN deze paragraaf met name over Hyperbolen en rechte lijnen.

Nu heb ik deze vraag:
Gegeven zijn f(x)= 8/x en g(x)= x+2
a Teken de grafieken van f en g in één assenstelsel.

Dit is allemaal niet zo moeilijk maar ik zit altijd zo te klooien met hoe lang ik de x-as en de y-as moet maken. Is daar een trucje voor of is dat echt alleen maar op de gok tekenen?
Maak gewoon eerst even een tabelletje van beide functies. Dan kun je daaraan zien hoe de assen daarop kunt aanpassen.
pi_39052207
quote:
Op dinsdag 20 juni 2006 21:15 schreef GlowMouse het volgende:


@-J-D-: niet zo liev om 0 mee te nemen in je tabel
Vroeger geleerd dat dat zo moest. En onder de 0 vul je een kruisje in
I asked God for a bike, but I know God doesn't work that way.
So I stole a bike and asked for forgiveness.
pi_39054795
quote:
Op dinsdag 20 juni 2006 20:28 schreef -J-D- het volgende:

[..]

Doordat je in 3VWO zit, heb je horizontale en verticale asymptoten gehad.
Je ziet dat de HA van f(x) gelijk is aan de y=0
en de VA van f(x) is gelijk aan x=0

Dat is al handig om te weten, want de tabel kan je dan laten lopen met 0 als middelpunt.
-4 -3 -2 -1 0 1 2 3 4

Ik neem aan dat die rechte lijn niet zo lastig is
Ja oke, maar het is het 'm juist dat we NU pas asymptoten hebben.
En die rechte lijn snap ik wel
In ieder geval, bedankt. GlowMouse ook!
Shoulder pads may come and go, but a BFF is forever O+
  woensdag 21 juni 2006 @ 12:54:18 #67
151791 Kindervriend
Tilburg boven fallus.
pi_39071513
P(A) = 0,4
P(B) = 0,2
P(A and B) = 0,2

Dat zijn de gegevens...

P( A and Bc ) = ...

Hoe reken ik dit uit? Het antwoord moet 0,2 zijn, maar ik heb geen idee hoe men hier aan komt...
pi_39071685
Ok, een noodkreet aan de programmeerwonders hier, 't is in Java.

De situatie is als volgt: 2 dieven beroven winkels, en aan het eind van de rit gaan ze de buit verdelen. De waardes van de artikelen wordt in een array gestop, genaamd waarde. De vraag is nou: schrijf een methode ( static boolean verdeelbaar() ) die checkt of de buit in 2 gelijke delen valt de verdelen. Bijvoorbeeld:
Als waarde[]={6,2,1,3} dan kan het wel ( 6 = 1+2+3) maar als bijvoorbeeld
waarde[]={1,2,8,10} dan kan het niet. Dit moet met behulp van een recursieve hulpmethode.

De volgende opdracht is dan, om te vermelden welke artikelen boef 1 en 2 krijgen. Dus alle mogelijke combinaties.

Nou ben ik hier al even mee bezig geweest, maar ik zie echt niet in hoe je dit recursief kunt doen. Met loopjes zou ik zeggen dat je gewoon alle mogelijke combinaties neemt, maar dat lukt ook niet echt... Het moet dus recursief volgens de opdracht. Heeft iemand een idee? Help...
pi_39072103
quote:
Op woensdag 21 juni 2006 12:58 schreef Haushofer het volgende:
Ok, een noodkreet aan de programmeerwonders hier, 't is in Java.

De situatie is als volgt: 2 dieven beroven winkels, en aan het eind van de rit gaan ze de buit verdelen. De waardes van de artikelen wordt in een array gestop, genaamd waarde. De vraag is nou: schrijf een methode ( static boolean verdeelbaar() ) die checkt of de buit in 2 gelijke delen valt de verdelen. Bijvoorbeeld:
Als waarde[]={6,2,1,3} dan kan het wel ( 6 = 1+2+3) maar als bijvoorbeeld
waarde[]={1,2,8,10} dan kan het niet. Dit moet met behulp van een recursieve hulpmethode.

De volgende opdracht is dan, om te vermelden welke artikelen boef 1 en 2 krijgen. Dus alle mogelijke combinaties.

Nou ben ik hier al even mee bezig geweest, maar ik zie echt niet in hoe je dit recursief kunt doen. Met loopjes zou ik zeggen dat je gewoon alle mogelijke combinaties neemt, maar dat lukt ook niet echt... Het moet dus recursief volgens de opdracht. Heeft iemand een idee? Help...
Je kunt toch bijvoorbeeld een functie f schrijven met
input: de rij getallen as en nog een getal b.
output: een bool die aangeeft of dat tweede getal geschreven kan worden als som van een deelrij van die rij getallen

en die het volgende doet:
als b=0 dan return true,
als as leeg is dan return false,
laat a het eerste getal van de rij zijn en definieer as2 als de rij as met a weggelaten
return f(as2,b) or f(as2,b-a)
  woensdag 21 juni 2006 @ 13:19:22 #70
75592 GlowMouse
l'état, c'est moi
pi_39072455
quote:
Op woensdag 21 juni 2006 12:54 schreef Kindervriend het volgende:
P(A) = 0,4
P(B) = 0,2
P(A and B) = 0,2

Dat zijn de gegevens...

P( A and Bc ) = ...

Hoe reken ik dit uit? Het antwoord moet 0,2 zijn, maar ik heb geen idee hoe men hier aan komt...
Omdat P(A)P(B) != P(A door B) weet je dat A en B afhankelijk zijn. Omdat P(A|B) en P(B|A) niet gegeven zijn, moet je goed kijken. Je moet dus goed kijken
Nu zie je dat P(A door B) en P(B) zijn gelijk. Probeer hier eens verder mee te komen. Als dit niet lukt, maak dan een venn-diagram
quote:
Met loopjes zou ik zeggen dat je gewoon alle mogelijke combinaties neemt, maar dat lukt ook niet echt.
Ondanks dat het recursief moet, toch het antwoord voor de loop. Elk element uit de verzameling gaat óf naar de ene, óf naar de andere pikkedief. In totaal zijn er dus 2^[aantal elementen] mogelijkheden. Laat een variabele lopen van 0 t/m 2^[aantal elementen] -1.
Elke waarde van die variabele correspondeert dan met een mogelijke verdeling. Een goede methode om de verdeling te kiezen, is met behulp van de binaire waarde. Heeft bijvoorbeeld het eerste cijfer van het binaire getal waarde 0, dan krijgt de ene dief de waarde van het eerste element, anders de andere dief.

[ Bericht 17% gewijzigd door GlowMouse op 21-06-2006 14:29:32 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39073120
quote:
Op woensdag 21 juni 2006 13:11 schreef thabit het volgende:

[..]

Je kunt toch bijvoorbeeld een functie f schrijven met
input: de rij getallen as en nog een getal b.
output: een bool die aangeeft of dat tweede getal geschreven kan worden als som van een deelrij van die rij getallen

en die het volgende doet:
als b=0 dan return true,
als as leeg is dan return false,
laat a het eerste getal van de rij zijn en definieer as2 als de rij as met a weggelaten
return f(as2,b) or f(as2,b-a)
Uhm.... zou je dit nog wat willen toelichten? Begrijp niet helemaal waar je naar toe wilt...

Ik heb wel een soort van uitwerking, maar die begijp ik niet:



static boolean verdeelbaar(){
return verdeelbaar(0,0,0);
}

static boolean verdeelbaar(int i, int buitA, int buitB) {

if ( i >= waarde.length ) {
return buitA==buitB;
} else {
if(verdeelbaar( i+1, buitA+waarde[i], buitB)
return true;
} else {
return verdeelbaar ( i+1, buitA, buitB+waarde[i]);
}
}


Deze moet ik dan uitbreiden zodat de methode ook de artikelen weergeeft bij een bepaalde opsplitsing. Wat ik niet begrijp aan bovenstaande, is waarom er een static boolean verdeelbaar(0,0,0) bovenin wordt aangeroepen, en waarom die eerste methode verdeelbaar() uberhaupt wordt gedeclareerd. Daaronder staat dan weer een functie met dezelfde naam, maar die krijgt nu 3 argumenten mee... De if(.....) is gewoon een afkorting voor if(....) = true, neem ik aan.

Is het misschien een idee om het gemiddelde gedeelt door 2 van de array uit te rekenen, en te kijken of dit gelijk is aan de som van een deel-array van de array waarde[] ? Of bedoel je dat ook? En hoe kan ik dat dan recursief aanpakken?

[ Bericht 1% gewijzigd door Haushofer op 21-06-2006 14:04:38 ]
  woensdag 21 juni 2006 @ 14:05:18 #72
75592 GlowMouse
l'état, c'est moi
pi_39074262
quote:
De if(.....) is gewoon een afkorting voor if(....) is true, neem ik aan.
Dat is altijd zo bij een if. Je hebt nooit if((a==b) == true). De functie zonder argumenten is alleen om (0,0,0) te testen. Je kunt (0,0,0) vervangen door een willekeurige andere combinatie, maar uiteindelijk moet je vermoedelijk user-input accepteren.
De oplossing die thabit gaf lijkt prima te voldoen, jouw oplossing ook.

Jouw oplossing werkt eigenlijk zo:
Als alles verdeeld is, kijk of A en B allebei evenveel gekregen hebben (hier eindigt de recursie)
Anders: kijk of we een goede verdeling krijgen als we het volgende element aan A geven
Als dat niet het geval is: kijk of we een goede verdeling krijgen als we het volgende element aan B geven.

1
2
3
4
5
6
7
8
9
10
11
12
static boolean verdeelbaar(int i, int buitA, int buitB) {
  if ( i >= waarde.length ) {  // alle buit verdeeld
    return buitA==buitB;
  } else {
  if(verdeelbaar(i+1, buitA+waarde[i], buitB)) { // goede verdeling door het volgende aan A toe te kennen
    return true;
  } elseif(verdeelbaar(i+1, buitA, buitB+waarde[i])) { // goede verdeling door het volgende aan B toe te kennen
    return true;
  } else {
    return false;
  }
}

Om uiteindelijk ook weer te geven wie wat heeft gekregen, moet je nog een of twee extra variabelen aanmaken om bij te houden wat je aan A en B hebt gegeven. Bij return buitA == buitB zorg je dat deze volgorde behouden blijft zodat je die later weer kunt geven.

[ Bericht 2% gewijzigd door GlowMouse op 21-06-2006 14:10:21 ]
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39074508
quote:
Op woensdag 21 juni 2006 13:35 schreef Haushofer het volgende:

[..]

Is het misschien een idee om het gemiddelde gedeelt door 2 van de array uit te rekenen, en te kijken of dit gelijk is aan de som van een deel-array van de array waarde[] ? Of bedoel je dat ook?
Ja, dat was precies wat ik bedoelde. En dat doe je dan door een functie te schrijven die algemener checkt of een gegeven getal een deelsom van een rij is.
b is een deelsom van a1,..,an dan en slechts dan als b een deelsom is van a2,...,an of b-a1 een deelsom is van a2,...,an: in het eerste geval gebruik je de a1 niet in b, en in het tweede geval wel.
pi_39074653
quote:
Op woensdag 21 juni 2006 14:05 schreef GlowMouse het volgende:

[..]

Dat is altijd zo bij een if. Je hebt nooit if((a==b) == true). De functie zonder argumenten is alleen om (0,0,0) te testen. Je kunt (0,0,0) vervangen door een willekeurige andere combinatie, maar uiteindelijk moet je vermoedelijk user-input accepteren.
De oplossing die thabit gaf lijkt prima te voldoen, jouw oplossing ook.

Jouw oplossing werkt eigenlijk zo:
Als alles verdeeld is, kijk of A en B allebei evenveel gekregen hebben (hier eindigt de recursie)
Anders: kijk of we een goede verdeling krijgen als we het volgende element aan A geven
Als dat niet het geval is: kijk of we een goede verdeling krijgen als we het volgende element aan B geven.
[ code verwijderd ]

Om uiteindelijk ook weer te geven wie wat heeft gekregen, moet je nog een of twee extra variabelen aanmaken om bij te houden wat je aan A en B hebt gegeven. Bij return buitA == buitB zorg je dat deze volgorde behouden blijft zodat je die later weer kunt geven.
Ok, ik begin de opzet wat te begrijpen, maar ik begrijp nog niet helemaal hoe die verdeling precies in zn werk gaat. Wat betekent precies dat het statement (verdeelbaar(i+1,buitA+waarde[i], buitB) true is? Als ik bijvoorbeeld iets neem als

waarde[]={1,3,2,7}

wat gebeurt er dan in het programma? Waar wordt i op 0 gezet? Ik neem aan dat je de eerste keer gewoon i=0 stelt, en dan dus in jouw programma op regel 5 een keuze maakt; of je gaat naar regel 5 , of naar regel 7, of naar regel 10. In 1 van die ifjes wordt i dan opgehoogd met 1. En dan ga je weer naar regel 2. Als de buit dan nog niet verdeeld is, dan ga je weer die ifjes in. Etcetera.

Sorrie als ik wat onduidelijk overkom, maar mijn programmeertalenten zijn niet bepaald uitmuntend, en ik zit er al heel lang mee. In ieder geval al heel erg bedankt
  woensdag 21 juni 2006 @ 14:21:41 #75
75592 GlowMouse
l'état, c'est moi
pi_39074915
Het beste is om waarde[] = {1,2} te nemen. Hoe langer, hoe meer recursiestappen, dus niet zo goed voor het voorbeeld. Ook met {1,2} heb ik maar een deel van de stapjes opgeschreven.
Ik vergiste mij overigens, je roept altijd met (0,0,0) aan voor de eerste stap. In dit geval roepen we dus
verdeelbaar(0, 0, 0) aan.
regel 2 -> false
regel 5 -> aanroep van verdeelbaar(1,1,0) -> false
regel 7 -> aanroep van verdeelbaar(1,0,1), kun je uitwerken, maar wordt false;
dus retourneert false (regel 10)

verdeelbaar(1,1,0):
regel 2 -> false
regel 5 -> aanroep van verdeelbaar(2,3,0) -> false
regel 7 -> aanroep van verdeelbaar(2,1,2) -> false
dus retourneert false (regel 10)

verdeelbaar(2,3,0):
regel 2 -> true
regel 3 -> false (want 3 != 0)

verdeelbaar(2,1,2):
regel 2 -> true
regel 3 -> false (want 1 != 2)
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 21 juni 2006 @ 14:22:24 #76
147503 Iblis
aequat omnis cinis
pi_39074956
Het is een beetje smerig geprogrammeerd. Je doet gewoon een aanroep naar verdeelbaar, en die start het proces. Die roept namelijk de verdeelbaar aan met drie parameters. De i geeft aan hoeveel elementen er al zijn verdeeld (daarom wordt-ie telkens eentje hoger) en de tweede en derde parameter geven aan wat A, resp. B heeft gekregen.

Dus i wordt aan het begin op 0 gezet. Dan kijkt het eerst op regel 5 of het een goede verdeling kan vinden als het item dat op het punt staat verdeeld te worden (per aanroep wordt er feitelijk 1 item verdeeld) aan A ten deel valt. Als dat niet kan, dan kijkt het of het misschien kan als B dat item krijgt. (Dat zijn de enige mogelijkheden, of A krijgt het item of B krijgt het). Als geen van beide gevallen tot iets succesvols lijkt, dan kan het dus niet.

In het beroerdste geval moet je, als je n items hebt 2^n gevallen checken. Immers, elk item kan of aan A of aan B gegeven worden. En jouw programma loopt gewoon domweg al die mogelijkheden af, beginnend bij het eerste item. En als het dan (toevallig, want veel slimmigheid zit er niet achter) goed uitkomt, dan zegt het "Ja! Het kan!" en anders niet.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_39075571
Het lichtje gaat steeds feller branden

Nog 1 vraagje dan: hoe weet het programma of de verdeling goed is, in regel 5 of 7 ? Het is denk ik nou wel duidelijk dat ik erg veel moeite heb met recursieve methodes... bijvoorbeeld, als je dan waarde[]={1,2} neemt. Het programma gaat kijken in regel 5 of er dan geldt: verdeelbaar(1,1,0) == true. Dus of het een goed idee is om het eerste artikel aan boef A te geven. Waar wordt berekend of dit een goed idee is of niet? Ik zie dat nergens in het programma terug.

Als ik dit vandaag nog ga bevatten, worden jullie bij deze gepromoveerd tot koningen
pi_39075972
Ho, wacht es ff... ik ga compleet voorbij aan het feit dat die ifjes de eigen methode verdeelbaar weer aanroepen...

Dus in het bovengenoemde voorbeeld:

In regel 5: verdeelbaar(1,1,0) wordt aangeroepen. Dus gaan we weer naar regel 2: i is niet groter dan 2, dus gaan we weer naar regel 5: daar wordt verdeelbaar(2,3,0) aangeroepen. Dus gaan we weer naar regel 2. Die is true, want i is gelijk aan 2. En buitA is niet gelijk aan buitB,dus wordt er false gereturned.

Daarna wordt er naar regel 7 gesprongen en naar verdeelbaar(1,0,1) gekeken. Daarvoor wordt er weer naar regel 5 gegaan etc etc... volgens mij begin ik het te begrijpen

Ik zal es proberen om nu het programma zo uit te breiden, dat de exacte verdeling ook wordt afgedrukt. In ieder geval erg bedankt iedereen, en ik kom binnenkort vast nog wel even terug
  woensdag 21 juni 2006 @ 14:53:45 #79
147503 Iblis
aequat omnis cinis
pi_39076236
quote:
Op woensdag 21 juni 2006 14:36 schreef Haushofer het volgende:
Het lichtje gaat steeds feller branden

Nog 1 vraagje dan: hoe weet het programma of de verdeling goed is, in regel 5 of 7 ? Het is denk ik nou wel duidelijk dat ik erg veel moeite heb met recursieve methodes... bijvoorbeeld, als je dan waarde[]={1,2} neemt. Het programma gaat kijken in regel 5 of er dan geldt: verdeelbaar(1,1,0) == true. Dus of het een goed idee is om het eerste artikel aan boef A te geven. Waar wordt berekend of dit een goed idee is of niet? Ik zie dat nergens in het programma terug.

Als ik dit vandaag nog ga bevatten, worden jullie bij deze gepromoveerd tot koningen
Dat is de recursie, dat 'weet' het programma niet van te voren. Stel nu dat waarde[] ={1,3,2} Verdeelbaar(1,1,0) wordt eerst gedaan. D.w.z. item 1 is verdeeld, en boef A heeft nu een buit van 1 te pakken. Daarna wordt ook de aanroep verdeelbaar(2,4,0) gedaan (boef A krijgt ook item 2), en daarna nog eens verdeelbaar(3,6,0) (hij krijgt ook item 3). Nu zag jij waarschijnlijk al van te voren aankomen dat het geen slimme zet was om boef A ook item twee te geven, maar een computer beschouwt niet zo het totale plaatje, het kan alleen beslissen wat het met dit item hier en nu moet doen. Als uiteindelijk alles verdeeld is (i==3), dan kijkt het of buitA = buitB (wat niet het geval is) en dan geeft het dus 'false' terug. Het programma gaat nu weer een stapje terug in de recursie (het zegt eigenlijk: Okay, boef A, geef jij je laatste item maar terug, want dit werkte niet). En geeft het dan aan boef B. Dan is weer alles verdeeld, nu in een 4 vs. 2 verhouding, en dan kijkt het of dat netjes is, en dat is ook niet zo.

De functie heeft nu zowel een keer geprobeerd om item 2 aan boef A als B te geven en beide willen niet, het betekent dus dat het nog een stap terug moet doen. Zowel het tweede als het derde item worden als het ware teruggevorderd, en het proces herhaalt zich deels. Nu krijgt B item twee met waarde 3, dan komt er weer een recursieve aanroep, en dan wordt item 3 weer eerst aan boef A gegeven. Nu is weer alles verdeeld, en tadaa, ze hebben beide een buit met waarde 3. Dat komt goed uit, dus het programma geeft 'true' terug (ik heb een werkende verdeling gevonden!).

Het checkt dus pas zodra alles verdeeld is of dat een goed idee is (bij nader inzien), en zo niet, doet maakt het eerst z'n laatste move ongedaan en probeert daar een andere optie, tenzij die er niet meer is, dan moet het nog een move extra ongedaan maken.

Het wordt meestal als een boom getekend als je het grafisch wilt weergeven:
1
2
3
4
5
6
7
8
9
10
11
                 (0,0)
                /     \
            /---       ---\
           /               \
       (1,0)                (0,1)
      /     \              /     \
     /       \            /       \
   (4,0)     (1,3)      (3,1)     (0,4)
  /     \   /    \     /     \   /    \
(6,0)(4,2)(3,3)(1,5) (5,1)(3,3)(2,4)(0,6)
           ^^^             ^^^


Zelf vind ik dit tamelijk verhelderend. Het begint dus in de situatie dat beide dieven niets hebben (0,0), dan loopt je programma eerst helemaal naar beneden in de boom (verdeling 6,0), en het concludeert dat dat niet werkt, dus het gaat een stapje terug en neemt daar de andere tak, dat werkt ook niet, dus het moet twee stapjes terug om bij de afslag (1,0) nu de andere tak te nemen, daar kiest het weer eerst de linker (omdat het zo geprogrammeerd is), en daar is het correct, en dan breekt het ook direct af. Als er geen verdeling is, dan loopt het echter de gehele boom door en zal het overal beneden uitkomen voordat het kan concluderen dat het niet werkt.

Of iets een goede keus is blijkt dus uit het plaatje dat een bepaald punt in de boom een 'goede oplossing' onder zich heeft, maar dat ziet dat programma niet van te voren, daarvoor moet het uitgevoerd worden.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
pi_39076663
quote:
Op woensdag 21 juni 2006 14:53 schreef Iblis het volgende:

[..]

Dat is de recursie, dat 'weet' het programma niet van te voren. Stel nu dat waarde[] ={1,3,2} Verdeelbaar(1,1,0) wordt eerst gedaan. D.w.z. item 1 is verdeeld, en boef A heeft nu een buit van 1 te pakken. Daarna wordt ook de aanroep verdeelbaar(2,4,0) gedaan (boef A krijgt ook item 2), en daarna nog eens verdeelbaar(3,6,0) (hij krijgt ook item 3). Nu zag jij waarschijnlijk al van te voren aankomen dat het geen slimme zet was om boef A ook item twee te geven, maar een computer beschouwt niet zo het totale plaatje, het kan alleen beslissen wat het met dit item hier en nu moet doen. Als uiteindelijk alles verdeeld is (i==3), dan kijkt het of buitA = buitB (wat niet het geval is) en dan geeft het dus 'false' terug. Het programma gaat nu weer een stapje terug in de recursie (het zegt eigenlijk: Okay, boef A, geef jij je laatste item maar terug, want dit werkte niet). En geeft het dan aan boef B. Dan is weer alles verdeeld, nu in een 4 vs. 2 verhouding, en dan kijkt het of dat netjes is, en dat is ook niet zo.

De functie heeft nu zowel een keer geprobeerd om item 2 aan boef A als B te geven en beide willen niet, het betekent dus dat het nog een stap terug moet doen. Zowel het tweede als het derde item worden als het ware teruggevorderd, en het proces herhaalt zich deels. Nu krijgt B item twee met waarde 3, dan komt er weer een recursieve aanroep, en dan wordt item 3 weer eerst aan boef A gegeven. Nu is weer alles verdeeld, en tadaa, ze hebben beide een buit met waarde 3. Dat komt goed uit, dus het programma geeft 'true' terug (ik heb een werkende verdeling gevonden!).

Het checkt dus pas zodra alles verdeeld is of dat een goed idee is (bij nader inzien), en zo niet, doet maakt het eerst z'n laatste move ongedaan en probeert daar een andere optie, tenzij die er niet meer is, dan moet het nog een move extra ongedaan maken.

Het wordt meestal als een boom getekend als je het grafisch wilt weergeven:
[ code verwijderd ]

Zelf vind ik dit tamelijk verhelderend. Het begint dus in de situatie dat beide dieven niets hebben (0,0), dan loopt je programma eerst helemaal naar beneden in de boom (verdeling 6,0), en het concludeert dat dat niet werkt, dus het gaat een stapje terug en neemt daar de andere tak, dat werkt ook niet, dus het moet twee stapjes terug om bij de afslag (1,0) nu de andere tak te nemen, daar kiest het weer eerst de linker (omdat het zo geprogrammeerd is), en daar is het correct, en dan breekt het ook direct af. Als er geen verdeling is, dan loopt het echter de gehele boom door en zal het overal beneden uitkomen voordat het kan concluderen dat het niet werkt.

Of iets een goede keus is blijkt dus uit het plaatje dat een bepaald punt in de boom een 'goede oplossing' onder zich heeft, maar dat ziet dat programma niet van te voren, daarvoor moet het uitgevoerd worden.
Ja, ik snap em Prachtig zeg, een paar uur terug snapte ik er nog helemaal geen hol van. Mooi is dat. Dankjewel, en Thabit en Glowmouse ook natuurlijk ! Zo'n plaatje is inderdaad erg handig. Ik ben zelf altijd geneigd om problemen iteratief op te lossen ( die paar problemen die ik dan heb opgelost ), recursie vind ik op de een of andere manier een stuk lastiger.
quote:
Op woensdag 21 juni 2006 14:36 schreef Haushofer het volgende:

Als ik dit vandaag nog ga bevatten, worden jullie gepromoveerd tot koningen
Nou, bij deze

Ik zal trouwens ook nog even goed kijken naar Thabit's voorstel, om naar de sommen van de deelrijen van de array te kijken. En nu dus nog die extensie, maar mijn dag is nu alweer goed

[ Bericht 2% gewijzigd door Haushofer op 21-06-2006 15:27:58 ]
  woensdag 21 juni 2006 @ 15:11:49 #81
151791 Kindervriend
Tilburg boven fallus.
pi_39076905
Okay, komt weer een n00b vraag van mij, wederom kansberekening.

Er zijn 3 machines. A, B en C.

A neemt 10% van de productie voor zijn rekening. B 30% en C 60%.

De kans op een defect product met machine A is 7%. Bij B is het 3% en bij C 1,5%.

Vraag: Wat is de kans dat een willekeurig defect product is geproduceerd met machine C?

Help me.
  woensdag 21 juni 2006 @ 15:11:58 #82
124373 Ireth
#sjongejongejonge
pi_39076912
Even naar hiero sleuren... het gegeven antwoord in Scheikundeknobbels aanwezig hiero?? was correct!! Thanks!!
Goedemiddag! Kan ik u ergens mee helpen?
  woensdag 21 juni 2006 @ 15:23:34 #83
147503 Iblis
aequat omnis cinis
pi_39077360
quote:
Op woensdag 21 juni 2006 15:05 schreef Haushofer het volgende:
Ja, ik snap em Prachtig zeg, een paar uur terug snapte ik er nog helemaal geen hol van. Mooi is dat. Dankjewel, en Thabit en Glowmouse ook natuurlijk ! Zo'n plaatje is inderdaad erg handig. Ik ben zelf altijd geneigd om problemen iteratief op te lossen ( die paar problemen die ik dan heb opgelost ), recursie vind ik op de een of andere manier een stuk lastiger.
To iterate is human; to recurse, divine.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  woensdag 21 juni 2006 @ 15:28:33 #84
147503 Iblis
aequat omnis cinis
pi_39077560
quote:
Op woensdag 21 juni 2006 15:11 schreef Kindervriend het volgende:
Okay, komt weer een n00b vraag van mij, wederom kansberekening.

Er zijn 3 machines. A, B en C.

A neemt 10% van de productie voor zijn rekening. B 30% en C 60%.

De kans op een defect product met machine A is 7%. Bij B is het 3% en bij C 1,5%.

Vraag: Wat is de kans dat een willekeurig defect product is geproduceerd met machine C?
Gegeven is al dat het product defect is, wat is nu de kans dat het met machine C is geproduceerd.
Ofwel P(C|D). Nu wil je de regel van Bayes gebruiken:



Je wilt P(C|D) weten, die regel zegt dat je daarachter kunt komen als je P(D|C) en P(D) en P(C) berekent. Dat moet te doen zijn.
Daher iſt die Aufgabe nicht ſowohl, zu ſehn was noch Keiner geſehn hat, als, bei Dem, was Jeder ſieht, zu denken was noch Keiner gedacht hat.
  woensdag 21 juni 2006 @ 20:18:49 #85
75592 GlowMouse
l'état, c'est moi
pi_39088892
quote:
Op woensdag 21 juni 2006 13:19 schreef GlowMouse het volgende:
[..]
Omdat P(A)P(B) != P(A door B) weet je dat A en B afhankelijk zijn. Omdat P(A|B) en P(B|A) niet gegeven zijn, moet je goed kijken. Je moet dus goed kijken
Nu zie je dat P(A door B) en P(B) zijn gelijk. Probeer hier eens verder mee te komen. Als dit niet lukt, maak dan een venn-diagram
Om hier nog even op terug te komen, het kan ook geheel met de rekenregels:
P(B|A) = P(A door B)/P(A) = 0,5
P(B'|A) = 1-P(B|A) = 0,5
P(A door B') = P(B'|A)*P(A) = 0,5*0,4 = 0,2
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_39090207
Haushofer,

Ik zou ook nog iets als
1if ( Math.max( buitA, buitB) > waardeSom/2 ) { return false; }

in je programmaatje zetten.
Hiermee voorkom je dat je computer heel veel onzinnig werk gaat doen. Als buitA (of buitB) immers al meer dan de helft is, zal het zeker niet minder worden, dus dan kan je gelijk stoppen. Ik ga er dan wel vanuit dat alle waarden niet negatief zijn. Een dergelijk trucje valt in de categorie branch & cut algoritme. Als ze wel negatief mogen zijn, kun je nog steeds wel een soortgelijke grens bepalen.

Waarom moeten die functies van je eigenlijk static zijn? Volgens mij werkt het dan alleen als waardes ook een static variabele is en dat is een beetje vreemd .
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')