Frage an die C-Programmierer

Gast
CH schrieb:
> Rechnet C automatisch Punkt vor Strich?

Die einzigen die nicht Punkt von Strich rechnen, sind billige 
China-Taschenrechner. Ich kenne keine Prg-Sprache die es wagt gegen 
Mathe-Norm-Regeln zu verstoßen.

Kleiner Tipp wenn du dir nicht sicher bist. Mache normale Klammern drum. 
Die werden immer zuerst aufgelöst.

Der Code sieht wie VB aus. bis auf das komische kleine Semikolon am 
Ende.

Also tippe ich mal auf VC ;)
Gast
Kleiner Tipp an den TO.

Die Math.funktion rechnet NICHT in GRAD.

sin_in_grad = Math.PI / 180

x2 = Math.Cos(m_winkel * sin_in_grad)

Gibt das Ergebnis von m_winkel in Grad aus.
Gast
Rolf M. schrieb:
> Genau. Bei richtigen Taschenrechnern stellt sich die Frage gar nicht
> erst.

Bevor ich ein Taschenrecher kaufe rechne ich 2 + 2 x 5 und wenn ich 
keine 12 sehe bekommen sie das Teil wieder.

Ich meine frühen Jugend hatte ich in der Schule mal den Taschenrechner 
meines Freundes genutzt weil ich mein vergessen hatte.

Das war die einzige 6 in 10 Schuljahren in Mathe. die 2.schlechteste 
Note war eine 3. Und da war ich die Nacht vorher "in-disponiert". ;)

So was vergisst man sein Leben nicht.
Gast
Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.
> Der rechnet auch immer noch falsch.

Nur der Rechner. ?? Glaub ich nicht. kischer

Davon abgesehen. Für einfache Berechnungen habe ich mein (damals 
vergessenen) Privileg-Taschenrechner, für längere Berechnungen mein 
PC1403, 2 Jahre jünger.  Und beide noch mit viel Metall drumherum ;)
Gast
Timmo H. schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
> Nicht wenn man auf wissenschaftlich stellt.

hä. Es gibt bei Windows 2 Arten von Mathematik. ? Normale und 
Wissenschaftliche. ?? Das erklärt vieles. ;);)

Erinnert mich doch stark an die Intel-Prozessoren die sich verrechnet 
haben ;)
Schlaumaier schrieb:
> Ich kenne keine Prg-Sprache die es wagt gegen
> Mathe-Norm-Regeln zu verstoßen.

Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne 
Vorrang von rechts nach links. In Präfix/Postfix Sprachen wie Lisp und 
FORTH stellt sich das Problem nicht. Allerdings ist die 
Verwechselungsgefahr mit obigem Code gering.
Schlaumaier schrieb:
> Rolf M. schrieb:
>> Genau. Bei richtigen Taschenrechnern stellt sich die Frage gar nicht
>> erst.
>
> Bevor ich ein Taschenrecher kaufe rechne ich 2 + 2 x 5 und wenn ich
> keine 12 sehe bekommen sie das Teil wieder.

Ich glaube, du hast nicht ganz verstanden, was gemeint war. Das Posting 
von "Jemand" und meine Antwort darauf zielten auf Taschenrechner ab, die 
UPN benutzen. Dort sind Dinge wie punkt-vor-Strich oder Klammern gar 
nicht nötig.

Standart-Hater schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
>
> Standard! Man man man. Schlau von Mathematik reden aber in Deutsch eine
> sechs oder was?

Vielleicht soll es ja ein denglischer Begriff sein - eine Mischung aus 
"Stand der Technik" und "state of the art" - ergibt "Stand-art". :)
Gast
Stefan schrieb:
> Dann nehmt mal den Windows Standart Rechner.
> Der rechnet auch immer noch falsch.

Wieso...wo rechnet der falsch?

Der Windows-Rechner unterstützt lediglich keine Kettenoperationen, da 
stellt sich das Problem gar nicht.
Wenn du da 2*2+5 eintippst, liefert er nach dem zweiten Operanden ein 
Zwischenergebnis (in diesem Fall 4) und wendet die nächste Operation 
(Addition mit 5) darauf an.

Nicht schön und komfortabel, aber falsch würde ich das nicht nennen.
Gast
Wühlhase schrieb:
> Nicht schön und komfortabel, aber falsch würde ich das nicht nennen.

Aber richtig auch nicht. Weil genau SO habe ich meine 6 bekommen damals. 
;)

Und in Rechtschreibung bin ich auch nur auf ein 4 gekommen. Gelobt sei 
die Kombinote Deutsch. Rechtschreibung 6, Aufsatz (ohne Fehlerprüfung) 
1+

Mein Lehrer sagte mal "ich könnte Autor werden wenn der Verlag 3 Leute 
bezahlt die die Rechtschreibfehler suchen".
Moderator
A. K. schrieb:
> Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne
> Vorrang von rechts nach links.

Im ebenfalls sehr mathematisch orientierten Haskell kann man die
Vorrangstufen jedes Infixoperators nach Belieben festlegen, ebenso die
Assoziativität (links oder rechts).

Normalerweise hat * Vorrang vor +. Damit ist

  1 + 2 * 3 + 4 = 1 + (2 * 3) + 4 = 11

Setzt man beide Vorrangstufen auf den gleichen Wert, wird ein Ausdruck
mit + und * wie bei den einfachen Taschenrechnern von links nach rechts
ausgewertet:

  1 + 2 * 3 + 4 = ((1 + 2) * 3) + 4 = 13

Gibt man + den Vorrang vor *, ist

  1 + 2 * 3 + 4 = (1 + 2) * (3 + 4) = 21

Natürlich wird man, wenn man den Programmcode nicht absichtlich
vernebeln möchte, die Vorrangordnung bestehender Operatoren nicht
ändern, sondern diese Möglichkeit ausschließlich auf neudefinierte
Operatoren anwenden.
Moderator
Timmo H. schrieb:
> Stefan schrieb:
>> Dann nehmt mal den Windows Standart Rechner.
> Nicht wenn man auf wissenschaftlich stellt.

Leider ist das nicht die Voreinstellung. Ich warte ja (natürlich
vergeblich) immer noch auf eine Windows-Version, bei der während der
Installation die folgende Abfrage erscheint:

1
Möchten Sie sämtliche Konfigurationsparameter von Windows® und allen
2
Microsoft®-Anwendungsprogrammen ins Gegenteil ändern? Vorsicht: Dadurch
3
könnte Windows® nutzbar werden.

Zusätzlich sollte es in der Systemsteuerung einen großen Button geben,
der dasselbe tut.
Moin moin und danke für die sachdienlichen Antworten. Ob es C ist, weiß 
ich nicht, ich hatte es vermutet. Ich progge nicht in C, deshalb die 
Frage. Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das 
eindeutig machen, das compilierte Programm vergrößern?

Und ja, jetzt angemeldet, das geht nicht auf allen von mir genutzten 
Geräten.
Gast
Yalu X. schrieb:
> Leider ist das nicht die Voreinstellung. Ich warte ja (natürlich
> vergeblich) immer noch auf eine Windows-Version, bei der während der
> Installation die folgende Abfrage erscheint:
>
> Möchten Sie sämtliche Konfigurationsparameter von Windows® und allen
> Microsoft®-Anwendungsprogrammen ins Gegenteil ändern? Vorsicht: Dadurch
> könnte Windows® nutzbar werden.
>
> Zusätzlich sollte es in der Systemsteuerung einen großen Button geben,
> der dasselbe tut.

Gefolgt von der Frage
1
Möchten sie Systemupgrades in weniger als 2 Minuten (statt 30-720)
2
und ohne zufällige Neustarts durchführen?
Gast
Crazy H. schrieb:
> Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das eindeutig
> machen, das compilierte Programm vergrößern?

Klammern würden ja nur die Reihenfolge der Berechnungen - bzw. die 
Operanden ändern.
Das compilierte Programm könnte sich minimal vergrößern oder auch 
verkleinern.
Gast
Crazy H. schrieb:
> Noch eine Frage nebenbei: Würden zusätzliche Klammer, die das
> eindeutig machen, das compilierte Programm vergrößern?

Wenn die mathematische Operation durch die Klammern nicht geändert wird: 
Nein. Bzw. wäre ich sehr ob der mangelhaften Optimierung überrascht.

Die Sprache könnte übrigens auch Java sein.
Yalu X. schrieb:
>> Nicht wenn man auf wissenschaftlich stellt.
>
> Leider ist das nicht die Voreinstellung.

Da ich der Rechner aber die letzte Einstelling merkt, ist das Problem 
durchaus mit minimalem Aufwand lösbar.

Schlaumaier schrieb:
> Bevor ich ein Taschenrecher kaufe

Wo kann man denn heutzutage noch Taschenrechner kaufen? Da gibt es dann 
bestimmt auch noch VHS-Rekorder und Kassettendecks ;)

Oliver
Schlaumaier schrieb:
> Ich meine frühen Jugend hatte ich in der Schule mal den Taschenrechner
> meines Freundes genutzt weil ich mein vergessen hatte.
>
> Das war die einzige 6 in 10 Schuljahren in Mathe.

Man sollte nicht völlig gehirnlos alles vom Taschenrechner abtippen, 
sondern schon merken, daß die Ergebnisse unsinnig sind.
Moderator Persönliche Seite
Offtopic:

Schlaumaier schrieb:
> A. K. schrieb:
>> Ausgerechnet die sehr mathematisch orientierte Sprache APL rechnet ohne
>> Vorrang von rechts nach links.
>
> Wieder was gelernt. DANKE. Aber so einen komische Sprache hab ich noch
> nie genutzt.

Gnadenlose Rechnung von links nach rechts gab/gibt es manchmal bei 
G-Code im Bereich von CNC-Maschinen. Meine alte Sinumerik 810 handhabt 
das genau so, im Prinzip also wie ein Taschenrechner mit 
Zwischenergebnissen.
Dort gibt es allerdings auch keine Klammern.
Beitrag #6403398 wurde von einem Moderator gelöscht.
Also mich wundert schon lange nichts mehr. Im Nachbarthread ist man 
nichtmal mehr in der Lage alleine einen Ordner/Hefter passend zur 
Taschengröße auszuwählen...

Und der Windowsrechner rechnet genauso wie so ziemlich jeder einfache 
Taschenrechner das früher hat und vermutlich die meisten einfachen 
Tischrechner auch immer noch tun. Selbst schuld wenn man den nicht 
bedienen kann.
Gast
Andreas M. schrieb:
> Selbst schuld wenn man den nicht bedienen kann

Ein Schulkollege hat sich damals einen extra teuren Taschenrechner 
gekauft, weil der Logarithmen zu beliebigen Basen berechen konnte. Dass 
man einfach ln(x)/ln(Basis) rechnen kann war ihm zu hoch...
Beitrag #6403545 wurde von einem Moderator gelöscht.
Beitrag #6403574 wurde von einem Moderator gelöscht.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.