Abt. AneR 65 ´Freier Fall´
===================
Ein ohne Luftwiderstand von einem Turm frei fallender Körper legt in der letzten Sekunde vor dem Aufschlag auf dem Erdboden die Hälfte seines Gesamtweges zurück. Wie lange dauerte sein Fall und in welcher Höhe wurde er losgelassen?
ALGORITHMEN - Teil XIX: Stromausfall im Aussenhirn
-
-
-
-
Lösung zu AneR 65
---------------------Spoiler anzeigen
(0) Die Norm-Fallbeschleunigung auf der Erde beträgt 9.80665 m/s^2(1) s_ges = 9.80665*1/2*t_ges^2
(2) s_ges/2 = 9.80665*1/2*(t_ges - 1)^2
==> s_ges = 9.80665 * (t_ges^2 - 2*t_ges + 1)(1)=(2):
9.80665*1/2*t_ges^2 = 9.80665 * (t_ges^2 - 2*t_ges + 1) * 1/9.80665
1/2*t_ges^2 = t_ges^2 - 2*t_ges + 1 -1/2 * t_ges^2
0 = t_ges^2 - 1/2 * t_ges^2 - 2 * t_ges + 1
0 = t_ges^2 /2 - 2 * t_ges + 1 * 2
t_ges^2 - 4 * t_ges + 2 = 0
---
t_1 = - (-4)/2 + Sqrt( (-4/2)^2 - 2 )
t_1 = 2 + Sqrt(2) = 3.414213562 Sekundent_1^2/2 = 5.828427125
s_1 = 9.80665 * 5.828427125 = 57.15734487 m (Turm)
---
t_2 = 2 - Sqrt(2) = 0.585786438 Sekunden
t_2^2/2 = 0.171572875
s_2 = 9.80665 * 0.171572875 = 1.6825555137 m (kein "Turm", daher nicht Lösung).
---
Antwort:
Die Zeit bis zum Aufschlag dauerte 3.4142 Sekunden,
die Fallhöhe war 57.15734487 m
Probe:
Bis zur halben Strecke muss es 3.4142 - 1 = 2.4142 Sek. gedauert haben:
s_probe = 9.80665/2* 2.4142^2 = 28.57867242 = 1/2 * s_1 q.e.d. -
Abt. ABC-BLÖCKE
=============
Wieder mal eine Rosetta code Aufgabe. Es geht um eine Aufgabe, wie sie ABC-Schützen in der Grundschule (Ö: Volksschule) gestellt wird: Aus einem begrenzten Zeichenvorrat auf Holzplättchen, auf denen immer zwei Buchstaben stehen, soll ein gesuchtes Wort gelegt werden. Die Schüler (hier: Der Computer) sollen herausbekommen, ob das Wort erzeugt werden kann oder nicht.
GrussP.S.: In der Biologie findet sich eine analoge Aufgabenstellung, nämlich diei Frage, ob ein bestimmtes Eiweiss aus vorhandenen Aminosäuren eines Stoffwechselkreislaufes aufgebaut werden kann oder nicht. Dort ist der Rechenaufwand allerdings um Einiges größer...
Code
Alles anzeigenWindowTitle "Die "+chr$(34)+"ABC-BLOCK"+chr$(34)+"-Aufgabe lösen" 'http://rosettacode.org/wiki/ABC_Problem 'Q: Pascal to XProfan-11 by p.specht WindowStyle 24:cls:font 2 ' Die Spielblöcke weisen jeweils zwei Buchstaben auf: var Blocks$ = "BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM " var BlockSize& = 3 '(Trenner mitgezählt) Proc can_generate :parameters S$ S$ = Upper$(S$) 'Keine Unterscheidung Klein-/Großschreibung var Result& = (S$>"") declare c$,iPos& var wkBlocks$ = Blocks$ if Result& WHILELOOP LEN(S$):c$=mid$(S$,&Loop,1) iPos& = instr(c$,wkBlocks$) if iPos&>0 // Char found wkBlocks$=Del$(wkBlocks$,iPos&,1) wkBlocks$=Ins$(" ",wkBlocks$,iPos&) // Remove the other face if (iPos& mod BlockSize&) = 1 wkBlocks$=Del$(wkBlocks$,iPos&+1,1) wkBlocks$=Ins$(" ",wkBlocks$,iPos&) else wkBlocks$=Del$(wkBlocks$,iPos&-1,1) wkBlocks$=Ins$(" ",wkBlocks$,iPos&) endif ELSE // missed Result& = 0 BREAK ENDIF ENDWHILE return Result& endif // Debug... Print Blocks$ print wkBlocks$ waitinput Endproc proc TestABCProblem :parameters S$ Print "\n I can_generate(";S$;") = ";if(can_generate(S$),"True","False") EndProc Main: TestABCProblem("A") TestABCProblem("BARK") TestABCProblem("BOOK") TestABCProblem("TREAT") TestABCProblem("COMMON") TestABCProblem("SQUAD") TestABCProblem("Confuse") TestABCProblem("pspecht") Waitinput END 'Output: ' I can_generate("A") = True ' I can_generate("BARK") = True ' I can_generate("BOOK") = False ' I can_generate("TREAT") = True ' I can_generate("COMMON") = False ' I can_generate("SQUAD") = True ' I can_generate("Confuse") = True
-
Abt. AneR 66 ´Peng!´
================
Um die Mündungsgeschwindigkeit Vm einer Gewehr-Kugel zu ermitteln, wird diese durch zwei Pappscheiben geschossen, die im Abstand von 50 cm auf einer gemeinsamen Welle mit 1600 Umdrehungen/Minute rotieren. Das Geschoß fliegt parallel zur Drehachse und durchschlägt beide Scheiben. Nach Übereinanderlegen der Scheibenmarkierungen ergibt sich ein Winkel zwischen den Einschußlöchern von 15 °. Wie groß war Vm? -
Lösung zu AneR 66
---------------------Spoiler anzeigen
(1) 1600 [U/min] / 60 = 26 2/3 [U/s]
==> 1 [U] = 360 [°]
==> 26 2/3 [U/2] = 9600 [°/s](2) 15 [°] /50 [cm] = 30[°/ 1 m]
(3) 9600 [°/s] / 30 [°/m] = 320 [m/s]
Antwort: Die Mündungsgeschwindigkeit beträgt 320 [m/s], m.a.W.
es dürfte sich also um ein gutes Luftgewehr oder ein Kleinkalibergewehr handeln. -
Antwort: Die Mündungsgeschwindigkeit beträgt 320 [m/s], m.a.W.
es dürfte sich also um ein gutes Luftgewehr oder ein Kleinkalibergewehr handeln.Gute Luftdruck-Gewehre schießen bei uns höchstens 170-180 m/s (7,5 Joule - Grenze).
Außer mein gutes altes Weihrauch HW35, das zwar schon 45 Jahre auf dem Buckel hat,
aber Dank neuer Innereien, (wegen alter Ledermanchette und ausgeleierter Feder) wieder fit ist.Also eher ein KK-Gewehr.
Ach ja, du bist ja Österreicher, -> also andere Waffengesetze. -
Ich habe meine Weisheiten aus Wikipedia, und da stand bei "Diabolo 4.5 mm ... 90 - 360 m/s"
Möglicherweise gehört das korrigiert, vielleicht von jemandem aus Göttingen, der bei der ÖMZ mitgearbeitet hat. -
Abt. Oldi-40 2
=========Mal etwas kniffliges:
Gegeben ist ein Würfel aus 12 Widerständen.
Wie groß ist der Widerstand zwischen A und G?
Tschau
-
Ad Rätsel Oldi-40 Nr. 2: Mein erster intuitiver Lösungsversuch lautet: Da das Ding so schön symmetrsch ist und es 12 Kanten gibt, liegt der Kantenwiderstand bei 1/12 des Gesamtwiderstandes ... (??)
Meine zweite Überlegung war aber: 3 Widerstände liegen in Reihe, drei Reihen parallel: 3/3 = 1: Dann hätte eine Kante genau den Widerstand, den auch das Gesamtsystem hat ... verwirrend, diese Kirchhoff´schen Gesetze !
Ansonsten müsste man sich eines der nachfolgenden Verfahren bedienen:
Youtubes von Mathias Magdowski (Dt.): "Die 6 linearen Netzwerkberechnungsverfahren"
Modifiziertes Knotenspannungsverfahren (Modified nodal analysis, MNA)
Quellstromverfahren v. Georg Seemann
Knotenspannungsverfahren
Jörn Loviscach: Vierpol (=Zweitor-Kettenmatrix) -
Hallo p.specht,
Meine zweite Überlegung war aber: 3 Widerstände liegen in Reihe
Ja aber an jeder Ecke.
Da hilft die YouTub Universität wohl nicht.
Guggste noch wie die restlichen Widerstände verschaltet sind und auf welchem Potential die liegen, dann fallen dir die Schuppen von den Augen.
- Oder die letzten Haare vom Kopf.
Ich halte mal fest, Rechts 1/3R + Links 1/3R = 2/3R.
Tschau
-
Ich gehe mal davon aus, daß alle Kantenwiderstände gleich groß sind. Das bedeutet, daß sich der Strom erstmal gleichmäßig auf die drei Zweige verteilt, also zu je 1/3 dort fließt. Von dort teilt er sich nochmals gleichmäßig, dann fließt dort jeweils 1/6.
Weiters unterstelle ich, daß es den "mittleren sechs" Kantenwiderständen potentialmäßig egal ist, ob sie an verschiedenen Zweigen liegen, eben weil die Spannungsabfälle über die Anspeisungskanten ja überall gleich sind. Diesfalls ergibt sich folgendes Ersatzschaltbild für eiinen der drei Zweige:
(+)
|
R1
+--+
R2 R3
+--+
R4
|
(-)Somit beträgt der Widerstand eines Zweiges R + 1/( 1/R + 1/R ) + R = 2*R + 1/2*R = 5/2*R = 2.5 * R
Davon liegen drei parallel: 1 / ( 1/(2.5*R) + 1/(2.5*R) + 1/1/(2.5*R) ) = 1/1 / 3/(2.5*R) = 2.5/3 * R = 5/6* R
Gruss
P.S.: Sieht aber komisch aus ... Ich werde das mal mit Widerständen nachbauen
PPS.: Gerade eben jetzt unter Stichwort "Widerstandswüfel" gefunden: LINK
PPPS.: Die Internet-Uni hilft ja doch: Vorlesungskript Physik II ´Widerstandswürfel´, auch vierdimensional
-
Abt. Handles testen
==============
Nix aufregendes, war eher für interne Zwecke.
GrussP.S.: An die ProcessAffinityMask kommt man so einfach offenbar nicht ran, da braucht man erst Berechtigungen.
Code
Alles anzeigen$H windows.ph $H structs.ph $H messages.ph WindowTitle "Involvierte Handles" Cls ~GetSysColor(22):font 1 Print "\n Handle des aktuellen Desktops:",%DeskTop,~GetDesktopWindow() Print "\n Handle d.aktuellen Hauptfensters:",%HWnd Print "\n Handle des Eltern-Fensters 0=Hpt:",~GetParent(%HWnd) Print "\n Handle d.akt.Vordergrundfensters:",~GetForegroundWindow() Print "\n Handle Zuletzt aktives PopUpWnd:",~GetLastActivePopup(%Hwnd) Print "\n Handle des laufenden Programmes:",%hInstance, ~GetWindowLong(%hWnd, ~GWL_HINSTANCE) Print "\n ProcessID dieses lfd.Programmes:",~GetCurrentProcessID() Print "\n TheadID des laufenden Threads:",~GetCurrentThreadID() var syscol&=~GetSysColor(22) Print "\n Hauptfensterhintergrund: ",syscol&;" = RGB(";\ GetRValue(syscol&);",";GetGValue(syscol&);",";GetBValue(syscol&);")" print Declare hProcess&, lpProcessAffinityMask&, lpSystemAffinityMask& print "\n GetProcessAffinityMask= ";\ ~GetProcessAffinityMask(%hwnd,hProcess&,lpProcessAffinityMask&,lpSystemAffinityMask&) print " hProcess = ";hProcess& print " lpProcessAffinityMask = ";lpProcessAffinityMask& print " lpSystemAffinityMask = ";lpSystemAffinityMask& waitinput END
-
Abt. Horizontaler Splitter für XProfan-11
============================
Ein Lehrstück für die Windows API-Programmierung vom Meister persönlich.
Nnotdürftig an XProfan-11 angepasst by Lehrling p.specht.
GrussCode
Alles anzeigenWindowTitle "Horizontal-Splitter in XProfan-11" ' Orig-Author: 2003 Andreas Miethe+ ' Zit. p.specht: "... zum Lernen vom Meister A.M." '################################################# 'SetTrueColor 1 ' nun Default set("FastMode",1) ' $I profalt.inc 'unnötig, da OR(x,y) durch x | y ersetzt, MoveListToEdit() durch MoveListToHandle() '------------------------ 'Header-Dateien einbinden '- ev. Pfad anpassen !!! '------------------------ $H windows.ph $H structs.ph $H messages.ph '------------------------ 'Definitionen 'unnötig, Xprofan11 kann bereits: 'DEF HiWord(1) And(&(1)>>16,$FFFF) 'DEF LoWord(1) And(&(1),$FFFF) 'DEF MakeLong(2) Or(&(1),&(2)<<16) '------------------------ 'Strukturen '------------------------ STRUCT MyWindowClass = ~WndClass STRUCT MyMsg = ~Msg STRUCT rect = ~RECT '------------------------ Declare hCursor&,Classname$,WindowTitle$,WindowIcon$ Declare WindowClass#, Msg#, Size# PROC WindowProc :parameters Wnd&, Msg&, wParam&, lParam& IF Msg& = ~WM_SIZE IF HIWORD(lParam&) < dwSplitterPos& dwSplitterPos& = HIWORD(lParam&)-10 Endif ~MoveWindow(Edit1&,0,0,LOWORD(lParam&),dwSplitterPos&,1) ~MoveWindow(Edit2&,0,dwSplitterPos&+4,LOWORD(lParam&),HIWORD(lParam&)-dwSplitterPos&-4,1) Endif IF Msg& = ~WM_MOUSEMOVE Declare rect#:DIM rect#,rect IF HIWORD(lParam&) > 40 ~SetCursor(hCursor&) IF wParam& = ~MK_LBUTTON ~GetClientRect(Wnd&, rect#) IF (HIWORD(lParam&) > rect#.bottom& -40) RETURN 0 ENDIF dwSplitterPos& = HIWORD(lParam&) ~SendMessage(Wnd&,~WM_SIZE, 0, MAKELONG(rect#.right&, rect#.bottom&)) ~UpdateWindow(Edit1&) ~UpdateWindow(Edit2&) ENDIF ENDIF DISPOSE Rect# ENDIF IF Msg& = ~WM_LBUTTONDOWN ~SetCursor(hCursor&) bSplitterMoving& = 1 ~SetCapture(Wnd&) Endif IF Msg& = ~WM_LBUTTONUP ~ReleaseCapture() bSplitterMoving& = 0 Endif IF Msg& = ~WM_CLOSE ~DeleteObject(hCursor&) Messagebox("und Tschüss !","Ende",64) ~PostQuitMessage(0) ' = DISPOSE WindowClass#, Msg#, Size# endif RETURN ~DefWindowProc(Wnd&, Msg&, wParam&, lParam&) endproc PROC Main Declare Ende&,Edit1&,Edit2&,bSplitterMoving&,dwSplitterPos&,Window& DIM WindowClass#,MyWindowClass DIM Msg#,MyMsg Classname$ = "XPrfWndClass" WindowTitle$ = "H-Splitter" WindowIcon$ = "A" WITH WindowClass# .style& = 0 .lpfnWndProc& = ProcAddr(WindowProc,4) .cbClsExtra& = 0 .cbWndExtra& = 0 .hInstance& = %HInstance .hIcon& = ~LoadIcon(%hInstance,Addr(WindowIcon$)) .hCursor& = ~LoadCursor(0, ~IDC_ARROW) .hbrBackground& = ~CreateSolidBrush(~GetSysColor(~COLOR_BTNFACE)) .lpszMenuName& = Addr(Classname$) .lpszClassName& = Addr(Classname$) EndWith IF ~RegisterClass(WindowClass#) = 0 MessageBox("Fehler beim Registrieren der Anwendung !","Fehler...",16) End Endif Window& = ~CreateWindowEx( 0, Addr(Classname$), Addr(WindowTitle$),\ ~ws_OverlappedWindow, ~cw_UseDefault, ~cw_UseDefault,\ 640, 480, 0, 0, %HInstance, 0) ' Edit1& = ~CreateWindowEx(~WS_EX_CLIENTEDGE,"edit", 0,\ ' OR( OR( OR( (~WS_CHILD | ~WS_VISIBLE),~WS_CLIPSIBLINGS),~ES_MULTILINE),~WS_VSCROLL),\ ' 0, 0, width(window&), Height(window&)/2, window&, 1001,%hInstance,0) ' ' Edit2& = ~CreateWindowEx(~WS_EX_CLIENTEDGE,"edit", 0,\ ' OR(OR(OR(OR(~WS_CHILD,~WS_VISIBLE),~WS_CLIPSIBLINGS),~ES_MULTILINE),~WS_VSCROLL),\ ' 0, Height(Edit1&)+6, width(window&), Height(window&)/2, window&, 1002,%hInstance,0) Edit1& = ~CreateWindowEx(~WS_EX_CLIENTEDGE,"edit", 0,\ ~WS_CHILD | ~WS_VISIBLE | ~WS_CLIPSIBLINGS | ~ES_MULTILINE | ~WS_VSCROLL ,\ 0, 0, width(window&), Height(window&)/2, window&, 1001,%hInstance,0) Edit2& = ~CreateWindowEx(~WS_EX_CLIENTEDGE,"edit", 0,\ ~WS_CHILD | ~WS_VISIBLE | ~WS_CLIPSIBLINGS | ~ES_MULTILINE | ~WS_VSCROLL ,\ 0, Height(Edit1&)+6, width(window&), Height(window&)/2, window&, 1002,%hInstance,0) ClearList AddFiles "C:\*.*" ' Irgendetwas zum herzeigen ' MoveListToEdit(Edit1&) 'veraltet MoveListToHandle(Edit1&) ' MoveListToEdit(Edit2&) 'veraltet MoveListToHandle(Edit2&) hCursor& = ~LoadCursor(0,~IDC_SIZENS) bSplitterMoving& = 0 dwSplitterPos& = (Height(window&)/2) + 4 ~ShowWindow(Window&, ~SW_SHOWNORMAL) ~UpdateWindow(Window&) WHILE ~GetMessage(Msg#, 0, 0, 0) > 0 ~TranslateMessage(Msg#) ~DispatchMessage(Msg#) Endwhile EndProc Main '= Anstoß PROGEND
-
Abt. AneR 67 ´Alte Frage´
=================
Eine Billardkugel stößt zentral auf eine mechanisch identische, aber ruhende Kugel. Ihre Bewegungsenergie ist vorher E_kinetisch = m/2*v^2, nachher 0 (d.h., sie bleibt ruhig liegen). Umgekehrt bei der anderen Kugel: Vorher ist E_kin = 0, nachher m/2*v^2.Frage: Wie hoch ist in der Mitte des Stoss-Geschehens die auftretende (potentielle) Verformungsenergie einer Kugel, und wieso lässt sich das Systemverhalten durch die Impulsgleichung m1*v1 = m2*v2 beschreiben, wo doch die Geschwindigkeiten in die kinetische Energie quadratisch eingehen?
-
Hallo p.specht,
Ich gehe mal davon aus, daß alle Kantenwiderstände gleich groß sind. Das bedeutet, daß sich der Strom erstmal gleichmäßig auf die drei Zweige verteilt, also zu je 1/3 dort fließt. Von dort teilt er sich nochmals gleichmäßig, dann fließt dort jeweils 1/6. ...
Perfekt gelöst.
Ich habe vor über 40 Jahren so einen Würfel zusammen gelötet und vermessen.
- Damals lernte man noch Löten. U.A. dadurch das man ein Raster mit 10*10 Drähten verlötete.
- Heute macht man so etwas mit SPICEWarum fällt mit jetzt ein Flughafen ein, komisch.
Tschau
-
Lösung zu AneR 67:
--------------------------Spoiler anzeigen
Phase 1: Billardkugell 1 rollt. Ihre Energie E_kin = m/2*v^2 (Dreh-Energie nicht berücksichtigt).
Phase 2: Die Kugel berührt die zweite, noch stehende Kugel.
Phase 3: Kugel 1 wird durch die langsam in Bewegung kommende Kugel 2 eingedrückt. Da beide Kugeln mechanisch gleich sind, kann man bei beiden Kugeln eine flache Druckstelle unterstellen. Das bedeutet, daß das Volumen des eingedrückten Kugelabschnittes das Volumen des Restkörpers erhöht. Die Tiefe s der Druckstelle geht näherungsweise mit der Dritten Wurzel des Restkugel-Radius, die Verformungsenergie ist dann (gemäß einer der Theorien):
E_pot = m*a*s = m * (Federkonstante_D) * CubRoot( 4/3*Pi*r^3 + Pi*s^2*(r - s/3) )
(... nicht berücksichtigend, daß ein Teil in Wärme und Schall umgewandelt wird - das typische "Antitsch-Geräusch" beim Billard.)
Phase 4: Die Geschwindigkeiten beider Kugeln sind nun gleich, nämlich die halbe ursprüngliche Geschwindigkeit der ersten Kugel. Beide Kugeln sind nun maximal "eingedellt". Die auftretenden Energien E_kin und E_pot (potentielle Verformungsenergie) sind nun gleich groß (- nach der Regel: "Energie verteilt sich gleichmäßig auf alle Freiheitsgrade"), und die Kugeln laufen gleich schnell:
v_gemeinsam = v1 / 2 = v2 / 2
Wir sind also in der Mitte des Stoßvorganges, und da passiert folgendes:
E_gesamt = m1 * v1 * v1/2 = m1 * v1 * v_gemeinsam = m2 * v2 * v_gemeinsam
und durch wegkürzen von v_gemeinsam ergibt sich das Stoßgesetz (Impulsgesetz):
m1 * v1 = m2 * v2
Die maximale Verformungsenergie lässt sich dann auch aus den Geschwindigkeiten und Massen der beiden Kugeln errechnen:
E_pot = m1*m2 * (v1 - (-v2))^2 / (2 * (m1+m2))
Phase 5: Die Kugel 2 "stößt sich von Kugel 1 ab" und beschleunigt auf v2 = v1 (... volle Elastizität, vorausgesetzt).
v1 geht gegen 0, d.h. Kugel 1 bleibt liegenPhase 6: Die Kugeln lösen sich voneinander, die Energie ist vollständig übertragen.
-
Abt. AneR 68 ´Käfer´
================
Eiine Kolonie Waldameisen weist ca. 3 Mio Tiere auf. Die stärkste Untergattung kann bei einem Eigengewicht von 8.9 mg das 39.7-fache ihres Körpergewichtes tragen. Ein VW-Käfer wiegt mit Fahrer ca. 800 kg. Hans findet auf dem Parkplatz seinen VW-Käfer nicht mehr. Ein Förster erklärt ihm, daß Waldameisen seine VW vorhin weggetragen haben. Frage: Ist das prinzipiell möglich? -
Hallo p.specht,
das Rätsel ist wohl ein Scherz?
3 Millionen Ameisen krabbeln nie unter 4 Reifen.
Im Prinzip ist es möglich:
- Eine Ameise trägt ca. 9mg * 40 = 360 mg
- 1000 Ameisen tragen dann ca. 360 g
- 1 Million Ameisen tragen ca. 360 Kg
- 3 Millionen Ameiden tragen ca. 1080 KgTschau
-
Vielleicht sind sie durch die Frischluftkanäle rein, haben das Lenkradschloss kurzgeschlossen und gemeinsam das Lenkrad bedient (Schwarmintelligenz). Hans lässt nämlich immer den 1. Gang drin ...
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!