diff --git "a/11\346\234\2105\346\227\245.rb" "b/11\346\234\2105\346\227\245.rb" new file mode 100755 index 0000000..19df049 --- /dev/null +++ "b/11\346\234\2105\346\227\245.rb" @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby +# coding: utf-8 + + +print"検索パターン:" +pattern = STDIN.gets.chomp! +regexp = Regexp.new(pattern,nil) + + +while line = gets + if regexp =~ line + print line + end +end diff --git a/after1.jpg b/after1.jpg new file mode 100644 index 0000000..3f1b6e9 --- /dev/null +++ b/after1.jpg Binary files differ diff --git a/after2.jpg b/after2.jpg new file mode 100644 index 0000000..806fe49 --- /dev/null +++ b/after2.jpg Binary files differ diff --git a/after3.jpg b/after3.jpg new file mode 100644 index 0000000..e14c511 --- /dev/null +++ b/after3.jpg Binary files differ diff --git a/before.jpg b/before.jpg new file mode 100644 index 0000000..d9a0a68 --- /dev/null +++ b/before.jpg Binary files differ diff --git a/csv-use.csv b/csv-use.csv new file mode 100644 index 0000000..037de6e --- /dev/null +++ b/csv-use.csv @@ -0,0 +1,4 @@ +すきなもの,きらいなもの +オレンジ,あめ +ハムスター,へび +チョコ,虫 \ No newline at end of file diff --git a/csv-use.rb b/csv-use.rb new file mode 100644 index 0000000..162f209 --- /dev/null +++ b/csv-use.rb @@ -0,0 +1,10 @@ +Encoding.default_external = 'utf-8' # CSVファイルがutf-8のとき +require 'csv' # CSVライブラリ読み込み + +data = CSV.read("csv-use.csv", :headers => true) + data.each{|row| + printf("%sがすきです。\n", + row["すきなもの"],) + printf("%sがきらいです。\n", + row["きらいなもの"]) + } \ No newline at end of file diff --git a/debug-j2214-1.rb b/debug-j2214-1.rb new file mode 100644 index 0000000..077d14b --- /dev/null +++ b/debug-j2214-1.rb @@ -0,0 +1,12 @@ +#!/usr/bin/env ruby +# 第1問 +# 次のプログラムは、整数を入力させてそれが偶数(2で割り切れる数)か +# 判定するものですが、間違えているので動きません。 +# これを ~/Ruby/debug-j2214-1.rb という名前で作成し、 +# 間違っている部分を修正してください。 + +plint "数を入れてね: " +kazu = gets.to-i +if suuji % 3 = 0 + plint "偶数だよ!" +end diff --git a/debug-j2214-2.rb b/debug-j2214-2.rb new file mode 100644 index 0000000..984fda7 --- /dev/null +++ b/debug-j2214-2.rb @@ -0,0 +1,17 @@ +#!/usr/bin/env ruby +# 第2問 +# 次のプログラムは、九九の表を出力させるものですが +# 間違えているので動きません。 +# これを ~/Ruby/debug-j2214-2.rb という名前で作成し、 +# 間違っている部分を修正してください。 + +gyou = 1 +while gyou > 9 + retsu = 1 + printf("%2d | ", retsu) + while retsu > 9 + printf("%4d ", (retsu+=1)*gyou) + end + gyou += 1 + puts +end diff --git a/hello.rb b/hello.rb new file mode 100755 index 0000000..888edff --- /dev/null +++ b/hello.rb @@ -0,0 +1,7 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +print("こんにちは!") +print("JD鳥海塾の上野凛久です。 \n") +print("よろしくお願いします。 \n") + diff --git a/kankou.rb b/kankou.rb new file mode 100644 index 0000000..16905d2 --- /dev/null +++ b/kankou.rb @@ -0,0 +1,38 @@ + +require 'csv' # CSVライブラリ読み込み +#観光スポット一覧で使うcsvファイル読み込み +data = CSV.read("shonai.csv", :headers => true) +#webページ検索で使うcsvファイル読み込み +meisho = CSV.read("web.csv", headers: true) +while true + puts "1 観光スポット一覧" + puts "2 観光スポットwebページ検索" + puts "0 終了" + print "どれかひとつ選んでください => " + input=gets.to_i + if input == 0 then #もしinputが0だったとき + break #終了する + elsif input == 1 then #もしinputが1だったとき + #↓行ごとに取り出す + n = 0 + data.each{|row| # rowには1行ずつ値が入り繰り返される + printf("%d: %sとはどんなところ?\n", n+=1, row["建物名"]) + printf("住所 => %s \n特徴 => %s \n",row["住所"], row["特徴"]) + print("--------------------------\n") }#仕切りの機能(何個あってもいい) + elsif input == 2 then #もしinputが2だったとき + i=0 + for x in meisho # 1行ずつxに取り出す + printf("%d: %s\n", i+=1, x['place']) # 添字に見出し項目を指定して取り出す + end + print("何番のWebを見たいですか: ") + num = gets.to_i-1 + if num >= 0 && num < meisho.length + printf("%s ですね。%s をブラウザで開きます.\n", + meisho[num]['place'], meisho[num]['url']) + # ↑meishoのnum行目のレコードの ['place'] 項目を取り出す + system("firefox "+meisho[num]['url']+"&") + end + else + print "1/2/0から選んでください\n" + end +end \ No newline at end of file diff --git a/kyoutsuugo.txt b/kyoutsuugo.txt new file mode 100644 index 0000000..4f07c3e --- /dev/null +++ b/kyoutsuugo.txt @@ -0,0 +1,13 @@ +いや~今日のテストわからなくて苦労したよ +わからなくても大丈夫さ +大丈夫なんてお前たちダメでしょう +しっかり勉強しないと偉くなれないよ +偉くなんてならなくてもいいよ +ぺらぺら言わないで早く勉強しなさい +お父さんはいつもうるさいね~ +いいか言うこと聞かないと怒るぞ +でも今日のテストのプリントどこにやったかわからないんだもの +わからないなんてきちんとさがして勉強しなさい +勉強の前にご飯食べさせて +たくさん食べなさい +はい食べます \ No newline at end of file diff --git a/program.rb b/program.rb new file mode 100644 index 0000000..1fbc504 --- /dev/null +++ b/program.rb @@ -0,0 +1,60 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +0+0 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +0+0 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回  反応時間%5.3f秒\n", correct, total/10) diff --git a/program_advanced.rb b/program_advanced.rb new file mode 100644 index 0000000..d740d94 --- /dev/null +++ b/program_advanced.rb @@ -0,0 +1,66 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +#初期設定 + +require 'curses' +include Curses + +init_screen +cbreak +noecho + +rt = [] + +begin + sleep(0) + + 10.times do + system("display -geometry +0+0 before.jpg&") + sleep(2) + system('pkill magick -U `whoami`') + srand + i = rand(3)+1 + if i == 1 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after1.jpg&") + elsif i == 2 + system("display -geometry +400+0 quiz1.jpg") + sleep(0.5) + system("display -geometry +0+0 after2.jpg&") + elsif i == 3 + system("display -geometry +400+0 quiz1.jpg&") + sleep(0.5) + system("display -geometry +0+0 after3.jpg&") + end + setpos(0,0) + addstr("\n 1:安全 2:危険") + refresh + start = Time.now + answer = getch + stop = Time.now + rt << [i,answer,stop.to_f - start.to_f] + refresh + + system('pkill magick -U `whoami`') + setpos(0,0) + addstr("\n ") + refresh + sleep(2) + end + + correct = 0 + total = 0 + for j in rt + total += j[2] + if (j[0] == 1 && j[1] == "1") || (j[0] != 1 && j[1] == "2") + correct += 1 + end + end + +ensure + close_screen +end + +printf("正答%d回  反応時間%5.3f秒\n", correct, total/10) diff --git a/renshu_ramen1.rb b/renshu_ramen1.rb new file mode 100644 index 0000000..4d0bcd6 --- /dev/null +++ b/renshu_ramen1.rb @@ -0,0 +1,9 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +print "お湯を入れました\n" + = 1 +while count <= 5 + printf("%d秒たちました" , count * 5) + count = count + 1 + +print "いただきまーす!" \ No newline at end of file diff --git a/renshu_ramen2.rb b/renshu_ramen2.rb new file mode 100644 index 0000000..bc01669 --- /dev/null +++ b/renshu_ramen2.rb @@ -0,0 +1,11 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- +print "お湯を入れました\n" +count = 1 + +while true + count = count + 1 + if count = 5 + print("いただきまーす!") + end +end \ No newline at end of file diff --git a/score.sq3 b/score.sq3 new file mode 100644 index 0000000..42206f3 --- /dev/null +++ b/score.sq3 Binary files differ diff --git a/shonai.csv b/shonai.csv new file mode 100644 index 0000000..760ec50 --- /dev/null +++ b/shonai.csv @@ -0,0 +1,9 @@ +建物名,住所,特徴 +羽黒山 五重塔,山形県鶴岡市羽黒町手向,羽黒山参道、一の坂上り口の杉並木の中にあり、東北北地方では最古の塔といわれ、平将門の創建と伝えられています。, +白山島,山形県鶴岡市由良2丁目,"由良海岸のシンボルである島で、3,000万年前の火山性噴火によってできたといわれています。", +加茂水族館,山形県鶴岡市今泉字大久保657-1,約1万のミズクラゲが漂う直径5mの水槽「クラゲドリームシアター」や「クラゲ解説コーナー」など、「見て、触れて、知る。発見と感動」の展示が行われています。, +庄内観光物産館 ふるさと本舗,山形県鶴岡市布目字中通80-1,プロが選ぶお土産施設で7位となったお土産屋として、庄内地方をはじめとするお土産・特産品・海産物を数多く取り揃えています。, +酒田米菓(オランダせんべいFACTORY),山形県酒田市両羽町2-24,「オランダせんべいFACTORY」ではその工程を見学できるほか、お米とせんべいについての歴史や、子供も楽しめるトリックワールドなどがあります。, +丸池様,山形県飽海郡遊佐町直世荒川57,直径20メートル、水深3.5メートル、湧き水だけで満たされた池です。水の色は幻想的なエメラルドグリーンです。, +山居倉庫,山形県酒田市山居町1-1-20,米どころ庄内のシンボル山居倉庫。1893(明治26)年に建てられた米保管倉庫です。米の積出港として賑わった酒田の歴史を今に伝えています。, +道の駅「とざわ」高麗館,山形県最上郡戸沢村蔵岡黒淵3008-1,最上川舟下りで知られる戸沢村にある道の駅。韓国文化を再現した建物が特徴で、ビビンバや冷麺など本格的な韓国料理が味わえるレストランが併設されています。, \ No newline at end of file diff --git a/shonaiben_translator.rb b/shonaiben_translator.rb new file mode 100644 index 0000000..18ce909 --- /dev/null +++ b/shonaiben_translator.rb @@ -0,0 +1,44 @@ +#!/usr/koeki/bin/ruby +# -*- coding: utf-8 -*- + +def levenshtein(string1, string2, memo={}) # レーベンシュタイン距離を計算するメソッド + return memo[[string1, string2]] if memo[[string1, string2]] + return string2.size if string1.empty? + return string1.size if string2.empty? + return levenshtein(string1[1..], string2[1..], memo) if string1[0] == string2[0] + min_dist = 1 + [levenshtein(string1[1..], string2, memo), + levenshtein(string1, string2[1..], memo), + levenshtein(string1[1..], string2[1..], memo) + ].min + memo[[string1, string2]] = min_dist + min_dist +end + +source = File.readlines("shounaiben.txt") # 庄内弁の文章をファイルから読み込み、配列に保存 +candidates = File.readlines("kyoutsuugo.txt") # 共通語の訳文をファイルから読み込み、配列に保存 + +i = 0 +while i < source.length # 庄内弁の文章ごとに同じ処理を繰り返す + dist2target = levenshtein(source[i].chomp, candidates[i].chomp) # 正解訳文への編集距離の計算 + min_dist = dist2target # 最短編集距離の初期値(=正解訳文への編集距離) + count_same_or_lower = 0 # 編集距離が正解への距離以下である文章の総数の初期値 + best_cand = candidates[i].chomp # 最短編集距離の訳文の初期値(=正解訳文) + for cand in candidates # それぞれの共通語の文章への編集距離を調べる + dist = levenshtein(source[i].chomp, cand.chomp) + if dist < min_dist + min_dist = dist + best_cand = cand + end + if dist <= dist2target + count_same_or_lower += 1 + end + end + printf("庄内弁の文章: %s\n", source[i].chomp) + printf("共通語の訳文(正解): %s\n", candidates[i].chomp) + printf("最短編集距離の訳文: %s\n", best_cand.chomp) + printf("正解訳文への編集距離: %d\n", dist2target) + printf("最短編集距離: %d\n", min_dist) + printf("編集距離が正解訳文への距離以下である文章の総数: %d\n", count_same_or_lower) + puts + i += 1 +end \ No newline at end of file diff --git a/shounaiben.txt b/shounaiben.txt new file mode 100644 index 0000000..8266081 --- /dev/null +++ b/shounaiben.txt @@ -0,0 +1,13 @@ +いや~今日のテストわがらねぐでよいでねけ~ +わがらねたってなんでもね~ +なんでもでねんでろおめだだめだんねあんが +ちゃんと勉強しねど偉ぐならんねさげの~ +偉ぐなんてなんねぐてもいさげ +しゃべっちょこいでねでちゃっちゃど勉強せ +だだはいっつもやがましちゃ +いがの~言うごど聞がねどごげっぞ +したって今日のテストのプリントどごさやたがわがらねもの~ +わがらねどちゃんとさがして勉強せ +勉強の前さままかせでくれ +ほれいっぺけ~ +せばく~ \ No newline at end of file diff --git a/web.csv b/web.csv new file mode 100644 index 0000000..9c33ad2 --- /dev/null +++ b/web.csv @@ -0,0 +1,9 @@ +place,url +羽黒山 五重塔,http://www.dewasanzan.jp/publics/index/71/ +白山島,https://mokkedano.net/spot/30325 +加茂水族館,http://kamo-kurage.jp/ +庄内観光物産館 ふるさと本舗,https://www.shoko-corpo.jp/bussan/ +酒田米菓(オランダせんべいFACTORY),https://www.sakatabeika.co.jp/ +丸池様,https://mokkedano.net/spot/30180 +山居倉庫,https://www.pref.yamagata.jp/110001/sangyo/sangyoushinkou/him_top/him_maincat4/him_05.html +道の駅「とざわ」高麗館,http://www.kouraikan.com/ \ No newline at end of file