nadesi.com
ようこそ、ここは 日本語プログラミング言語「なでしこ」専門 のブログです。
近年、11月から12月にかけてYahoo知恵袋に似たような質問が投稿されます。
たぶんどこかの課題なのでしょう。2025年11月、2024年11月、2023年12月に見られます。
chiebukuro.yahoo.co.jp
Yahoo!知恵袋のプログラミングカテゴリにはなでしこv1に詳しい人は少なく、ほかのプログラム言語ができる人が答えているようです。
ここにはYahoo!知恵袋で 回答する人のための資料 を置いておきます。
ちょっとだけ基礎知識からいきますよ。
日本語プログラム言語「なでしこ」にはv1とv3がある
なでしこv1はwindows用のプログラム言語です。コンパイルしてexeファイルを作ることもできます。
なでしこv3は主にブラウザで動作するAltJS(JavaScriptの代替言語)です。js同様、htmlのscriptタグ内に書きます。またはNodeJSと連携して実行します。
なでしこv2は開発停止となったので存在しません。
文法がけっこう変化しており、 特に描画関連はゴッソリ変わっています。
質問される課題はおそらく なでしこv1 です。添付画像にwindowsのウィンドウが見られることでしょう。
質問が「なでしこボード」であればなでしこv3+独自拡張です。こちらへどうぞ。https://www.manabu-tech.net/nakopad/?load=nb04-sensor1.txt
現代ではプログラミング=AIに聞け、ですが、AIはおそらくなでしこv1とv3の違いに気づいていません。
さらになでしこの命令表にない自然言語をぶちこんできますから、文法エラーが頻発します。(2026/02/28時点)
なでしこv1の命令表はこちら→
なでしこ命令一覧〜機能順
なでしこv3の命令表はこちら→
📖 なでしこ3 マニュアル - 命令一覧/機能順
・なでしこの文法(v1,v3共通)の特徴1
なでしこでは、プログラム内にある全角英数文字は半角英数文字として動作します。
たとえば全角カッコ(は半角カッコ(として動きます。
算術記号=、+、-、*、/、なども半角同様になります。
関数名も CSV取得 は CSV取得 命令として動作します。
変数名も hoge と hoge は同じものを指します。
この仕様はプログラム初心者というより タイピング初心者向け でしょう。
・なでしこの文法(v1,v3共通)の特徴2
なでしこでは、書き方が2通り以上あることが多いです。
たとえば一行コメントには//、#、※、の記号が使えて、どれも同じ動作です。
値の代入、配列へのアクセス記号、関数呼び出しの方法が複数あります。
//←コメント記号 # ←コメント記号 ※ ←コメント記号
A=B。 AはB。 BをAに代入。// 値を代入する方法
A[0]。 A@0。 A¥0。 # 配列へのアクセス記号 [ ]、@、¥
Aを表示。 表示(A)。 ※ 関数呼び出し 引数・助詞・命令名、命令名(引数)
質問者の記法に寄り添って回答できるとエレガントです。
線をいっぱい描画する課題

仮に、IMEを日本語ローマ字打ちモード固定、テンキーのないノートPCでかき、変換(F7~F10キーを含む)をなるべくしない、という縛り(想定)で書くとこう書けます
#なでしこv1で実行可能
線太さは1
nを0から20まで繰り返す
xはn*20
yは400からxを引く
線色は赤色
x、0から0、yへ線
線色は青色
x、400から400、yへ線
他言語を習得されている方は下記のほうが読みやすいでしょうか。
//なでしこv1で実行可能
線太さ = 1
nを0から20まで繰り返す
x = n * 20
y = 400 - x
線色 = 赤色
線(x,0,0,y)
線色 = 青色
線(x,400,400,y)
どちらも実行可能で動作も同じ コードです。
タイピング初心者にとって楽なのは 見た目がへっぽこなほう です。
各行の説明に入ります。
線の色と太さの指定
//なでしこv1
線色は赤色
線太さは1
線色、線太さはシステム変数で、この値がのちの描画命令に影響します。
赤色や青色はなでしこv1の定数で、初期値としてRGB値($FF0000など)が入っています。
色定数は8つあり(残りは白色、黒色、水色、黄色、緑色、紫色)、それ以外は単なる変数となります。
たとえば「灰色」や「桃色」は定義されていないので、初期化していないグローバル変数となります。
赤色に線色設定や1に線太さ設定は、なでしこv3での書きかたです。
線を引く
//なでしこv1
0,0から400,0へ線 //x1,y1からx2,y2へ線
線を引く線命令は引数として数値4つをとります。
[10, 10]から[200, 100]まで線描画は、なでしこv3での書きかたです。線描画命令は引数を2つ(配列2個)とります。
ループ処理
//なでしこv1
hogeを0から20まで繰り返す
hogeを表示 //ループの内側(インデントが必要)
「完了」を表示 //ループの外側
なでしこv1のループ処理には「n回」「nをaからbまで繰り返す」「(真偽値式)の間」「arrayを反復」の文法があります。
今回は「繰り返す」でループするのがよいでしょう。
インデントをつけた部分がブロックとなります。
インデント記号は全角スペース が推奨されます。
半角スペースやタブでも動きますが、掲示板で表示が崩れるので全角スペースを使いましょう。
なでしこv3ではインデントはあってもなくてもよく、予約語ここまでがブロックの終端となります
//なでしこv3
hogeを0から20まで繰り返す
hogeを表示 //ループの内側(インデントはなくてもよい)
ここまで //予約語 ブロックの終端
「完了」を表示 //ループの外側
カクテルグラスの描画問題
- 緑の棒 (円、線)
- チェリー (円)
- ドリンク (網掛け三角形)
- グラス底 (網掛け楕円)
- グラス輪郭 (Y字に線をひく)
この順番で描画します。
難所だけ紹介
円と線だけでできる部分は除き、難所の描画だけ紹介します。
//なでしこv1
//3. ドリンク(網掛け三角形)
線太さは1
線色は白色 //枠の色
塗り色はRGB($cc,$33,$33) //内側の色 RGB値を返す関数 $は16進数の記号
塗りスタイルは「斜め十字線」 //網掛けの指定 べた塗りではない
px = 200 //起点 三角形下座標X
py = 175 //起点 三角形下座標Y
「{px},{py},{px-100},{py-100},{px+100},{py-100}」へ多角形 //三角形 下、左上、右上の座標
//4. グラス底(網掛け楕円)
線太さは2
線色は青色
塗色は青色
塗りスタイルは「横線」 //網掛けの指定
px=200 //中心点X
py=275 //円の左上座標
px-75,pyからpx+75,py+25へ円 //楕円
実行結果

あとはY字に線を引けばカクテルグラスの完成です。
網掛け(塗りスタイル)について
ドリンク部分の網掛けは 塗りスタイルを指定します。
//なでしこv1
塗りスタイルは「斜め十字線」
指定の文字列は「べた, 透明, 格子, 十字線, 縦線, 横線, 右斜め線, 左斜め線, 斜め十字線」のいずれかです。
システム変数である塗りスタイルの初期値は「べた」、つまりべた塗りです。
この情報はヘルプを見なくても、なでしこ付属の専用エディタで単語の補完(Ctrl+Space)をするとでてきます。

ドリンク部分は塗りスタイルは「斜め十字線」となります。
グラス底は塗りスタイルは「横線」でしょう。
円の描画について
//なでしこv1
0,0から30,30へ円 //x1,y1からx2,y2へ円
なでしこv1の円命令は 矩形の左上と右下 を指定します。
幅と高さが一致すれば正円となり、そうでなければ楕円になります。
中心点が[px,py]、半径rの正円を描きたい場合は
//なでしこv1
px=15
py=15
r=15
px-r,py-rからpx+r,py+rへ円 //x1,y1からx2,y2へ円
のように計算するとよいでしょう。
なでしこv3では[x,y]からrの円描画のように中心点と半径の指定となります。
三角形(多角形)について
ドリンク部分は三角形です。これを描画する命令は多角形となります。
多角形の引数は「カンマ区切りの文字列」です。
三角形の座標は3点あるので、6個の数値をカンマ区切りの文字列で指定します。
//なでしこv1
//下向きの三角形 x,y、x,y、x,yへ線を引き、塗りつぶす
「200,175,100,75,300,75」へ多角形
なでしこ3ではJSON記法の二次元配列となります。命令は多角形描画を使います
//なでしこv3
[[200,175],[100,75],[300,75]]の多角形描画
なでしこv1では線、円、四角、多角形
なでしこv3では線描画、円描画、四角描画、多角形描画
描画命令名および引数も変化しています。
(おまけ)なでしこのシンタックスハイライトについて
ブログの標準機能では生成できません。
なでしこで自作したものを使用して<span style="color:blue;">のようなhtmlタグを生成し色付けしています。
色付けタグ多用のため、この記事は内部で12000文字程度あることになっています。つらい。