Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - log10 bilden und ausgeben
me_Max - Mo 09.12.02 00:42
Titel: log10 bilden und ausgeben
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
var i,j,log10:extended ;
begin Writeln('Gib eine Zahl ein!'); Readln(i); Writeln('Gib eine zweite Zahl ein!'); Readln(j); { Das Programm soll von jeder Zahl -angefangen bei j- bis zur Zahl i den Logarithmus berechnen und speichern, den letzten Wert soll es ausgeben, damit man weiß, dass es fertig ist. Soll zur Rechnengeschwindkeitsberechnung dienen. Was tun?} i:=log10(i); writeln('',i,''); readln; end. |
(09.12. 08:32 Tino) Code-Tags hinzugefügt.
LCS - Mo 09.12.02 09:36
Titel: Re: log10 bilden und ausgeben
me_Max hat folgendes geschrieben: |
...Was tun? |
Da gibts mehrere Möglichkeiten:
[LästerMode]
- Im Unterricht besser aufpassen
- In der Delphi-Hilfe unter Schleifen nachschauen
[/LästerMode] :mrgreen:
Gruss Lothar
Tino - Mo 09.12.02 09:37
Hallo,
das was in Deinem Programm noch fehlt ist die FOR-NEXT-Schleife um den Log für einen ganzen Breich zu berechnen. Zur Zeit machst Du das ja nur für eine Zahl.
Die FOR-NEXT-Schleife müsste ungefähr so implementiert werden:
Quelltext
1: 2: 3: 4: 5: 6:
| Var x: Integer; For x := i To j Do Begin { Hier die Berechnungen und die Ausgabe auf dem Bildschirm. } End; |
Schau Dir auch mal die Beispiele in der Delphi-Hilfe zum Thema For-Next an!
Gruß
TINO
me_Max - Mo 09.12.02 15:38
Lcs, ich glaube deine dummen Bemerkungen sind hier unangebracht! Zumal sie nicht mal treffend sind! Weiterhin habe ich schon alles nachgeshen was es gibt, bin aber nicht dahintergekommen, wie es funktioniert!
Danke an Tino, werde es mal versuchen!
Max
Wolff68 - Mo 09.12.02 22:15
Wenn Du übrigends die reine Rechenzeit erfassen willst würde ich davon abraten jedes Ergebnis anzuzeigen. Diese Zeit ist nämlich um einiges größer als die Berechnung selbst...
Aber das hattest Du ja auch vor. :wink:
Hier mal ein Beispiel inklusive Zeiterfassung:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure TForm1.Button1Click(Sender: TObject); var Start, Ende : TDateTime; Von, Bis, i : Integer; Ergebnis : Real; begin Von := StrToIntDef(Edit1.Text,1); Bis := StrToIntDef(Edit2.Text,1000000); Start := Now; For i := Von to Bis do Ergebnis := Log10(i); Ende := Now; Edit3.Text := FloatToStr(Ergebnis); Edit4.Text := FloatToStr((Ende-Start)*86400)+' Sekunden'; end; |
Ach ja: wundere Dich nicht, wenn immer 0 Sekunden da stehen. Du wirst schon mindestens 100000 Berechnungen machen müssen, bis da mal was rauskommt...
LCS - Mi 11.12.02 09:41
Hi
me_Max hat folgendes geschrieben: |
Lcs, ich glaube deine dummen Bemerkungen sind hier unangebracht!
|
Ok, sorry. Das nächstemal werde ich gross drüberschreiben: Achtung Sarkasmus - Nicht ganz ernst zu nehmen.
Allerdings bin ich der Meinung, dass das aus meinen Posting eindeutig hervorgeht. Sollte dich das so sehr getroffen haben, tut's mir leid und ich entschuldige mich dafür, aber so'n klein bisschen Sinn für Frotzeleien wäre schon angebracht.
me_Max hat folgendes geschrieben: |
Zumal sie nicht mal treffend sind! Weiterhin habe ich schon alles nachgeshen was es gibt, bin aber nicht dahintergekommen, wie es funktioniert!
|
Meiner Meinung nach schon. Es sieht nämlich aus wie die typische Übungsaufgabe aus der Schule. Hättest du tatsächlich unter Schleifen nachgesehen, wärst du genau auf das gestossen was Tino gepostet hat. Und wenn's dann geklappt hätte (wovon ich ausgehe, weil ich dich schliesslich
nicht für dumm halte), hättest du dich noch wesentlich besser gefühlt.
Gruss Lothar
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!