• 締切済み

十進BASICでのプログラム

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

みんなの回答

  • aptiva
  • ベストアンサー率36% (193/529)
回答No.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

  • don_cha
  • ベストアンサー率34% (139/407)
回答No.1

一筆書きの星型を作には、5以上の奇数の角形であることが前提で、あとはその角形の頂点を一つ飛ばし(飛ばす数も変えると形も形が変わります。但し(角数-1)/2以下の値)に右か左に結んでいけば、星になります。(紙面上で試してみてください。) 上記の角形の書き方、各頂点の結びを一つ一つプログラム化するのですがこの説明だけでOKなのか、それともプログラムを1ステップごとに説明しなけれならないのか(この場合だと、時間が沢山掛かります)、ちょっと判りません。 補足要求と言うことで一旦休みます。