diff --git a/Tuisi.rb b/Tuisi.rb new file mode 100644 index 0000000..a8809c7 --- /dev/null +++ b/Tuisi.rb @@ -0,0 +1,12 @@ +# coding: utf-8 +def kakaku(x,y) +x * (1-y) +end + +puts"割引の計算をします" +puts"値段を入力してください" +nedan = gets.to_i +puts"割引を入力してください" +wari = gets.to_f +gokei = kakaku(nedan,wari) +printf("割引後の値段は%d円です\n",gokei) 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.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/index.cgi b/index.cgi new file mode 100644 index 0000000..0a5991f --- /dev/null +++ b/index.cgi @@ -0,0 +1,25 @@ + + + +csv-use.csv + + + +

[[ RAW TEXT(DOWNLOAD here) ]]

+
+すきなもの,きらいなもの
+オレンジ,あめ
+ハムスター,へび
+チョコ,虫
+
+ + 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/kensaku.rb b/kensaku.rb new file mode 100755 index 0000000..b2b6164 --- /dev/null +++ b/kensaku.rb @@ -0,0 +1,12 @@ +#!/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/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/quiz1.jpg b/quiz1.jpg new file mode 100644 index 0000000..23d58ff --- /dev/null +++ b/quiz1.jpg Binary files differ diff --git a/quiz2.jpg b/quiz2.jpg new file mode 100644 index 0000000..58fd138 --- /dev/null +++ b/quiz2.jpg Binary files differ diff --git a/quiz3.jpg b/quiz3.jpg new file mode 100644 index 0000000..f8cbbfb --- /dev/null +++ b/quiz3.jpg Binary files differ diff --git a/renshu.rb b/renshu.rb new file mode 100644 index 0000000..47451e9 --- /dev/null +++ b/renshu.rb @@ -0,0 +1,37 @@ +Loading /etc/skel/.emacs.default... +Loading /usr/koeki/share/emacs/lisp/scroll-in-place.el (source)...done +Loading mozc...done +Loading term/bobcat...done +Loading /etc/skel/.emacs.default...done +For information about GNU Emacs and the GNU system, type C-h C-a. +Startup with window [1] +r is undefined +e is undefined +R is undefined +U is undefined +scroll-signal-boundary-error: Beginning of buffer +R is undefined +u is undefined +v is undefined +scroll-signal-boundary-error: Beginning of buffer +user-error: No resizable window below this one [2 times] +r is undefined +u is undefined +Beginning of buffer [8 times] + is undefined + is undefined +End of buffer [15 times] +r is undefined +R is undefined +U is undefined +B is undefined +Y is undefined +R is undefined +u is undefined +b is undefined +y is undefined +End of buffer +Beginning of buffer + is undefined + is undefined +completing-read-default: Command attempted to use minibuffer while in minibuffer diff --git a/renshu2.rb b/renshu2.rb new file mode 100755 index 0000000..d8180b0 --- /dev/null +++ b/renshu2.rb @@ -0,0 +1,25 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +puts"問題!" +puts"今の西暦は何年でしょうか?" +puts"1:2021年" +puts"2:2022年" +puts"3:2020年" + +while true + print"答えを入力:" + kotae=gets.chomp.to_i + if kotae==1 + puts"不正解..." + elsif kotae==2 + puts"正解!おめでとう!" + break + elsif kotae==3 + puts"不正解..." + else + puts"その選択肢はないよ!" + redo + end +end + 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/taima-.rb b/taima-.rb new file mode 100644 index 0000000..9cecb01 --- /dev/null +++ b/taima-.rb @@ -0,0 +1,44 @@ +# coding: utf-8 +puts "タイマーとストップウォッチどちらがいいですか?" + +while true +puts "タイマーなら1、ストップウォッチは2を入力してください" +puts "終了したいなら3を押してください" + erabu = gets.to_i + if erabu == 1 + puts "タイマーを起動します" + print "秒数を記入してください:" + x = gets.chomp.to_i + puts "タイマーをスタートします" + + while x > 0 #xが0以上の場合 + sleep (1) #1秒待つ + x = x - 1 #xから1を引く + printf("%d\n", x) #秒数を表示 + end + puts "時間になりました" + sleep (1) + + elsif erabu == 2 #ここからは一部予習 + puts "ストップウォッチを起動します" + puts "enterキーでスタート,ストップ" + saisyo = gets.chomp #gets.chompで待機させる + kaisi = Time.now.to_i #タイマースタート + teisi = gets.chomp + syuryo = Time.now.to_i #タイマーストップ + taimu = syuryo - kaisi #開始時間から終了時間を引く + hun = taimu / 60 #60を割って分をだす + byou = taimu - hun * 60 #はかった秒数から分のぶんを引く + zikan = hun / 60 + printf("時間は%d時間%d分%d秒です\n", zikan, hun, byou) + elsif erabu == 3 + puts "このプログラムを終了します" + break + else + puts "その選択肢はありません" + puts + next + end +puts +puts +end diff --git a/tenmon.txt b/tenmon.txt new file mode 100644 index 0000000..96fa89c --- /dev/null +++ b/tenmon.txt @@ -0,0 +1,12 @@ +アンドロメダ Andoromeda 秋 +オリオン Orion 冬 +オトメ Virgo 春 +ミズガメ Aquarius 秋 +ワシ Aquila 夏 +カシオペヤ Cassiopeia 秋 +オヒツジ Aries 秋 +テンビン Libra 春 +カニ Cancer 春 +フタゴ Gemini 冬 +ウオ Pisces 秋 +トカゲ Lecerta 秋 diff --git a/tuisi2.rb b/tuisi2.rb new file mode 100644 index 0000000..2243850 --- /dev/null +++ b/tuisi2.rb @@ -0,0 +1,12 @@ +# coding: utf-8 + +count = 0 + +while count < 10 + count += 1 + if count %3! = 0 + next + end + printf("3の倍数は%d\n",count) +end + 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