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 3 von 6     123 45     Letzte »    
linomail

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

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

  Alt 21. Jan 2017, 19:48
@nahpets


For ik:= 1 to i+3 do
begin
writeln("abc"); i:=i+1;
end;

Ja aber ich verstehe den Sinn nicht. Ich habe kapiert, dass die Schleife ik 1 bis i+3 hochzählt. D.h es wird solange hochgezählt bis i auf 3 ist? Eine endlosschleife ist es ja nicht oder? ich habe ja nachprogrammiert er lief 3 mal durch.

Aufgabe 3 er speichert ja für char:=" " also schreibt er " " rein bis das Ende erreicht wird. Es wird das letzte Zeichen vor dem Ende der Eingabe ausgegeben " ".

Aufgabe 5: STR 2:= 1234345 ??
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#22

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

  Alt 21. Jan 2017, 19:49
D.h es wird solange hochgezählt bis i auf 3 ist?
Nein. Solange, bis i gleich (i+3) ist. Aber dann ist da ja noch i := i+1;

Wenn i=5 ist würde i 5 bis 13 zugewiesen worden sein.

Geändert von a.def (21. Jan 2017 um 19:53 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#23

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

  Alt 21. Jan 2017, 19:52
D.h es wird solange hochgezählt bis i auf 3 ist? Eine endlosschleife ist es ja nicht oder?
Doch ist es. Formatiere den SourceCode richtig und du wirst sehen das die Variable i mit jedem Durchlauf um 1 erhöht wird. Genauso wie die Zählervariable ik.

Was hier noch fehlt ist die Initialisierung der Variablen i. Aber selbst wenn die nicht initialisiert wäre. Sobald i >= -1 ist, ist das eine Dauerschleife die nicht mal nach einer Supernova aufhören würde zu zählen.

Delphi-Quellcode:
for ik:= 1 to i+3 do
begin
  writeln("abc");
  i:=i+1;
end;
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#24

AW: Hilfe

  Alt 21. Jan 2017, 19:55
Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.
Sogar mit den selben Schreibfehlern.
Tja, ist ja auch diesselbe Hochschule (Osnabrück)!
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#25

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

  Alt 21. Jan 2017, 19:56
D.h es wird solange hochgezählt bis i auf 3 ist? Eine endlosschleife ist es ja nicht oder?
Doch ist es.
Also bei mir ist es keine Endlosschleife wenn ich i initialisiere (z.B. mit 5).
  Mit Zitat antworten Zitat
linomail

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

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

  Alt 21. Jan 2017, 19:59
ja bei mir war es auch keine endlosschleife
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#27

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

  Alt 21. Jan 2017, 20: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
 
#28

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

  Alt 21. Jan 2017, 20: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 20:04 Uhr)
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#29

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

  Alt 21. Jan 2017, 20: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
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#30

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

  Alt 21. Jan 2017, 20: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
Antwort Antwort
Seite 3 von 6     123 45     Letzte »    


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 15:52 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