Exponent

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

Moderator: Moderatoren

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

Exponent

Beitrag von erikafuchs »

Hi Leute,
hat jemand eine Idee, wie ich einen beliebigen Exponenten ausgeben kann? Also z.B. mit print 10 hoch 7?
Grüße
Pit
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Exponent

Beitrag von F3K Total »

Vielleicht so:

Code: Alles auswählen

print 10^7
Gruß R
EDIT: Die Eingabe ist unter Linux etwas schwierig, das Dach geht so: STRG + SHIFT + U5E also: print 10 -> STRG+SHIFT halten, U5E eintippen STRG+SHIFT loslassen, 7 eintippen
EDIT2: Es geht bei mir auch, indem ich die Circumflex-Taste zweimal nacheinander tippe. Bis 10^13 kommt 10000000000000 ab 10^14 : 1E+14
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

Das wäre ja zu schön!
Leider ist oO schlau und rechnet das Ergebnis aus. Ich möchte aber eine Anzeige mit einem Exponenten (also dem Exponenten als hochgestellter Zahl).
Pit
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Exponent

Beitrag von F3K Total »

Hallo Pit,
es wäre schön, wenn du schreiben würdest, was du als Ausgangsgröße hast und was du dann wo und wie ausgegeben haben möchtest.
Raten ist doof.
Gruß R
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

Sorry - dann will ich das mal probieren:
Ich vermute, ich bin den Meisten hier schon mit meinem Rechenprogramm bekannt. Mein nächstes Projekt sind jetzt die Potenzgesetze. Ich erzeuge mit Zufallszahlen beliebige Aufgaben die die Schüler zusammenfassen müssen. Also z.B. Aufgabe: "2^5 * 2^3" -> Ergebnis "2^8". Das soll jetzt aber mit "richtigen" Eponenten (also hochgestellten Zahlen) dargestellt werden. (Ich weiss auch nicht, wie man diese Exponenten hier im Forum eingeben kann).
Besser so?
Pit
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Exponent

Beitrag von F3K Total »

Besser, aber noch nicht gut,
F3K Total hat geschrieben:und was du dann wo und wie ausgegeben haben möchtest
Ich habe gerade probiert eine solche Darstellung in Calc hinzubekommen, es ist mir gelungen indem ich reinen Text in die Zelle geschrieben und diesen formatiert habe.
EX.png
EX.png (1.21 KiB) 2477 mal betrachtet
Die entsprechenden Eigenschaften der Zeichen sind:

Code: Alles auswählen

.CharEscapement
.CharEscapementHeight
Mit einer Writer Tabelle sehe den Vorteil, mit Zeichenvorlagen arbeiten zu können.
D.h. du erzeugst Basis und Exponenten und baust diese im Makro mit dem entsprechenden Cursor zu einem formatierten Text zusammen.

Gruß R
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Exponent

Beitrag von Karolus »

Hallo
Am einfachsten wird es sein eine Eingabe ala '5^8 zu tätigen und per S&E-Script das ^zeichen nebst den Ziffern danach durch das|die entsprechende|n Superscript-zeichen auszutauschen. Für einen erfahrenen Makrocoder wie Pit dürfte das ja kein Problem sein.
BTW.: hoch² und hoch³ liegen auf 'meiner' Linuxtastatur auf 'AltGr+2' bzw 'AltGr+3 ( die 2+3 über den Buchstaben )

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

Besser, aber noch nicht gut
ok ... stimmt. Die Aufgabenstellung erfolgt im Textfeld eines Dialogs. Bei ² und ³ habe ich das bei ähnlichen Aufgaben hinbekommen, da die ja auch auf der Tastatur zu finden sind (na ja, beim Mac nicht), bei höheren Exponenten habe ich jetzt halt keine Ahnung wie ich die über ein Makrobefehl ausgebe. Die Antwort erfolgt auch in einem Textfeld - allerdings werde ich dann halt das Dach, also 2^3 anstelle von 2³- akkzeptieren müssen.
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

Für einen erfahrenen Makrocoder wie Pit
... vielen Dank für die Blumen, aber hier ist Quantität nicht Qualität. Nur weil ich ständig Fragen hier stelle, heißt das nicht, dass ich zu den Fortgeschrittenen gehöre. Das kann man ja auch daran sehen, dass ich immer nur Fragen stelle, aber bisher noch keine Fragen beantworten konnte.
per S&E-Script das ... Superscript-zeichen
... das kommt mir aus einer fernen Vergangenheit aus meinen Gehversuchen mit dBase bekannt vor. Kannst du mir das näher erklären?
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

was du dann wo und wie ausgegeben haben möchtest
also das auch noch sicherheitshalber - das könnte so aussehen:

Code: Alles auswählen

zahl1=fix(rnd()*10)
zahl2=fix(rnd()*10)
zahl3=fix(rnd()*10)
Aufgabe=zahl1 & "^" & zahl2 &" * " & zahl1 &"^" & zahl3 & " = ?"
print aufgabe
... Jetzt möchte ich halt nicht das Dach haben, sondern zahl2 und zahl3 sollen als Exponent dastehen.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Exponent

Beitrag von Karolus »

Hallo

Code: Alles auswählen

import re

suprex = re.compile(r'\^(\d+)')

def su_repl( match):
    return to_sup( match.group(1))

def to_sup(s):
    sups = {u'0': u'\u2070',
            u'1': u'\xb9',
            u'2': u'\xb2',
            u'3': u'\xb3',
            u'4': u'\u2074',
            u'5': u'\u2075',
            u'6': u'\u2076',
            u'7': u'\u2077',
            u'8': u'\u2078',
            u'9': u'\u2079'}

    return ''.join(sups[ char ] for char in s)


def abc(event):
    t = event.Source.Text
    event.Source.setText( suprex.sub( su_repl, t ) )
 
Binde die Funktion abc an das Ereignis 'Modifiziert' des Textfeldes.

Apropos: Deine gezeigte Aufgabe in Python:

Code: Alles auswählen

from random import randint
a, b, c = [ randint(1,10) for _ in range(3)]
print u'{0:d}{1} * {0}{2} = '.format(a, to_sup(str(b)), to_sup(str(c))) 
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Exponent

Beitrag von F3K Total »

Hallo,
hier noch ein Basic-Ansatz:

Code: Alles auswählen

Sub Main
    aUnicode = array(8304,185,178,179,8308,8309,8310,8311,8312,8313)
    for i = 0 to ubound (aUnicode)
        msgbox "2" & chr(aunicode(i))
    next i
End Sub
Gruß R
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: Exponent

Beitrag von erikafuchs »

Lieber Karolus, prima, danke!
Lieber R
hier noch ein Basic-Ansatz:
= genial!
Pit
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Exponent

Beitrag von Karolus »

erikafuchs hat geschrieben:Lieber Karolus, prima, danke!
Lieber R
hier noch ein Basic-Ansatz:
= genial!
Pit
Hui, dann übersetz ich das mal geschwind :

Code: Alles auswählen

def main():
    for zahl in (8304, 185, 178, 179, 8308,
                 8309, 8310, 8311, 8312, 8313):
        print( u'2{0}'.format( unichr( zahl))) 
:lol:
Zuletzt geändert von Karolus am Mi, 17.04.2013 21:22, insgesamt 1-mal geändert.
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Exponent

Beitrag von F3K Total »

Hi,
ich wollte es ausprobieren, anbei ein verbesserungswürdiges Beispiel, was aber ohne Circumflex auskommt.
Gruß R
Dateianhänge
Exponentialrechnung.odt
(12.38 KiB) 86-mal heruntergeladen
Antworten