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      
Benutzerbild von Luckie
Luckie

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

AW: Hilfe

  Alt 21. Jan 2017, 19:06
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#2

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

  Alt 21. Jan 2017, 19:06
Kaum zu fassen, dass solche Aufgaben aus einem Script einer Hochschule sind

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'
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

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

  Alt 21. Jan 2017, 19:16
Kaum zu fassen, dass solche Aufgaben aus einem Script einer Hochschule sind

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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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, 19:19
aso stimmt du hast ik vergessen deswegen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Hilfe

  Alt 21. Jan 2017, 22:25
Zitat:
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.
Und selbstmordgefährdet, denn wenn dabei das Schleifenende übersprungen wird, dann stoppt es da nicht. (kein >= im Abbruch, sondern ein =)

Eigentlich nur einmal böse rumpointern (referenzieren und dereferenzieren) und damit die Codeprüfung umgehen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

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

  Alt 21. Jan 2017, 22:39
Ihr solltet bei solchen Aufgaben bitte bedenken:

Es geht nicht um die mögliche Programmierung mit einer konkreten Entwicklungsumgebung, sondern ausschließlich um das Verständnis dessen, was dort als Quelltextfragment vorgegeben ist.

Keines der Beispiele muss auch nur ansatzweise kompilierbar sein.
Es handelt sich ausschließlich um Gedankenexperimente und die Prüfung, ob die Lernenden in der Lage sind, das Geschriebene zu verstehen.

Statt
Delphi-Quellcode:
For ik:= 1 to i+3 do
begin
writeln("abc"); i:=i+1;
end;
könnte da auch sowas stehen:
Delphi-Quellcode:
für ik von 1 bis i + 3
wiederhole
  Schreibe("abc");
  i := i + 1;
Die Frage lautet nun: Was passiert im folgenden Programmteil?

Welche Antwort gebt ihr nun in der ersten Version und welche in der Zweiten?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 21. Jan 2017, 22:45
Oder anders gesagt "es soll nicht kompilieren, sonst könnten die es einfach ausführen, ohne nachzudenken"
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#8

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

  Alt 21. Jan 2017, 22:50
Oder anders gesagt "es soll nicht kompilieren, sonst könnten die es einfach ausführen, ohne nachzudenken"
Ja, durchaus.

Die Leute sollen sich ganz konkrete Gedanken machen. Nur kompilieren und geht, reicht nicht zum Lernen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 21. Jan 2017, 22:59
Die Leute sollen sich ganz konkrete Gedanken machen. Nur kompilieren und geht, reicht nicht zum Lernen.
Wobei das ja schon ein bissl gemein ist.
Zitat:
Delphi-Quellcode:
For ik:= 1 to i+3 do
begin
  writeln("abc");
  i:=i+1;
end;
Erstmal ist i nicht initialisiert, oder jemand hat nur die Hälfte gezeigt.
Und dann macht die Schleife nicht das, was Viele vielleicht denken würden, denn Pascal/Delphi berechnet den Endwert zu Beginn, cached das und "irgnoriert" somit Änderungen.
In den For-Schleifen von C-Sprachen ist das anders.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#10

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

  Alt 21. Jan 2017, 23:04
Oder der Delphi-Fan ("Lehrer") denkt sich, der Code funktioniert schon so wie er da steht und weiß von dem gecache nichts.
  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 16:41 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-2025 by Thomas Breitkreuz