性格いい人が優勝

星型五角形 あるいは, n を入力し, 星型 n 角形を描くのプログラムを書きたいのですが教えてください。

A 回答 (2件)

10進BASICってものがあるんですね。

知りませんでした。
面白そうなのでダウンロードして作ってみました。
邪道な事をしていますが、なんとか動いているようです。
星型奇数角形限定ですが。

REM 角度をDEGREE(度)に指定
OPTION ANGLE DEGREES

SET WINDOW 0,400,0,400
CLEAR

REM cx=中心X,cy=中心y,r=大きさ
LET cx=200
LET cy=200
LET r=200

LET px=cx+sin(0)*r
LET py=cy+cos(0)*r

PLOT LINES: px,py;

DO
INPUT PROMPT "3以上の奇数を入力してください ":n
LET n=INT(n)
LOOP WHILE n<3 OR INT(n/2)=(n/2)

FOR i=1 TO n
REM *2をしているのは、角を一個飛ばしで結ぶため(邪道です)
LET px=cx+SIN(360/n*i*2)*r
LET py=cy+COS(360/n*i*2)*r

PLOT px,py;
NEXT i

END
    • good
    • 0

一筆書きの星型を作には、5以上の奇数の角形であることが前提で、あとはその角形の頂点を一つ飛ばし(飛ばす数も変えると形も形が変わります。

但し(角数-1)/2以下の値)に右か左に結んでいけば、星になります。(紙面上で試してみてください。)

上記の角形の書き方、各頂点の結びを一つ一つプログラム化するのですがこの説明だけでOKなのか、それともプログラムを1ステップごとに説明しなけれならないのか(この場合だと、時間が沢山掛かります)、ちょっと判りません。

補足要求と言うことで一旦休みます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!