C言語なら俺に聞け 148

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (アウアウカー Sacf-slpW)
垢版 |
2018/09/19(水) 17:56:50.83ID:XSTNMnDwa
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 147
http://mevius.5ch.net/test/read.cgi/tech/1534430162/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2018/10/21(日) 23:01:49.92ID:YP/adz7t0
>>829
あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw
2018/10/22(月) 00:28:49.01ID:4J0CKskh0
基本情報c言語で受かってた
すごいっしょ
2018/10/22(月) 01:24:24.92ID:qPiOMOlUM
>>828
なんかいろいろ勘違いしてないか
>1.175494e-38を抜けるとバカな数字が出てくると仮定して
この仮定がはずれてるから無限ループしてんじゃん
834デフォルトの名無しさん (ワッチョイ 3bb3-FQxm)
垢版 |
2018/10/22(月) 01:30:41.57ID:eGJ65JSF0
>>833
int型だとオーバーフローすると馬鹿な数字がでてくるからそう仮定したんだが違うのか
率直に聞くんだけど、この場合どうすればいいの?
2018/10/22(月) 01:41:56.82ID:ao50gEDc0
>>834
バカな数字とかいい加減な理解をしないで、ちゃんとした仕様を調べてみなよ。例えばwikipedia辺りで算術オーバーフローの項目見て全部読んで、分からない語とか関連する語もちゃんと調べるとか。
2018/10/22(月) 02:29:56.23ID:gc2RKbtu0
>>833
>>835
無限ループはしないけどどんどん値は減っていく。
理由わかるの?828じゃないけど俺も知りたい。
2018/10/22(月) 02:49:07.02ID:qPiOMOlUM
>>834
int?
int使ってる?
2018/10/22(月) 04:47:45.21ID:o0mVKFY/0
>>831
>>829
839sage (ワッチョイ 3bb3-xBTp)
垢版 |
2018/10/22(月) 04:59:16.08ID:eGJ65JSF0
>>837
int型で似たようなこと(最大の正の数値を求める)やろうとしたら、バカみたいな数字が出たってだけだよ
2018/10/22(月) 06:47:45.13ID:MQnoZdqg0
>>838
アホw ヴァカwww
2018/10/22(月) 07:09:00.78ID:PnrNZBigM
>>840
>>773
2018/10/22(月) 07:36:45.42ID:3zPWDIkK0
>>828
非正規化数(denormal)でぐぐれ
2018/10/22(月) 09:03:08.22ID:MQnoZdqg0
>>841
アホとヴァカを認めやがったw
2018/10/22(月) 10:25:10.75ID:OFRfv3K50
KYB
2018/10/22(月) 12:24:07.96ID:PnrNZBigM
>>843
意味のわからん解釈で勝ち誇るとか低能の定番乙 w
846デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
垢版 |
2018/10/22(月) 12:59:00.86ID:8WYgXfgna
そろそろコードで語れや
2018/10/22(月) 13:28:16.05ID:MQnoZdqg0
>>845
意味わからんのか
よほど高力価のトランキライザーを打たれているようだな
もう末期でオピオイドとかか?
お大事に
2018/10/22(月) 15:05:43.37ID:K/0BTgUUH
>>828ですが、参考書やらをみてアンダーフロー・正規化についてしっかり理解したところ、解決しました。

要は、float型のビット表現の仮数部が 0.(仮数部) ではなく 1.(仮数部) で表現されてるから、
その意味では
0|00000001|00000000000000000000000
が最小の正数になるけど、仮数部を 0.(仮数部) と表現しても計算できないことはないから、
0|00000000|10000000000000000000000
もちゃんと表示される、ということだけど、
これ以降ずっと計算していくといずれ
0|00000000|00000000000000000000000
となるから、150回目くらいでアンダーフローが起こる、ということらしい。

>>835>>842ありがとうございました。
2018/10/22(月) 19:09:18.14ID:LClj1fo2M
>>847
>>845
アホとヴァカとしか言えなくて悔しいね w
2018/10/22(月) 21:38:29.05ID:MQnoZdqg0
>>849
そうか、847にアホとヴァカって書いてあるのか
実際には、そう言ってるのはおまえだけなんだが
確かに悔しそうに勝ち誇っているシュールな姿だねw
2018/10/22(月) 23:25:34.63ID:o0mVKFY/0
>>850
> そうか、847にアホとヴァカって書いてあるのか
> 実際には、そう言ってるのはおまえだけなんだが

ヴァカで検索
>>831 > あ、おまえ間違えたの? アホとヴァカしかやらない間違いだなw
>>840 > アホw ヴァカwww
>>843 > アホとヴァカを認めやがったw
849-850 は指摘なので省略

> 自分にお前だけとかかなりシュールな姿だねw
2018/10/23(火) 02:12:44.79ID:hcGdXqLuM
飽きないねぇ・・・
2018/10/23(火) 03:28:29.69ID:MMiE9qLz0
>>848
色々違う
2018/10/23(火) 12:00:30.24ID:cKF5Z2eR0
C言語でLinuxのdmesgやffmpegのログのような着色された分かり易いログ出力ができるライブラリってありますか?
[YYYY-MM-DD hh:mm:ss.ss] INFO: creating some file...
のような形式がいいんですけど、Cだと自作するしかないですかね?
2018/10/23(火) 12:27:40.24ID:SzZ0Y41Da
>>854
標準ライブラリにはない
git漁ればあるはず
でもそのぐらいなら自分でチョロっと書けば終わる
2018/10/23(火) 12:33:21.57ID:9ghnGYJ4a
色だけだったら制御コード挟むだけでかなり直接的な操作だから、ライブラリ要らんと思うよ
2018/10/23(火) 21:42:50.09ID:/OGOSsnj0
>>851
ヴァカと書いてあるのを血眼で探したのか
ご苦労だったな

で、誰か「自分にお前だけ(ry」とかテレパシーで話しかけてきたのか
なるほど精神科の医者じゃなく患者だな
精神分裂病の陽性症状で幻聴がひどいようだな
2018/10/23(火) 21:55:22.05ID:AzbdbLNL0
血眼?
検索機能も知らんのか w
2018/10/23(火) 22:50:27.85ID:PGQOpxAMa
>>854
サンプル書いてやったぞ

#include <stdio.h>
#include <time.h>
#define D(fmt, ...) \
do { \
struct timespec _ts_; \
struct tm _tm_; \
char _tt_[128] = {0}; \
clock_gettime(CLOCK_REALTIME, &_ts_); \
localtime_r(&_ts_.tv_sec, &_tm_); \
strftime(_tt_, 128, "%H:%M:%S", &_tm_); \
fprintf(stdout, "\033[33m%s.%lu %s:%d %s " fmt "\033[0m\n", \
_tt_, _ts_.tv_nsec, __FILE__, __LINE__, __func__, ##__VA_ARGS__); \
} while (0);
2018/10/24(水) 00:50:22.48ID:pNd6Tk0Ba
do/whileでくくる意味あんの?
2018/10/24(水) 00:54:26.48ID:PjZwCPb8M
末尾のセミコロンがなければ意味あるけど、
セミコロンのせいで無意味になってるね。
2018/10/24(水) 01:18:13.51ID:fzPXyYYOM
カラーコードをハードコーディングかぁ
やりますねぇ・・・
2018/10/24(水) 01:42:48.00ID:+vpF9pgu0
>>859
ありがとうございます!
一点,おこがましい指摘なのですがfprintfの出力先はstderrのほうがいいのではないかと思います。
ログ出力はコマンドの出力とは別個にするべきなので。
2018/10/24(水) 01:48:03.42ID:+vpF9pgu0
>>862
例えば改行を\x0aで固定するのは良くない方法であり、\nにすべきですが(これだとWindows向けにビルドしてやれば\0x0d\0x0aが出力されるようになる)
着色に関するエスエープシーケンスを固定するのは別に大丈夫だと思います。
ECMA-48/8.3.117などで標準化されてますし。
2018/10/24(水) 02:18:53.70ID:fzPXyYYOM
>>864
ん、いや、マクロくらい使おうよって話
2018/10/24(水) 03:09:04.52ID:+vpF9pgu0
>>865
ああ
「\e[33m」という記法それ自体ではなく
「33」という文字列を,例えばYELLOWマクロにする,というような意味だったんですね。
まあ確かにそうかも知れないです。
2018/10/24(水) 04:01:46.93ID:fzPXyYYOM
>>866
いやいや・・・
それ丸ごとマクロにした方が楽でしょ・・・
https://stackoverflow.com/questions/3219393/stdlib-and-colored-output-in-c
2018/10/24(水) 05:49:24.17ID:X/sBrfkw0
>>867
説明のための例だからそういう定義が分かりやすいとして、

>>866
こういうのを定義するときは、手段じゃなくて目的で定義する方がいいんじゃないかな。
ソース位置の強調をするために STYLE_LINE、タイムスタンプを強調するために STYLE_TIME、プロセスIDを強調するために STYLE_PID、みたいな。
それらを定義するときに YELLOW とか RED とか使う感じ。

#define STYLE_LINE(FMT) (ANSI_COLOR_YELLOW FMT ANSI_COLOR_RESET)

みたいにして、
fprintf(stdout, STYLE_TIME("%s.%lu") " " STYLE_LINE("%s:%d") " " STYLE_MSG(fmt) "¥n",

とか。
2018/10/24(水) 07:45:53.57ID:hBENxp+1a
>>861
;はミスだわ

>>863
サンプルなのでお好きに

>>868
好みかもしれんが、一行の中で色変えるとか見づらくないか?
そのフォーマットではファイル出力したくなくなるし

俺が色使うなら #define D(type, fmt, ...) でタイプ指定して
fprintf(stdout, COLOR(type) ... COLOR_END "\n",
とかで色変えるぐらいかな
2018/10/24(水) 09:48:15.70ID:X/sBrfkw0
>>869
例だから派手にしたけど、言いたいのは目的にちなんだ定義名にした方がいいってこと。
ログレベル毎に色を変えるなら、STYLE_ERROR、STYLE_WARN、STYLE_INFO とかさ。
2018/10/24(水) 09:56:16.01ID:WhwEQaTDa
まあ抽象は正義だからな
2018/10/24(水) 19:57:27.64ID:a4OXlgOjM
正論と同じであまり振りかざされても実務では面倒なだけ
>>868とか正直ウザって思うわ
873デフォルトの名無しさん (アウアウウー Sa9f-L0SM)
垢版 |
2018/10/24(水) 20:20:46.99ID:k2aW8IHEa
cursesライブラリは使えないなかな?
2018/10/24(水) 20:56:00.65ID:+vpF9pgu0
ていうかログのフォーマットってCでは標準化されていないのね、SUS含め。
Javaのlog4jやPythonのloggerみたいなものがあれば 一番嬉しいんだけどね
2018/10/24(水) 21:31:34.66ID:0y0LlX3od
C初心者です、よろしくお願いします
ubuntuのvimでしこしこ書いてgccでコンパイルしています
CでIDEを使ってみたいのですがオススメありましたら教えてください
仕事ではJavaでEclipseを使ってるのですがCで使ってみたらいまいちピンと来ませんでした
やはり皆さんVisualStadioとかVSCodeあたりでしょうか?
2018/10/24(水) 23:14:58.20ID:GbRp+dd6M
そうですね
ぜひ使ってみて下さい
877デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/25(木) 09:43:50.32ID:hw/Q19JUa
>>874
ないけどUNIXで昔からsyslog使われてた。というかそれがあったせいで他のログ出力ライブラリが広まらなかったのかも知れない。
2018/10/25(木) 10:55:57.05ID:OLog262Fa
ログ出力も奥が深いよな。
大量かつ高速が条件だとなかなか悩む
2018/10/25(木) 12:17:11.73ID:3CeE+Pyi0
最近はログをDBに格納している
2018/10/25(木) 15:07:02.91ID:UNvjysmaH
DBのログは?
2018/10/25(木) 15:27:49.50ID:R/0gSUq30
syslogは日付がISOに従ってないのがちょっと嫌だな。
[YYYY-MM-DDThh-mm-ss,ssZ] LOGLEVEL: some messages.
こんな感じがいい
882デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/25(木) 15:40:47.48ID:hw/Q19JUa
rsyslogdだと設定できなかったっけ?
2018/10/25(木) 17:56:49.79ID:zmVgc+jlM
>>878
大量⇒高速に処理が必要だから、その条件は大体セットだろ
それにプログラムが異常終了してもログが欠落しないとかの条件がつくと難易度が更に上がる
2018/10/25(木) 18:37:09.60ID:R/0gSUq30
うーん。素人考えなんだけどfprintf()関数を呼び出したり,その中で__FILE__マクロ変数を展開したりするのって
そんなにコスト掛かる動作じゃないよね。
いくら大量の処理とは言え,ログを出力しただけで影響がでるような厳しい環境ってそうなくない?
そしてそもそもそんな環境でログ処理ではないメインの処理って動くの?
2018/10/25(木) 18:46:33.19ID:s6Ph9fEn0
>>884
マルチプロセスやマルチスレッドだったりすれば排他も必要だし、fprintf 使っただけだとプロセスの突然死なんかではバッファがフラッシュされず失われ、一番欲しい落ちる寸前の情報が欠けかねない。
小まめにフラッシュしたらそれはそれで性能の問題が出る。
奥が深いと思うよ。
2018/10/25(木) 23:51:29.92ID:GsCjxORea
>>870
ああ、過剰な例だったか

>>871
あの例は抽象化ではないけどな
まあ例だから深くは言うまい
2018/10/26(金) 00:21:48.90ID:7237jhqNa
>>884
どの程度の性能を求めてるか次第だと思うよ
時刻取得でも clock_gettime と gettimeofday でうるさく言う人もいるしね

トレースログみたいに高速かつ大容量を考えるなら
ログがN件入るバッファを複数持っておいて
情報は基本バイナリで登録、ローテート時にファイル書き出し、
別途パーサーを作る、とかかな

まあそこまでする必要のあるソフトなんて稀だろうけど
2018/10/26(金) 09:13:38.45ID:hAbqlzFH0
ポインタをややこしくしてるのは
int* a;
の a がポインタ変数で
a[10]
という配列がある時、a と書くだけで配列の先頭アドレスの別の書き方として許されてるがいけないんじゃないのかな?って思ったんだけど合ってる?
配列の先頭アドレスは常に&a[0]って書くようにするようにすればポインタのごちゃごちゃって解消されない?
2018/10/26(金) 09:51:00.93ID:2eu7c7Ria
Cだったら配列なんてものがあると思わん方がいいかもね
入門書的にはポインタより配列の紹介が先に書いてあったりするが、確かに問題はある。
2018/10/26(金) 10:26:55.40ID:8auh1e/NM
>>888
あと、p[i] も禁止して、*(p+i) を強制しないとだめ。
2018/10/26(金) 10:54:29.59ID:cduwye+60
>>888
そのへんはシンタックスシュガーというよりは
たまたま結果的に同じものを指している 程度だし
原理原則を省かず丁寧に覚えていくしかないのでは
2018/10/26(金) 11:21:53.96ID:E0U+wNaz0
違う
違うナァ

機械語→BASICのころには
「変数って何だ?!!」として変数なる概念をなかなか理解できなかったやつがいた……
と言う話を聞いてる

今の初心者の一部もなじめないヤツが一定数いる

言ってしまえばC言語は「変数指向」のプログラミング言語だ
オブジェクト指向や関数型に並び立つような、な
気付いてないが現代プログラミング言語は「変数指向」で出来てる
そしてどんな思想であろうとどんだけ説明してもその概念の片鱗すら理解出来ないヤツはいる

なので「変数」概念の理解に原理原則なんて存在しない
一発で理解出来るか素直に受け入れるかのどちらかしかない
それ以上説明しても意味が無い、という人物は少数だがいる
これはしょうがない
2018/10/26(金) 12:12:26.16ID:k/2ANTBE0
なんかの本に
int *a;
と宣言してあったら、式の中で
*a
と書かれたものが整数であると的確に説明してあった。
2018/10/26(金) 13:39:36.53ID:T+aWo9i70
>>893
それが分かりやすいかはちょっと微妙じゃね。
int i; ならその領域は確保されてるけど、int *a; と宣言した *a は型としては i と同じだけどそのままで i と同じように使えるわけじゃないし。
ポインタで迷うレベルに通じる話じゃなさそうだし、これが通じるならポインタで迷ってないんじゃね。
2018/10/26(金) 14:13:47.90ID:ScQN6FWl0
じゃんね?
2018/10/26(金) 14:14:23.54ID:ScQN6FWl0
あ んじゃね か。
馬鹿だった。
2018/10/26(金) 15:09:00.24ID:WWw+Yxena
>>892
マシン語でもレジスタが変数みたいなもんだろ
898デフォルトの名無しさん (スプッッ Sd9b-UHBe)
垢版 |
2018/10/26(金) 17:09:00.87ID:JLzES5S7d
これを実行するときに、argcに3が入っているとsegmentation faultとなってしまうのですがなぜだかわかりますか?
OSはopensuseでコンパイラはccです

#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
int cmp=0;
char *s1=argv[1],*s2=argv[2];
cmp=strcmp(s1,s2);
if(argc!=3){
fprintf(stderr,"usage:%s[string1][string2]\n",argv[0]);
return -1;
}
if(cmp<0){
printf("%d : %s\n",strlen(s2),argv[2]);
}
else{
printf("%d : %s\n",strlen(s1),argv[1]);
}

return 0;
}
899デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/26(金) 17:14:58.46ID:8JGFizbaa
>>898
argc調べる前にstrcmp()するのは変だろう。
2018/10/26(金) 17:17:49.51ID:BF6Z7BaaK
組み込みでsicpて読む価値あんの?
901デフォルトの名無しさん (スプッッ Sd9b-UHBe)
垢版 |
2018/10/26(金) 17:21:54.90ID:JLzES5S7d
>>899
それを直したらsegmentation faultしなくなったんですけど、理由が知りたくて…
2018/10/26(金) 18:06:31.80ID:XW9xoDKGa
>>901
たとえばargv[2]が空だったらstrcmpの引数は何になるんだという
2018/10/26(金) 18:16:18.06ID:T+aWo9i70
>>902
argc が 3 なら argv[2] は何か入ってるだろ
2018/10/26(金) 18:20:05.25ID:pYWWPyQzM
どうでもいいけどargvが3じゃなきゃいけないのにそのusageはどうよ
905デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 18:25:03.95ID:HaLyiKNA0
>>902
なるほどです
理解しました
>>904
これではよくないんですか?
906デフォルトの名無しさん (アウアウウー Sa5d-hDoO)
垢版 |
2018/10/26(金) 18:25:43.74ID:8JGFizbaa
>>901
引数がなかったり一つだったりした時に先に無条件にstrcmp()をしてしまうと両方または一方が不定値やNULLになるので落ちたり変な動きになったりする。
907デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 18:28:06.65ID:HaLyiKNA0
>>906
詳しい説明ありがとうございます
2018/10/26(金) 19:03:31.73ID:T+aWo9i70
>>907
え、その問題はもう直してあって、>>898 は直す前のコードで argc が 3 だと落ちたけどなんで?って話なんだよね?
909デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/26(金) 19:42:46.18ID:HaLyiKNA0
>>908
すみません間違いました
3以外が入ってるときです
2018/10/26(金) 20:16:13.66ID:XW9xoDKGa
main(void)の場合もメモリ上のどこかにargvが入ってるだろうか?
2018/10/26(金) 20:46:48.73ID:TAH5LWiNM
>>905
[hoge]はhogeが省略可能って表現
あとスペースちゃんと入れろよ
2018/10/26(金) 21:08:53.88ID:ScQN6FWl0
みんな知ってるかもしれないが
[--foo]で--fooオプションが省略可能だということはかなり広範な決まりで,
POSIXに始まりGNUプロジェクトやPythonのインターフェース規格でも取り入れられてる。
2018/10/26(金) 22:48:54.99ID:dAefMjKVa
>>910
そりゃいるだろうよ、と思って確認してみた
ubuntuだと環境変数の近くにいるね
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char *c = getenv("PATH");
while (--c != NULL)
if (!strcmp(c, "hoge")) {
printf("%s\n", c);
while (++c != NULL)
if (!strcmp(c, "foo")) {
printf("%s\n", c);
return 0;
}
return 0;
}
return 0;
}

$ ./a.out hoge foo
hoge
foo
2018/10/26(金) 22:54:36.13ID:dAefMjKVa
>>912
これだな
https://ja.wikipedia.org/wiki/Man%E3%83%9A%E3%83%BC%E3%82%B8
https://qiita.com/aosho235/items/0f2b73d08eb645c05208

俺が生まれる20年以上前からあるとか感慨深い
2018/10/26(金) 23:22:14.01ID:ScQN6FWl0
>>914
ちょっと違うぞ。
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
こういうの。
2018/10/26(金) 23:22:24.86ID:gi8K36IH0
man読む習慣があれば自然と身につくのに
2018/10/26(金) 23:50:26.20ID:vTWFo6xp0
ナウなヤングはinfo使ってるから…
2018/10/27(土) 00:13:55.83ID:BbyQQXdF0
infoの使い方分からないマン
2018/10/27(土) 00:36:12.58ID:QSCXw9iYa
]で次のページに行く
2018/10/27(土) 00:49:36.02ID:If2PGrjfa
>>915
POSIXに始まりってのは歴史的な話じゃなくて規約的な話だったか
でもここまで規約が決まってたのは知らんかったわ
921デフォルトの名無しさん (ワッチョイ eb72-UHBe)
垢版 |
2018/10/27(土) 01:29:30.14ID:x+9raBkh0
>>911
そういう意味があるんですね
ありがとうございます
2018/10/27(土) 13:15:19.86ID:8fc2vBvs0
>>892
違うぞ。

その世代(ベーマガ世代)で変数が理解出来なかったのは、数学的素養がなかったからだ。
数学で「変数」が導入されるのは「方程式」からで、それ以前の小学校の算数は全部「定数」で出来ているから、
その世代の『小学生』はそこに戸惑っただけ。
機械語/BASICとかは関係ない。

高一で物理を始めると、三角関数が出てきて戸惑うようなもの。
学校によっては高二から始めるらしいが、その場合は戸惑うことはないだろ。

或いはアフィン変換も同じ。
あれも数学で回転行列を習った後なら容易いが、
『小学生プログラマ』にやらせようと思ったら、まず座標を教えて、その後に…と色々必要だろ。

数学的素養がないと、プログラミングは理解出来ないんだよ。
小学校教育に取り入れた馬鹿共は、プログラミングが出来ないから、それが分からないだけ。

○○が分からない、と言う奴は大概、数学の素養がないか、そもそも全てを『暗記』で済ませてきたタイプだ。
(世の中大概それでどうとでもなるのも事実ではあるが、)それではどうあがいてもプログラミングは上達しない。
頭を切り換えて、全てを『理解』する癖を付けることだね。そしてまず数学を勉強すべきだ。
そうしないとただのコピペ(写経)マンになってしまう。
(はっきり言って昔のベーマガ世代も実際やっていたのは写経でしかないし)

色々理解したら、なるほどCは文法的にも構造的にも美しく出来ているし、
色々無駄がないからこそ、いまだに現役で使われ続けていることが理解出来るようになる。
ただし、分かりやすいわけではないので、俺は初心者はCから始めるべきではないと思うがな。
2018/10/27(土) 15:37:40.83ID:BkFfYRiz0
>>922
中学の授業では便宜上は今まで変数を習ったことの無い中学なりたてホヤホヤのガキに変数を教えるんだよな?
なのになんでそれで新中学一年生は変数を理解出来るんだ?
素養が無いのにも関わらず変数を授業で教えると理解できるんだぞ?
不思議じゃないか?
2018/10/27(土) 15:55:34.30ID:IeSn2Jid0
ベーマガのゲーム入力して
兄「ここの数字増やすと自機数が増えるんだよ」
自分「へぇ」

兄「ここの P=P-1を消すと死んでも自機数減らないんだよ」
自分「へぇ」

当時小学3年ごろ。
これで変数と言うのを理解したわ。
2018/10/27(土) 15:59:43.62ID:YzjvNBrca
どういう順番でも抽象的な理解はできると思うよ。本当に「理解」なのかわからんけど。
でも数学が先じゃないと時間の無駄という気はする。
2018/10/27(土) 16:01:45.78ID:YzjvNBrca
線形代数はプログラミングと同時にやってもいいと思うわ。紙の上の操作はちょっとつまらん
927デフォルトの名無しさん (ガックシ 06af-UHBe)
垢版 |
2018/10/27(土) 17:08:17.28ID:pWQGtgcn6
線形代数とプログラミングってなんの関係があるん?
最近、プログラミング始めたからよくわからんのよな
2018/10/27(土) 17:14:52.39ID:NY1AcmJf0
>P=P-1

プログラム上と代数学上の記法の違い、最初面食らわなかったか?
2018/10/27(土) 17:36:20.97ID:DmauAY/3M
>>923
変数にしろ関数にしろ教え方がアホすぎて全然理解できてなかったわ
単に計算できるだけだった

後にプログラミングやるようになって何で学校の数学ではあんな馬鹿な教え方をされたんだろうかと思ったわ
2018/10/27(土) 17:38:52.04ID:Ttfv0KRj0
やねうらおとか小学生の時にはもう大学の数学をやっていたというが・・・冗談なのか本当なのかわからんがとんでもねぇプログラマなのは確かだからな・・・
2018/10/27(土) 17:43:25.28ID:8fc2vBvs0
>>923
だからお前は猿のままなんだな、納得した
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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