小6におすすめな言語 (549レス)
1-

102
(1): 2020/10/25(日)12:14 ID:usbfp6+y(1) AAS
プログラミングそのものを教える前に数学を教えろって意見は大賛成
さらに論理学も必要

ただしHaskelおまえはいらん
103: 2020/10/25(日)19:11 ID:7UCeAjtw(3/5) AAS
>>101
うむ。
マルチスレッドまでは言い過ぎた。
でも、forで良く使うパターンを関数化しない or 出来ないのは普通の言語だと演算子が関数の一種として扱われてないから。
わざわざラムダ式や関数書かなきゃ行けないのはスマートじゃない。
高階関数取り入れても、まだまだ再利用性には関数型言語と差がある。

sum = foldl (+) 0

product = foldl (*) 1

reverse = foldl (\xs x -> x:xs) []
104
(1): 2020/10/25(日)19:11 ID:7UCeAjtw(4/5) AAS
>>102
ぶっちゃけその通り。
ただ、今の教育課程はいささか・・・いあ、大分不安がある。
例えば足し算の性質、合併と増加。
参考書では同時か後からかの違いと説明されるが、これではリンゴとみかんの合計の様な違うものの足し算の説明が出来ない。

ペアノの公理はリストと同型であるが、そう考えると合併はappend(リストの結合)だ。
一方の増加は足す数をカウンタとして足される数を増やすので、見ようによっては足す数の型を足される数の型に変換して合併する処理だ。
型にすると

合併の型: a -> a -> a

増加の型: a -> b -> a

そうするとリンゴとみかんの合計は

リンゴとみかん リンゴ みかん
   (0 + 3) + 5

リンゴとみかん みかん
    3 + 5

リンゴとみかん
8

となる。
105: 2020/10/25(日)19:22 ID:eXluQ9/t(1) AAS
腐らないみかん?
106: 2020/10/25(日)19:31 ID:7UCeAjtw(5/5) AAS
合併のHaskell(リスト)の例

[] ++ ys = ys
(x:xs) ++ ys = xs ++ (x:ys)

[1,1,1] ++ [1,1]
= [1,1] ++ 1:[1,1]
= [1] ++ 1:1:[1,1]
= [] ++ 1:1:1:[1,1]
= 1:1:1:[1,1]
= [1,1,1,1,1]

増加のHaskell(リスト)の例

xs ^+ [] = xs
xs ^+ (_:ys) = 1:xs ^+ ys

[1,1,1] ^+ ['a','b']
= 1:[1,1,1] ^+ ['b']
= 1:1:[1,1,1] ^+ []
= 1:1:[1,1,1]
= [1,1,1,1,1]
107
(2): 2020/10/25(日)19:35 ID:0u/0rMBT(2/3) AAS
>>104
もうお前がどこに向かってるのか分からんよ。
小学生はそんな小難しい理屈なんか考えずに何の問題もなくリンゴとミカンの数の足し算ができるしそれで過不足は無い。
haskellを小学生に教える理由としてはことごとく的はずれで、先に自分の中でhaskellを推すということが大前提になってしまってるだろう。目的と手段が混同されたままで何の価値もない議論になってるぞ。
108: 2020/10/25(日)19:36 ID:qxf88E90(1) AAS
入門という意味なら(癖が強いけど)環境構築も含めて JavaScript + HTML かな
使ってるのが Windows なら C# というのも選択肢に入ってくる

Python とか Ruby は環境構築がアレだけど Anaconda とかで無事に入るのであれば Python というのも無くはないがそれなりにクセがある
109
(1): 2020/10/25(日)19:45 ID:wvC05HVI(1) AAS
アルゴリズム体操のようなクィックソート体操があると面白いなぁ
110: 2020/10/25(日)20:05 ID:0u/0rMBT(3/3) AAS
>>109
大人のピタゴラスイッチでやっていたしめじソートやじゃがいもソートは面白かったね
111: 2020/10/25(日)22:54 ID:jX2Ujasg(1) AAS
>>25
とりあえすtoつけろやあんぽんたん
112: 2020/10/26(月)03:56 ID:OVBcl2zY(1) AAS
C++をやっておけば、Arduinoを始められるという利点がある。
113: 2020/10/26(月)12:36 ID:mZWtyFpe(1/2) AAS
>>107
小学生にはおはじきで動きを教えれば良いんだが、教師の側は知っておいた方がいい。(だから参考書にも変な解釈が載ったりする)

言いたかったのは、理屈を教えず「そういう決まり」で教えるのでは無く、理屈を教えたり理屈を探究させたりする内容の授業が大切。
それこそが論理的思考をそれこそが論理的思考を育てる。

ただドリルを繰り返しても身に付かない。

そう言う意味でのプログラミングでも、処理過程の見え難い普通の言語(デバッガーがあれば多少マシ程度)よりHaskellの方が理屈を考え易い。
114
(2): 2020/10/26(月)17:50 ID:mZWtyFpe(2/2) AAS
>>107

>>75の理由で引くつもりは無いので、Haskellについては的外れだろうが推す。

第一、再帰が難しいと言うが、複雑度合いで行けば再帰よりループの方が複雑だ。
一般にループは末尾再帰と同程度の複雑さとされる。
論理的思考を教えるのにスタックを消費するからってのは考えないで良いなら、再帰の方が単純。

0からnまでの合計
Python
def mysum(n):
a = 0
for i in range(n + 1):
a += i

return a

Haskell
mysum 0 = 0
mysum n = n + mysum (n - 1)
115
(3): 2020/10/26(月)18:27 ID:qF0DukLx(1/2) AAS
好きな言語で簡単なコードを描いて答えてください

x, y は整数
x > 0
y < 4 / x
を満たす x, y の組み合わせを全て出力
116: 2020/10/26(月)18:33 ID:eROnJLfC(1/2) AAS
これはprologwww
117: 2020/10/26(月)18:39 ID:qF0DukLx(2/2) AAS
みんな判ってるだろうと思うけど
0 < x < 4 の 4 とか勝手な上限設定するのは反則ね
118
(1): 2020/10/26(月)19:29 ID:0rRTb9Rw(1) AAS
>>114
的外れだろうが推す、か。
もうただの荒しだな。
119: 2020/10/26(月)19:33 ID:VrjIJ6iF(1) AAS
5chのクソスレで必死に啓蒙活動とか発達障害かキチガイ
120: 2020/10/26(月)21:06 ID:AQRN76lK(1) AAS
ぶっちゃけ普通の数学でn進数を暗記して色の管理とか行列と絡めてSQLでユーザー管理でも組ませてLINEとかはこうやってみんなのくだらねーおしゃべりを中継してるんだぞ!っとかの方が実感しやすくね?

口語使えないやつらにいきなり文法パズルやらせたって睡眠導入にしかならんと思

睡眠障害もちを集めた特別教室ならどれでも良いだろうけど
121: 2020/10/26(月)21:30 ID:artpKwJu(1) AAS
>>114
コテ付けてもらえる?
122: 2020/10/26(月)22:55 ID:eROnJLfC(2/2) AAS
面と胴も。
123: 2020/10/27(火)06:23 ID:HBnjR0ag(1) AAS
>>115
これは無理
組み合わせが無数にある
124: 2020/10/27(火)07:42 ID:2iAdYJTU(1) AAS
>>115
#ruby
#x,yは正の整数とする
n=4
(1..n).each{|x|(1..n/x).each{|y|p [x,y]}}
実行結果
[1, 1]
[1, 2]
[1, 3]
[1, 4]
[2, 1]
[2, 2]
[3, 1]
[4, 1]
125: 2020/10/27(火)11:52 ID:ytFGmFUn(1/2) AAS
(1..n) の部分が反則ですって
126: 2020/10/27(火)11:52 ID:ytFGmFUn(2/2) AAS
しかも答え間違ってるしωωω
127: 2020/10/27(火)12:24 ID:MWzm/YXn(1) AAS
無限個あるので出力できません
おわり
128
(1): 2020/10/27(火)14:34 ID:n2rIsfhw(1) AAS
小学生は沈黙している。
小学生は窓の外に鳥を見つけた。
小学生は引き出しで趣味の折り紙に熱中している。

この先生が小学生の教師だったら一人と偶然相性が合う3クラスに2人くらいの生徒が過剰反応するだけで
バックグラウンドで学級崩壊してるよ。
129: 2020/10/27(火)15:34 ID:LW0h9OgH(1) AAS
>>128
そこで体罰ですよ。
130
(1): 2020/10/27(火)17:55 ID:AJkS0cYF(1/2) AAS
>>115
「整数」なら範囲指定して欲しいぬ(´・ω・`)
自然数ならxもyも999まで回しても答え変わらんから、xは1..4、yは0..3でええやろ。

[(x,y)| x <- [1..9], y <- [0..9], y < 4 `div` x]
> [(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(3,0),(4,0)]

n = 9
[(x,y)| x <- [1..n], y <- [(-n)..n], y < 4 `div` x]
> [(1,-9),(1,-8),(1,-7),(1,-6),(1,-5),(1,-4),(1,-3),(1,-2),(1,-1),(1,0),(1,1),(1,2),(1,3),(2,-9),(2,-8),(2,-7),(2,-6),(2,-5),(2,-4),(2,-3),(2,-2),(2,-1),(2,0),(2,1),(3,-9),(3,-8),(3,-7),(3,-6),(3,-5),(3,-4),(3,-3),(3,-2),(3,-1),(3,0),(4,-9),(4,-8),(4,-7),(4,-6),(4,-5),(4,-4),(4,-3),(4,-2),(4,-1),(4,0),(5,-9),(5,-8),(5,-7),(5,-6),(5,-5),(5,-4),(5,-3),(5,-2),(5,-1),(6,-9),(6,-8),(6,-7),(6,-6),(6,-5),(6,-4),(6,-3),(6,-2),(6,-1),(7,-9),(7,-8),(7,-7),(7,-6),(7,-5),(7,-4),(7,-3),(7,-2),(7,-1),(8,-9),(8,-8),(8,-7),(8,-6),(8,-5),(8,-4),(8,-3),(8,-2),(8,-1),(9,-9),(9,-8),(9,-7),(9,-6),(9,-5),(9,-4),(9,-3),(9,-2),(9,-1)]

>>118
そう言うものだって諦めて、そっちはそっちで何が適してるか提案すれば良い。

私は真剣にHaskellが適してると思う。
今だって、リモート授業出来てるの全校の6%程度。
残り94%が出来ない理由は「環境が無い家庭が居る」から。

さらにプログラミングは本格的に始まったら、プログラミングの授業のノウハウ知らない学校の先生が授業する。
プログラミング教室の先生が毎回授業してくれる訳じゃない。
(だから算数以上に形骸化するのが目に見えてるんだが)

数学でプログラミング出来る方が、先生の負担は少ない。
131: 2020/10/27(火)18:23 ID:BOyTz1KZ(1) AAS
結論有りきの本末転倒さと勝手な決めつけで相変わらずイカれてますねw
1-
あと 418 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.032s