2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

プログラミング講師「引数が偶数ならtrueを、奇数ならfalseを返す関数を作りなさい」

1 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:32:25.132 ID:Wxj0rnu+0.net
俺「こうですか?」

boolean func(int num) {
  if (num % 2 == 0) {
    return true;
  } else {
    return false;
  }
}

講師「あーダメダメ。こういう風に書かなきゃ」

boolean func(int num) {
  boolean result = true;
  if (num % 2 != 0) {
    result = false;
  }

  return result;
}

俺「はーそうなんですか」



なんで?

2 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:33:34.097 ID:1+rNXF760.net
アヒルにでも聞いてろ

3 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:33:53.333 ID:KsgyqEQ4a.net
判定式をリターンしたら一行じゃん

4 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:34:05.521 ID:jmixpHCI0.net
スタッフ、成田でオーストラリア人女性にインタビュー

女性「風邪気味なんです、喉が痛い」と断るも、スタッフ無理やり引き留める

女性インタビューに答える「日本のバンドの大ファンなんです」、とその場所を偶然ハワイ帰りのバナナマン設楽が通りかかる

スタッフ、設楽にマイクを向けインタビュー。インタビュー中だった女性を完全放置

女性、怒って立ち去る




失礼すぎだろこの番組…VIPQ2_EXTDAT: none:none:1000:512:----: EXT was configured

5 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:34:18.264 ID:vY23M4wd0.net
return num % 2 == 0しろよ無能ども

6 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:34:43.056 ID:ymOvHi7T0.net
returnは少ないほうがいいらしい

7 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:35:46.133 ID:DFUr8Spd0.net
returnが一ヶ所に纏まってる
好みの問題

8 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:36:31.866 ID:ZaQ8P9r+0.net
どっちでもいいと思う

9 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:36:48.760 ID:ar7Q5Mby0.net
return arg%2==0 ? true : false;

10 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:36:55.810 ID:GNiEAfcp0.net
>>1
裏切りのイベントを乗り越えてtrueエンド観たいもん

11 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:37:08.531 ID:Pr5qiNpH0.net
今回はその条件だけだけど
後からこの場合はこうしてって指示された時に講師の方が対応しやすいよな

12 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:37:15.196 ID:CVq8voa3d.net
化石みたいな考えの講師だな

13 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:37:31.538 ID:KsgyqEQ4a.net
>>1
これマジ無能だな
ifの中でreturn falseしてればまだ分かるけど。
本線のプログラムに対して異常系を退避していく形を取ると
インデントが減らせるという考え方があるから。

14 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:38:17.362 ID:sitqtXxmd.net
return x%2

15 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:38:44.013 ID:wZB98SOOa.net
まあreturnが少ない方がいいのはわかるが例題が単純すぎてこのくらいならどっちでもいいわってなるわ。

16 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:39:27.010 ID:5fwTfFep0.net
Cなら剰余を直接返り値にぶち込めば済むんじゃね

17 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:39:32.769 ID:XjT0U3Cyd.net
>>14
これはダメって言われるパターン

18 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:39:42.087 ID:BOH050ls0.net
>>1
これ言語によってはエラー出るだろ
リターンが両方if文の中にあるからコンパイラがリターンが無いと解釈する

19 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:41:51.998 ID:AXjdmuav0.net
これ以外認めん

bool isEvenNumber(int value)
{
  return value % 2 == 0;
}

20 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:42:50.734 ID:GNiEAfcp0.net
>>13
変化に弱いポンコツはかた〜いコード好むからめんどくさいよね〜

21 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:44:40.532 ID:AXjdmuav0.net
あぁ、講師が押し付けてきてるのは関数にreturnは一つだけとかいう古の風習か

22 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:45:43.311 ID:vY23M4wd0.net
あー俺もこういう適当フカすプログラミング講師やりてえわ

23 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:45:50.560 ID:MGZUxgYQ0.net
>>18
if-elseだからどっちか必ず通るだろ

24 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:46:00.495 ID:5fwTfFep0.net
>>21
スパゲティの爪痕が生々しかった時代における過剰な反動ってやつかね

25 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:47:31.633 ID:BOH050ls0.net
>>23
そう親切に解釈してくれるコンパイラと違うものがあるだろ
俺の経験ではまずエラーになる

26 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:48:16.223 ID:63K4jk/90.net
>>23
必ず通ろうがif内にしか記述してない場合弾かれる

27 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:48:43.189 ID:KsgyqEQ4a.net
>>25
流石にじじい

28 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:49:21.443 ID:BOH050ls0.net
>>21
違う
上のはリターンが無いと解釈される
関数の定義ではブーリアンの返り値が定義してある

29 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:49:30.281 ID:MGZUxgYQ0.net
>>25-26
今時そんなコンパイラあるんか
驚き

30 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:49:55.249 ID:NVAtTJqQ0.net
じゃない時に処理するとかいう書き方してたら後々めんどそう

31 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:50:41.181 ID:Y+SH6YGpp.net
>>29
ありふれてるぞ
化石使ってる企業なんて山ほどあるし

32 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:51:35.371 ID:ZaQ8P9r+0.net
でもそんなコンパイラ使ってるところだったら逃げるわ

33 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:52:45.737 ID:KsgyqEQ4a.net
言語特性に合わせて最適な書き方すべきだろ
他の言語で通らないとか言う奴は思考停止のアホ

34 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:53:21.532 ID:GNiEAfcp0.net
化石コードとゆとりんコード紙一重なんだな目の毒( ;´Д`)

35 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:53:21.671 ID:BOH050ls0.net
えー
プロの現場では上ので通る開発環境を使ってるの?
俺静的型付け言語ってみんなそういうものだと思ってたわ

36 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:56:06.899 ID:5fwTfFep0.net
どの分岐を通っても返り値が明確に定義されてるのに
それをエラーにするようなコンパイラはクソ実装と言うほかない
自分でコンパイラを書き直すくらいの姿勢が必要だ

37 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:57:12.308 ID:AXjdmuav0.net
>>35
そんなコンパイラ見たこと無い
あと、静的か動的かは関係無い部分だなそれ

38 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:58:13.630 ID:7lRLccXkp.net
return打たないとエラー返すような言語やコンパイラ知らんわ
教えてエロいひと

39 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:58:45.341 ID:vY23M4wd0.net
returnが分岐に書かれているとエラるコンパイラって闇ですか?
闇って言っていいですか?

40 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:58:59.268 ID:n3TPuk8B0.net
でも>>1の環境ではif文内にしかreturnがないコードのコンパイルが通らないなら講師が全面的に正しいよね

41 :以下、\(^o^)/でVIPがお送りします:2017/04/21(金) 23:59:58.164 ID:MGZUxgYQ0.net
if (num % 2 == 0) return true;
if (num % 2 != 0) return false;
↑だったらreturnされないパスあるぞボケって警告出す言語はあるがこれでもコンパイルエラーは見たことないわ
if-elseなら全く問題なく通るだろ

42 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:00:22.265 ID:ocrV4BXh0.net
デバッガでトレースするなら後者の方が分かりやすいな

43 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:00:37.580 ID:oevB5GSkd.net
どっちも通らなかった時に戻り値が不定になるから。

44 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:01:27.332 ID:jKoJKXR10.net
>>41
gccはreturnが無いパスがあっても警告しか出さんけど
最近の言語なら普通はエラーになるぞ

45 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:01:42.470 ID:076gWwjJa.net
>>40
一般的に幅広く使われてるCもjavaも通る
変な言語を教育の場に持ってくる方が悪い

46 :以下、\(^o^)/でVIPがお送りします:2017/04/22(土) 00:01:52.376 ID:kxKhPcSr0.net
>>37
静的型付け言語だと返り値にブーリアンの定義がしてあったら明確に
リターンをその型で返さないといけない
if文で包んでしまうとそこが曖昧とコンパイラに見なされる

と俺は考えてきた
プロは違うのか
そうか

総レス数 96
22 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★