Autor Téma: zimomriavky (husi kuze) z openAI  (Přečteno 3972 krát)

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
zimomriavky (husi kuze) z openAI
« kdy: 23-12-2022, 19:50:29 »
otazka na openAI

mam

  POpenTagsRec = ^TOpenTagsRec;

  TOpenTagsRec = record
    tag: string;
    tagStyle: string;
    AfterOpen: integer ;
   
    Prior: POpenTagsRec;
    Next: POpenTagsRec;
end;

vytvor mi metodu ktora vymaze prvok z retazoveho zoznamu podla POpenTagsRec


odpoved openAI
Tu je metóda, ktorá spĺňa požiadavky vašej otázky:

Kód: Delphi [Vybrat]
  1. procedure DeleteFromList(var List: POpenTagsRec; Item: POpenTagsRec);
  2. begin
  3.   if (List = Item) then
  4.   begin
  5.     List := Item^.Next;
  6.     if Assigned(List) then
  7.       List^.Prior := nil;
  8.   end
  9.   else if Assigned(Item^.Prior) then
  10.   begin
  11.     Item^.Prior^.Next := Item^.Next;
  12.     if Assigned(Item^.Next) then
  13.       Item^.Next^.Prior := Item^.Prior;
  14.   end;
  15.   Item^.Next := nil;
  16.   Item^.Prior := nil;
  17. end;

Názov tejto metódy môže byť napríklad "DeleteFromList". Metóda prijíma ako parameter ukazovateľ na začiatok reťazového zoznamu a ukazovateľ na prvok, ktorý sa má zoznamu odstrániť. Vo vnútri metódy sa skontroluje, či sa prvok nachádza na začiatku zoznamu, a v prípade potreby sa nastaví ukazovateľ List na nasledujúci prvok v zozname. Potom sa nastavia ukazovatele Prior a Next vymazaného prvku na nil, čím sa prvok odstráni z reťazového zoznamu.

doplnujuca otazka na openAI
a uvolnenie prvku z pamate?

odpoved openAI
Ak chcete uvoľniť prvok z pamäte po odstránení z reťazového zoznamu, môžete pridať nasledujúci kód do metódy DeleteFromList:

Copy code
Kód: Delphi [Vybrat]
  1. Dispose(Item);
Táto operácia použije funkciu Dispose na uvoľnenie pamäte, ktorú alokuje prvok typu POpenTagsRec. Po odstránení prvku z reťazového zoznamu a uvoľnení pamäte sa prvok stane neplatným a nemôže byť použitý.

Uvedená metóda je len jedným z možných spôsobov, ako odstrániť prvok z reťazového zoznamu a uvoľniť pamäť. Existujú aj iné spôsoby, ako to môže byť vyriešené, v závislosti od vašich konkrétnych potrieb a požiadaviek.

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #1 kdy: 23-12-2022, 20:01:26 »
a ak bude potrebne vymaza posledny prvok?

odpoved:
Ak chcete odstrániť posledný prvok z reťazového zoznamu, môžete použiť nasledujúcu verziu metódy DeleteFromList:

Kód: Delphi [Vybrat]
  1. procedure DeleteFromList(var List: POpenTagsRec; Item: POpenTagsRec);
  2. begin
  3.   if (List = Item) then
  4.   begin
  5.     List := Item^.Next;
  6.     if Assigned(List) then
  7.       List^.Prior := nil;
  8.   end
  9.   else if Assigned(Item^.Prior) then
  10.   begin
  11.     Item^.Prior^.Next := Item^.Next;
  12.     if Assigned(Item^.Next) then
  13.       Item^.Next^.Prior := Item^.Prior;
  14.   end
  15.   else if Assigned(Item^.Next) then
  16.   begin
  17.     Item^.Next^.Prior := nil;
  18.   end;
  19.   Item^.Next := nil;
  20.   Item^.Prior := nil;
  21.   Dispose(Item);
  22. end;
Táto verzia metódy pridáva kontrolu, či sa prvok nachádza na konci zoznamu. V prípade, že sa prvok nachádza na konci zoznamu a má nasledujúci prvok, nastaví sa ukazovateľ Prior nasledujúceho prvku na nil.

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #2 kdy: 23-12-2022, 20:06:14 »
otazka:
dopn vstupne aj vystupne parametre o prvy a posledny prvok listu

odpoved:
Tu je upravená verzia metódy DeleteFromList, ktorá obsahuje vstupné a výstupné parametre pre prvý a posledný prvok reťazového zoznamu:

Kód: Delphi [Vybrat]
  1. procedure DeleteFromList(var List: POpenTagsRec; var First: POpenTagsRec;
  2.   var Last: POpenTagsRec; Item: POpenTagsRec);
  3. begin
  4.   if (List = Item) then
  5.   begin
  6.     List := Item^.Next;
  7.     if Assigned(List) then
  8.       List^.Prior := nil;
  9.   end
  10.   else if Assigned(Item^.Prior) then
  11.   begin
  12.     Item^.Prior^.Next := Item^.Next;
  13.     if Assigned(Item^.Next) then
  14.       Item^.Next^.Prior := Item^.Prior;
  15.   end
  16.   else if Assigned(Item^.Next) then
  17.   begin
  18.     Item^.Next^.Prior := nil;
  19.   end;
  20.   Item^.Next := nil;
  21.   Item^.Prior := nil;
  22.  
  23.   if (Item = First) then
  24.     First := Item^.Next;
  25.   if (Item = Last) then
  26.     Last := Item^.Prior;
  27.   Dispose(Item);
  28. end;
Táto verzia metódy pridáva vstupné a výstupné parametre pre ukazovatele na prvý a posledný prvok reťazového zoznamu. V prípade, že sa odstraňovaný prvok nachádza na začiatku alebo konci zoznamu, nastaví sa odpovedajúci ukazovateľ na nasledujúci alebo predchádzajúci prvok v zozname.

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #3 kdy: 23-12-2022, 20:11:21 »
sme v case bezdrotovej telegrafie s AI

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3466
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:zimomriavky (husi kuze) z openAI
« Odpověď #4 kdy: 24-12-2022, 11:48:23 »
já bych to nepřeceňoval,
a) je to v podstatě velmi znamá úloha
b) hodně lidí reportuje špatné výsledky
c) SO zakázal přijímat výsledky generované AI, protože obsahují kolikrát špatné řešení.

Na druhou stranu jsem viděl jak někdo požádal o funkci a pak požádal o její ASM verzi a následně požádal o optimalizaci. Bylo to zajímavé.
Embarcadero MVP - Czech republic

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #5 kdy: 25-12-2022, 17:41:26 »
pravdu povediac, mna viac zaujalo to pochopenie co chcem, a aj vysvetlujuca odpoved ... myslim ze ako "pisalek" je to parada, je to vyborne na hromadne upravy kodu, kde sa clovek lahko pomyli, a samozrejem aj na tu tvorbu, a to nie len kodu .... napisal mi aj rozpravku :), aj
Kód: Delphi [Vybrat]
  1. Vianočné haiku od openAI:
  2.  
  3. Snehobiela zima,
  4. Vianoce plné lásky a radosti,
  5. srdce sa rozvíja.

Offline vandrovnik

  • Padawan
  • ******
  • Příspěvků: 1569
  • Karma: 52
    • Verze Delphi: 11.3
Re:zimomriavky (husi kuze) z openAI
« Odpověď #6 kdy: 25-12-2022, 19:17:42 »
Excellent
Rated 1 time
pravdu povediac, mna viac zaujalo to pochopenie co chcem, a aj vysvetlujuca odpoved ... myslim ze ako "pisalek" je to parada, je to vyborne na hromadne upravy kodu, kde sa clovek lahko pomyli, a samozrejem aj na tu tvorbu, a to nie len kodu ....

Jenže jestli to (zatím?) je schopné vyprodukovat i chybný kód, tak mi připadá ve většině případů obtížnější to po někom nebo něčem zkontrolovat, než to napsat rovnou sám...

Offline karkojk

  • Mladík
  • **
  • Příspěvků: 55
  • Karma: 0
    • Verze Delphi: RAD Studio X5
Re:zimomriavky (husi kuze) z openAI
« Odpověď #7 kdy: 26-12-2022, 16:29:18 »
Taky jsem na to koukal, jak už komunikuje v češtině a dává to smysl, proto sdílím tu „husí kůži".
Nepřeceňuji to, grafiku raději budu dělat sám, ale není špatný tam nahodit svůj „problém" a pak po nasměrování ověřit „logiku" věci.
Taky bych si nechal navrhnout jednoduchou databázi, u které už jsem zapomněl „jak na to" a nemůžu se dokopat to hledat/zkoušet, smutné ;-).
Programování pro radost, prý to bystří mysl ;-)

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #8 kdy: 29-12-2022, 17:31:34 »
este by som doplnil, ze podla toho ako usmevne sklonuje slovencinu, (mimochodom podobne ako moj 8 rocny syn), nepozna vynimky, ale sklonuje to tak, ze by mohol zbavit nie len slovecinu vynimiek :)
ale toto som xcel, skonuje to ako male dieta, co aj v skutocnosti je, a predpokladam ze komunikaciou s ludmi sa vyvija a uci dalej ...
nie je to vsevedko, ale skor ucitel... aj ten sa pomyli

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:zimomriavky (husi kuze) z openAI
« Odpověď #9 kdy: 30-12-2022, 14:15:50 »
Jenže jestli to (zatím?) je schopné vyprodukovat i chybný kód
Urcite je. Ja to testoval v oblasti vyzivy drubeze a neco odpovedelo skutecne dobre, ze si to dovedu predstavit jako dalsi uroven ve vyhledavani, kdy Google jen vrati nejake predtrideny seznam odbornych praci + balast a clovek musel mit znalosti a/nebo se tim procist, aby se k takove odpovedi dostal. To bylo velmi pusobive.

Ovsem na druhou stranu k podobne problematice odpovedel nesmysl na urovni babickovskych idiocii.

Kdyz jsem odpoved odsouhlasil, tak chteli po me odpoved, kterou povazuju za optimalni, u nesouhlasu chteli vedet co se mi na tom nelibi a proc. Tak jsem ten stroj nakrmil (schvalne cesky, kdyz jsem to testoval cesky) a jsem zvedavy, jestli nektere ty odpovedi opravi.

Offline Daniel_Andrascik

  • Guru
  • *****
  • Příspěvků: 575
  • Karma: 20
    • Verze Delphi: D2007, D10.4
Re:zimomriavky (husi kuze) z openAI
« Odpověď #10 kdy: 02-01-2023, 13:10:03 »
Dovolim si citovat Martin Černohorskeho z FB skupiny o arduine: tu je povodny odkaz: https://www.facebook.com/groups/arduinoczsk/posts/1504727800011582/

Citace
Pro zajímavost: ChatGPT a Arduino

Tak jsem se rozhodl zkusit, co dokáže ChatGPT a rozhodl jsem se s ní zkusit následující projekt: (bez toho, aniž bych sám napsal řádku kódu)
zadání:

1. použij desku Wemos D1 s wifi a senzor BME280
2. odesílej data requestem na php skript (který napiš)
3. php skript zapíše data do MySQL databáze
4. na mém webu potom vygeneruj graf, který se bude aktualizovat v reálém čase (jazyk si zvol)

Jsem opravdu velmi překvapen, jelikož si to se vším poradilo naskrz všemi jazyky: tj. Arduino IDE, PHP, JavaScript (interaktivní graf) a SQL (databáze insertion)

Výsledek zde: https://yonedalemma.net/ (graf na mé main page, který se aktualizuje každou minutku)

Poznámky: bez ChatGPT bych to nenapsal, neumím ani špetku Javy. Opravdu jsem nebyl nucen napsat ani řádku kodu a všechny skripty vznikly copy+paste primo z okna ChatGPT, když jsem potřeboval změnu, vložil jsem stávající kód a požádal AI o opravu.  S ChatGPT je ale třeba mluvit jako s člověkem, který zapomíná, ale je opravdu skvělé v debugu.
Takže často se stalo, že kód jsem nahrál a nefungoval, ale! Potom jsem zkrátka popsal chybu, nebo zkopíroval ChatGPT chybovou hlášku a byla schopná korekce a problém se mnou vyřešit.

Doporučuji, fakt paráda a naučilo mě to spoustu nového.

Projekt, který bych dělal dlouhé dny jsem s ChatGPT dokončil za jeden večer a bez psaní kódu.

Osobne si myslim ze ChatGPT je skor len nova generacia vyhladavaca. Bude to asi neuronka ktora sa neprestajne krmi datami z internetu a uz je dost nakrmena na to aby dokazala vyriesit ulohu ako je ta od Martina Černohorskeho. Ale samozrejme internet je aj plny blbosti takze moze kludne poradit aj zle. Otazka je ci sa niekedy aj nauci ze to je naozaj zle, podobne ako to tu opisoval PF.

V kazdom pripade je zaujimava ta Martinova skusenost ze za jeden vecer urobil to co by robil mozno niekolko dni. Na druhu stranu, je otazne nakolko je ten kod optimalizovany. Keby tych merani chcel urobit stovky a nie jedno, tak kto vie ci by mu to cele neklaklo.

Cize si myslim ze na optimalizacie stale potrebujeme serioznych programatorov.

Som ale zvedavy ci to v buducnosti dokaze naprogramovat cely system ako napriklad e-healt a aj ho vyoptimalizovat. To potom asi pojdeme past ovecky

Offline František

  • Guru
  • *****
  • Příspěvků: 904
  • Karma: 8
    • Verze Delphi: comunity 10.4.2, D2007, D11
Re:zimomriavky (husi kuze) z openAI
« Odpověď #11 kdy: 03-01-2023, 21:37:48 »
presne aj ja mam tu istu skusenost ako Martin Černohorsky
tiez som ziadal a riesil a opravoval a reportoval az nakoniec som dostal za par hodin to, co by som asi sam riesil minimalne tyzden

ale dnes som dostal aj nezmyselnu (alebo usmevnu) odpoved (Debian):
Ak ani to nepomôže, môže byť potrebné skontrolovať, či sú v systéme nainštalované všetky potrebné balíčky pre prácu s nástrojom apt.
Môžete to urobiť pomocou príkazu sudo apt install apt.
« Poslední změna: 03-01-2023, 21:44:00 od František »

Offline Jan Fiala

  • Hrdina
  • ****
  • Příspěvků: 439
  • Karma: 6
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:zimomriavky (husi kuze) z openAI
« Odpověď #12 kdy: 04-01-2023, 10:51:04 »
Osobne si myslim ze ChatGPT je skor len nova generacia vyhladavaca. Bude to asi neuronka ktora sa neprestajne krmi datami z internetu a uz je dost nakrmena na to aby dokazala vyriesit ulohu ako je ta od Martina Černohorskeho. Ale samozrejme internet je aj plny blbosti takze moze kludne poradit aj zle. Otazka je ci sa niekedy aj nauci ze to je naozaj zle, podobne ako to tu opisoval PF.

V kazdom pripade je zaujimava ta Martinova skusenost ze za jeden vecer urobil to co by robil mozno niekolko dni. Na druhu stranu, je otazne nakolko je ten kod optimalizovany. Keby tych merani chcel urobit stovky a nie jedno, tak kto vie ci by mu to cele neklaklo.

Cize si myslim ze na optimalizacie stale potrebujeme serioznych programatorov.

Som ale zvedavy ci to v buducnosti dokaze naprogramovat cely system ako napriklad e-healt a aj ho vyoptimalizovat. To potom asi pojdeme past ovecky

Kdyby nebylo řešení přes ChatGPT, musel bys hledat v klasickém vyhledávači a kopírovat kód odsud. Když sleduješ současné projekty (hlavně z indických farem), tak tam se na optimalizaci už moc nehraje. Napsat to rychle, aby to fungovalo je dnes hlavní. Na optimalizaci na rychlost a velikost už se moc nehraje.

Zatím bude člověk minimálně potřebný pro analýzu problému a návrh řešení - to je ještě před vlastním programováním, ale i to se do budoucna může změnit.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 3527
  • Karma: 139
    • Verze Delphi: D2007, XE3, DX10
Re:zimomriavky (husi kuze) z openAI
« Odpověď #13 kdy: 04-01-2023, 13:53:46 »
Když sleduješ současné projekty (hlavně z indických farem), tak tam se na optimalizaci už moc nehraje. Napsat to rychle, aby to fungovalo je dnes hlavní. Na optimalizaci na rychlost a velikost už se moc nehraje.

Zatím bude člověk minimálně potřebný pro analýzu problému a návrh řešení - to je ještě před vlastním programováním, ale i to se do budoucna může změnit.

Clovece, my se skoro pred 30 lety zabyvali dost intenzivne dial-up modemy a uz v tech 90. letech jsme narazili na SW cina/taiwan provenience, kde analyzu omezili jen na skutecne nezbytne minimalni spolecne rozhrani a driver pro kazdy typ modemu nekdo vyprasil nezavisle na vsech ostatnich driverech v podstate od nuly, takze nektere jim fungovaly, nektere vubec... Velmi neinzenyrske, ale ve svete s dostatkem mene kvalifikovane pracovni sily nic neobvykleho. Zazil jsem, ze nikdo neresil znalosti a praxi: proste meli volneho cloveka, ktery to sice nikdy nedelal, tak mu priradili ukol a on se snazil nejak to vyprasit, pak ho klidne vzali a poslali prasit neco uplne jineho. Docela bes...

Na druhou stranu si od nas draho kupovali licenci :-)

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 3466
  • Karma: 112
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:zimomriavky (husi kuze) z openAI
« Odpověď #14 kdy: 04-01-2023, 14:08:32 »
Excellent
Rated 2 times
Zatím bude člověk minimálně potřebný pro analýzu problému a návrh řešení - to je ještě před vlastním programováním, ale i to se do budoucna může změnit.

K tomu bych jen dodal (z roku 2017) - https://pbs.twimg.com/media/DEYUKDyXoAAvaop?format=jpg
Embarcadero MVP - Czech republic