Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Programm für Octalzahlen in Dezimalzahlen (https://www.delphipraxis.net/198885-programm-fuer-octalzahlen-dezimalzahlen.html)

TurboMagic 10. Dez 2018 21:27

AW: Programm für Octalzahlen in Dezimalzahlen
 
Zitat:

Zitat von gammatester
Hier noch Tip, der wichtiger ist als schöne Formatierung (die nicht vor Logik-Fehlen schützt)

Ja und nein: natürlich schützt schöne Formatierung nicht vor Logikfehlern, sie erleichtert aber oft das Aufspüren solcher Fehler, da sich Dinge dann einfach leichter lesen lassen.

Und zum Case, falls deine kaskadierenden ifs so etwas umsetzen sollten noch ein kurzes Beispiel:

Delphi-Quellcode:
var
  c : Char;
begin
  case c of
    'a': Aufruf1;
    'b': Aufruf2;
    'c'..'e': Aufruf3;
    else
      Aufruf4;
  end;
end;
Dabei ist Aufruf1 bis Aufruf4 jeweils eine Prozedur/Methode oder Funktion die du aufufen möchtest.
'c'..'e' bedeuitet, dass dieser Fall für c, d und e gilt und der else Zewig wird für alle Fälle abgedeckt
in denen c nicht im bereich a-e liegt.

DieDolly 10. Dez 2018 21:41

AW: Programm für Octalzahlen in Dezimalzahlen
 
Zitat:

Zitat von dummzeuch (Beitrag 1420410)
Zitat:

Zitat von TurboMagic (Beitrag 1420405)
noch ein Tipp von mir zu deinem Code: wenn du dir angewöhnst zur Einrückung immer 2 stat wie bei dir
bisher 1 Zeichen zu benutzen, dann ist es nicht nur Delphi/Pascal STandard, sondern erhöht auch die
Lesbarkeit ungemein.

Selber einrücken ist ja sowas von letztes Jahrtausend. Und selbst für Delphi 5 gab es schon den Code Formatter DelForEx. (Wobei ich mich gerade frage, wo man den ggf. noch herbekommt.)

Edit: Internet Archive ist einfach nur gut:

https://web.archive.org/web/20080913.../UK/Delforexp/

Der Download-Link auf der Seite funktioniert auch.

Von mir auch. BITTE setz das
Delphi-Quellcode:
begin
in eine neue Zeile. Da bluten meine Augen.
Delphi-Quellcode:
  for i:= Length(EOct.Text) downto 1 do
    begin
Das begin gehört nach Delphi-Styleguide in die nächste Zeile. Alles andere ist einfach nur hässlich und kommt aus der C-Gegend.

gammatester 10. Dez 2018 22:01

AW: Programm für Octalzahlen in Dezimalzahlen
 
Wenn ich nicht etwas übersehen habe, hat außer mir niemand einen inhaltlichen Beitrag geschrieben.

Leider gibt es hier im Forum immer wieder die störende Tendenz, nicht auf die eigentlichen Fragen und Probleme einzugehen, sondern auf Äußerlichkeiten zu fokussieren (Formatierung, Bezeichner, 'letzte Jahrtausend' usw).

Das bringt für die Problemlösung 0.42% oder so. Wichtig ist ein konsistenter und konstanter Stil, und nicht das, was irgendein Programm automatisch vorschlägt.

Ich weiß, das mein Beitrag jetzt auch das Problem hat, aber nicht zu antworten ist keine Lösung.

Zitat:

Zitat von DieDolly (Beitrag 1420536)
BITTE setz das
Delphi-Quellcode:
begin
in eine neue Zeile. Da bluten meine Augen.
Delphi-Quellcode:
  for i:= Length(EOct.Text) downto 1 do
    begin
Das begin gehört nach Delphi-Styleguide in die nächste Zeile. Alles andere ist einfach nur hässlich und kommt aus der C-Gegend.

Welcher Style-Guide? Nach https://edn.embarcadero.com/article/10280#8.2.4 ist Deine Formatierung inkorrekt.

DieDolly 10. Dez 2018 22:12

AW: Programm für Octalzahlen in Dezimalzahlen
 
Ich kann nix für unnötige Leerzeichen. Mein Beitrag zielt darauf ab, dass begin laut Styleguide in die nächste Zeile gehört. Jetzt irgendwelche Fehler in irgendwelchen Leerzeichen zu suchen, nur damit mein Beitrag schlecht gemacht werden kann, gehört aber auch nicht hier her.
Ich könnte auch noch was zu Delphi 5 schreiben aber lassen wir das.

TurboMagic 11. Dez 2018 19:12

AW: Programm für Octalzahlen in Dezimalzahlen
 
Hallo,

natürlich trägt die Formattierung nicht wirklich was zur Lösung des Algorithmus im engeren Sinne bei,
da er aber eine Programmiersprache lernt, sollte er sich gleich von vorne herein eine gute Formatierung
angewöhnen, da es eben die Lesbarkeit und amit die "Analysierbarkeit" erhöht.

Ich denke diese Punkte sind inzwischen jedoch geklärt und wir sollten uns dem Algorithmus zuwenden.

Vielleicht mal einfach nochmal von vorne rekapitulieren wie Stellenwertsysteme funktionieren.
Dezimalzahlen sind ein Stellenwertsystem zur Basis 10, d.h. jede Stelle weiter links hat den 10-fachen
Wert der rechts davon befindlichen Stelle.

Und wie ist das nun mit Oktalzahlen?
Jede Stelle hat den 8-fachen Wert der rechts davon befindlichen.

Man könnte es mittels zwei Zählern umsetzen: einem für den bearbeiteten Index, der läuft von length
des Eingabestrings runter nach 1 (kann also mit einer downto for Schleife abgebildet werden) und einem
Wert-Zähler der nach jeder bearbeiteten Stelle mit 8 multipliziert wird.

Sovil mal als Hinweis von mir.

Grüße

TurboMagic

gammatester 11. Dez 2018 19:36

AW: Programm für Octalzahlen in Dezimalzahlen
 
Danke das Du meinen Lösungsvorschlag https://www.delphipraxis.net/1420425-post8.html noch mal in Worte gefaßt hast. :wink:

p80286 11. Dez 2018 21:13

AW: Programm für Octalzahlen in Dezimalzahlen
 
Du hättest auf #2 verweisen sollen.
Gut, ohne Hinweis auf das Horner-Schema vielleicht nicht sofort eingängig, aber da war doch alles klar.


Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz