プログラミングのお題スレ Part12at TECH
プログラミングのお題スレ Part12 - 暇つぶし2ch1022:デフォルトの名無しさん
19/02/03 05:39:02.55 1lu6X4vo.net
個々の言語の歴史観の講釈はスレ違い
確かに問題解決の道具であることが
中心かもしれないが、扱ってきた問
題の種類によって文法やライブラリ・
その取り扱い方に差異が生じている
が、同じ問題を別言語で「解く」と
優劣の違いがわかって面白いかもし
れない。
が、あんまし長くやってると不毛な
言語比較論、文化比較論になったり
して色々ヤバいからそろそろ一旦
お開きにしたら?



1023:きはそれぞれの言語別スレッドで ということで



1024:デフォルトの名無しさん
19/02/03 07:04:30.87 LaZtKDWq.net
お題:プログラムの実行時刻が午前なら「おはようございます、ご主人様!」、午後なら「お疲れ様です、ご主人様!」と表示させる

1025:デフォルトの名無しさん
19/02/03 07:48:34.73 AEg+fU/i.net
>>989 C
time_t now = time(NULL);
struct tm *p = localtime(&now);
if (p->tm_hour * 60 + p->tm_min < 12 * 60) {
  printf("おはようございます、ご主人様!\n");
} else if (p->tm_hour * 60 + p->tm_min > 12 * 60) {
  printf("お疲れ様です、ご主人様!\n");
}

1026:デフォルトの名無しさん
19/02/03 08:56:17.85 l3Qt7IvN.net
>>989
Pharo Smalltalk
Smalltalk ui inform: (Time now meridianAbbreviation = 'AM' ifTrue: [ 'おはようございます、ご主人様!' ] ifFalse: [ 'お疲れ様です、ご主人様!' ])

1027:デフォルトの名無しさん
19/02/03 09:19:47.58 72eosYJ+.net
python
from datetime import datetime
if datetime.now().hour < 12:
print('おはようございますご主人様')
else:
print('お疲れ様です、ご主人様')

1028:デフォルトの名無しさん
19/02/03 09:23:27.86 1lu6X4vo.net
午前12時=00:00
午後12時=12:00
23:59の後は00:00
午前12時=12:00
午後12時=24:00
24:00の後は00:01

1029:デフォルトの名無しさん
19/02/03 09:40:26.58 cfde/ig7.net
>>865 Common Lisp
URLリンク(pastebin.com)
実行結果
URLリンク(i.imgur.com)

1030:デフォルトの名無しさん
19/02/03 09:58:12.21 I0qputsI.net
>>969 のHaskell版。
負の数の場合の処理、負の数含め、絶対値が256以上だった場合エラー吐く様に処理を追加。
※Haskellは整数と少数を明確に分ける為、渡す数に小数点が無いとエラーになる。
mysqrt x = mysqrt' x 0
where
mysqrt' x m |x < 0 = - mysqrt (abs x)
mysqrt' x m |x == m * m = m
mysqrt' x m |x < m * m = fsqrt x (m - 1) 0.1 15
mysqrt' x m = mysqrt' x (m + 1)
fsqrt _ a _ 0 = a
fsqrt v _ _ _ | v > 256 = error "\"fsqr\":out of range 0..256"
fsqrt v a f n | v <= a * a = fsqrt v (a - f) (f * 0.1) (n - 1)
fsqrt v a f n = fsqrt v (a + f) f n
使用例
main = print (mysqrt x) >> print (mysqrt x * mysqrt x)
結果
1.41421356237309
2.0

1031:デフォルトの名無しさん
19/02/03 10:00:13.11 I0qputsI.net
fsqrt v _ _ _ | v > 256 = error "\"fsqr\":out of range 0..256"
fsqrt v a f n | v <= a * a = fsqrt v (a - f) (f * 0.1) (n - 1)
fsqrt v a f n = fsqrt v (a + f) f n

1032:デフォルトの名無しさん
19/02/03 10:13:31.71 xEPkQ4sk.net
この改行長文おじさんはどこからきたの。笑

1033:
19/02/03 10:31:38.09 t4xt++Qj.net
>>982
>日本語だったら英語を知らなくてもノーベル賞が取れるだけの教材(ライブラリ)が揃ってる。
最近はそうでもないようですよ…ペーパーは英語だし、教科書=テキストレベルでも英語でしか発刊されない状況といいます
haskell をやろうとして圏論の教科書を探しましたが、欧米の本の和訳ばかりで日本人が書いた圏論の教科書はありませんでした

1034:デフォルトの名無しさん
19/02/03 10:35:41.62 /jO+7TC8.net
誰か次スレ頼む

1035:デフォルトの名無しさん
19/02/03 11:07:15.54 72eosYJ+.net
お題1: 現在地の緯度、経度を出せ
緯度:、、、、
経度:、、、、
お題2: 東京都新宿区西新宿2丁目8-1 の緯度、経度を出せ
緯度:、、、
経度:、、、
お題3: お題2で求めた緯度経度から住所を出せ
郵便番号:、、、
住所:東京都、、、、

1036:デフォルトの名無しさん
19/02/03 11:22:46.76 72eosYJ+.net
立てたよ
プログラミングのお題スレ Part13
URLリンク(mevius.2ch.net)

1037:デフォルトの名無しさん
19/02/03 11:23:36.56 72eosYJ+.net
>>1000 は、次スレに移動させるね。

1038:デフォルトの名無しさん
19/02/03 17:37:12.27 csrqlAvs.net
うめ

1039:デフォルトの名無しさん
19/02/03 17:37:50.59 oUppVF8S.net
>>969
今までの苦労は一体。。。
数学的な平方根の近似値は√x = x ^ (1/2)だった。。。
Haskell だとこんだけ。
mysqrt x = x ** 0.5

1040:デフォルトの名無しさん
19/02/03 17:38:30.96 csrqlAvs.net
次スレ
プログラミングのお題スレ Part13
URLリンク(mevius.2ch.net)

1041:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 128日 7時間 29分 24秒

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch