関数型言語でフラグ管理をする方法

■ このスレッドは過去ログ倉庫に格納されています
2018/10/30(火) 21:17:26.98ID:ZgZ/9CmG
選択肢が4つでてくる問題が10問でてきて
8問以上正解すればクリアとかどうやって実装するの?
2018/10/30(火) 21:34:37.03ID:OyNBi9EH
10回入力受け取って出力するだけでは
2018/10/30(火) 22:40:06.90ID:l4I6MHnL
Haskellで実装してみせればいいんじゃね?
2018/10/30(火) 23:23:23.32ID:sh92d/1G
関数型言語ってc言語とかクラスのない言語のことかと思ってたら
すげーゴミ過ぎて一生関わりたくないと思った
5デフォルトの名無しさん
垢版 |
2018/10/30(火) 23:37:25.85ID:H/liFP07
3問まちがった時点でゲームオーバー

わかった?
2018/10/31(水) 00:29:16.88ID:bv97uCMI
アナルプラグのこと?
使ってみないとその良さはわからないよ?
2018/10/31(水) 01:17:11.99ID:+I7YAfIe
まあfoldlとかで折り畳みしてmaybeとかでドボンじゃないか?
8デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:17:22.18ID:gqtAU0ur
>>1
do使った関数の2重ループ(2重再帰)で行けるんじゃね?
10回ループは引数に10指定して1回毎にー1して0になったら抜けるループ(再帰)。
(その際に正解数8問以上ならクリアと表示。以下なら残念と表示とか)

その中の回答ループで引数に正解数を指定する。正解なら+1してループ(再帰)
不正解ならそのままループ(再帰)
9デフォルトの名無しさん
垢版 |
2018/10/31(水) 02:21:07.10ID:gqtAU0ur
あ、問題文字列の配列と正解の数字の配列zipしても行けそう。
2018/10/31(水) 04:35:14.99ID:o0DzM9PU
>>5
答え合わせは10問終わってからなので無理です
2018/10/31(水) 08:26:17.22ID:D1gUhDI7
こんな簡単なものもさっと出てこないのね
2018/10/31(水) 09:43:23.59ID:f5H4sbPi
問題文と対する選択文と答えを1セットにした配列等10問分を用意して、1セット毎にループで順番に入出力と正解数のカウント、最後に答えを集計して合否判定するとか?
2018/10/31(水) 22:26:52.18ID:wG8+54SG
そんなにお前らは破壊的更新が嫌なのか
2018/10/31(水) 23:16:16.27ID:D1gUhDI7
手続き脳老害が作るとこうなる
https://ideone.com/9rfXYS
2018/10/31(水) 23:20:19.59ID:o0DzM9PU
どうせゴミだろいらん
2018/10/31(水) 23:51:32.08ID:D1gUhDI7
うるせーお手本教えろや
17デフォルトの名無しさん
垢版 |
2018/11/01(木) 00:40:13.39ID:BwvtJmQs
やはり低学歴知恵遅れしかいないわ
やはりオレが正解書いてやるしかないのか

https://ideone.com/bifXFo

ANS_BIT(q,a) ← コレで設問の解答をつくる
ANS_MASK(q,a) ← コレで回答する
getbits() ← コレで正解の数を数える

コレでこのスレはおわった
2018/11/01(木) 01:02:10.75ID:v7JyYl4p
ビット演算はどうでもいいの
19デフォルトの名無しさん
垢版 |
2018/11/01(木) 04:19:58.62ID:wLGKIsYs
関数型言語ですら無い。。。

十分ヒント書いたろ。
全部書くと質問者の為にならん。
RWH読まないと入出力順で苦労するだろうけど。
2018/11/01(木) 11:27:29.30ID:BuoKXFI6
ビットを数える・探すアルゴリズムでぐぐれ
21デフォルトの名無しさん
垢版 |
2018/11/01(木) 19:47:16.89ID:+p1vRE32
関数型言語はこんな簡単な問題ですらパッと出来ないクソ言語です。
簡単な問題を解くのに誰も頼んでない余計な縛りを入れて難しくします。
わざわざ不必要にめんどくさくした問題を解いてマウントを取り、一方簡単な問題を簡単に解いた一般人に副作用ガー不変性ガーと難癖を付けて貶します。
2018/11/01(木) 20:57:33.37ID:v7JyYl4p
それな
2018/11/01(木) 22:26:38.21ID:mvxPccjt
なんだとこら
ループを再帰で書いたり畳み込んだり分岐をパターンマッチで書いたりでカッケーだろうが
2018/11/02(金) 00:15:52.93ID:bE/8yEKV
>>23
別に関数型じゃなくても、それできると思う
メリットが無いからやらないだけで
2018/11/02(金) 21:50:50.01ID:Hx89MQzb
ここまでゴミ
2018/11/02(金) 22:34:02.29ID:Jnk4S5ca
数式をそのままコードに落とせる時もあったが、そもそも組みたい機能がカッコよく数式に落とせるモノじゃなかった
2018/11/02(金) 22:55:23.66ID:bE/8yEKV
関数型の特徴でもある末尾再帰

末尾再帰は速度を上げる機能ではなく
速度が遅くならないようにする機能

普通にループで書けば速いのに、それができないから再帰で書く
そうすると遅くなる。それを回避する機能
普通にループで書くより速くなったりしない
28デフォルトの名無しさん
垢版 |
2018/11/03(土) 00:09:24.27ID:3NGq3yLp
そう。わざわざなぜ末尾再帰にするかというと、そうすることでループへ変換してくれるから。
こういうのを本末転倒と言う。
29デフォルトの名無しさん
垢版 |
2018/11/03(土) 08:07:41.03ID:rSl2Ac3O
じゃあ極力ループ使わなければいい
頭ワルイわ

低学歴知恵遅れにループ使わせると
一回ループするのにもの凄い時間かかるような処理を平気でいれるからな

しかもそれが何重にもなってる
2018/11/03(土) 08:15:12.69ID:dQj0A1Se
ループを使わないでどうやって作るの?
2018/11/03(土) 08:34:36.98ID:BD8z/Z4W
int numofbits5(long bits)
{
bits = (bits & 0x55555555) + (bits >> 1 & 0x55555555);
bits = (bits & 0x33333333) + (bits >> 2 & 0x33333333);
bits = (bits & 0x0f0f0f0f) + (bits >> 4 & 0x0f0f0f0f);
bits = (bits & 0x00ff00ff) + (bits >> 8 & 0x00ff00ff);
return (bits & 0x0000ffff) + (bits >>16 & 0x0000ffff);
}
2018/11/03(土) 11:42:08.44ID:ugiNdMW1
ビット演算どうでもいいので
2018/11/03(土) 11:55:35.67ID:BD8z/Z4W
もしかして、ラジオボタンとかの想定で悩んでるのか?
34デフォルトの名無しさん
垢版 |
2018/11/03(土) 15:48:10.80ID:AAuGyX2A
>>30
再帰。
doの再帰は末尾再帰でなくてもループになる。
35デフォルトの名無しさん
垢版 |
2018/11/03(土) 16:08:14.93ID:3NGq3yLp
じゃあ最初からループでよい。関数型バカの遊びに付き合ってやるほど暇ではない。
36デフォルトの名無しさん
垢版 |
2018/11/03(土) 16:22:09.54ID:AAuGyX2A
え、このスレの趣旨は?
と言うかHaskellとジャンケンとかで検索したらほぼ手本になる様なの出るだろ。

何の関数型言語使ってるか知らないが、ヒントになりそうな物くらいはググれよ。
37デフォルトの名無しさん
垢版 |
2018/11/03(土) 16:28:33.22ID:rSl2Ac3O
 フラグ管理をする方法

とスレタイに書いてある
マジでこの板は低学歴知恵遅れしかいない

そしてオレはそのコタエは書いた
もう終了してるハズ
2018/11/03(土) 16:55:00.26ID:dQj0A1Se
>>34
> doの再帰は末尾再帰でなくてもループになる。
話、理解してる?

「ループを再帰でかく⇒再帰をループに戻す」これが本末転倒だって話をしてる所に
「ループじゃなくて再帰を使え、doの再帰はループになる」と本末転倒の話そのものを
持ってきてどうする?話がループしてるwww
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況