Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Taschenrechner programmieren (https://www.delphipraxis.net/129164-taschenrechner-programmieren.html)

Maja18 13. Feb 2009 18:49


Taschenrechner programmieren
 
Hallo ihr lieben!
wir müssen in der schule ein projekt auf die beine stellen und ich habe mich für die programmierung eines taschenrechners mit delphi entschieden.
nun habe ich nur das problem, dass ich mit dem logarithmus nicht weiterkomme.
folgenden algorithmus habe ich:
Delphi-Quellcode:
//Logarithmus
procedure TForm1.Button13Click(Sender: TObject);
var
  i,j,kommastellen:integer;
  Ergebnis,Power,Exponent : Extended;
begin
  j := 0;
  Ergebnis := 0;
  Exponent := 0;
  Kommastellen := 0;
  while Kommastellen <= StrToInt(Edit1.Text) do
  begin
    for i := 9 downto 0 do
    begin
      Exponent := Exponent + i*Power;
      Ergebnis := Power;//(StrToFloat(Edit1.Text), Exponent);
      if Ergebnis <= StrToInt(Edit1.Text) then
      begin
        if j < 0 then
        begin
          Kommastellen := Kommastellen+1;
        end;
        j := j-1;
        break;
      end;
      Exponent := Exponent - i*Power;//(10, j);
      if i = 0 then
      begin
         j := j+1;
      end;
    end;
  end;
  Edit2.Text := FloatToStr(Round(Exponent*Power)/Power);
end;
nur, mit dem power haut bei mir was nicht hin. das programm funktioniert nur, wenn ich nichts in klammern nach power schreibe, was ja aber eigentlich hinmuss.
bitte bitte helft mir!!!
lg

[edit=mkinzler]Mit Tags und richtig eingerückt, sieht die Sache doch übersichtlicher aus? Oder? Mfg, mkinzler[/edit]

himitsu 13. Feb 2009 18:56

Re: Taschenrechner programmieren
 
Du hast eine Variable namens Power und die braucht keine Parameter. :zwinker:

Versuch es mal mit Math.Power(10, j); (also mit qualifizierem Namen, samt dem Unit),
oder benenn deine Variable um.

Und schreib bitte deinen Code in [delphi] ... [/delphi]-Tags ... du kannst das über den http://www.delphipraxis.net/template.../icon_edit.gif-Button im ersten Beitrag noch ändern.

Maja18 13. Feb 2009 19:02

Re: Taschenrechner programmieren
 
hab mal probiert, das mit math.power zu machen, aber das nimmt er nicht.
es heißt dann: undefinierter bezeichner math...
wie kommt man denn an die math.pas?

Meflin 13. Feb 2009 19:04

Re: Taschenrechner programmieren
 
Zitat:

Zitat von Maja18
wie kommt man denn an die math.pas?

Du musst nur math in die uses-Liste aufnehmen (einfach mit , hinter die anderen Units in der uses-Liste schreiben und aufpassen, dass am Ende der Liste ein ; steht).

Maja18 13. Feb 2009 19:27

Re: Taschenrechner programmieren
 
danke für diesen super tip!
jetzt müsste nur mal noch der algorithmus funktionieren;)
lg

Florian Hämmerle 13. Feb 2009 21:24

Re: Taschenrechner programmieren
 
Crosspost Delphitreff

Popov 13. Feb 2009 22:07

Re: Taschenrechner programmieren
 
Mir liegt schon lange eine Frage auf der Zunge, ich wollte aber deswegen keinen extra Thread aufmachen. Wer von den Profi-Programmierern, also den Leuten die von sich behaupten durchaus gut programmieren zu können, hat schon mal einen richtigen Taschenrechner programmiert? Würde mich echt interessieren, den einen Taschenrechner zu programmieren ist nicht so leicht. Zumindest dann nicht wenn man es richtig machen will. Da vertun sich viele. Einen professionellen Taschenrechner zu programmieren ist nicht so einfach, denn es reicht nicht nur zwei Zahlen zusammen zu rechnen. Für so einfachen Taschenrechner wie den Windowsrechner gehen paar Abende drauf. Denoch wird der Taschenrechner als Anfängeraufgabe gesehen.

Also, wer hat schon mal einen professionellen Taschenrechner (mindestens wie Windowsrechner) programmiert?

Florian Hämmerle 13. Feb 2009 22:18

Re: Taschenrechner programmieren
 
Als Anfängerprogramm nimmt man normalerweise auch nur die Grundrechenarten.

Ich würd mich jetzt nicht als Profi-Programmierer sehen. Ganz sicher nicht. Habs weder in der Schule noch sonst wo gelernt, sondern in meiner Freizeit erarbeitet.
Ich hab mich mal an nem Taschenrechner versucht (noch auf xp, hab ich nicht auf vista übernommen). Der konnte schon viele dinge:
  • +, -, /, * (ist ja klar... )
  • Wurzel, Exp, Logarithmus (Jede Zahl als Basis)
  • Naturkonstanten waren eingebaut
  • viele Umrechnungen
  • wissenschaftliche Funktionen
  • Vektorberechnungen an dreiecken mit lösungsweg + Grafik
  • ...

Hab dann aber irgendwie aufgegeben, da es mich nicht mehr interessiert hat und mir das design und der Aufbau nicht mehr zusagten..
Mich interessiert grafik im moment mehr....

mfg Flö

Florian Hämmerle 13. Feb 2009 22:19

Re: Taschenrechner programmieren
 
Achja. Im moment arbeite ich gerade an ner Skriptsprache. kann auch so sachen, aber nur grundrechenarten... (bin gerade beim Matheparser...)

jaenicke 13. Feb 2009 23:07

Re: Taschenrechner programmieren
 
Zitat:

Zitat von Popov
Also, wer hat schon mal einen professionellen Taschenrechner (mindestens wie Windowsrechner) programmiert?

Ich habe auch schon einen programmiert, ca. so wie die wissenschaftliche Version des Windows-Rechners, nur mehrzeilig. Das habe ich mit Statusdiagramm etc. gemacht, was ich da im Studium gerade gelernt hatte. Da war das rein vom Code her nicht so besonders aufwendig. Den habe ich in Delphi geschrieben.

Vorher hatte ich in QBasic einen ganz kleinen geschrieben als ich gerade angefangen hatte zu programmieren. Der war nicht besonders schön programmiert, hat auch anfangs nicht richtig funktioniert, aber es hat mir sehr beim Verständnis geholfen.

Im Moment programmiere ich gerade einen auf Basis von Expression Trees in C#. Hervorgegangen ist das aus einer Frage vor ein paar Tagen im DF, aber dann fand ich das so interessant, dass ich das ganze richtig angefangen habe. Einfließen soll dann auch ein Programm zur symbolischen Differentiation und Integration, das ich mal basierend auf Operationen an binären Bäumen geschrieben hatte. Da ich im Expression Tree dann ohnehin einen Baum habe, ist das dann ja kein Problem mehr.
Der soll dann sowohl symbolisch auswerten und plotten als auch direkt als normaler Rechner fungieren.

Grundsätzlich finde ich schon, dass ein Taschenrechner gut zum Einstieg ist. Es geht dann aber wie bereits gesagt wurde um einfache Sachen wie die Grundrechenarten und kann dann erweitert werden. Solch ein Taschenrechner muss anfangs ja auch nicht nur ein Eingabefeld haben, sondern kann eben etwas umständlicher sein. Dann ist er aber zum Lernen durchaus sinnvoll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:45 Uhr.
Seite 1 von 2  1 2      

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