Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   5 Programmteile, Erklärung gesucht, bitte. (https://www.delphipraxis.net/191495-5-programmteile-erklaerung-gesucht-bitte.html)

linomail 21. Jan 2017 16:45


5 Programmteile, Erklärung gesucht, bitte.
 
Hallo zusammen,

Bin grade dabei Programmieren zu lernen und hab paar Aufgaben gefunden die mich iwie verunsichern. Also stelle ich euch mal die Fragen: Was passiert im folgenden Programmteil

ch:="1"; i:=2;
ch:=(ch" ") and (i>0);

wie ich das verstehe, hier handelt es um den TYP CHAR und INTEGER.
Char hat das Zeichen 1 und i hat den wert 2

jetzt bekommt char - char zugewiesen? und dann wird i verglichen in char? Wie können die typen überhaupt in einer Anweisung sein oder versteh ich da was falsch?

Was passiert im folgenden Programmteil?

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

Was ich hier verstanden habe, ist das die For - Schleife bei 1 anfängt so und dann i+ 3 die schleife 3 mal ausführt d.h. 3 mal wird abc ausgegeben wie ich das verstanden habe aber was soll das mit i:=i+1 ich meine was zählt er hier hoch? ist das nicht iwie überflüssig?

Was passiert im folgenden Programmteil
ch:=" ";
while(not(eof(input))) do
read(ch);
Write(ch);

Was ich hier denke, ch hat ein Zeichen , so jetzt führt er eine while schleife durch und liest das Zeichen von der Datei Input. Die EOF Funktion ist ja solange false bis das Ende der Datei erreicht wird, dann gibt er true zurück wenn es erreicht wurde. Also gibt er "" ein und aus?

Was passiert im folgenden Programmteil

I:=-2
repeat
Writeln("abc", i);
until i > 0;

Also i hat den wert -2 dann machen repeat schleife d.h. auch wenn die bedingung nicht wahr ist am anfang wird es trotzdem 1 mal ausgeführt so ergibt dann abc und - 2 aus
so dann versteh ich nicht warum unten until i > 0 steht ich meine das wird eh nicht zu treffen i wird immer -2 bleiben was macht dann das Programm? 100 mal abc -2 ausgeben :D?

Was passiert im folgenden Programmteil

Str:="12345rt";
Str2 := copy (str, 1,4);
Str2 := copy (Str, 3,3);

Das versteh ich nicht ganz also wir haben einen String mit "12345rt"
So jetzt haben den Sting2 benutzen die FUnktion Copy also kopiert er den ersten String aber was ist mit dem 1,4? Kopiert er nur die Zeichen 1 und 4?

Was passiert im folgenden Programmteil

for i:= 1 to 100 do
for j:= 1 to 100 do
if (i*J mod 90) = 0 then writeln( ́ i,j waren‘, i,‘ ́,j)

Das verstehe ich nicht ganz also ich habe 2 for schleifen. Beide gehen von 1 bis 100 durch
so dann habe ich ein If Statement und dort wird i mal j genommen und dann mod 90( was bedeutet das?) und es muss 0 ergeben wenn es nicht 0 ergibt, dann gibt er aus i j waren ....

so also müssen doch die ersten 3 Ausgaben lauten:
i und j waren 190
i und j waren 245
i und j waren 290

also das kam raus als ich es nachprogrammiert habe

Könnt ihr mir helfen ? :D Wäre für alle Hinweise dankbar!

nahpets 21. Jan 2017 17:08

AW: Hilfe
 
Hallo,

schau mal bitte hier: http://www.delphipraxis.net/191465-a...ml#post1359286

Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.

linomail 21. Jan 2017 17:12

AW: Hilfe
 
ach wie witzig ist das denn :D Danke :)

linomail 21. Jan 2017 17:30

AW: Hilfe
 
Ja gut bei den dreien lag ich richtig oder fast richtig :D

aber zu 2, 4 und 5 bin ich trotzdem zienmlich unsicher ob ich richtig liege :(

nahpets 21. Jan 2017 17:43

AW: Hilfe
 
1. Aufgabe: Deine Schlussfolgerung ist richtig, das geht so nicht wirklich.

2. Aufgabe: Versuche das bitte mal genau nachzuvollziehen:

ik wird von 1 bis i + 3 hochgezählt.
In der Schleife wird i jeweils um 1 erhöht.
Auch ik wird je Schleifendurchlauf um 1 erhöht.
Wann wird dann i + 3 erreicht?

3. Aufgabe: Was ist in ch, wenn die Schleife beendet wird?

4. Aufgabe: Wann wird die Bedingung i > 0 erreicht sein, wenn i = -2 ist und nicht verändert wird? Nach 100 Durchläufen? Wieso?

5. Aufgabe: Deine Vermutung bezüglich des Kopierens ist korrekt. Was steht dann in Str2?

6. Aufgabe: Das von Dir angegebene Ergebnis ist falsch. Da hast Du in der Ausgabe einen Programmierfehler.

himitsu 21. Jan 2017 18:03

AW: Hilfe
 
Zitat:

Zitat von nahpets (Beitrag 1359494)
Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.

Sogar mit den selben Schreibfehlern.

@linomail: Bitte lies dir nochmal die FAQ durch, die du bei der Anmeldung bestätigt hast.
Editiere dann bitte deinen ersten Post, da drin in dem "erweiteren" Editor kannst du dann dementsprechend den Thread-Titel ändern.

a.def 21. Jan 2017 18:16

AW: Hilfe
 
Vorsicht ironie:
ihr solltet in die AGB mal den Hinweis aufnehmen, dass "Hausaufgaben" als solche vom TE deklariert werden sollten :stupid:

Luckie 21. Jan 2017 18:51

AW: Hilfe
 
Bitte gib deinem Thread einen aussagekräftigen Titel, der dein Problem kurz zusammenfasst. Um Hilfe bittet hier so ziemlich jeder.

linomail 21. Jan 2017 19:01

AW: Hilfe
 
Das sind keine Hausaufgaben, Ich habe diese Porgrammteile aaus einem Script von der Hochschule Osnabrück.

@himitsu welche Schreibfehler in dem Code oder was ich geschrieben habe?

Hätte nicht erwartet dass hier soein ähnliches Thema ist :D Sorry aber was soll ich denn jetzt ändern versteh ich nicht.

@nahpets aufgabe 2: Asso also zählt er i hoch bis er 3 erreicht hat? und darum wird es 3 mal ausgegeben? Aber ist i+1 wirklich von nöten. Ich meine vorhin als ich das ganze auf ideone.com nachprogrammiert habe, habe ich i nicht eins hochzählen lassen und kam auf das selbe ergebnis

Aufgabe 3: Also ein leerzeichen? ich meine der schreibt ja immer nur ein leerzeichen rein? Aber er gibt nur den letzten an von der Datei oder?

Aufgabe 4: Ja bei der war ich mir iwie sicher also hab ich das nachprogrammiert. Aber ich glaube ich verstehe iwie repeat nicht ich meine i ist ja -2 aber der Wert wird ja nicht verändert also ich meine wie soll i größer als 0 werden? Als ich das nachprogrammiert habe gab er erst aus ABC - und dann gefühlt 100 mal ABC -2. Aus der werde ich echt nicht schlau :(

Aufgabe 5: Also wenn meine Vermutung dann richtig ist dann "1433" ?

Aufgabe 6: Ach ich meint i und j waren 1 und 90
2 und 45
2 und 90
müsste doch eigentlich richtig sein

Danke für deine schnelle Hilfe :)

PS: ja mache ich Entschuldige. :-D

a.def 21. Jan 2017 19:03

AW: Hilfe
 
Delphi-Quellcode:
writeln("abc"); i:=i+1;
Soweit ich weiß ist das sogar eine Totsünde die Iterations-Variable einer For-Schleife selber hochzuzählen.

Luckie 21. Jan 2017 19:06

AW: Hilfe
 
Zitat:

Zitat von a.def (Beitrag 1359510)
Delphi-Quellcode:
writeln("abc"); i:=i+1;
Soweit ich weiß ist das sogar eine Totsünde die Iterations-Variable einer For-Schleife selber hochzuzählen.

Geht das überhaupt so einfach? Ich meine nämlich das geht nur mit erheblichen Klimmzügen.

a.def 21. Jan 2017 19:06

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
Kaum zu fassen, dass solche Aufgaben aus einem Script einer Hochschule sind :roll:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i: integer;
begin
 for i := 0 to i + 3 do
  begin
   ShowMessage('ABC');
   i := i + 1;
  end;
end;

// [dcc32 Fehler] Unit1.pas(134): E2081 Anweisung für FOR-Schleifenvariablen 'i'

linomail 21. Jan 2017 19:07

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
ja deswegen meinte ich ja man kann es ja weglassen oder nicht? Deswegen kommt man doch auf das selbe ergebnis.

Fritzew 21. Jan 2017 19:08

AW: Hilfe
 
Zitat:

Zitat von a.def (Beitrag 1359510)
Delphi-Quellcode:
writeln("abc"); i:=i+1;
Soweit ich weiß ist das sogar eine Totsünde die Iterations-Variable einer For-Schleife selber hochzuzählen.

Lies den Quelltext nochmal, wo wird hier die Zählvariable benutzt?

linomail 21. Jan 2017 19:09

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
Ihr macht mich verrückt :D :-D

linomail 21. Jan 2017 19:10

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
@a.def hä dein error versteh ich jetzt nicht, bei mir war kein fehler:/

a.def 21. Jan 2017 19:11

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
Dein Script hat mehr Fehler als die Politik gute Leute hat, mehr muss man nicht wissen :stupid:

Luckie 21. Jan 2017 19:16

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

Zitat von a.def (Beitrag 1359512)
Kaum zu fassen, dass solche Aufgaben aus einem Script einer Hochschule sind :roll:

Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i: integer;
begin
 for i := 0 to i + 3 do
  begin
   ShowMessage('ABC');
   i := i + 1;
  end;
end;

// [dcc32 Fehler] Unit1.pas(134): E2081 Anweisung für FOR-Schleifenvariablen 'i'

Delphi-Quellcode:
For ik:= 1 to i+3 do
begin
writeln("abc"); i:=i+1;
end;
Die Zählvariable der for-Schleufe ist ik. In der Schleife hochgezählt wird aber i.

linomail 21. Jan 2017 19:19

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
aso stimmt du hast ik vergessen :D deswegen

nahpets 21. Jan 2017 19:28

AW: Hilfe
 
Zitat:

Zitat von linomail (Beitrag 1359509)
Das sind keine Hausaufgaben, Ich habe diese Porgrammteile aaus einem Script von der Hochschule Osnabrück.

@himitsu welche Schreibfehler in dem Code oder was ich geschrieben habe?

Schreibfehler in der Aufgabenstellung.
Zitat:

Zitat von linomail (Beitrag 1359509)
Hätte nicht erwartet dass hier soein ähnliches Thema ist :D Sorry aber was soll ich denn jetzt ändern versteh ich nicht.

Die Welt ist halt klein ;-)
Zitat:

Zitat von linomail (Beitrag 1359509)
@nahpets aufgabe 2: Asso also zählt er i hoch bis er 3 erreicht hat? und darum wird es 3 mal ausgegeben? Aber ist i+1 wirklich von nöten. Ich meine vorhin als ich das ganze auf ideone.com nachprogrammiert habe, habe ich i nicht eins hochzählen lassen und kam auf das selbe ergebnis

i wird ebenso wie ik in jedem Schleifendurchlauf erhöht.
Also
Delphi-Quellcode:
ik := ik + 1;
i := i + 1;
Wann wird hier wohl ik = i + 3 erreicht werden. Bevor die Sonne in 'ner Supernova das zeitliche segnet oder eher nachher? Wenn vorher, erkläre bitte wieso, und sag' nicht beim nächsten Stromausfall ;-)
Zitat:

Zitat von linomail (Beitrag 1359509)
Aufgabe 3: Also ein leerzeichen? ich meine der schreibt ja immer nur ein leerzeichen rein? Aber er gibt nur den letzten an von der Datei oder?

Wieso Leerzeichen? Was ist denn als letzte Zeichen gelesen worden? Und kann das zwischen dem Lesen und Ausgeben noch geändert werden?
Zitat:

Zitat von linomail (Beitrag 1359509)
Aufgabe 4: Ja bei der war ich mir iwie sicher also hab ich das nachprogrammiert. Aber ich glaube ich verstehe iwie repeat nicht ich meine i ist ja -2 aber der Wert wird ja nicht verändert also ich meine wie soll i größer als 0 werden?

Eben, wie? Kann es denn? Wenn ja, hätte ich bitte eine plausible Erklärung dafür. (Such doch mal mit der Suchmaschinen Deiner Wahl nach Endlosschleife.)
Zitat:

Zitat von linomail (Beitrag 1359509)
Als ich das nachprogrammiert habe gab er erst aus ABC - und dann gefühlt 100 mal ABC -2. Aus der werde ich echt nicht schlau :(

Interessant, wenn das überhaupt schon aufgehört hat mit der Ausgabe, müsste eigentlich (wie oben vermutet) bis ans Ende des Seins weiterlaufen.
Zitat:

Zitat von linomail (Beitrag 1359509)
Aufgabe 5: Also wenn meine Vermutung dann richtig ist dann "1433" ?

Nein: Kopiere von Position eins beginnend vier Zeichen und kopiere von Position drei an drei Zeichen? Was kommt da raus?
Zitat:

Zitat von linomail (Beitrag 1359509)
Aufgabe 6: Ach ich meint i und j waren 1 und 90
2 und 45
2 und 90
müsste doch eigentlich richtig sein

Jo, Ausgabefehler beseitigt.

linomail 21. Jan 2017 19:48

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
@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 ??

a.def 21. Jan 2017 19:49

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

Zitat von linomail (Beitrag 1359527)
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.

Aviator 21. Jan 2017 19:52

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

Zitat von linomail (Beitrag 1359527)
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;

Delphi-Laie 21. Jan 2017 19:55

AW: Hilfe
 
Zitat:

Zitat von himitsu (Beitrag 1359501)
Zitat:

Zitat von nahpets (Beitrag 1359494)
Da hat wohl jemand zum Teil die gleichen Aufgaben bekommen.

Sogar mit den selben Schreibfehlern.

Tja, ist ja auch diesselbe Hochschule (Osnabrück)! ;-)

a.def 21. Jan 2017 19:56

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

Zitat von Aviator (Beitrag 1359530)
Zitat:

Zitat von linomail (Beitrag 1359527)
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).

linomail 21. Jan 2017 19:59

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
ja bei mir war es auch keine endlosschleife :?

a.def 21. Jan 2017 20:00

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
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 :stupid:

linomail 21. Jan 2017 20:02

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
Warum machst du IntToString? ist das nötig um die Variable auszugeben?

Ja und dann versetz dich in meine Lage :D

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

a.def 21. Jan 2017 20:05

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
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.

Zitat:

Zitat von linomail (Beitrag 1359536)
Ich hoffe die Programmteile, in der Klausur, sind besser als die hier :D

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.

Aviator 21. Jan 2017 20:08

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

Zitat von linomail (Beitrag 1359536)
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.

Zitat:

Zitat von a.def (Beitrag 1359535)
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. :|

linomail 21. Jan 2017 20:11

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
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 :D was er sich dabei gedacht hat :D

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 :D

nahpets 21. Jan 2017 20:12

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

Zitat von linomail (Beitrag 1359527)
@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.

Die Sinnfrage ist hier, den Unsinn zu erkennen ;-)
Nimm Dir bitte ein Stück Papier, ruhig ein großes und schreibe für jeden Schleifendurchlauf auf, welchen Inhalt jeweils ik und i haben, zuzüglich i + 3.
Gehen wir davon aus, dass i bei 1 beginnt.
Also sowas:
Anfang:
ik := 1;
i := 1;
i + 3 := 4;
1. Schleifendurchlauf:
ik := 2;
i := i + 1 -> = 2
i + 3 := 2 + 3;
2. Schleifendurchlauf:
ik := 3;
i := i + 1 -> = 3
i + 3 := 3 + 3;

Wann wird wokl ik = i + 3 erreicht sein?
Zitat:

Zitat von linomail (Beitrag 1359527)
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 " ".

ja
Zitat:

Zitat von linomail (Beitrag 1359527)
Aufgabe 5: STR 2:= 1234345 ??

Nein.
Str2 wird zweimal eine Teilzeichenfolge zugewiesen. Welche wird am Ende übrigbleiben?

Zitat:

Zitat von a.def
Die Aufgabe ist so schlecht und sinnfrei, dass hier selbst die Profis (die anderen hier im Thema) nicht damit klar kommen

Wie kommst Du denn zu dieser steilen Aussage?

Die Routine ist sicherlich nicht wirklich sinnvoll, aber es könnte ja der Sinn der Aufgabe sein, genau dieses zu erkennen. Und das scheint ja wohl nicht so ganz einfach zu sein.

Übrigens: Delphi arbeitet hier anders, als z. B. Pascalscript. Delphi wertet am Anfang der For-Schleife i + 3 aus und läuft dann durch die Schleife. Aber bei anderen Programmiersprachen kann i im Ablauf der Schleife durchaus erhöht werden. Unter DOS half dann nur der Affengriff. Bei Pascalscript unter Windows brauchst Du den Taskmanager.

Wenn ich mal was habe "offiziell" zwecks Programmierung lernen müssen, dann waren da auch immer fehlerhafte Quelltextfragmente bei. Es war Aufgabe, diese Fehler zu erkennen. So pauschal unsinnig ist das meiner Meinung nach nicht. Könnt aber um längen besser sein.

Luckie 21. Jan 2017 20:13

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

Zitat von a.def (Beitrag 1359535)
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?

a.def 21. Jan 2017 20:16

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
Das war mein eigenes Beispiel. Wenn i initialisiert ist, gibt es keine Dauerschleife. Ansonsten ja.

nahpets 21. Jan 2017 20:19

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

Zitat von a.def (Beitrag 1359543)
Das war mein eigenes Beispiel. Wenn i initialisiert ist, gibt es keine Dauerschleife. Ansonsten ja.

Strenggenommen hast Du also eine andere Aufgabe gelöst ;-)

linomail 21. Jan 2017 20:20

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
@nahpet ja oke erreicht i+3 nie :D 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

nahpets 21. Jan 2017 20:24

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
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?

Delphi-Laie 21. Jan 2017 20:27

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

Zitat von nahpets (Beitrag 1359548)
Wie heißt der Kurs, zu dem diese Aufgabe gehören?

:thumb:

linomail 21. Jan 2017 20:44

AW: 5 Programmteile, Erklärung gesucht, bitte.
 
ALso das Modul heißt "Einführung in die Programmierung".

Unser Prof ist ein fan von Delphi deswegen lernen wir im 1. Semester mit Delphi.

Soweit ich weiß wird im 2. Semster auf java umgestiegen.

In diesem Kurs habe ich gelernt:
-welche Standardtypen Delphi besitzt
-WIe ein typisches Delphiprogramm aufgebaut ist
-die Schleifen FOR/Repeat/While und die If Statements
-die Grammatik BNF z.B Wörter bilden
-konventieren von typen z.B IntToStr oder StrToInt
-fehlerhafte Programmteile erkennen
-wie ich ein array erstelle und die unterschiede zwischen Statisch und Dynamische Speicherung
-Arithmetische Routinen

und die Programmteile hatten wir jetzt nicht in der Vorlesung. Dennoch geht das Gerücht um, dass er vill genau diese in die Klausur einbaut. Deswegen wollte ich jetzt nicht zum Prof rennen und ihn über diese Programmteile ausfragen :*D.

a.def 21. Jan 2017 20:48

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

Zitat von linomail (Beitrag 1359550)
In diesem Kurs habe ich gelernt:
-fehlerhafte Programmteile erkennen.

Verzeihe mir die Ironie. Aber dann müsstest du ja gesehen haben, dass der ganze Kurs fehlerhaft zu sein scheint :stupid:

Zitat:

und die Programmteile hatten wir jetzt nicht in der Vorlesung. Dennoch geht das Gerücht um, dass er vill genau diese in die Klausur einbaut. Deswegen wollte ich jetzt nicht zum Prof rennen und ihn über diese Programmteile ausfragen :*D.
Nach eurem Plan müssten diese paar Aufgaben eigentlich eine einfache Sache für dich sein. Aber wenn ich mir das Tempo so ansehe (nur 1 Semester Delphi dann Java), dann habt ihr vermutlich für jeden dieser Punkte maximal eine Woche gehabt und der Rest ging für Erklärungen drauf.

So war es bei mir damals auch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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