ryuchan00 / basic_programing

UEC
0 stars 0 forks source link

7 教えてくれセブンスムーン #7

Open hayato0718 opened 4 years ago

hayato0718 commented 4 years ago

まちがい


ク     fillcircle(50, 50, 50, 0, 255, 0)
シ     fillrect(150, 100, 100, 100, 255, 0, 0)
ウ     writeimage('pic.ppm')
イ end
hayato0718 commented 4 years ago

せいかい


ク   fillcircle(50, 50, 50, 0, 255, 0)
タ   fillrect(150, 50, 100, 100, 0, 255, 0)
ウ   writeimage('pic.ppm')
イ end 
hayato0718 commented 4 years ago

まちがい


オ     fillcircle(50, 100, 50, 255, 0, 0)
セ     fillrect(50, 50, 100, 100, 0, 255, 0)
ス     fillrect(175, 50, 50, 100, 0, 255, 0)
ウ     writeimage('pic.ppm')
イ end
hayato0718 commented 4 years ago

せいかい


セ   fillrect(50, 50, 100, 100, 0, 255, 0)
カ   fillcircle(100, 50, 50, 255, 0, 0)
タ   fillrect(150, 50, 100, 100, 0, 255, 0)
ウ   writeimage('pic.ppm')
イ end
ryuchan00 commented 4 years ago

おれはガムリン

ryuchan00 commented 4 years ago

バブルソート

https://youtu.be/WY-_iKLNhA0

ryuchan00 commented 4 years ago
def arrayminrange(a, i, j)
  min = i
  (i..j).each do |k|
    min = k if a[min] > a[k]
  end
  return min
end

def selectionsort(a)
  a.each_index do |i|
    min = arrayminrange(a, i, a.size - 1)
    swap(a, i, min)
  end
  return a
end

p arrayminrange([100, 2, 5, 10], 1, 3)
p selectionsort([100, 5, 4, 10, 1])
ryuchan00 commented 4 years ago

sortめちゃ楽しい

hayato0718 commented 4 years ago

うーん、ざこですみません。。。。


学籍番号:1920003
氏名:伊東 隼人
ペア学籍番号・氏名(または「個人作業」):
提出日付:2019/12/2

[作成したプログラム]

def swap(a, i, j)
  x = a[i]; a[i] = a[j]; a[j] = x
end

def bubblesort(a)
  done = false
  while !done do
    done = true
    0.step(a.length-2) do |i|
      if a[i] > a[i+1] then swap(a, i, i+1); done = false end
    end
  end
end

def randarray(n)
  return Array.new(n) do rand(10000) end
end

def bench
  t1 = Process.times.utime   
  yield
  t2 = Process.times.utime   
  return t2-t1               
end

[簡単な説明]
時間の計測をした。

[複数のサイズでの計測結果]

<pre>=&gt; true
irb(main):011:0&gt; a = randarray(1000); bench do bubblesort(a) end
=&gt; 0.07999999999999999
irb(main):012:0&gt; a = randarray(2000); bench do bubblesort(a) end
=&gt; 0.32000000000000006
irb(main):013:0&gt; a = randarray(3000); bench do bubblesort(a) end
=&gt; 0.69
irb(main):014:0&gt; a = randarray(4000); bench do bubblesort(a) end
=&gt; 1.2400000000000002

みたいな感じになった。

[アンケート]
Q1. 整列アルゴリズムを少なくとも1つは理解しましたか。
わからないで、消化不良でした。

Q2. 時間を計測してみてどう思いましたか。
配列を数える道筋で時間が全然ちがうんだと思いました。

Q3. リフレクション(今回の課題で分かったこと)・感想・要望をどうぞ。
消化不良でした。自宅で環境つくってやってみます。