gelöst: Brüche kürzen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

gelöst: Brüche kürzen

Beitrag von erikafuchs »

In meinem Rechentrainer funktioniert das Kützen nicht hundertprozentig. Ich probiere einfach das Teilen durch ein Reihe von Primzahlen aus, das ist nicht so richtig mathematisch. Eigentlich müsste man Zähler und Nenner in Primfaktoren zerlegen und gemeinsame Treffer suchen ....Das muss doch auch einfacher gehen. Calc kann ja schon kürzen. Wenn ich in Zelle1 den Zähler in Zelle2 den Nenner schreibe und die Zelle3 mit "=Zelle1/Zelle2" als Bruch formatiere, kürzt Calc - wenn ich das jetzt als Bruch auch auslesen könnte, wäre prima - geht sicher nicht. Ich brauche das als Makrocode. Die Idee wäre die Ausgabe zu formatieren also etwa =format(Zelle1/Zelle2;"#/#") - das geht natürlich nicht so - ihr habt doch sicher wieder eine Idee dazu.
@Balu, hilft mir da das XrayTool weiter?
Pit
Zuletzt geändert von erikafuchs am Di, 04.02.2020 18:03, insgesamt 1-mal geändert.
Hiker
******
Beiträge: 591
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Brüche kürzen

Beitrag von Hiker »

Hallo,

es gibt eine fertige Funktion GGT() in Calc...

MfG, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Brüche kürzen

Beitrag von erikafuchs »

Prima, perfekt!
Manchmal muss man halt nur an den richtigen Stellen suchen!
Danke
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Brüche kürzen

Beitrag von mikeleb »

Hallo,
... oder

Code: Alles auswählen

Sub main
	Dim x as long, y as long
	x=1504
	y=20
	kuerzen (x,y)
	msgbox "Der gekürzte Bruch lautet: " & x & " / " & y
end sub

Sub kuerzen (z as long, n as long)
	if n>z then
		a=n
		b=z
	else
		a=z
		b=n
	end if
	rest=1
	do while rest>0
		rest=a mod b
		a=b
		b=rest
	loop
	z=z/a
	n=n/a
End Sub
Gruß,
mikeleb
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Brüche kürzen

Beitrag von erikafuchs »

Hallo mikeleb,
ich muss schon sagen, das ist ein starkes Ding!
Ich hätte jetzt vielleicht die Tage meinen Ergeiz drangesetzt und das mit der Primfaktorenzerlegung angegangen (oder auch Hikers Vorschlag eingebaut) - aber dein Code finde ich schon krass, wie kommt man da drauf - oder hattest Du das schon in der Schublade?
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Brüche kürzen

Beitrag von mikeleb »

Hi,
den Code nicht, den euklidischen Algorithmus schon ...
Gruß,
mikeleb
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Brüche kürzen

Beitrag von erikafuchs »

Was lernt man eigentlich in einem Mathestudium (na ja, bis zum 4. Semester - und das nicht wirklich erfolgreich .... ) man sieht, das Wichttigste lernt man, im wirklichen Leben!
Hiker
******
Beiträge: 591
Registriert: Mo, 08.09.2014 21:34
Wohnort: Berlin

Re: Brüche kürzen

Beitrag von Hiker »

Moderne Zeiten:

Brüche kürzen bei Google eingeben oder direkt zu
Wikipedia: Kürzen https://de.m.wikipedia.org/wiki/K%C3%BCrzen

Von hier ist man schnell beim GGT und dem euklidischen Algorithmus https://de.m.wikipedia.org/wiki/Euklidi ... lgorithmus

War früher auch eine beliebte Übungsaufgabe in Programmierkursen - keine Ahnung was die da heute machen.

Mfg, Jörn
Libre Office 6.3.1 (Win 10 Pro) / Libre Office 6.0.7 (Win8.1 Pro, Win 7 Pro) / AOO (Win 7)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Brüche kürzen

Beitrag von erikafuchs »

Nun ja, wenn man weiß, dass man suchen muss - ich dachte zu wissen, wie man den ggT sucht - mit Primfaktorenzerlegung. Hätte ich gewusst, dass es da noch eine Methode gibt, hätte ich auch gesucht - es ist aber auch eine Schande, dass mir der Euklid in diesem Zusammenhang noch nicht begegnet ist!
Antworten