見出し画像

【ぼっち必見】GS広報担当、ChatGPTにハマる

こんばんは。
ガレージスタンダード 広報担当です。

不可抗力ぼっちな広報担当が、ちょっと前くらいからハマっているものがあります。
それがこちら!

ChatGPT

https://chat.openai.com/

なにこれ?ってなりますよね。
詳しく説明します。

ChatGPT(チャットジーピーティー、英語: Chat Generative Pre-trained Transformer)は、OpenAIが2022年11月に公開した人工知能チャットボットであり、生成AIの一種。

Wikipediaより

広報担当も、最初聞いた時は「そんなに面白いものなの?」って感じだったんですけど、このシステム本当にすごいんですよ。

文章校正をしてくれたり、プログラミングコードや名称の案を書いてくれたり、わからない用語の具体的な説明を書いてくれたり。
とにかくとても便利なんです。
広報担当は友達のように相談できるところが好きで、その瞬間だけはぼっちなことを忘れられるので活用させていただいてますw

たまに正確じゃない情報が入ってくることがありますので、おすすめの使い方はネーミングやソースコードの記載案をもらう使い方です。

例えば、ChatGPTに
「植松 という苗字に合う名前の案をください。姓名判断でいい結果のものが欲しいです。」
と聞いてみることにしましょう。

すると、ChatGPTは以下のように出します。


「植松」姓に合った名前を選ぶために、姓名判断を考慮することは理にかなったアイデアです。ただし、姓名判断は主観的で、個人の信念や好みに依存する要素も含まれています。以下は、一般的な姓名判断の原則に基づいて、いくつかの名前の提案を示します。ただし、最終的な選択はご自身や家族の好みに合わせて行ってください。

「植松」姓の一般的な特徴:姓名判断において、姓と名前のバランスが重要です。姓「植松」は、「植」の字が豊かな自然を連想させる要素であるため、名前にも自然や平和を意味する字を含めることが考えられます。
「松」の字は、長寿や健康を象徴することから、名前に長寿や幸福を願う字を組み合わせることも一つのアイデアです。


男の子の名前:大和(やまと):日本の伝統や文化を表現し、平和な大地を連想させます。
和夫(かずお):調和と幸福を意味し、姓「植松」とのバランスが取れています。


女の子の名前:美和(みわ):美しさと調和を表現し、姓「植松」との調和が取れています。
幸子(さちこ):幸せな未来を願い、長寿を象徴する「子」の字を含めています。


これらの名前は、姓名判断の一般的な原則に従った提案です。名前の選択には個人的な感情や信念も関与しますので、ご家族とよく相談し、お子様にぴったりの名前を選んでください。

ChatGPTからの回答

といった具合に、案を出してくれたりします。
内容もそれなりに納得のいく内容なので、参考になります。

その他、ソースコードの例を記載してくれたりもします。

質問内容を、
「Javaで自動販売機の仕組みを簡単にプログラミングしたい。疑似コードを作って欲しい」
としました。


自動販売機の簡単な仕組みをJavaでプログラム化するための疑似コードを以下に示します。このコードは、商品のリスト、お金の投入、商品の購入、おつりの返却など、基本的な機能を備えたシンプルな自動販売機をシミュレートします。

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class VendingMachine {

    private Map<String, Item> items;
    private double balance;

    public VendingMachine() {
        items = new HashMap<>();
        balance = 0.0;
    }

    public void addItem(String code, String name, double price, int quantity) {
        items.put(code, new Item(name, price, quantity));
    }

    public void insertMoney(double amount) {
        balance += amount;
    }

    public void displayItems() {
        System.out.println("商品一覧:");
        for (Map.Entry<String, Item> entry : items.entrySet()) {
            Item item = entry.getValue();
            System.out.println(item.getCode() + ": " + item.getName() + " - 価格: " + item.getPrice() + "円 - 在庫: " + item.getQuantity() + "個");
        }
    }

    public void purchaseItem(String code) {
        Item item = items.get(code);
        if (item == null) {
            System.out.println("該当する商品がありません。");
        } else if (item.getQuantity() <= 0) {
            System.out.println("この商品は売り切れです。");
        } else if (balance < item.getPrice()) {
            System.out.println("お金が足りません。");
        } else {
            System.out.println(item.getName() + " を購入しました。");
            item.decrementQuantity();
            balance -= item.getPrice();
        }
    }

    public void returnChange() {
        System.out.println("おつりは " + balance + "円です。");
        balance = 0.0;
    }

    public static void main(String[] args) {
        VendingMachine vendingMachine = new VendingMachine();

        // 商品を追加
        vendingMachine.addItem("A01", "コーラ", 150.0, 5);
        vendingMachine.addItem("B02", "ポテトチップス", 100.0, 10);
        vendingMachine.addItem("C03", "チョコレート", 120.0, 7);

        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("1. お金を投入");
            System.out.println("2. 商品を選択");
            System.out.println("3. おつりを取得");
            System.out.println("4. 終了");
            System.out.print("選択してください: ");
            int choice = scanner.nextInt();

            switch (choice) {
                case 1:
                    System.out.print("お金を投入してください (円単位): ");
                    double money = scanner.nextDouble();
                    vendingMachine.insertMoney(money);
                    break;
                case 2:
                    vendingMachine.displayItems();
                    System.out.print("商品コードを入力してください: ");
                    String itemCode = scanner.next();
                    vendingMachine.purchaseItem(itemCode);
                    break;
                case 3:
                    vendingMachine.returnChange();
                    break;
                case 4:
                    System.out.println("ご利用いただき、ありがとうございました!");
                    return;
                default:
                    System.out.println("無効な選択です。");
            }
        }
    }
}

class Item {
    private String code;
    private String name;
    private double price;
    private int quantity;

    public Item(String name, double price, int quantity) {
        this.name = name;
        this.price = price;
        this.quantity = quantity;
    }

    public String getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public double getPrice() {
        return price;
    }

    public int getQuantity() {
        return quantity;
    }

    public void decrementQuantity() {
        quantity--;
    }
}

この疑似コードでは、自動販売機の基本的な機能が実装されており、コンソールからお金を投入し、商品を選択して購入し、おつりを取得することができます。商品の在庫管理も行われています。必要に応じてこのコードを拡張し、さまざまな機能を追加できます。

ChatGPTからの回答(上記ソースコードも含む)

このようにサンプルを記載してくれるので非常に参考になります。

その他にも、議事録をきれいにしてくれたり、エラーコードの理由を教えてくれたり、いろいろなことをお手伝いしてくれるので、何かあったらChatGPTに相談しています。

ただし、先ほども言ったように、たまに正確ではない情報を出してくることもあるので、利用する際は教科書やGoogle先生と並行して利用することがベストかと思います。

是非ともみなさん、使ってみてくださいね。

この記事が気に入ったらサポートをしてみませんか?