AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Taschenrechner programmieren

Ein Thema von Maja18 · begonnen am 13. Feb 2009 · letzter Beitrag vom 26. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Maja18

Registriert seit: 13. Feb 2009
3 Beiträge
 
#1

Taschenrechner programmieren

  Alt 13. Feb 2009, 18:49
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]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#2

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 18:56
Du hast eine Variable namens Power und die braucht keine Parameter.

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 -Button im ersten Beitrag noch ändern.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Maja18

Registriert seit: 13. Feb 2009
3 Beiträge
 
#3

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 19:02
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?
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 19:04
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).
  Mit Zitat antworten Zitat
Maja18

Registriert seit: 13. Feb 2009
3 Beiträge
 
#5

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 19:27
danke für diesen super tip!
jetzt müsste nur mal noch der algorithmus funktionieren
lg
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#6

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 21:24
Crosspost Delphitreff
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 22:07
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?
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#8

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 22:18
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ö
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#9

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 22:19
Achja. Im moment arbeite ich gerade an ner Skriptsprache. kann auch so sachen, aber nur grundrechenarten... (bin gerade beim Matheparser...)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.345 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Taschenrechner programmieren

  Alt 13. Feb 2009, 23:07
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 Uhr.
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