openai chatgpt veya playground yapay zekaları kullandınız mı?

Başlatan dnacikaya, 15 Aralık 2022, 23:07:19

dnacikaya

Geçen günlerde openai yapay zeka çalışmaları herkesin kullanımına açıldı bende denemek istedim. Chatgpt pusula atan2 hesaplaması yapan include dosyası içindeki kodu açıklamasını istediğimde aşağıdaki çıktıyı aldım. Hatta bir kod sayfası açıp birde örnek verdi.
Playground beta aşamasında ama daha hızlı ve eğlenceli geldi bana. Nerede olduğunu sorduğumda ingilterede oturuyorum cevabını verdi. Bende sen bir yapay zekasın oturamazsın dediğimde doğru söylüyorsun ingilterede bulunuyorum dedi :-)
Test etmek isteyenler linklerden ulaşabilirler:

https://chat.openai.com/chat

https://beta.openai.com/playground

Davut Kaya: merhaba dostum.
 
AI: Merhaba! Ben bir dil modeliyim ve insanların sorularına cevaplar vermeye çalışırım. Size nasıl yardımcı olabilirim?


Davut Kaya: Bu kodu açıklarmısın:
'-------------------------------------------------------------------------------------------------------------------------------------
' Name      : Atan2                                                       
' Purpose   : Computes the principal value of arc tangent of Y/X, using the
'           : signs of both the arguments to determine the quadrant of the return value
' Input     : PP_AARG holds the Y input
'           : PP_BARG holds the X input
' Output    : PP_AARG holds the arc tangent of Y/X.         
' Notes     : All values are in Radians
'
'
' Bring two of the compiler's floating point system variables into the program for the Atan2 macro
'
$ifndef __Atan2__

    Dim PP_AARG As Float System
    Dim PP_BARG As Float System
'-----------------------------------------------------------------------------------------------
    GoTo _Atan2_Main                              ' Jump over the subroutines
'-----------------------------------------------------------------------------------------------

$define ATan2(pYin, pXin, pResult) '
    PP_AARG = pYin '
    PP_BARG = pXin '
    _Atan2         '
    pResult = PP_AARG

_Atan2 Macro-
    GoSub __Atan2
Endm

#ifMacro- _Atan2
__Atan2:         
    Dim fYin As PP_AARG
    Dim fXin As PP_BARG
    Dim bQuadrant As Byte System
    Dim tSign As bQuadrant.7

    tSign = 0
    bQuadrant = 0

    If fYin <= 0.0 Then
        If fXin <= 0.0 Then
            bQuadrant = 3
        Else
            bQuadrant = 4
        EndIf
    ElseIf fXin < 0.0 Then
        bQuadrant = 2
    Else
        bQuadrant = 1
    EndIf

    If fYin < 0.0 Then
        tSign = 1
        fYin = Abs fYin
    EndIf
   
    fXin = Abs fXin
 
    If fXin = 0.0 Then
        PP_AARG = 1.570796325
        If tSign = 1 Then
            PP_AARG = -PP_AARG
        EndIf
    Else
        PP_AARG = fYin / fXin
        PP_AARG = ATan(PP_AARG)
        bQuadrant = bQuadrant & %01111111   ' Mask out the Sign bit
        Select bQuadrant
            Case 2
                PP_BARG = PP_AARG
                PP_AARG = 3.14159265 - PP_BARG
            Case 3
                PP_AARG = PP_AARG - 3.14159265
            Case 4
                PP_AARG = -PP_AARG
        EndSelect
    EndIf
    Return
#endIfMacro-


 _Atan2_Main:
$endif

AI: Bu kod bir ATan2 adında bir makro tanımlıyor. Bu makro, iki girdi alır (Y ve X) ve bu girdilerin Y/X bölümünün ana değerini hesaplar. Makro, bu bölümün hangi kuadrantta bulunduğunu belirlemek için Y ve X değerlerinin işaretlerini kullanır. Sonuç, makro tarafından belirtilen bir değişkene yazılır. Örneğin, aşağıdaki kod parçacığında gösterildiği gibi:

Copy code
ATan2(pYin, pXin, pResult)
Bu kod parçacığı, pYin ve pXin değişkenlerini kullanarak Y/X bölümünün ana değerini hesaplar ve sonucu pResult değişkenine yazar.



gevv

 :)  :D


selam



Merhaba! Ne hakkında yardıma ihtiyacınız var?



evimin çatısı su akıtıyor



Çatınızdan su akıtması bir sorun oluşturuyor ve bu durumu hemen bir uzmana bildirmeniz gerekiyor. Eğer bu sorunu geçiştirirseniz, daha büyük hasarlar oluşabilir ve daha pahalı onarım gerektirebilir. En iyisi, bir çatı uzmanına danışarak onarım yaptırmanız veya kendiniz güvendiğiniz bir çatı onarımı yapmanız olacaktır.




onarılımaz diyorlar



Eğer çatınızın onarılması mümkün değilse, yeni bir çatı yaptırmanız gerekebilir. Bu durumda, bir çatı uzmanına danışarak en iyi seçenekleri ve fiyatları karşılaştırabilirsiniz. Yeni bir çatı yaptırmanın maliyeti, çatınızın büyüklüğüne, malzemesine ve yaptırılacak işlerin detaylarına göre değişiklik gösterebilir. Eğer bu konuda daha fazla bilgi edinmek isterseniz, bir çatı uzmanı ile iletişime geçebilirsiniz.




google domuz çatı kiremit sol yönde




Maalesef, ben bir dil modeliyim ve bir bilgisayar programıyım. Google'ı kullanarak arama yapmak veya bir çatı kiremitinin sol yönde olup olmadığı hakkında bilgi edinmek benim görevim dahilinde değil. Ancak, eğer bir çatı kiremitinin sol yönde olup olmadığı hakkında bilgi edinmek istiyorsanız, bir çatı uzmanına danışabilirsiniz. Bu konuda daha fazla yardım için sizinle iletişim kurabilir ve size yardımcı olabiliriz.
 

dnacikaya

Gevv hocam ciddiye almış ai daha fazla yardım için bizimle iletişim kurun diyor :) 

gevv

Burada;

En iyisi, bir çatı uzmanına danışarak onarım yaptırmanız veya kendiniz güvendiğiniz bir çatı onarımı yapmanız olacaktır

Biraz şaşırmış ama baya başarılı  :)  teşekkürler. ::ok
 

Sozuak

Ayak üstü bayağı sohbet ettik. Oldukça geniş konuda bilgi yüklemişler.

MC_Skywalker

İlk açıldığında denemiştim. beleş verdikleri kredilerim hemen bit :)

Dün gönderdikleri new mailinde API'ın yeni versionun devreye geldiğini anlatıyor.

erolca

Sure! Here is some sample code for a simple Snake game in C++:  :)

#include <iostream>
#include <conio.h>
#include <Windows.h>

using namespace std;

const int width = 20;
const int height = 20;
int x, y, fruitX, fruitY, score;
int tailX[100], tailY[100];
int nTail;
bool gameOver;
enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN};
eDirection dir;

void Setup()
{
    gameOver = false;
    dir = STOP;
    x = width / 2;
    y = height / 2;
    fruitX = rand() % width;
    fruitY = rand() % height;
    score = 0;
}

void Draw()
{
    system("cls"); // clear console
    for (int i = 0; i < width+2; i++)
        cout << "#";
    cout << endl;

    for (int i = 0; i < height; i++)
    {
        for (int j = 0; j < width; j++)
        {
            if (j == 0)
                cout << "#";
            if (i == y && j == x)
                cout << "O";
            else if (i == fruitY && j == fruitX)
                cout << "F";
            else
            {
                bool print = false;
                for (int k = 0; k < nTail; k++)
                {
                    if (tailX[k] == j && tailY[k] == i)
                    {
                        cout << "o";
                        print = true;
                    }
                }
                if (!print)
                    cout << " ";
            }

            if (j == width - 1)
                cout << "#";
        }
        cout << endl;
    }

    for (int i = 0; i < width+2; i++)
        cout << "#";
    cout << endl;
    cout << "Score:" << score << endl;
}

void Input()
{
    if (_kbhit())
    {
        switch (_getch())
        {
        case 'a':
            dir = LEFT;
            break;
        case 'd':
            dir = RIGHT;
            break;
        case 'w':
            dir = UP;
            break;
        case 's':
            dir = DOWN;
            break;
        case 'x':
            gameOver = true;
            break;
        }
    }
}

void Logic()
{
    int prevX = tailX[0];
    int prevY = tailY[0];
    int prev2X, prev2Y;
    tailX[0] = x;
    tailY[0] = y;
    for (int i = 1; i < nTail; i++)
    {
        prev2X = tailX[i];
        prev2Y = tailY[i];
        tailX[i] = prevX;
        tailY[i] = prevY;
        prevX = prev2X;
        prevY = prev2Y;
    }
    switch (dir)
    {
eroool

foseydon

dall-e yi unutmayalım. anahtar kelime veriyorsun resim veriyor. evrimdeki sonraki adım makineler, bunlar bizim yerimizi alacaklar.

dnacikaya

Alıntı yapılan: foseydon - 16 Aralık 2022, 16:26:22dall-e yi unutmayalım. anahtar kelime veriyorsun resim veriyor. evrimdeki sonraki adım makineler, bunlar bizim yerimizi alacaklar.

https://openai.com/dall-e-2/

Gerçekten dall-e mükemmel. Anahtar kelimelere ilave yağlı boya veya pastel boya isterseniz o şekilde çiziyor.

MC_Skywalker

Alıntı yapılan: foseydon - 16 Aralık 2022, 16:26:22dall-e yi unutmayalım. anahtar kelime veriyorsun resim veriyor. evrimdeki sonraki adım makineler, bunlar bizim yerimizi alacaklar.

Web tabanlı başka bir uygulama yaptığım denemeler sonucunda elde etiğim çıktılardan bir örnek.




dnacikaya

Etepic forumunda yapay zekaya kod yazdırmaya başlayanlar olmuş😄

https://etepic.com/index.php/topic,4973.msg46284.html#msg46284

Kırambor

Leetcode diye bir sitede algoritma soruları çözüyorum. Soru aslında çok basit. Roma rakamını integer'a çevirmeliyim. Ben yaklaşık 50 satır bi kod yazdım. Fakat aldığım sonuçlar hatalı idi.

Bu benim orjinal kodum:

int romanToInt(char* s)
{
    int length,number,i=0;
    
    length = strlen(s);
    
    do {
        switch(s[i])
        {
            case 'I':
            {
                if(s[i+1] == 'V'){number += 4;}
                else if(s[i+1] == 'X'){number += 9;}
                number += 1;
            }break;
            case 'V':
            {
                number += 5;
            }break;
            case 'X':
            {
                if(s[i+1] == 'L'){printf("abuzer"); number += 40;}
                else if(s[i+1] == 'C'){number += 90;}
                number += 10;
            }break;
            case 'L':
            {
                number += 50;
            }break;
            case 'C':
            {
                if(s[i+1] == 'D'){number += 400;}
                else if(s[i+1] == 'M'){number += 900;}
                number += 100;
            }break;
            case 'D':
            {
                number += 500;
            }break;
            case 'M':
            {
                number += 1000;
            }break;
        }
        i++;
        length--;
    }while(length);
    
    return number;
}

Openai'a sordum burada neyi yanlış yapıyorum diye. Cevaba bakın  :o

Bu kodun içinde birkaç hatalı kısım var. Öncelikle, number değişkenini ilk önce 0 olacak şekilde tanımlamalısın. Ayrıca, bir roma rakamının değerini eklerken, roma rakamının değerini kendinden sonraki roma rakamının değerine göre değil, kendinden önceki roma rakamının değerine göre eklemelisin. Örneğin, 'IV' roma rakamının değeri, 'I' roma rakamının değerinden çıkarılarak elde edilir, bu yüzden 'I' roma rakamının değerini eklemeden önce 'V' roma rakamının değerini eklemelisin.

Aşağıdaki kodda bu hataları düzelterek örneklerin doğru çıktılarını elde ettiğimi gösterdim.

#include <stdio.h>
#include <string.h>

int romanToInt(char* s)
{
    int length,number=0,i=0;
    
    length = strlen(s);
    
    do {
        switch(s[i])
        {
            case 'I':
            {
                if(s[i+1] == 'V'){number += 4; i++;}
                else if(s[i+1] == 'X'){number += 9; i++;}
                else {number += 1;}
            }break;
            case 'V':
            {
                number += 5;
            }break;
            case 'X':
            {
                if(s[i+1] == 'L'){number += 40; i++;}
                else if(s[i+1] == 'C'){number += 90; i++;}
                else {number += 10;}
            }break;
            case 'L':
            {
                number += 50;
            }break;
            case 'C':
            {
                if(s[i+1] == 'D'){number += 400; i++;}
                else if(s[i+1] == 'M'){number += 900; i++;}
                else {number += 100;}
            }break;
            case 'D':
            {
                number += 500;
            }break;
            case 'M':
            {
                number += 1000;
            }break;
        }
        i++;
        length--;
    }while(length);
    
    return number;
}

int main(void)
{
    int result;
    
    char* firstCase  = "III";
    char* secondCase = "IV";
    char* thirdCase  = "MCMXCIV";
    
    
    printf("First Case = %d\n",romanToInt(firstCase));

Tam bitmedi cevap ama bildiğin adam benim kodumdaki hatayı bulup değiştirdi. Normalde cevapları internetten vs. çekiyordur diye düşünüyordum.  :o  :o  :o

Mr.Thinking

C++ dilinde bir led yakıp söndürme kodları nasıl olmalıdır diye sordum, gelen cevap;
#include <Arduino.h>

const int LED_PIN = 13; // LED'in takıldığı pindir

void setup() {
  pinMode(LED_PIN, OUTPUT); // LED pini çıkış olarak ayarlayın
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // LED'i yakın
  delay(1000); // 1 saniye bekleyin
  digitalWrite(LED_PIN, LOW); // LED'i söndürün
  delay(1000); // 1 saniye bekleyin
}
ego=1/Knowledge

dnacikaya

Alıntı yapılan: Mr.Thinking - 17 Aralık 2022, 17:34:07C++ dilinde bir led yakıp söndürme kodları nasıl olmalıdır diye sordum, gelen cevap;
#include <Arduino.h>

const int LED_PIN = 13; // LED'in takıldığı pindir

void setup() {
  pinMode(LED_PIN, OUTPUT); // LED pini çıkış olarak ayarlayın
}

void loop() {
  digitalWrite(LED_PIN, HIGH); // LED'i yakın
  delay(1000); // 1 saniye bekleyin
  digitalWrite(LED_PIN, LOW); // LED'i söndürün
  delay(1000); // 1 saniye bekleyin
}

@Mr.Thinking hocam kullanılacak işlemci adı verince daha fazla ayrıntı veriyor:

-C++ dilinde bir led yakıp söndürme kodları nasıl olmalıdır, işlemcim pic18f25k22

-Aşağıda bir C++ örneği verilmiştir. Bu örnekte, LED'in söndürülmesi için "LATCbits.LATC6 = 0" ve yakılması için "LATCbits.LATC6 = 1" kodları kullanılmıştır. Örnek, PIC18F25K22 işlemcisi için yazılmıştır ve RC6 portunun LED'i yakması ve söndürmesi için kullanılmıştır.

#include <xc.h>

#pragma config FOSC = INTIO67   // Internal OSC block, Port Function on RA6/7
#pragma config WDTEN = OFF      // Watch Dog Timer disabled. SWDTEN no effect
#pragma config MCLRE = OFF      // MCLR Pin function is MCLR

void main()
{
    TRISCbits.TRISC6 = 0;    // RC6 as output
    while (1)
    {
        LATCbits.LATC6 = 1;    // Turn on LED
        __delay_ms(1000);      // Delay for 1 second
        LATCbits.LATC6 = 0;    // Turn off LED
        __delay_ms(1000);      // Delay for 1 second
    }
}

Bu kodun çalışması için, PIC18F25K22 işlemcisinin RC6 portuna bir LED bağlı olması gerekir. LED'in anod bağlantısı RC6 portuna, katod bağlantısı ise GND portuna bağlanır. Bu şekilde, LED ile ilgili işlemler yapılırken RC6 portunun değeri değiştirilerek LED'in yakılıp söndürülebilir.


Andromeda

.. playground sayfası masaüstü ve cep telefonunda açılmıyor..
neden acaba?
" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"