Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Die Artikel ::  Der Dreisatz lügt  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
LeaBärchen
Unregistrierter




Beitrag LeaBärchen Unregistrierter 20:42:33 12.01.2012   Titel:              Zitieren

Hey, Rainer, ich hab dich grad gesehen und stelle mir die selbe frage! also, leute, was ist die lösung????????
Rainer Behnen
Unregistrierter




Beitrag Rainer Behnen Unregistrierter 20:46:18 12.01.2012   Titel:   Herr            Zitieren

mmm also ich habe das mal grade mit meinem kumpel gemacht und wir haben rausbekommen: da man ja weiß, dass der zweite arbeiter an einem tag nur 1/3 der arbeit braucht, muss man 1 - 1/3 rechnen, dann bekommt man 2/3 raus. gehen wir jetzt davon aus, dass der arbeitstag 24 stunden hat,, rechnet man 24 durch 2/3 und das ergibt 16 stunden !!!???
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24318
Beitrag volkard Moderator 21:37:52 12.01.2012   Titel:   Re: Herr            Zitieren

Ich widerspreche!

Rainer Behnen schrieb:
Hallo! Ich habe eine eigene Frage, die unser Lehrer uns gestellt hat. Ich habe es versucht, komme aber nicht auf das Ergebnis.
Brauche Hilfe! Hier ist die Aufgabe:

Es gibt zwei Arbeiter.
Der erste Arbeiter braucht für die vorgegebene Arbeit 1 Tag lang, der zweite für die selbe Menge an Arbeit 3.
Wie lange brauchen die Arbeiter, wenn sie ZUSAMMEN arbeiten??? :confused:

Viele mögliche Herangehensweisen.

Ich zeige mal die erste, die ich immer bei sowas nahm:

Also hier mein Weg, der mich bis tief ins Studium stets begleitet hat:
Die Lösung ist offensichtlich unabhängig von der Gesamtarbeitsmenge. Also kann ich mir auch eine Gesamtarbeitsmenge selber ausdenken und die wird sich sicherlich am Ende wieder herauskürzen.
Ich definiere: Sie wollen eine Kiste Bier mit 24 Flaschen trinken.

Umschrift der Aufgabenstellung:
Es gibt zwei Arbeiter und eine Kiste Bier mit 24 Flaschen.
Der erste Arbeiter braucht für die vorgegebene Kiste 1 Tag lang, der zweite für die selbe Menge an Bier 3 Tage.

Also trinkt der erste Arbeiter 24 Bier pro Tag. Und der zweite trinkt 8 Bier pro Tag.
Zusammen trinken sie 32 Bier pro Tag.

Also brauchen sie zusammen für 24 Bier 24/32 Tage, also 3/4 Tage.

Zurückumschrift der Lösung:
Sie brauchen für die vorgegebene Arbeit 3/4 Tage.

Mhhm, das widerspricht aber der Lösung von Rainer Behnen. Mist.
Dabei haben Bier-Rechenwege die starke Tendenz, immer zu stimmen.
Es muß weiter geforscht werden.

(Allerdings habe ich mir irgendwann im 12. Schuljahr angewöhnt, statt der willkürlichen 24 einen willkürlichen Buchstaben wie k zu nehmen und es mit Buchstaben zu rechnen. Das war einfach praktischer, weil die Zahlen allzu oft nicht glatt sind. Außerdem beweist das Wegfallen von k dann die Eingangsvermutung, daß die Lösung unabhängig von k ist. Das ist DER Weg, den man zuerst nehmen sollte, wenn man kann. Hier ist er mir aber zu abstrakt und ich lasse ihn aus.)
////////////////////////////////////////////////////////////////////////////////
Also einen anderen Weg gehen:
Bei sowas muß man die Kehrwerte addieren und beim Zurückkehrwerten Glück haben.
Also 1/1+1/3=4/3.
Und das zurückkehrwerten ergibt 3/4.
Schon wieder kommt 3/4 raus. Ich beginne, ans Rainers Lösung zu zweifeln.
////////////////////////////////////////////////////////////////////////////////
Also einen anderen Weg gehen:
Eine Computersimulation!!!
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

double arbeite(double arbeitsGeschwindigkeitA,double arbeitsGeschwindigkeitB){
    double arbeit=1;
    double zeit=0;
    while(arbeit>0){
        arbeit-=arbeitsGeschwindigkeitA;
        arbeit-=arbeitsGeschwindigkeitB;
        ++zeit;
    }
    return zeit;
}

int main(){
    using namespace std;
    double arbeitsGeschwindigkeitA=0.00001;
    double arbeitsGeschwindigkeitB=arbeitsGeschwindigkeitA/3;
    cout<<"A alleine: "<<arbeite(arbeitsGeschwindigkeitA,0)<<" willkürliche Zeiteinheiten\n";
    cout<<"B alleine: "<<arbeite(0,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
    cout<<"A und B: "<<arbeite(arbeitsGeschwindigkeitA,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

double arbeite(double arbeitsGeschwindigkeitA,double arbeitsGeschwindigkeitB){
double arbeit=1;
double zeit=0;
while(arbeit>0){
arbeit-=arbeitsGeschwindigkeitA;
arbeit-=arbeitsGeschwindigkeitB;
++zeit;
}
return zeit;
}

int main(){
using namespace std;
double arbeitsGeschwindigkeitA=0.00001;
double arbeitsGeschwindigkeitB=arbeitsGeschwindigkeitA/3;
cout<<"A alleine: "<<arbeite(arbeitsGeschwindigkeitA,0)<<" willkürliche Zeiteinheiten\n";
cout<<"B alleine: "<<arbeite(0,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
cout<<"A und B: "<<arbeite(arbeitsGeschwindigkeitA,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>

double arbeite(double arbeitsGeschwindigkeitA,double arbeitsGeschwindigkeitB){
    double arbeit=1;
    double zeit=0;
    while(arbeit>0){
        arbeit-=arbeitsGeschwindigkeitA;
        arbeit-=arbeitsGeschwindigkeitB;
        ++zeit;
    }
    return zeit;
}

int main(){
    using namespace std;
    double arbeitsGeschwindigkeitA=0.00001;
    double arbeitsGeschwindigkeitB=arbeitsGeschwindigkeitA/3;
    cout<<"A alleine: "<<arbeite(arbeitsGeschwindigkeitA,0)<<" willkürliche Zeiteinheiten\n";
    cout<<"B alleine: "<<arbeite(0,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
    cout<<"A und B: "<<arbeite(arbeitsGeschwindigkeitA,arbeitsGeschwindigkeitB)<<" willkürliche Zeiteinheiten\n";
}

Ausgabe:
Code:
A alleine: 100001 willkürliche Zeiteinheiten
B alleine: 300000 willkürliche Zeiteinheiten
A und B: 75001 willkürliche Zeiteinheiten
Code:
A alleine: 100001 willkürliche Zeiteinheiten
B alleine: 300000 willkürliche Zeiteinheiten
A und B: 75001 willkürliche Zeiteinheiten
Code:
A alleine: 100001 willkürliche Zeiteinheiten
B alleine: 300000 willkürliche Zeiteinheiten
A und B: 75001 willkürliche Zeiteinheiten

Also sind 100000 willkürliche Zeiteinheiten ein Tag. B braucht 3 Tage, korrekt. Und zusammen brauchen sie einen 3/4 Tag.

Jetzt glaube ich es.
////////////////////////////////////////////////////////////////////////////////
Um es rund zu machen, muß noch der Denkfehler gefunden werden.

Problem:
da man ja weiß, dass der zweite arbeiter an einem tag nur 1/3 der arbeit braucht, muss man 1 - 1/3 rechnen, dann bekommt man 2/3 raus. gehen wir jetzt davon aus, dass der arbeitstag 24 stunden hat,, rechnet man 24 durch 2/3 und das ergibt 16 stunden

Also der zweite schafft während des ersten Tages in der Tat nur 1/3 Tagwerk. Bleiben 2/3 Tagwerk übrig, die der erste machen muß.
Und der erste braucht dafür 2/3 Tage. AAber, so arbeitet der erste 2/3 Tage lang, aber der erste doch noch einen ganzen Tag lang.
Der erste könnte ein wenig länger arbeiten, damit der zweite ein wenig kürzer Arbeiten muß.

////////////////////////////////////////////////////////////////////////////////
Kommen wir zu noch einem Lösungsweg, iterative Näherung.
Der zweite arbeitet 1 Tag lang. Also arbeitet er 1*1/3 Tagwerke weg=1/3. Also bleiben für den zweiten 2/3.
Die echte Lösung ligt zwischen 1 und 2/3, sagen wir mal genau in der Mitte=(1+2/3)/2=5/6
(Das ist natürlich noch falsch, aber (höchst vermutlich!) besser, als die beiden Randwerte.)

Der zweite arbeitet 5/6 Tag lang. Also arbeitet er 5/6*1/3 Tagwerke weg=5/18. Also bleiben für den zweiten 13/18.
Die echte Lösung ligt zwischen 5/6 und 13/18, sagen wir mal genau in der Mitte=(5/6+13/18)/2=7/9

Der zweite arbeitet 7/9 Tag lang. Also arbeitet er 7/9*1/3 Tagwerke weg=7/27. Also bleiben für den zweiten 20/27.
Die echte Lösung ligt zwischen 7/9 und 20/27, sagen wir mal genau in der Mitte=(7/9+20/27)/2=41/54

Und so weiter...
Aber wir sind schon bei 0.75(periode)925
////////////////////////////////////////////////////////////////////////////////
Und noch ein Schmankerl, die iterative Lösung ins Unendliche forsetzen, indem die Fixpunktgleichung gelöst wird.
Der zweite arbeitet B Tage lang. Also arbeitet er B*1/3 Tagwerke weg=B*1/3. Also bleiben für den zweiten 1-B*1/3.
Die echte Lösung ligt zwischen B und 1-B*1/3, sagen wir mal genau in der Mitte=(B+1-B*1/3)/2=B/3+1/2

Gewonnen hätten wir, falls die Iteration "ankommen" würde, also das neue B gleich dem alten B ware.
Also wenn B = B/3+1. Und das ist eine Gleichung, die man ausrechnen kann.

B = B/3+1/2 | *6
6B = 2B + 3 |-2B
4B = 3 |/4
B = 3/4

_________________
http://www.venganza.info/
plonk fürs Forum v1.02


Zuletzt bearbeitet von volkard am 22:04:49 12.01.2012, insgesamt 4-mal bearbeitet
_matze
Mitglied

Benutzerprofil
Anmeldungsdatum: 31.07.2007
Beiträge: 9590
Beitrag _matze Mitglied 21:54:08 12.01.2012   Titel:              Zitieren

:D :live:

_________________
Wie viele atheistische Babys hat man schon aus Versehen - oder gar mit Absicht! - getauft?
nachtfeuer
Mitglied

Benutzerprofil
Anmeldungsdatum: 08.04.2010
Beiträge: 1167
Beitrag nachtfeuer Mitglied 02:14:24 23.02.2012   Titel:              Zitieren

1:3 -> 4 -> Teiler -> Verhältnis verteilen:
3/4 + 1/4
(Wenn man 1/3 vs 2/3 rechnet, ist das Verhälnis 1:2)

...aber sicher bin ich mir nicht, es könnte ja sein, das der zweite Arbeiter attraktiv weiblich ist, und A noch schneller arbeitet als sonst, und sich eher ein Verhältnis von 5/6 + 1/6 einstellt, oder eben daß, die beiden so viel quatschen, daß sie langsamer arbeiten als alleine, und sich synchronisieren, also eher sowas wie 1/3 + 2/3 ...und B überredet A auch noch zu mehr Raucherpausen...und noch mehr Synchronisation, also 1/2 + 1/2, aber Referenzzeit leicht unbekannt, oder wenn A und B Programmierer sind, braucht man vielleicht nochmal Extrazeit, um sich zu synchronisieren, und eventuell Codeabsprachen, dann sehen vier Augen eventuell mehr als zwei und das Teilprojekt wird grundsätzlich nochmal neuaufgelegt, brauchen die beiden zusammen etwa 20 mal so lange wie A, aber A kann auch gar nicht mehr so konzentriert arbeiten, wenn A nicht alleine ist, ganz abgesehen davon, dass noch gar keiner gefragt hat, dass der Code von A immer wieder nachgepatcht werden muß, also A in Wirklichkeit gar nicht dreimal schneller ist als B, sondern nur scheinbar.

_________________
HhxV9rU5D8o236dZF7bMQ4Dys1_TuUmI4mZM.d2qD15ERi_0dgcHP0UViL3e-4WUi0nXXNwDYqA10sLEgjBVtdhE
tpehI7qHRZESiO_7LhPZFMQWNoiVrJDsEGD26n.H0lV8wOwYAe8UsbUJe5m65NyPaghnSoMzROo2gJ6nTeVSkxLk
a6hvNe11r9U7xddV9mq6NEi_V0C9k4augEKVSW3PV8LgCYum7KaXc9Ijq_ZT7zhspI.=-
kingcools
Mitglied

Benutzerprofil
Anmeldungsdatum: 14.03.2008
Beiträge: 78
Beitrag kingcools Mitglied 01:36:30 29.02.2012   Titel:              Zitieren

Wie? Einfache mathematische Modelle bilden nicht Wahrheitsgetreu die Wirklichkeit ab? Wow, muss wohl meinen Mathedoktor machen um das zu verstehen.
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17110
Beitrag Marc++us Administrator 05:08:22 29.02.2012   Titel:              Zitieren

Naja, so trivial ist die Erkenntnis auch wieder nicht, da im Alltag solche mathematischen Modelle durchaus für Schlußfolgerungen benutzt werden, die in der Folge grundfalsch sind. (z.B. Wirtschaftslehre, Steuerschätzungen, Business Pläne, Verhalten der Kunden bei Preiserhöhungen, etc)

_________________
Viele Grüße
Marc++us
C++.de
Bitsy
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.05.2001
Beiträge: 499
Beitrag Bitsy Mitglied 08:01:47 29.02.2012   Titel:              Zitieren

Oh, lustiger Thread!
Also, zur Lösung der ursprünglichen Aufgabe in der letzten Form (Sekunde) empfehle ich anstelle des Dreisatzes einen Sprengsatz.
Spezialisten werden wissen, ob der dann linear oder nichtlinear sein muß. :o)
C/C++ Forum :: Die Artikel ::  Der Dreisatz lügt  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.