Skip to content

Instantly share code, notes, and snippets.

@xtetsuji
Created May 13, 2019 05:47
Show Gist options
  • Save xtetsuji/0fb2c1c32e3a2c3bd76d01e7b35c11fb to your computer and use it in GitHub Desktop.
Save xtetsuji/0fb2c1c32e3a2c3bd76d01e7b35c11fb to your computer and use it in GitHub Desktop.
2019/05/12 ピザ会の課題

2019/05/12 ピザ会の課題

正弦波 y = sin(x) を書く

参考例

  • 0.05秒に1回プロットする
  • x は 0 から pi/10 ずつ増えていく
  • sin(x) は -1 から 1 までの値を取るので、10倍して +10 すると 0 から 20 までの値となる。これの整数部分の個数 "*" を描く
    • int( 10 * sin ( $x ) + 10 )

Perl のヒント

  • sin 組み込み関数あり
    • ただし引数はラジアン
  • use Math::Trig qw(pi) すれば円周率 pi が使える
  • use Time::HiRes qw(sleep) とやると1秒未満の停止もできる賢い sleep が使える(sleep 0.05; とか書ける)

出力例

$ perl wave.pl
**********
*************
***************
******************
*******************
********************
*******************
******************
***************
*************
**********
*******
*****
**
*

*
**
*****
*******
**********
*************
***************
******************
*******************
********************
*******************
******************
***************
*************
**********
*******
*****
**
*

*
**
*****
*******
**********
*************
***************
******************
*******************
********************
*******************
******************
***************
*************
**********
*******
*****
**
*

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment