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

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

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
 
#2

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
 
#3

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.385 Beiträge
 
Delphi 12 Athens
 
#4

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
 
#5

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
 
#6

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.971 Beiträge
 
Delphi 12 Athens
 
#7

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

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

AW: Wassersimulation 2D array

  Alt 16. Dez 2022, 09:23
Console hat gegenüber den meisten anderen GUI-Frameworks einen Vorteil.
-> Jemand anderes "Externes" kümmert sich um dessen Darstellung.

Vorteil: Auch wenn das eigene Programm grade im Debugger "hängt", ist das Consolenfenster voll reaktiv.
Man kann es minimieren, in den Hintergrund verschieben, aber auch wieder vorholen, und das problemlos mitten im Debuggen und kann so dennoch jederzeit sehen, was dort abgeht.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.691 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: Wassersimulation 2D array

  Alt 16. Dez 2022, 09:41
Console hat gegenüber den meisten anderen GUI-Frameworks einen Vorteil.
-> Jemand anderes "Externes" kümmert sich um dessen Darstellung.

Vorteil: Auch wenn das eigene Programm grade im Debugger "hängt", ist das Consolenfenster voll reaktiv.
Man kann es minimieren, in den Hintergrund verschieben, aber auch wieder vorholen, und das problemlos mitten im Debuggen und kann so dennoch jederzeit sehen, was dort abgeht.
This!

Man soll sich ja auf den eigentlich Algorithmus konzentrieren.

Allerdings sollte dann die Ein-/Ausgabe auch möglichst einfach gehalten werden, also keine Cursor-Positionierung etc. sondern Einlesen von Daten mittels ReadLn. Das widerspricht allerdings dem typischen Spieltrieb von Softwareentwicklern.
Thomas Mueller
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.055 Beiträge
 
Delphi 12 Athens
 
#10

AW: Wassersimulation 2D array

  Alt 16. Dez 2022, 21:28
Man hätte aber auch diese Ausgabe Routinen gleich liefern sollen,
damit man sich auf den eigentlichen Algorithmus konzentrieren kann!

Und Prof's oder Dozenten die eigentlich nie erreichbar sind, sind auch Käse!
  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 20:28 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