[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:31 / Filesize : 264 KB / Number-of Response : 1042
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングのお題スレ Part17



1 名前:デフォルトの名無しさん [2020/03/13(金) 01:42:47.06 ID:0rEhys36.net]
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
codepad.org/
compileonline.com/
rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part16
https://mevius.5ch.net/test/read.cgi/tech/1573948822/

976 名前:デフォルトの名無しさん [2020/07/05(日) 22:13:54 ID:HPvgh2UL.net]
>>912
>>933
何気にPythonの仕様が気になったので。
import csv
import io
import json

with io.StringIO("""
1,abc,"def
ghi",4
2,abc,"def
ghi",4
""") as f:
__print([r for r in csv.reader(f) if r])

with io.StringIO("""
あ,い
1,2
""") as f:
__print(json.dumps([r for r in csv.reader(f) if r], ensure_ascii=False))

977 名前:デフォルトの名無しさん [2020/07/10(金) 21:08:49.94 ID:+HNczGHj.net]
お題:"チューリングマシン"を使って一行CSVパーサーを作る
チューリングマシンも自作すること
【CSVの仕様】
・カラム値は「a」、「,」、「"」、の組み合わせ、または「」(値無し)しか取らない
・カラム値に「,」が含まれる場合は「"」で囲む必要がある、含まれない場合はどっちでもいい
・カラム値に「"」が含まれる場合は「\"」とエスケープする
入力例) "aa,a",aa,,"aa\"aa"
チューリングマシンからの出力例、Pythonの場合) [None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
(Noneは無視、'X'は区切りポイントを表している)
【開発規模】Pythonで15行程度

978 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:44:08.13 ID:60oNEnIZ.net]
チューリングマシンなのにPythonとは?
意味不明だ

979 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:48:42.38 ID:KPNFpi8s.net]
メモリが無限にないので作れましぇん><

980 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:50:41.57 ID:60oNEnIZ.net]
正方形の面積を求める問題に対して
この世に正方形なんて存在しないから求められません
とか言っちゃう系?

981 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:51:57.60 ID:KPNFpi8s.net]
比喩がとんちんかんだぞ
今回は「チューリングマシンも自作すること」って明言されてますやん

982 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:56:32.56 ID:8xOOoQBu.net]
自作チューリングマシンを Pythonの改行15回程度で作れって?神だわ

983 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:57:52 ID:60oNEnIZ.net]
動作を規定すればよくて
実際に動く機械を作る必要はない

984 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:59:10 ID:60oNEnIZ.net]
と思ったが
Pythonでエミュレーターを作れって事か?



985 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:00:00.07 ID:60oNEnIZ.net]
別に無限にメモリがある必要は無いけど
実際に動くどんなプログラムにも限界がある

986 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:01:06.17 ID:KPNFpi8s.net]
>>949
メモリが有限だったらチューリングマシンとはいいましぇん><

987 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:01:59.62 ID:2Qc0/uE/.net]
適当な言語で状態遷移機械つくればええんちゃう

988 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:02:26.85 ID:8xOOoQBu.net]
しかもCSVパーサーって
つまりはPython15行でExcelを再現しろと?

989 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:13:26.90 ID:6CWHpJ6z.net]
>>941の生成言語
CSV → COL | COL ',' CSV
COL → '"' WCOM '"' | NCOM
WCOM → ε | 'a' WCOM | ',' WCOM | '\' '"' WCOM
NCOM → ε | 'a' NCOM | '\' '"' NCOM
状態セル10個前後でいけそう

990 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:46:36.38 ID:6CWHpJ6z.net]
>>941 Perl 状態セル4個
$ cat input
"aa,a",aa,,"aa\"aa"
$ perl odai938 < input
[None, 'a', 'a', ',', 'a', None, 'X', 'a', 'a', 'X', 'X', None, 'a', 'a', None, '"', 'a', 'a', None]
$ cat odai938

%maton = (
'N' => { 'a' => ['N', q('a')] , ',' => ['N', q('X')] , '"' => ['Q', q(None)] , '\\' => ['E', q(None)] },
'Q' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['N', q(None)] , '\\' => ['F', q(None)] },
'E' => { 'a' => ['N', q('a')] , ',' => ['N', q(',')] , '"' => ['N', q('"') ] , '\\' => ['N', q(None)] },
'F' => { 'a' => ['Q', q('a')] , ',' => ['Q', q(',')] , '"' => ['Q', q('"') ] , '\\' => ['Q', q(None)] },
);

@res = ();
$state = 'N';
for $c ( split //, <> ) {
($next, $out) = @{$maton{$state}{$c}};
last unless defined $next;
push @res, $out;
$state = $next;
}
printf "[%s]\n", join ', ', @res;

991 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 13:08:54.01 ID:WonOAWfv.net]
チューリングマシンわからんけどめっちゃ面白そう

992 名前:デフォルトの名無しさん [2020/07/11(土) 13:14:56.54 ID:JFnadz6+.net]
オートマトンを使ってってことなのね、なるほど

993 名前:デフォルトの名無しさん [2020/07/11(土) 13:56:56.88 ID:R3MTOjCq.net]
>>954
チューリングマシンを使っていないのでだめだ
そのオートマトンは文脈依存文法どころか文脈自由文法すら対応していない
これら全てに対応出来てこそチューリングマシンだ
(このことは将来エラーリカバリーを考える上で、重要になると思っている)
つまりテープヘッドは左右に動き状態関数でそれを指示出来る(文脈自由文法に対応)
チューリングマシンは受理状態を指定出来る

今回、状態の数は受理状態を省略して5個でいける(もっと少なく出来るかもしれんが)
状態関数は状態5*記号4のマトリックスを考えて、その中の12個を埋めればいい

994 名前:デフォルトの名無しさん [2020/07/11(土) 16:08:31.89 ID:R3MTOjCq.net]
訂正
×状態関数
◯状態遷移関数



995 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 16:29:47.46 ID:2Qc0/uE/.net]
>>957が正解を出してくれるんだそうだ

996 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 16:36:53.77 ID:rnrtUK1e.net]
例を出してくれ

997 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 17:01:50.43 ID:KPNFpi8s.net]
そもそも作問の時点でおかしいんだよ!

998 名前:デフォルトの名無しさん [2020/07/11(土) 17:09:33 ID:R3MTOjCq.net]
>>961
どこがおかしい?
線形有界オートマトンといえば納得するか?
そんな言葉使わなくても実装出来る
と言うかこのスレにこの言葉知ってる奴いないだろ

999 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 17:49:01.47 ID:3Cd1PF49.net]
焉んぞ牛刀を用いん

1000 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 17:53:42.33 ID:60oNEnIZ.net]
チューリングマシンの設計じゃなくて
チューリングマシンエミュレーターの設計だよな

1001 名前:デフォルトの名無しさん [2020/07/11(土) 18:17:04 ID:R3MTOjCq.net]
>>954
\aやらを認めてるのが気になるがそれを直したら遷移関数はあってるな
後はチューリングマシンとして完成させるだけ
俺の遷移関数に冗長があったから直したら一致した
>>963
HTMLは文脈自由文法だが
WebKitのHTMLパーサーは非文脈自由文法として実装されている
そこでチューリングマシンが有用かはさせおき、非文脈自由文法を考えるキッカケになることもある思う
>>964
エンドマーカーを省略した線形有界オートマトンの実装な

1002 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 19:08:07.36 ID:2M7rjl8q.net]
>>950
解ける問題に制限ができるだけの話

1003 名前:デフォルトの名無しさん [2020/07/11(土) 20:23:08.26 ID:feKeXoV6.net]
そういやチューリングってゲイだったんだってね。

1004 名前:デフォルトの名無しさん [2020/07/11(土) 20:30:57.47 ID:JFnadz6+.net]
イミテーション・ゲームという映画が面白かった
キーラ・ナイトレイ美しすぎ



1005 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 20:51:48.92 ID:qWNdyupY.net]
チューリング、イギリスのお札になるってよ

1006 名前:デフォルトの名無しさん [2020/07/13(月) 10:36:22.79 ID:0ATtS2UF.net]
お題
日本将棋連盟のサイトにあるレーティングで
AとBが対戦してAが勝った場合のA、Bの
新しいレーティングを求める。

1007 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 12:03:42.96 ID:JZTlaHWi.net]
お題じゃなくてツール作成依頼でしょ?

1008 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 17:09:42.48 ID:aaJV9hNQ.net]
解答を持ちあわせていて、ただドヤりたいだけのスレなのに?
解答期限をつけるべきだと思う

1009 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 20:25:51.06 ID:8wNaSmrQ.net]
>>972
そんなドヤお題最近あったか?

1010 名前:デフォルトの名無しさん [2020/07/13(月) 21:28:01.53 ID:UGEHS+NK.net]
イロレーティングの実装ってことでいいのかな?
だとするとあまりに簡単すぎないか?
漢字覚えるのに上からなぞるだけみたいな問題だと思った
考える要素が皆無でもこのスレの趣旨に反しないのか?
現にイロレーティングの実装なんかググったらすぐ見つかるわけだし。
そんなんでもいいんだったらいくらでも出せる。組合せ最適化問題の本に書かれているのそのまま出せばいいわけだし。
後、入力が何で出力が何で、どれくらいで実装できるものか書いてくれたら分かりやすくなると思う

1011 名前:デフォルトの名無しさん mailto:sage [2020/07/13(月) 21:54:58 ID:nR5el41K.net]
結果後の数値出すだけだから2つの数値受け取って計算して出力するだけでしょ
三角形の面積を求めよ、と同じ問題
計算式知ってるか、ググれるかだけ

1012 名前:蟻人間 mailto:sage [2020/07/13(月) 22:30:47.09 ID:WwiIS8F6.net]
お題: 九九の表の1×1〜9×9をSQLデータベースに書き出せ。

1013 名前:蟻人間 mailto:sage [2020/07/13(月) 22:53:17.28 ID:WwiIS8F6.net]
お題: サイン関数の表をSQLテーブルに出力し、そのテーブルへのSQL問い合わせを使ってサイン関数を再現する関数を作れ。精度はテキトーで構わない。

1014 名前:デフォルトの名無しさん [2020/07/13(月) 23:56:34.26 ID:UGEHS+NK.net]
テイラー展開でいいの?



1015 名前:蟻人間 mailto:sage [2020/07/13(月) 23:57:43.03 ID:WwiIS8F6.net]
>>978
お好きなように。

1016 名前:デフォルトの名無しさん [2020/07/14(火) 00:00:00.37 ID:5rX6+9jh.net]
>>977
出来たけど5chはSQLは貼れないのかな?w
間違ったSQLインジェクション対策なのかもw

1017 名前:デフォルトの名無しさん mailto:sage [2020/07/14(火) 00:08:27.23 ID:kYSYwo9X.net]
SELECT * FROM threads;

1018 名前:デフォルトの名無しさん [2020/07/14(火) 00:08:30.45 ID:5rX6+9jh.net]
>>977
SQLはブロックされて貼れないけど3行で出来た
1. x、y、y_hatのカラムでテーブル作成
2. INSERT SELECT文とPGのgenerate_series関数を使ってxに乱数をINSERT
3 .UPDATE文でsin関数をyに、テイラー展開版sin関数をy_hatにINSERT

1019 名前:蟻人間 mailto:sage [2020/07/14(火) 00:09:09.45 ID:rFkkEmf3.net]
>>980
ideoneかcodepadを

1020 名前:蟻人間 mailto:sage [2020/07/14(火) 00:19:29.80 ID:rFkkEmf3.net]
原始的なSQL injection対策か?

1021 名前:デフォルトの名無しさん [2020/07/14(火) 01:07:26 ID:5rX6+9jh.net]
>>976
やっぱりSQL貼れないねぇ

答え:PostgreSQLで確認
codepad.org/qGD8d2IU
※会員登録してないからそのうち消える

1022 名前:デフォルトの名無しさん [2020/07/14(火) 03:12:25.26 ID:5rX6+9jh.net]
>>977
これもしかしてサイン関数の表は荒いから補完法を使ってサイン関数を作れって意味だったのかなー

1023 名前:デフォルトの名無しさん mailto:sage [2020/07/14(火) 05:10:48.70 ID:kYSYwo9X.net]
テーブル作らなくても行けそうだと思ったけど必要なのか

1024 名前:デフォルトの名無しさん mailto:sage [2020/07/14(火) 06:05:28.09 ID:BHFrzCgy.net]
>>976
mysql>CREATE DATABASE testdb;
mysql>use testdb;
mysql>CREATE TABLE tbl_kuku(
'1' int, '2' int, '3' int,
'4' int, '5' int, '6' int,
'7' int, '8' int, '9' int
) ;

mysql>load data local infile
"/Users/user/Desktop/kukutable.csv "
into table tbl_kuku
fields terminated by ','
optionally enclosed by '"';



1025 名前:デフォルトの名無しさん [2020/07/14(火) 06:24:26 ID:5rX6+9jh.net]
>>977
問題の意味がよく分からなかったけど、荒いsine関数表を元に補間法によって任意の値に対するsine関数を完成させろという意味なら出来た
PostgreSQL用
codepad.org/Z81nscIT
※会員登録してないからそのうち消える

1026 名前:デフォルトの名無しさん [2020/07/14(火) 06:36:16.97 ID:5rX6+9jh.net]
>>977
>>989をちょっと修正した
codepad.org/ZdYWwgrm

1027 名前:デフォルトの名無しさん mailto:sage [2020/07/14(火) 07:41:02.95 ID:i9nYbez+.net]
>>977
mysql> delimiter //

mysql> CREATE FUNCTION SIN (angle DOUBLE )
-> BEGIN
-> SELECT angle FROM tbl_sin ;
-> END//

mysql> delimiter ;

mysql> SELECT SIN(45);

1028 名前:デフォルトの名無しさん [2020/07/14(火) 11:28:46.13 ID:5rX6+9jh.net]
>>941のお題は誰も解答しないの?

1029 名前:デフォルトの名無しさん [2020/07/14(火) 11:59:10.89 ID:q9pbneb4.net]
>>977
>>990のコメント部分の修正とコメント追加
codepad.org/7HANT66s

1030 名前:蟻人間 mailto:sage [2020/07/14(火) 12:43:06.54 ID:xUpKMtHj.net]
そろそろ次スレ

1031 名前:デフォルトの名無しさん mailto:sage [2020/07/14(火) 13:54:37.55 ID:jW5p6F/e.net]
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/

1032 名前:デフォルトの名無しさん [2020/07/14(火) 17:21:12.98 ID:1/ePl1B5.net]
>>994
解答締め切りと採点と答え合わせは?
ちゃんとフラグ回収してよね

1033 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 12:20:15.70 ID:2zn904g+.net]
お題: 過去スレからお題と回答を抽出し、検索できるようにしろ

1034 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 14:13:59.93 ID:fkxllX2L.net]
>>997
print "ろくなお題もまともな回答もありませんでした。"



1035 名前:蟻人間 mailto:sage [2020/07/16(木) 05:51:13.84 ID:Tv2xtriA.net]
お題: 三次元タートルグラフィックスを実装し、森林・臓器・シェルピンスキーの立体ギャスケットのいずれかを描画せよ。
奥行きの表現には任意の遠近法か任意のレンダリングエンジンを使うこと。

【実装例】
walk(長さ) // 現在のペンの状態で現在の方向へ前進する
set_pos(x, y, z) // 位置をセット
pos = get_pos() // 現在位置を保存
set_dir(dx, dy, dz) // 方向ベクトルをセット
dir = get_dir() // 現在の方向を保存
turn(dx, dy, dz) // 向きを調整(方向ベクトルを回転)
pen_on() // ペンを下ろす(描画を開始)
pen_off() // ペンを上げる(描画を止める)

1036 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 06:23:09.04 ID:33WC3be6.net]
うめ

1037 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 06:23:13.93 ID:33WC3be6.net]
うめ

1038 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 06:23:45.03 ID:33WC3be6.net]
うめ

1039 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 06:24:07.53 ID:33WC3be6.net]
次スレ

プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/

1040 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 125日 4時間 41分 20秒

1041 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef