AGB  ·  Datenschutz  ·  Impressum  







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

5 Programmteile, Erklärung gesucht, bitte.

Ein Thema von linomail · begonnen am 21. Jan 2017 · letzter Beitrag vom 22. Jan 2017
Antwort Antwort
Seite 1 von 2  1 2      
a.def
(Gast)

n/a Beiträge
 
#1

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:00
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 ik, i: integer;
begin
 i := 5;

 for ik := 1 to i + 3 do
  begin
   ListBox1.Items.Insert(0, IntToStr(i));
   i := i + 1;
  end;
end;

// Gibt aus:
// 5, 6, 7, 8, 9, 10, 11, 12
Die Aufgabe ist so schlecht und sinnfrei, dass hier selbst die Profis (die anderen hier im Thema) nicht damit klar kommen
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#2

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:02
Warum machst du IntToString? ist das nötig um die Variable auszugeben?

Ja und dann versetz dich in meine Lage

Ich hoffe die Programmteile, in der Klausur, sind besser als die hier

Geändert von linomail (21. Jan 2017 um 21:04 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:05
Wenn man eine Variable welche eine positive oder negative Ganzahl beinhaltet lesbar ausgeben möchte, muss man diese erst in einen String ("Zeichenkette") umwandeln.
Dafür ist IntToStr da.

Ich hoffe die Programmteile, in der Klausur, sind besser als die hier
Das ist nichts gegen dich. Aber ich glaube wenn euch euer Lehrer nicht einmal IntToStr usw. als erstes beibringt und aber sofort zu Anwang so einen Käse mit den For-Schleifen und falschen Zuweiseungen ala "ch :=" dann sieht die Klausur wahrscheinlich düster aus.
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#4

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:11
Ja doch InttoStr kenne ich ja. Ja das gefühl habe ich auch dass es düster wird. Naja ich muss mal mit meinem Prof reden was er sich dabei gedacht hat

Trotzdem Danke, dass ihr euch damit auseinandergesetzt habt sowas ist ja nicht selbstverständlich. Ihr habt mir sehr geholfen . Jetzt spiele ich einfach mal bisschen mit den Programmcodes

Geändert von linomail (21. Jan 2017 um 21:13 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:08
Warum machst du IntToString? ist das nötig um die Variable auszugeben?
Ja. Eine Integer Variable muss für die Ausgabe erstmal in einen String umgewandelt werden. Ansonsten bekommst du auch direkt einen Compiler Error wenn du nicht gerade den Format Befehl verwendest.

Delphi-Quellcode:
// Gibt aus:
// 5, 6, 7, 8, 9, 10, 11, 12
Also für mich sieht das so aus, als ob der Compiler die i + 3 zu einer, in deinem Fall, 8 umwandelt und das Hochzählen der Variable i innerhalb der Schleife ignoriert.

Rein logisch betrachtet wäre es eine Dauerschleife. Hier macht einem der Compiler aber einen Strich durch die "Logik".

Bei i + 3 handelt es sich ja im Prinzip um eine Konstante. Wenn du eine solche Schleife mal mit einer TObjectList nachbaust und pro Durchlauf ein Objekt erzeugst und immer bis List.Count zählst, dann sollte das der Erwartung einer Dauerschleife entsprechen. Es sei denn hier würde sich das Programm dann auch einmal den Count der Objekte zwischenspeichern und dann immer nur noch bis dorthin zählen. Das müsste ich jetzt auch testen. Kann ich so aus dem Kopf nicht sagen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:13
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 ik, i: integer;
begin
 i := 5;

 for ik := 1 to i + 3 do
  begin
   ListBox1.Items.Insert(0, IntToStr(i));
   i := i + 1;
  end;
end;

// Gibt aus:
// 5, 6, 7, 8, 9, 10, 11, 12
Wo kommt das i := 5; her?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#7

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:16
Das war mein eigenes Beispiel. Wenn i initialisiert ist, gibt es keine Dauerschleife. Ansonsten ja.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:19
Das war mein eigenes Beispiel. Wenn i initialisiert ist, gibt es keine Dauerschleife. Ansonsten ja.
Strenggenommen hast Du also eine andere Aufgabe gelöst
  Mit Zitat antworten Zitat
linomail

Registriert seit: 21. Jan 2017
18 Beiträge
 
#9

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:20
@nahpet ja oke erreicht i+3 nie aber trotzdem finde ich das merkwürdig das er bei mir nur drei mal die schleife durchläuft

aso er überschreibt die! dann müssten ab der 3. Zahl die 3 nachfolgenden Zhalen stehen richtig?

die i=5 haben als Beispiel gewählt denke ich i hat keinen wert in dem script nur i+1
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#10

AW: 5 Programmteile, Erklärung gesucht, bitte.

  Alt 21. Jan 2017, 21:24
Delphi wertet vor der Scheife aus, aber: Ist denn in der Aufgabenstellung definiert, dass zu ermitteln ist, was mit Delphi dabei herauskommt oder geht es allgemein um das Verstehen von Quelltexten, die zufällig Delphi bzw. Pascal ähnlich sehen?

Geht es bei den Aufgaben konkret um das Lernen von Delphi?
Wie heißt der Kurs, zu dem diese Aufgabe gehören?
  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 07:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz