ChatGPT gut für einfache Sachen.

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Gesperrt
Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

Ich will ja jetzt nicht als Spiel- oder Hypeverderber auftreten, aber ich möchte Euch alle davor warnen, die sogenannten "KI" / "AI" allzu sorglos zu benutzen. Gerade hatten wir in einm anderen Thread das Thema Aufrunden. Die Funktion heißt in sehr vielen Programmiersprachen "Ceil" / "Ceiling", was ich seltsam fand. Ich wollte es genau wissen und war zu faul, mir zu jeder Programmiersprache die entsprechende Funktionsbezeichnung einzeln rauszusuchen, daher habe ich Copilot genutzt. Und das war interessant, denn es kamen teils gefährliche "Antworten" heraus.

Ich denke, die Suche nach Bezeichnungen einer Funktion in unterschiedlichen Programmiersprachen ist eine eher einfache Suchmaschinenaufgabe - aber Ihr seht weiter unten, dass zumindest Copilot (ChatGPT) da nicht funktioniert.

Ich wollte dem Michael eigentlich noch antworten, dass die "KI" / "AI" durchaus als fortgeschrittene Suchmaschine taugen, da ich bisher auch immer Quellangaben in Form von Links erhielt - das war heute nicht beide Male der Fall. (Die zweite Suchanfrage war mit Quellangaben, die erste nicht). Vielleicht habe ich das Zeugs auch zu selten genutzt.

Ihr müsst natürlich selbst wissen, was Ihr mit den LLM's macht, aber ich für meinen Teil werde das jetzt eher nicht mehr machen - auch wenn ich in der Vergangenheit wenigstens auf eine sehr fortschrittliche Suchmaschine gehofft hatte ...

Erste Suche:
## Copilot
Natürlich, hier sind die Funktionen zum Aufrunden in den angegebenen Programmiersprachen:
- C: ceil(double x)
- C++: std::ceil(double x)
- C#: Math.Ceiling(double x)
- Python: math.ceil(x)
- Basic: INT(x + 0.5) Das ist falsch bis gefährlich!
- Fortran: CEILING(x)
- Rust: x.ceil()
- Pascal: Round(x + 0.5) Das ist falsch bis gefährlich!
- ObjectPascal: Round(x + 0.5) Das ist falsch bis gefährlich!
- Java: Math.ceil(double x)
- Lisp: (ceiling x)
- Ada: Ada.Numerics.Elementary_Functions.Ceiling(X)
- Dart: x.ceil()
- Go: math.Ceil(x)
Bitte beachten Sie, dass x die Zahl ist, die Sie aufrunden möchten. In einigen Sprachen wie C, C++, C# und Java ist die Funktion Teil einer Bibliothek, die importiert werden muss. In anderen Sprachen wie Python, Rust, Dart und Go ist die Funktion eine Methode, die direkt auf der Zahl aufgerufen wird. In Basic und Pascal wird die Funktion durch eine Kombination aus Runden und Addition implementiert. Das ist gefährlicher Unsinn!

## Copilot
Hier sind die Funktionen zum Aufrunden in den angefragten Programmiersprachen:
- C: Die Funktion zum Aufrunden heißt ceil().
- Pascal: Die Funktion zum Aufrunden heißt Round(). Das ist falsch!
- ObjectPascal: Die Funktion zum Aufrunden heißt Round(). Das ist falsch!
- Free-Pascal: Die Funktion zum Aufrunden heißt Round(). Das ist falsch!
- Delphi: Die Funktion zum Aufrunden heißt Round(). Das ist falsch!
- Go: Die Funktion zum Aufrunden heißt math.Ceil().
- Rust: Die Funktion zum Aufrunden heißt ceil().
- C++: Die Funktion zum Aufrunden heißt ceil().
- Fortran: Die Funktion zum Aufrunden heißt CEILING().
- Ada: Die Funktion zum Aufrunden heißt CEILING().
- Java: Die Funktion zum Aufrunden heißt Math.ceil().
- Chapel: Die Funktion zum Aufrunden heißt ceil().
- Lisp: Die Funktion zum Aufrunden heißt ceiling().
- Ocaml: Die Funktion zum Aufrunden heißt ceil.
- Haskell: Die Funktion zum Aufrunden heißt ceiling.
- C#: Die Funktion zum Aufrunden heißt Math.Ceiling().
- Swift: Die Funktion zum Aufrunden heißt ceil().
- PHP: Die Funktion zum Aufrunden heißt ceil().
- F#: Die Funktion zum Aufrunden heißt ceil.
- Racket: Die Funktion zum Aufrunden heißt ceiling.
- Hack: Die Funktion zum Aufrunden heißt ceil().
- Python: Die Funktion zum Aufrunden heißt math.ceil().
- JavaScript: Die Funktion zum Aufrunden heißt Math.ceil().
- Ruby: Die Funktion zum Aufrunden heißt ceil().
- Dart: Die Funktion zum Aufrunden heißt ceil().
- TypeScript: Die Funktion zum Aufrunden heißt Math.ceil().
- Erlang: Die Funktion zum Aufrunden heißt erlang:ceil().
- JRuby: Die Funktion zum Aufrunden heißt ceil().
- Perl: Die Funktion zum Aufrunden heißt POSIX::ceil().
- Lua: Die Funktion zum Aufrunden heißt math.ceil().
- Basic: Die Funktion zum Aufrunden heißt INT(). Das ist falsch!
Bitte beachten Sie, dass die genaue Syntax und Verwendung dieser Funktionen je nach Programmiersprache variieren kann. Es ist immer eine gute Praxis, die offizielle Dokumentation der jeweiligen Sprache zu konsultieren, um sicherzustellen, dass Sie die Funktionen korrekt verwenden.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
six1
Beiträge: 836
Registriert: Do 1. Jul 2010, 19:01

Re: ChatGPT gut für einfache Sachen.

Beitrag von six1 »

Ich habe das Beispiel von meinem Sohn (M. Sc.), der das selbst getestet hat.
Im Anhang in der aktuellen kostenlose Version 3.5 Stand Heute!:
Image1.jpg
(36.89 KiB) Noch nie heruntergeladen
Gruß, Michael

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

six1 hat geschrieben: So 23. Jun 2024, 10:35 Ich habe das Beispiel von meinem Sohn (M. Sc.), der das selbst getestet hat.
Im Anhang in der aktuellen kostenlose Version 3.5 Stand Heute!:

Image1.jpg
Kann ich bestätigen, habe es gerade auch probiert ...


Bildschirmfoto vom 2024-06-23 10-52-02.png
Bildschirmfoto vom 2024-06-23 10-52-02.png (15.88 KiB) 972 mal betrachtet
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
six1
Beiträge: 836
Registriert: Do 1. Jul 2010, 19:01

Re: ChatGPT gut für einfache Sachen.

Beitrag von six1 »

Demnach kann man wohl festhalten, dass die These: "ChatGPT gut für einfache Sachen" an der Realität gescheitert ist und unterstellen, dass dort nichts "intelligentes" am Werk ist.

...oder man muss "einfache Sachen" neu definieren :lol:
Gruß, Michael

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

six1 hat geschrieben: So 23. Jun 2024, 11:12 Demnach kann man wohl festhalten, dass die These: "ChatGPT gut für einfache Sachen" an der Realität gescheitert ist und unterstellen, dass dort nichts "intelligentes" am Werk ist.

...oder man muss "einfache Sachen" neu definieren :lol:
Intelligenz habe ich den Dingern wirklich nie unterstellt. Aber erwartet, dass es eine gewisse "Nützlichkeit" gäbe - das war ein Fehler. Echt schlecht, die Dinger ... :mrgreen:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ChatGPT gut für einfache Sachen.

Beitrag von Mathias »

Ich habe mal ChatGPT ein wenig hinausgefordert.
Ich fragte ihm folgendes;
ich will ein mehreckiges ausgefülltes polygon in in einzelne pixel in pascal rendern
Nach zig Anläufen hat er es hingekriegt ein Dreieck zu rendern.
Pixel hat er immer noch nicht gezeichnet, aber immerhin kamen Koordinaten mit Writeln raus.
Da steht noch ein weiter Weg bevor, bis man es ernsthaft brauchen kann.
Dateianhänge
Bildschirmfoto vom 2024-07-11 08-49-59.png
Bildschirmfoto vom 2024-07-11 08-49-59.png (7.51 KiB) 927 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

kirchfritz
Beiträge: 214
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: ChatGPT gut für einfache Sachen.

Beitrag von kirchfritz »

Ich habe ChatGPT folgende Frage gestellt:
wie liest man ein UInt32 mit Lazarus aus einem filestream

und dabei folgende Antwort erhalten

Um ein UInt32 (unsigned 32-bit integer) aus einem TFileStream in Lazarus zu lesen, können Sie die Methode Read des TFileStream-Objekts verwenden. Hier ist ein Beispiel, das zeigt, wie Sie einen UInt32-Wert aus einer Datei lesen:

Erstellen Sie ein neues Projekt in Lazarus.
Fügen Sie den folgenden Code in die Haupteinheit ein.

Code: Alles auswählen

program ReadUInt32FromFile;

uses
  Classes, SysUtils;

procedure ReadUInt32(const FileName: string);
var
  FileStream: TFileStream;
  Value: UInt32;
begin
  // Überprüfen, ob die Datei existiert
  if not FileExists(FileName) then
  begin
    WriteLn('Datei nicht gefunden: ', FileName);
    Exit;
  end;

  // Datei öffnen
  FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  try
    // Überprüfen, ob die Datei groß genug ist
    if FileStream.Size < SizeOf(UInt32) then
    begin
      WriteLn('Datei ist zu klein, um einen UInt32-Wert zu lesen.');
      Exit;
    end;

    // UInt32-Wert lesen
    FileStream.ReadBuffer(Value, SizeOf(UInt32));

    // Wert ausgeben
    WriteLn('Gelesener UInt32-Wert: ', Value);
  finally
    FileStream.Free;
  end;
end;

begin
  // Pfad zur Datei angeben
  ReadUInt32('path\to\your\file.bin');
end.
Erklärung des Codes
Überprüfung der Dateiexistenz:

Code: Alles auswählen

if not FileExists(FileName) then
begin
  WriteLn('Datei nicht gefunden: ', FileName);
  Exit;
end;
Dies stellt sicher, dass die Datei existiert, bevor versucht wird, sie zu öffnen.

Öffnen der Datei:

Code: Alles auswählen

FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
Dies öffnet die Datei im Lese-Modus und erlaubt keine anderen Schreibzugriffe.

Überprüfen der Dateigröße:

Code: Alles auswählen

if FileStream.Size < SizeOf(UInt32) then
begin
  WriteLn('Datei ist zu klein, um einen UInt32-Wert zu lesen.');
  Exit;
end;
Dies stellt sicher, dass die Datei groß genug ist, um einen UInt32-Wert zu enthalten.

Lesen des UInt32-Wertes:

Code: Alles auswählen

FileStream.ReadBuffer(Value, SizeOf(UInt32));
Dies liest die 4 Bytes des UInt32-Wertes aus der Datei und speichert sie in der Variable Value.

Ausgabe des gelesenen Wertes:

Code: Alles auswählen

WriteLn('Gelesener UInt32-Wert: ', Value);
Nutzung des Codes
1.) Ersetzen Sie path\to\your\file.bin durch den tatsächlichen Pfad zu Ihrer Binärdatei.
2.) Kompilieren und führen Sie das Programm aus.
Dieses Beispiel zeigt, wie Sie einen UInt32-Wert aus einer Datei mit TFileStream in Lazarus lesen können. Sie können diesen Code anpassen, um mehrere UInt32-Werte zu lesen oder die Datei weiter zu verarbeiten

***************************************************************************************
ENDE DER ANTWORT VON CHATGPT
***************************************************************************************

Also ich war begeistert von der ausführlichen Antwort.
Zugegeben: Die Frage war einfach, aber in diesem Thread geht es auch um "einfache Sachen"
Und am besten fand ich: die Erklärung der Antwort wird gleich mitgeliefert. Für Programmier-Anfänger am Anfang optimal.

Benutzeravatar
six1
Beiträge: 836
Registriert: Do 1. Jul 2010, 19:01

Re: ChatGPT gut für einfache Sachen.

Beitrag von six1 »

bleibt die Frage: Kann ich mich als Anfänger darauf verlassen, dass das alles so stimmt?
Gruß, Michael

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

six1 hat geschrieben: Do 11. Jul 2024, 11:57 bleibt die Frage: Kann ich mich als Anfänger darauf verlassen, dass das alles so stimmt?
Nein.

Alle Nichtanfangende aber auch nicht ... :mrgreen:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ChatGPT gut für einfache Sachen.

Beitrag von Mathias »

Also ich war begeistert von der ausführlichen Antwort.
Zugegeben: Die Frage war einfach, aber in diesem Thread geht es auch um "einfache Sachen"
Und am besten fand ich: die Erklärung der Antwort wird gleich mitgeliefert. Für Programmier-Anfänger am Anfang optima
Was für einen ChatGPT verwendet ihr ?
Ich habe es mit folgendem probiert : https://seoschmiede.at/aitools/chatgpt-tool/
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
six1
Beiträge: 836
Registriert: Do 1. Jul 2010, 19:01

Re: ChatGPT gut für einfache Sachen.

Beitrag von six1 »

Niesi hat geschrieben: Do 11. Jul 2024, 12:47
six1 hat geschrieben: Do 11. Jul 2024, 11:57 bleibt die Frage: Kann ich mich als Anfänger darauf verlassen, dass das alles so stimmt?
Nein.

Alle Nichtanfangende aber auch nicht ... :mrgreen:
Hmm also [Kantsche Imperativ] Anfänger und Nicht-[Kantsche Imperativ] Anfänger wäre dann while (1) do writln('Man kann sich nicht drauf verlassen')
:mrgreen:
Gruß, Michael

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

six1 hat geschrieben: Do 11. Jul 2024, 13:37
Niesi hat geschrieben: Do 11. Jul 2024, 12:47
six1 hat geschrieben: Do 11. Jul 2024, 11:57 bleibt die Frage: Kann ich mich als Anfänger darauf verlassen, dass das alles so stimmt?
Nein.

Alle Nichtanfangende aber auch nicht ... :mrgreen:
Hmm also [Kantsche Imperativ] Anfänger und Nicht-[Kantsche Imperativ] Anfänger wäre dann while (1) do writln('Man kann sich nicht drauf verlassen')
:mrgreen:
Ja.

Und ist bei mir durch Erfahrung belegt. Es kommt nur Quatsch raus, es sei denn, die LLM kann eine Lösung direkt von irgendwoher kopieren. Aber selbst dann: MUSS eine kopierte Lösung eine richtige Lösung sein? :mrgreen:
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 560
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon, Laz 3.8 Fpc 3.2.3 und allerlei mit FpcUpDeLuxe
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von Niesi »

Hier mal ein interessanter Artikel zu sogenannter "KI": https://gnulinux.ch/zum-wochenende-von- ... nd-alpakas

Es geht unter anderem um eine Studie, die belegt, dass die Modelle kollabieren, wenn sie mit rekursiven Daten "trainiert" werden.

https://www.nature.com/articles/s41586-024-07566-y

Und das Fazit im Beitrag von GNU/Linux ist nicht nur interessant, sondern extrem bedenklich, weil damit auch Gefahren verbunden sind.
Ich bin gespannt, ob das so kommt ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6661
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: ChatGPT gut für einfache Sachen.

Beitrag von af0815 »

Danke für den Input. Die Artikel sind wirklich Interessant.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6779
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: ChatGPT gut für einfache Sachen.

Beitrag von Mathias »

Ich habe gerade einen Versuch gemacht.
Ich habe gesagt, er solle diese Beispiel auf Pascal übersetzen.
https://gstreamer.freedesktop.org/docum ... language=c
Ich musste nur der Uses Klausel auf gtk2 anpassen. Ein paar GTK3 Widget-Elemente auf GTK2 anpassen.
Und siehe da, das Video wurde abgespielt, obwohl er unten am Programm eine gstreamer Inizialisationen abgeschnitten hatte.
Der weis anscheinend, was nicht zwingend gebraucht wird.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Gesperrt