AGB  ·  Datenschutz  ·  Impressum  







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

Wassersimulation 2D array

Ein Thema von Student2022 · begonnen am 15. Dez 2022 · letzter Beitrag vom 16. Dez 2022
Antwort Antwort
Seite 1 von 2  1 2      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 20:40
Hallo,
benutze bitte die Delphi-Tags.

Die stehen auch oben in der Leiste.
Heiko
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
462 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 20:59
Und wieder eine Erklärung für den Fachkräftemangel in Deutschland. Wenn an der Uni immer noch mit der Console rumgespielt wird… Womit kann man wohl junge Leute, die mit Smartphone und iPad aufgewachsen sind, besser abschrecken?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 21:15
Nja, diesmal wenigstens nicht ganz verlaufen,
auch wenn Programmierung allgemein -> Algorithmen, Datenstrukturen und Klassendesign dennoch etwas passender wäre, aber egal.

Warum ging es nicht dort weiter?
https://www.delphipraxis.net/212057-...imulation.html
(der Thread lässt sich ja in ein anderes Unterforum verschieben)

Ja, du hast noch 24 Stunden Zeit die [DELPHI] ... [/DELPHI]-Tags um deinen Code rum zu machen, damit es lesbarer wird.



Du weißt was ein Debugger ist?

Du weißt auch "ungefähr", wo der Fehler sich versteckt,
dann setz dir da einen Haltepunkt drauf
und dann kannst du ab dort zeilenweise den Code ausführen und schauen ob die Position (die Variablen dafür) den richtigen Wert besitzen (vermutlich nicht) und dann den Code so ändern, bis es stimmt.


Gut, immer mit GetConsolePosition abfragen ist ein bischen umständlich,
aber man kann sich auch in SetConsolePosition eine Logausgabe machen (OutputDebugString) oder den Wert in eine globale Variable schreiben und das in die überwachten Ausdrücke.



Zitat:
Console
Frag mal deinen Hardcore-Linux-Jünger ... der wird dir schon sagen, wie geil eine Console ist.

Und am Ende ist es egal, ob man hier ein eine Console oder TStringGrid (eine Zelle pro Zeichen) oder ein TMemo oder ein TCanvas/TImage oder irgendeine 3D-GraphicEngine oder sonstwas für die Darstellung benutzt.
Am Ende braucht man nur die Ausgabefunktionen dafür zu ändern.
Die Logic bleibt davon größtenteils unberührt, also ist es zum Lernen von Algorithmen vollkommen irrelevant.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Dez 2022 um 21:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.977 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 21:26
// TODO: Ungültige Eingabe muss direkt zu der Fehlermeldung führen, nicht erst nach einem zweiten Enter.
Du solltest dir einmal überlegen, warum die Prüfung nach der Eingabe der X- und Y-Koordinate unterschiedlich ausfällt. Einmal prüfst du auch check (mit and (check <> 0) ), einmal nicht.

Am Ende braucht man nur die Ausgabefunktionen dafür zu ändern.
Die Logic bleibt davon größtenteils unberührt, also ist es zum Lernen von Algorithmen vollkommen irrelevant.
Das sehe ich ganz anders. Wenn man einen großen Teil der Aufgabe rein dem Gehampel mit der Konsole widmen muss, geht dabei die Konzentration auf den Algorithmus, um den es ja eigentlich geht, verloren. Deshalb fand ich damals im Informatik-Unterricht gut, dass wir z.B. eine fertige Turtle-Klasse hatten und diese nur noch steuern mussten. Da konnten wir uns voll auf die Logik konzentrieren. Abgesehen von einem Mitschüler und mir wären die anderen mit mehr auch so schnell nicht klargekommen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 21:56
Hallo,
ich hätte ja bei sämtlichen Sachen ein cls gemacht
und dann die bisher eingegebenen Daten halt angezeigt.

Mehr Aufwand, aber übersichtlicher im Code ...
Heiko
  Mit Zitat antworten Zitat
Student2022

Registriert seit: 9. Dez 2022
1 Beiträge
 
#6

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 22:49
was ist mit cls gemeint ?

LG
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 23:10
CLearScreen
https://learn.microsoft.com/de-de/wi...s-commands/cls (die deutsche Übersetzung ist bissl falsch)
https://learn.microsoft.com/en-us/wi...s-commands/cls
ist über die API garnicht so einfach.
https://learn.microsoft.com/de-de/wi...ing-the-screen
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Dez 2022 um 23:14 Uhr)
  Mit Zitat antworten Zitat
Student2022

Registriert seit: 9. Dez 2022
1 Beiträge
 
#8

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 23:13
Danke für den Tipp, aber ich bin mir ziemlich sicher, dass wir das nicht nutzen dürfen. Wir müssen es halt leider so umsetzen wie die es uns vorgeben
  Mit Zitat antworten Zitat
Student2022

Registriert seit: 9. Dez 2022
1 Beiträge
 
#9

AW: Wassersimulation 2D array

  Alt 15. Dez 2022, 23:11
Ja bei uns wird es leider schon vorrausgesetzt, dass man alles versteht und auch umsetzen kann. Aber für Leute wie mich die halt nicht viel Erfahrung in der Programmierung haben ist das ziemlich kompliziert.
Vorallem wenn man Ausgaben mit solchen Prozeduren wie setConsole neu formatieren und löschen muss. Meiner Meinung nach wäre Python besser gewesen für den einstieg... und dazu gibt es auch viel mehr im Internet zu finden und zusätzlich zu lernen... aber naja, ich schau mir das mit dem
Code:
check<> 0
an aber ich denke eher, dass es irgendwo an der SetConsolePosition liegt, weil ich ja nachdem ich ein Ungültigen Wert eingegeben habe, die Fehlermeldung direkt auftauchen soll und nicht erst nach dem ich extra nochmal Enter gedrückt habe.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.977 Beiträge
 
Delphi 12 Athens
 
#10

AW: Wassersimulation 2D array

  Alt 16. Dez 2022, 06:20
Vorallem wenn man Ausgaben mit solchen Prozeduren wie setConsole neu formatieren und löschen muss. Meiner Meinung nach wäre Python besser gewesen für den einstieg...
Auch mit Python kann man auf der Kommandozeile arbeiten. Der Unterschied ist gar nicht so groß. Pascal war und ist eine sehr gute Lehrsprache. Dass sie in Schulen und Universitäten nicht mehr so stark verbreitet ist, war nicht technisch begründet, sondern lag am Management.

ich denke eher, dass es irgendwo an der SetConsolePosition liegt, weil ich ja nachdem ich ein Ungültigen Wert eingegeben habe, die Fehlermeldung direkt auftauchen soll und nicht erst nach dem ich extra nochmal Enter gedrückt habe.
Du kommst aber gar nicht erst in die Fehlerbehandlung rein, wenn du eine gültige Zahl eingibst, die aber keine gültige Koordinate ist. Die Positionierung kannst du ja erst korrigieren, wenn du überhaupt in die Fehlerbehandlung rein läufst.

Du solltest dir anschauen was Haltepunkte sind und wie Debugging funktioniert, was ja auch himitsu schon angesprochen hatte. Du kannst mit F5 einen Haltepunkt auf die Zeile setzen, in der du bist. In diesem Fall auf die genannte Zeile mit der Prüfung des Wertes in check. Dann führst du das Programm aus und schiebst das Delphi-Fenster neben dein Konsolenfenster. Nun kannst du mit F8 schrittweise die einzelnen Zeilen ausführen und schauen was passiert. Drückst du auf einer Zeile mit readln F8, kannst du im Konsolenfenster deine Eingabe machen und dann landest du wieder in Delphi.
Sebastian Jänicke
AppCentral
  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 19:37 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