21/03/26 19:47:53.89 UdurcVDt.net
class Idiot:
__init__(self,x,y,z):
self.name = x
self.sex = y
self.why = z
printing_idiots(self):
print('{} is so idiot.'.format(self.name))
print('{0} is {1}.'.format(self.name,self.sex))
print('Why is he idiot,{}'.format(self.why))
setting_idiots_data(self):
print("What is idiot's name?")
self.name = input()
print("What is idiot's sex?")
self.sex = input()
if (self.sex = men):
print('Why is he idiot?')
self.why = input()
elif (self.sex = woman):
print('Why is she idiot?')
else:
print('you are a bullsit guy!')
idiot = Idiot()
idiot.setting_idiots_data()
idiot.printing_idiots()
このソースコードのイニシャライザの部分でエラーが出ている。
2:デフォルトの名無しさん
21/03/26 19:48:57.19 UdurcVDt.net
なにが間違っているのでしょうか。
3:デフォルトの名無しさん
21/03/26 19:50:08.37 RvD1wbxj.net
単発質問スレ立てるのが間違っている
4:デフォルトの名無しさん
21/03/26 19:50:09.41 UdurcVDt.net
しっかり表示されていませんが、間違いなくインデントはしています。
5:デフォルトの名無しさん
21/03/26 19:51:41.55 UdurcVDt.net
>>>3
確かにYah◯o知恵袋使わないのがおかしい(俺馬鹿すぎw)。
6:デフォルトの名無しさん
21/03/26 19:56:58.75 UdurcVDt.net
自分がしたことに対する対処法がわからないので帰りますε=ε=ε=ε=ε=ε=┌(;°∀°)┘カエル
7:デフォルトの名無しさん
21/03/26 19:57:11.49 FXA9QREN.net
なにこの気持ちの悪い言語は
どうでもいいけとヤフー知恵遅れでもスルーされそうやけど
この気持ちの悪い言語はコンストラクタと型あってないと動かんの?
8:デフォルトの名無しさん
21/03/26 20:00:45.18 UdurcVDt.net
Pythonっていう言語なんですけど、確かに癖のある言語と一般によく言われます。
9:デフォルトの名無しさん
21/03/26 20:01:49.22 UdurcVDt.net
しかしデータサイエンティストの肩書きを持つ人々はよく塚うそうです。
10:デフォルトの名無しさん
21/03/26 20:03:48.41 FXA9QREN.net
用意しているのはx,y,zのコンストラクタやん?
引数なしのコンストラクタ作ればいいのでは?
11:デフォルトの名無しさん
21/03/26 20:05:48.38 UdurcVDt.net
実際、汎用性が高いものの、インタプリタで実行するスクリプト言語である故、実行速度には劣ります。
僕は(完成した時はもうドクロになってキーボード叩いてるかも)この言語でP2Pのメッセンジャーを作ろうとこの言語を勉強しようとしています。
12:デフォルトの名無しさん
21/03/26 20:07:04.38 UdurcVDt.net
>>>10
確かに、そもそもコンストラクタを使うことなく、これと似たプログラムを作れました。
13:デフォルトの名無しさん
21/03/26 20:07:56.10 B58xblf/.net
>>1
エラーメッセージを省略せずに教えて
14:デフォルトの名無しさん
21/03/26 20:11:49.38 UdurcVDt.net
?なぜか引数なしのコンストラクタを作っても、:の存在をIDEが拒否していますね...。どうすりゃいいんだ?
15:デフォルトの名無しさん
21/03/26 20:13:41.89 UdurcVDt.net
じゃあIDEONEで試してみよう(僕が使っているのは中華製のIDEで、”PYTHON RUN END”が表示されるなど、特異な部分がある)。
16:デフォルトの名無しさん
21/03/26 20:15:48.67 B58xblf/.net
メソッドの先頭にdefをつけるんだよ藤丸くん!
17:デフォルトの名無しさん
21/03/26 20:16:21.21 UdurcVDt.net
class Idiot:
__init__():
self.name = 'a'
self.sex = 'b'
self.why = 'c'
printing_idiots(self):
print('{} is so idiot.'.format(self.name))
print('{0} is {1}.'.format(self.name,self.sex))
print('Why is he idiot,{}'.format(self.why))
setting_idiots_data(self):
print("What is idiot's name?")
self.name = input()
print("What is idiot's sex?")
self.sex = input()
if (self.sex = men):
print('Why is he idiot?')
self.why = input()
elif (self.sex = woman):
print('Why is she idiot?')
else:
print('you are a bullsit guy!')
idiot = Idiot()
idiot.setting_idiots_data()
idiot.printing_idiots()
をIDEONで実行...
うわIDEONもかよ(泣)
18:デフォルトの名無しさん
21/03/26 20:17:46.27 UdurcVDt.net
>>>16
あああケアレスミス(泣)
19:デフォルトの名無しさん
21/03/26 21:26:38.05 UdurcVDt.net
よし完成☆
class Idiot:
def __init__(self):
self.name = 'a'
self.sex = 'b'
self.why = 'c'
def printing_idiots(self):
print('{} is so idiot.'.format(self.name))
print('{0} is {1}.'.format(self.name,self.sex))
if (self.sex == 'man'):
print('Why is he idiot,{}'.format(self.why))
elif (self.sex == 'woman'):
print('Why is he idiot,{}.'.format(self,why))
def setting_idiots_data(self):
print("What is idiot's name?")
self.name = input()
print("What is idiot's sex?")
self.sex = input()
if (self.sex == 'man'):
print('Why is he idiot?')
self.why = input()
elif (self.sex == 'woman'):
print('Why is she idiot?')
else:
print('you are a bullsit guy!')
idiot = Idiot()
idiot.setting_idiots_data()
idiot.printing_idiots()
20:デフォルトの名無しさん
21/03/27 11:43:29.78 hYwlolSa.net
コピペするときに要らんものも貼り付けてない?
とにかく注意力が足りないタイプだなw
プログラマ向きじゃない
21:デフォルトの名無しさん
21/03/27 12:19:55.28 0Y5ZXK9d.net
ところで「チンポがシコシコする」という日本語表現は、学術的に正しいと言えるのか?
チンポ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。
オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、
全体(俺)と部分(チンポ)が別々になっている場合とが考えられる。けれども「チンポ」はそれ自体
が独立した生き物であり、所有者の意思とは無関係に、自ら勃起して「シコシコする」。
例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。
違うか?
「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
22:デフォルトの名無しさん
21/03/27 12:30:11.20 FxCpf6Ea.net
>>21
あわしろ氏がそう言ってるから。
ハイ論破。
23:デフォルトの名無しさん
21/03/27 18:05:32.39 3CGtXNTc.net
27行のコードで18回もselfを書かなきゃいけない言語てw
まさにidiot向け
24:デフォルトの名無しさん
21/03/27 18:06:28.30 FxCpf6Ea.net
おっと、C++の悪口はそこまでだ。
25:デフォルトの名無しさん
21/03/27 18:11:38.01 1/JZ1fHZ.net
今日パソコン届いたンですがフリーソフトって何が良いとかあるんですか?
26:デフォルトの名無しさん
21/03/27 18:15:41.86 FxCpf6Ea.net
Ubuntuが良いらしい。
27:デフォルトの名無しさん
21/03/27 20:21:20.82 AWYenNZz.net
atomって奴ダウンロード中だけどubuntuってやつのほうがいいの?
初心者すぎてなんもわからない
28:デフォルトの名無しさん
21/03/27 20:35:36.04 4sztA/jc.net
atomはエディタだろ?
ubuntuはOSだぞ
29:デフォルトの名無しさん
21/03/28 00:55:26.01 yHCir1no.net
エディタの基本はviだと、あわしろ氏が言ってたな。
30:デフォルトの名無しさん
21/03/28 00:58:02.60 A0lj2cxG.net
>>29
ガイジ
31:デフォルトの名無しさん
21/03/28 01:41:23.39 yHCir1no.net
基本をおろそかにするのは雑魚。
32:デフォルトの名無しさん
21/03/28 02:01:01.94 lWZDWNHi.net
まあでもdefっていらんよな
python4ではなくしていいよ
33:デフォルトの名無しさん
21/03/28 02:24:44.16 vGc2bGxh.net
インデントのブロックも無くせ
34:デフォルトの名無しさん
21/03/28 02:34:08.84 3SrdHcoA.net
viでそんなに困らなくね
35:デフォルトの名無しさん
21/03/28 02:46:59.61 yHCir1no.net
viで思考が加速する。
36:デフォルトの名無しさん
21/03/28 03:08:06.63 hlUl2OfF.net
>>35
毎度毎度あわしろ氏が~って思考停止してる奴が言っても説得力がないぞw
37:デフォルトの名無しさん
21/03/28 03:17:47.68 yHCir1no.net
>>28
Ubuntuは単なるOSではなく世界とも言える。
38:デフォルトの名無しさん
21/03/28 10:26:41.21 W2vCV6FV.net
>>36
相手すんなよ…
39:デフォルトの名無しさん
21/03/28 11:10:47.71 lwKbaVtN.net
Ubuntuがダウンロードできない
もうわけわからん
40:デフォルトの名無しさん
21/03/28 12:59:18.55 4HRS4SBE.net
昔ながらのISOを直接ダウンロードできるデストリを探せばいい
41:デフォルトの名無しさん
21/03/28 15:50:44.45 yHCir1no.net
Sorry! Japanese only!!!
42:デフォルトの名無しさん
21/03/29 00:36:02.70 dpfUPtTC.net
Visual studioというものを入れたのだ
43:デフォルトの名無しさん
21/03/29 03:05:24.01 1yKvh1aU.net
viのほうが良いのでは?
44:名無しさん
21/03/29 07:22:18.56 C5Nd8+Vh.net
viとemacsって同じ人が作ったらしい。そしてその人はcshも作ったらしい。Bill Joyってすごいですね。
45:デフォルトの名無しさん
21/03/29 09:40:52.10 oXzzUuVm.net
>>44
そうだったの?
emacsはwikiみたらガイスティールJrって書いてあったけどあれ嘘なのか
46:デフォルトの名無しさん
21/03/29 09:51:47.52 Y73W+Pzk.net
UNIX 1/4世紀に本当のことが書いてある
47:デフォルトの名無しさん
21/03/29 16:43:35.49 afk2oIF9.net
C言語とC++ C#は何が違うんですか?
48:デフォルトの名無しさん
21/03/29 18:53:54.10 1yKvh1aU.net
あわしろ氏は絶賛vi派らしいね。
49:デフォルトの名無しさん
21/03/29 19:01:49.89 Udan+rq5.net
c言語やってからPythonとかやろうとおもってんだけどこれでいいのかな?
ネット調べたらc言語理解してると他の言語を理解しやすいみたいなのかいてあったけど
50:デフォルトの名無しさん
21/03/29 20:21:18.41 E8Vxdp4r.net
一言で言えばCとはseaつまり海なんじゃよ。
海をうまく旅するには羅針盤が必要じゃろ?
羅針盤の役割をするのはお主の設計哲学とか思想とか、
何らかの方針であってルールを作り出す力じゃ。
いきなり飛び込むのは無謀じゃがすでにお主が持つべきものを持っているなら可能やもしれぬ。
おすすめはせぬが、自信があるならやって見るのも手じゃの。
51:デフォルトの名無しさん
21/03/29 22:41:43.25 64Cowzta.net
ここに書いておいた
ぶっちゃけ始めるのにいい言語て何 part4
スレリンク(tech板:96番)-139
結論としては、Ruby から始めます
C から始めると、まず挫折する。
極めて挫折確率が高い
52:デフォルトの名無しさん
21/03/29 22:42:00.42 wUhO1QN7.net
無難にCからやるお
53:デフォルトの名無しさん
21/03/29 22:42:34.40 wUhO1QN7.net
あらら
54:デフォルトの名無しさん
21/03/30 13:48:36.78 rMZjDh6L.net
>>47
まずC言語が基本で、C++はすっごく乱暴に言うとC言語にクラスみたいな機能を
追加したオブジェクト指向言語
ベースはC言語なので、C++のファイルである「.cpp」とかのソースでも中身を見ると
クラスとか使ってなくて、ただのC言語で書かれていたりすることもある
C#はC言語っぽい文法でVisualBasicの機能を実装したMicrosoftの開発言語
文法がC言語っぽいのでC言語が分かる人には敷居が低いとか、コンパイラで
なくインタプリタでVBとC#のAPIが等価に動作するのでVB経験者ならすぐ使えるって
言ってたけど、使ってみると癖が強いのであまり評判が良くなかったりしたこともある
一応C言語が読み書き出来る人ならばC++とC#は眺めると読めるような気がするけど、
実際に書こうと思うとそれぞれ勉強しないと何もできないかも
>>49
C言語をやったからといってPythonhとか他の言語が理解しやすいってことはあまり
ないと思うよ
ただ、プログラミングの基本はワークフローの作成能力(例えば典型的なのはフロー
チャートとか)と基本的な論理演算の理解で、C言語のテキストは最初にそういうことに
言及しているものが多いので良いって話はあるかも
ぶっちゃけ昨今はお金もらってコーディングしている人でもネットのコピペだけで乗り
切っている人も多いので、動けばよくてトラブルが発生しなければ、いきなり目的の
言語のサンプルをコピペで使ってみるのでも良いのかも
コピペで動かないとフローの理解とか論理演算とか出来ないと詰むのでちゃんと
勉強したほうが良いとは思うけど
55:デフォルトの名無しさん
21/03/31 00:31:35.67 bvWdAAXY.net
>>54
ありがとなのだ
56:デフォルトの名無しさん
21/03/31 11:25:22.14 qcdfttW3.net
Visual C++ 2008 Express Edition
でc言語も使えるみたいな記事読んで動かしてみたんだけど、intは規定地としてサポートしてないというエラー出たんだが、使えないってこと?
57:デフォルトの名無しさん
21/03/31 18:53:36.83 +Payym2G.net
まあ釣りなんだろうけど素直にVisual Studio 2019 Community Edition入れとけ
58:デフォルトの名無しさん
21/03/31 20:40:37.29 Dmfl5kzC.net
VisualStudioならいつの時代も拡張子CにすればC扱いになった筈
C++と混合も出来るけど、C++側からCの関数呼ぶ場合はextern Cとか書いてたな
最近VisualStudioで開発とかしてないから懐かしいわw
59:デフォルトの名無しさん
21/03/31 23:25:09.97 qcdfttW3.net
始めたてで右も左も分からないから助かりました。ありがとうございます。
オススメのコンパイラ?教えて貰えたら嬉しいです。( ◜ᴗ◝)
60:デフォルトの名無しさん
21/04/06 20:51:30.86 5Y0Ir7kF.net
皆さん参考書を使っての学習はどのように行われていますか?
記載されているコードを写経しながら進めているのですが1冊終えるのに数ヶ月当たり前のようにかかってしまいます
正しい勉強方法なんてのはなくて人それぞれだと思いますが皆さんの勉強方法を参考したいです
61:デフォルトの名無しさん
21/04/06 21:03:56.05 RTS/XrJR.net
>>60
写経って表現してるけど単に書き写してるだけじゃないよね?
自分で面白いと思うコードだけでいいから、動かしながらあーでもないこーでもないっていじくり回してみないと身に付かんのではない?
62:デフォルトの名無しさん
21/04/06 21:17:45.73 5Y0Ir7kF.net
>>61
動きを意識しながら書くようにしていますが結局書くことが目的になってて無意識で写してる時もあり無駄な時間の使い方をしてると実感してます…
63:デフォルトの名無しさん
21/04/06 21:56:17.05 wES9tagM.net
実際に読者が手を動かして入力することを前提に書いてる本とそうじゃない本がある
写経するのは前者のうち、知識だけでなく擬似的な実地訓練を通してスキルを身に付けたいものが基本的な対象
章末の演習問題等を試すだけで十分な訓練ができるものもある
写経が時間の無駄だと感じるなら一旦止めてみて
身につき方の違いと所要時間の違いを比較するといいかもしれない
64:デフォルトの名無しさん
21/04/07 08:07:42.97 nkaFkhSP.net
>>60
昔は参考書買ってたけど
ある程度の基本さえ分かってしまえば
後は何やりたいか決めて
ググって調べて要点だけ
取り入れるようにしているな
だから最初はそれこそ~の絵本みたいな
基本中の基本が書いてあるような本を
買ってきて読んで実際に動かして大体理解したら
後は買っても逆引き辞書みたいなものくらい。
たまに本屋で「あ、この本いい」と思ったら
買うけど。
少し自分が理解したと自覚してきたら
5chの該当スレで喧々轟々とやれば
ムキになって色々情報くれる人もいるから
その辺で勝手に勉強になったりもする
65:デフォルトの名無しさん
21/04/07 12:18:30.45 /VvrJao6.net
写経は、Progate、ドットインストールなどで、1週間ぐらいやるもの
本の目的は、理解すること。
写経などしなくてよい。読むだけ
開発過程の流れ・構造・デザインパターンなどを理解すること
なぜ、こういう事をするのか?
という事を学ぶ
66:デフォルトの名無しさん
21/04/07 12:35:30.03 dqbIzElb.net
俺も最初から読まなきゃと思って非効率なことしてるなあ
コードが多く載ってる本とかも説明文以外は読み飛ばしてるの?
67:65
21/04/07 13:14:47.29 /VvrJao6.net
YouTube を見るのと同じ
細かいソースコードなど読まない。
基本、解説を理解するもの
興味がある所だけ見る
例えば、Ruby on Rails なら、Presenter とは、どういうデザインパターンか?
HTML を生成するファイルを、別のファイルにまとめたようなリファクタリングパターン
68:65
21/04/07 13:16:52.45 /VvrJao6.net
>>67
修正
>HTML を生成するファイルを、別のファイルにまとめたようなリファクタリングパターン
HTML を生成するコードを、別のファイルに抜き出したようなリファクタリングパターン
69:デフォルトの名無しさん
21/04/26 22:49:19.75 QCH21zh8.net
インデックスとかリストとかで
mojiretu ="12345"
mojiretu[0]
[0]が1番目なのって間違えたりしないの?
1が1番目のほうがわかりやすくね?
70:蟻人間
21/04/26 23:57:31.14 bKymRrTG.net
>>69
スタート地点がゼロでなくイチの場合、年号変換と同様の計算上の複雑さが発生する。まあ、イチを足したり引いたりする必要が出てくるわけだよ。
これはプログラム言語の哲学的な要件で、どちらが間違っているという訳ではない。
71:デフォルトの名無しさん
21/04/27 07:11:35.97 a+tf24Y+.net
>>69
間違えることはない
むしろ「1番目」などと言うことが間違い
添字が0なんだから先頭の要素は0番目と言わないと混乱する
72:デフォルトの名無しさん
21/04/27 07:33:34.54 tjxIRyEc.net
>>69
先頭、先頭の1つ後、先頭の2つ後、...、先頭のN-1個後、って考えるから0始まりは都合がいい
73:デフォルトの名無しさん
21/04/27 11:29:57.77 icYtvr7r.net
言語によっては添え字が0からではなく、1から始まるのもあるんだよな・・・
74:デフォルトの名無しさん
21/04/27 15:30:36.39 3uQze5Gq.net
pythonやってるんだけど、メソッドと関数の違いがよくわからんな
.sort() と sorted()とかどっちがどっちだか分からなくなりそうだし
75:デフォルトの名無しさん
21/04/27 17:59:26.58 U2+PAgrF.net
>>73
Julia「マジで?」
76:デフォルトの名無しさん
21/04/27 18:27:12.20 TZd2hubY.net
>>69
そう思っている人も多かったので添字が「1」から始まる言語も結構存在するw
元々メモリのアドレスが0から始まって、直接ドレスを指定する代わりに配列って
仕組みで見易くしたときに、アドレス指定の代わりなので「0」から始めるみたいな
考えで「0」から始まってるって感じかな
そしてロジックを組むときに、配列要素が10個だったら良くありがちな
for(int i=0; i<10; i++)
とかだと要素10個だって分かり易いけど
for(int i=1; i<11; i++)
だと要素は10個って分かり難いとかって・・・まぁなれと感覚なんだけど
色々な言語を使うと最初に調べることの一つが配列は0オリジンか1オリジンかって
こともあるくらい一貫性がない話なので、使っている言語の決め事と割り切って
使うしかないかなw
>>74
python普段使いしてないから微妙だけど
昔々のその昔に機能の集合を一つにしたものをサブルーチンって読んでいて、
C言語ではそのサブリーチンに「()」付けて引数という概念を入れたので関数
(Function)って呼ぶように
さらにオブジェクト指向言語になって機能(関数)ではなくて手順/手法なんじゃ
ないって考えの下メソッドって呼ぶように
pythonの関数/メソッドもこの考えに従っているみたいで、クラスを定義して
クラスの中で作られた関数をメソッド、クラスの外で定義されているものを
関数て呼ぶみたいね
ただ面倒くさいのはモジュールはクラス定義がしてないので関数だけど、関数の
呼び出しに「モジュール名.関数名」っていう感じでメソッドと同じ構文使うので
混乱するのかな
77:デフォルトの名無しさん
21/04/28 01:24:06.1
78:3 ID:fg+Ry4R4.net
79:デフォルトの名無しさん
21/04/28 12:55:46.40 gIRa6k7G.net
>>73
下限を指定できる言語もあるし
VBAとかPascal系の言語とか
80:69
21/04/28 17:07:56.77 LpyO2APn.net
>>76
>色々な言語を使うと最初に調べることの一つが配列は0オリジンか1オリジンかってこともあるくらい一貫性がない話
へー
じゃあプロのプログラマ?でもミスることも割と多いのかな
81:デフォルトの名無しさん
21/04/28 18:07:12.07 pIa4dbMw.net
>>78
慣れてくると、列挙型を定義し添え字が列挙型の配列を使う。
82:デフォルトの名無しさん
21/04/29 17:30:03.96 0I4TwBUN.net
>>79
多分ちゃんとしたプロなら事前に調査するから0オリジンか1オリジンかで
ミスることはないんじゃないかなぁw
ただ、分かっていてもミスするのが人間ってものだからww
83:デフォルトの名無しさん
21/04/29 17:44:58.65 Lkl71hrm.net
プログラミングに出て来る、「演算する側・される側」がよくわかりません
下の画像だと、(1)と(2)のどっちの考えが合ってますか?
URLリンク(imgur.com)
多分、どっちかは当たってると思うんですが。。
84:デフォルトの名無しさん
21/04/29 18:04:55.29 vDvwo/qz.net
>>82
演算する側、される側というのは見たことがないが、演算子、非演算子を初心者向けの本でそう呼んでるのかな?
そうだとしたら(2)が正しい。
wikipediaで演算子、非演算子を調べてみるといいかも。
85:デフォルトの名無しさん
21/04/29 19:29:37.80 zbxYJnFg.net
>>82
オペレータを演算する側、オペランドを演算される側といっているみたいですね。
オペレータは演算子、オペランドは演算対象といったほうがわかりやすいと思います。
$ が出てくるので Perlと仮定して
$a = = $b
の場合 = = が(比較)演算子で $a、$b が オペランドです。
= = は
$aと$bを比較して、両者が等しいとき論理値:真を等しくないとき論理値:偽を結果とする
演算子です。
86:デフォルトの名無しさん
21/04/29 19:31:40.61 219RAfCB.net
比較演算子でどっちかに定義しなきゃならない言語があるのか。めんどくせぇな
87:デフォルトの名無しさん
21/04/29 19:33:42.53 CnnShXoG.net
オペレーターは日本語にもなっていますね
操作する人、すなわち操作する側です
88:デフォルトの名無しさん
21/04/30 20:52:08.18 M1JbY/Lc.net
cかc++とオープンGLを使ってゲーム作りに挑戦しようと思うのですが
オープンGLの書籍を本やでみてるとバージョンが2.xと4.xみたいにあるのですが
使うならどれが良いでしょうか?
おすすめの書籍かサイトもあればありがたいです。
89:デフォルトの名無しさん
21/04/30 21:06:48.17 A8ZwvtkY.net
今時ゲームで生のOpenGLやDirectX叩くのは商用ゲームエンジンのメーカーだけ
Unityとかでいい
90:デフォルトの名無しさん
21/04/30 21:23:59.10 M1JbY/Lc.net
>>88
ゲーム作るのも目的ですが勉強的な目的もありますので
それなりの大きさのプログラムを書く工夫や
完成させた後に軽量、高速化の練習に良いかなと
91:デフォルトの名無しさん
21/04/30 21:45:29.20 lUzIA11U.net
>>89
まず、Wikiじゃない?
URLリンク(nipponkaigi.net)
バージョンはこれから自分が作るなら
最新の突っ込んでおけばいいんじゃないかな
よく分からんけど
余談で大きなお世話かも知れないけど
ゲームは今後クロスプラットフォームで
扱えるものが主流になって行く気がする。
確かどっかにPS -VITAのSDKが落ちてた
気がしたけど、あれは確かC#で
ポインタがデリゲートになって
直接アドレスを触れなくなってしまったけど
PS-VITAとAndroidのエクスペリアと
クロスプラットフォーム開発だったはず。
今はC++で色々こねくり回して速く小さく
作るのが流行りみたいになってる感はあるけど
長い目で見たらそういう選択肢も
あるような気がするよ。
92:デフォルトの名無しさん
21/04/30 22:32:52.08 FVXE5M81.net
>>89
このスレタイを見てやってきた初心者が勉強で取り組むには無謀な規模に思えるが、まあやる気が続く限り頑張れ。
もし挫折しても、不思議はないくらいの難易度なんで諦めずにもっと軽い課題から頑張れ
とやる前から言いたくなるくらい大変だと思うぞw
93:デフォルトの名無しさん
21/04/30 23:07:31.39 M1JbY/Lc.net
>>90
>>91
書き方がわるいため誤解させている、ごめんなさい。
目標がゲーム製作だと思われてることに気がつかなった>>88のコメントで気づくべきだった
kritaというお絵かきソフトの改良に参加をするのが一応目標
cとwinapi32で1度小さいゲーム製作したから
c++とオープンGL使う練習にもゲーム製作がよいかなと思って
ほんとは、QTの練習したかったけどこれでゲーム製作した人みつけられなかったし
商業利用のとこがよくわからなかったからゲーム販売の可能性を考えQTは後まわしに
DirectXがバージョン上がるたびに難易度が高くなるとあったのでオープンGL
もそんな感じなのかなと思ってとりあえず、wiki読んでみるよありがとう
94:デフォルトの名無しさん
21/05/01 08:23:43.84 eI0UlALM.net
数学脳ならCからはじめた方がいいけど
頭からつま先まで文系の人にはあんまりオススメできない
95:デフォルトの名無しさん
21/05/01 15:34:18.34 qPtffzbe.net
文系理系あまり関係ないような気がするが…
文系に向かないってのは、
代入は文ではなく式だから値を持つ、
とかそんなところかしらん?
96:デフォルトの名無しさん
21/05/01 15:55:22.20 Wy10j4TD.net
グラフィックスはめちゃくちゃ数学使うぞ
サインコサインで脱落した奴には普通に無理
97:デフォルトの名無しさん
21/05/01 16:17:19.36 1Jh+iQ5V.net
あわしろ氏は、プログラミングは英文学と同じと言ってたよ。
マシンに正しく意図を伝えることが出来れば十分なので、最終的に文系の学問になるって。
98:デフォルトの名無しさん
21/05/01 16:19:23.00 yAbQnBUk.net
文系なプログラミングと
理系なプログラミングとが
それぞれあるんだと思う
99:デフォルトの名無しさん
21/05/01 16:38:14.70 qPtffzbe.net
いや、Cは文系にはおすすめできないってあるから、
書こうとするプログラムが理系的なものか文系的なものは関係ないんじゃないかと
思ったんだけど。
100:デフォルトの名無しさん
21/05/01 21:37:50.53 HeWILf2Q.net
java+OpenGLで作れ
101:デフォルトの名無しさん
21/05/01 22:09:12.63 cYiBiBFu.net
文系にはループ変数をループの中で使うのが難しいらしい
102:デフォルトの名無しさん
21/05/02 02:17:03.01 e4/12/44.net
>>96
文系が本を買ってくれないからね。
103:デフォルトの名無しさん
21/05/08 21:12:25.19 0PNwSL0W.net
クラスより構造体を使うべき場面というのがよく理解できません
104:デフォルトの名無しさん
21/05/08 22:50:20.87 coBHIhPM.net
>>102
すべてがpublicのCの構造体と同じものを使いたい時だけど
新規に作る場合はそんなのあんまり無いよな
105:デフォルトの名無しさん
21/05/09 00:29:41.95 KmUW1giW.net
俺はなんで構造体じゃだめなのかわからない
106:デフォルトの名無しさん
21/05/09 13:28:46.46 WMytKT+1.net
コンストラクタがいらないとき
107:デフォルトの名無しさん
21/05/09 15:32:51.48 Kg5tmvat.net
>>102
構造体を使うべきっていうより、構造体を使った方が簡単に行える処理はあるよ
C#の場合だけど、通信のデータや映像データみたいに内部構造の決まっている
一定サイズのバイトストーリームを処理するとき、読み込んだバイトストリームを
バイトオーダーやサイズを整えた構造体に、特定の手順を使ってメモリtoメモリで
複写すると簡単に扱えるようになるとか
クラスだとバイトストリームを項目ごとに一つ一つプロパティに写し取るとかするので
面倒くさいけど、構造体ならまとめて処理できる
108:デフォルトの名無しさん
21/05/09 16:33:06.62 WMytKT+1.net
C#の構造体は使いにくい
109:デフォルトの名無しさん
21/05/09 18:08:58.83 OU2BPvjo.net
単純なDTOのsetterやgetterに変な処理入れたら
必ずどうしようもないバグや混乱の原因になった
制約のある構造体のほうがまだましじゃないかとおもった
110:デフォルトの名無しさん
21/05/09 18:17:42.40 OU2BPvjo.net
DTOの結合度は異常に低い
値として整合性がとれている必要があることはほとんどないし
その整合性も最初に値を作るときにValidationすればよく
ずっとオブジェクトとして整合性を保つような処理を入れるのは無駄な処理が走りすぎてナンセンスだ
つまり人間にとってたまたま一緒に扱いたいだけで
コンピューター上で一つのオブジェクトとして扱う理由がまったくない
これは一つ一つ別のデータをたまたま値としてまとめているのだとわかるように
構造体であるべきだとおもう
111:デフォルトの名無しさん
21/05/11 12:21:05.65 9u97i/pE.net
あの。しょうがくせいです
4ねんせい、
ぱいそん?xをだしたいです
112:デフォルトの名無しさん
21/05/19 17:00:27.27 j7cCaUeW.net
>>110
どんな感じでxを出したいか教えてくれるとありがたい。
xの中身のを表示したいのなら、
print(x)
で表示されると思う。
113:デフォルトの名無しさん
21/05/25 01:19:14.34 SViyLBx8.net
cssについて分からない事があるので質問させて下さい。
text-alignプロパティが適用されません。
初心者なので、どこが間違っているのか分からず
困っています。
一応こんな感じです。
(htmlファイル)URLリンク(up-img.net)
(cssファイル)URLリンク(up-img.net)
宜しくお願いします。
114:デフォルトの名無しさん
21/05/25 01:41:18.53 BklC19C4.net
その前にコード晒すなら、jsfiddleでもcodepenでも使えよ
115:デフォルトの名無しさん
21/05/25 06:07:46.82 8oRzwhWr.net
HTML, CSS の質問は、web制作管理板の方へ書き込んでください!
この板では、ありません
116:デフォルトの名無しさん
21/05/25 08:14:11.20 8TZ12tez.net
こんにちは。92歳の初学者ババアです。phpで変数のスコープをif文などの中だけにするこた出来ますでしょうか。学歴は高等女学校卒です。よろしくお願いします
117:デフォルトの名無しさん
21/05/25 10:41:34.01 jhBeOJMS.net
>>115
僕は高卒の40歳のおっさんです。PHPで変数のスコープをif文の中だけにすることはできません。
ローカル変数のスコープは関数単位です。
118:デフォルトの名無しさん
21/05/25 12:16:43.78 8TZ12tez.net
>>116
ありがとうございます。
119:デフォルトの名無しさん
21/05/25 17:29:10.58 i29/ofqM.net
どうかよろしくお願いします
URLリンク(rextester.com)
120:デフォルトの名無しさん
21/05/26 11:02:10.68 2/BE6bBS.net
editText.cancel();
121:デフォルトの名無しさん
21/06/02 10:43:35.98 qtmfAhQ7.net
同和ンゴ
122:デフォルトの名無しさん
21/06/03 22:14:14.65 5dXEclOp.net
入門未満なんですが
2進数の補数と正負の表現について分かりやすく教えてほしいです
分かりやすく載ってるサイト誘導でも有り難いです
最上位ビットが1だとマイナスを表現するとか足し算で引き算を表現するとかイマイチわからないでっす
123:デフォルトの名無しさん
21/06/03 22:51:11.26 pwK5sftK.net
Wikipediaの符号付数値表現の項を見たらいいんじゃないかな
124:デフォルトの名無しさん
21/06/03 23:29:45.24 jx+ISKqI.net
>>121
入門未満でなんでそんなことを?Cでも書こうと?
つか、Cで書いても、デバッガで変数のメモリを確認するとかでもないと
そんな知識必要にならないが…
サイトって…補数表現とかで検索して出てくる解説、どれでもいい、と思うけど
そもそも難しい話ではないので。
125:デフォルトの名無しさん
21/06/04 10:50:17.05 UUHTR6cx.net
>>121
自分で探せ
126:デフォルトの名無しさん
21/06/04 18:07:07.71 aBiHmFjq.net
>>121
雑だけど
まず今のCPUは便利なんで引き算も掛け算も割り算もコマンドで実施できるけど、
H/W的な仕組みで言うと本来足し算しか出来なくて、数値の表現も+とか-とか
存在しないんよ
なので一定のビットの塊、例えばshort型ならば16birtで数値を表現する場合、
16ビットで65535って数値まで表現できるけど、人間が-数値と認識できる表現と
して最上位ビットが立っていたら-、立っていなかったら+って決めることで
-1から-32768と0から32767を表すって決めたんだいな
決め事なんでなんでって言われても困るんだけど
で、足し算しか出来ない環境でどう引き算をするかっていうと、3から5を引くと
答えは-2なわけだけど
話を簡単にするために4ビット表現で0111が7、1111が-1、符号なしだと1111で
15ってシステムで考えると
3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分に
なるので下4ビットだけ取り出す
桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
15は1111で3を引くと1100、これは3(0011)をビット反転させるのと同じこと
この操作を補数表現といって、理屈はともかく元の数をビット反転すれば良い
15から3引いて5を足すと17(10001)ってなるけど、数値は4ビットでは15まで
しか表現できないので17から15を引くと余りが2になり余分なビットがあるので-2
あふれたビットを引く行為は16を引くことになり1多く引かなければならないので、
最初に補数に1足しておく
この補数に1足したものを2の補数というだいな
まとめると3-5が0011(3)->1100(3を補数化)+0001(2の補数にする)+0011(5)で
10010になって、下4ビットを取り出して0010、あふれた桁を最上位ビットに入れると
1010で-2になると
かえって分かりにくいか?
127:デフォルトの名無しさん
21/06/05 01:44:06.37 MUSr8GWf.net
最上位ビットが±を表すのを決めたわけではなく、2の補数を使うのを決めたからそうなってるだけでは
128:デフォルトの名無しさん
21/06/05 13:53:06.28 L4Bl9jnp.net
>>121
4ビットで考ます。4ビットでは 2の4乗=16で16とおりの表現が可能です。
正の数のみ(UINT)を扱う場合は、0~15の数値を通常 0000を数値0、0001を数値1、....
、1111を数値15 に割り当てます(以降連続する4文字の0、1は計算機上の値、それ以外は論理上
の数値)。
正と負の数(INT)を考える場合は-8~7(-7~7)を0000~1111に割り当てるわけですがUINTとの
整合性をとるため0000~0111は0~7に割り当てます。残りの 1000~1111を負の数に割り当てる
ことになりますが、これには1000~1111をそれぞれ -0~-7(絶対値)、-7~-0(1
129:の補数)、 -8~-1(2の補数) に割り当てる3とおりの表現方法があります。 いずれも最上位ビットが負数を意味します。また絶対値と1の補数には-0が存在します。 1の補数は数値を符号反転(正->負、負->正)するときおのおののビットを反転(0->1、1->0) すればよく、2の補数はおのおののビットを反転し1を加えればよい という性質があります。 人間的には絶対値表現がわかりやすのでしょうが、下記のように演算のハードウエアが簡単で すむという理由で計算機では2の補数が用いられます(1の補数は-0の処理がやっかい)。 減算を実行する場合、計算機に限らず、減数を符号反転して被減数に加えても結果は同じです。 2の補数ではA-BをA+(Bの符号反転+1)として演算します。 計算機の中の加算器はC+D+Cary を実行するように構成されます。Caryは桁上げビットであり、 最下位ビットだけ 3ビットの加算ができるわけです。桁上げのない加算を行うときは Cary入力を0に して演算します。減算するときはDの入力値を反転して1を加えるわけですが、反転は各ビット毎に XORゲートで行います(減算だけなら反転ゲートでよいが加算も減算も行うので通常はXORを使う)。 1を加える処理は別の加算器を用いなくともCary入力を1にすることで達成できます。 減算を実行するためにXORゲートの追加が必要になりますが加算器に比べれば規模は1/3程度です。 注. 計算機の中の 0000~1111の値を論理上どう考えるかは自由。0000~1111を2進数と考え そのまま対応する数値0~15を割り当てる場合ばかりではない。 --->グレイコード
130:デフォルトの名無しさん
21/06/05 14:10:54.82 L4Bl9jnp.net
>>127
間違い
(Bの符号反転+1) --> (Bの ビット反転+1)
減算するときはDの入力値を反転して --> 減算するときはDの入力値をビット反転して
131:
21/06/05 20:01:57.31 CJl2tIqC.net
>>121
そうですね、例えば十進法で 3 桁しか書く場所がない変てこな状況を考えます
十進法で 3 桁しかなかったら、そういう変てこでは 000~999 の 1000 とおりを表現できます
ここで、500 とか 600 とかは表現しなくてもいいけど、 -1, -10, -100 をこの変てこで表現したいと思ったとします
そこで、変てこでは以下のように「読み替え」することに決めました
変てこ「003」 → 3 と読み替えます
変てこ「002」 → 2 と読み替えます
変てこ「001」 → 1 と読み替えます
変てこ「000」 → 0 と読み替えます
変てこ「999」 → -1 と読み替えます
変てこ「998」 → -2 と読み替えます
変てこ「997」 → -3 と読み替えます
………
変てこ「501」 → -499 と読み替えます
変てこ「500」 → -500 と読み替えます
変てこ「499」 → 499 と読み替えます
変てこ「498」 → 498 と読み替えます
つまり、変てこでは、数字をそのまま読むという方法のほかに、変てこでの読み替え規則を勝手に決めて、この例では -500~499 の同じく 1000 を表現することに決めた!としてもいいわけです。
これが補数表現というやつです、今日はここまで
>>121 が私のここまでの解説を理解した、と表明してくれたのなら、この続きを書きます
132:デフォルトの名無しさん
21/06/05 21:14:55.31 L4Bl9jnp.net
127/128 だけどちょっと論理が飛躍していました。計算機で2の補数を用いるのは、INTの
加減算が入力値の正/負にかかわらずUINTと同じ加算器で演算できることが理由です。
ただし、オーバフロー(4ビットの場合、和/差が-9以下あるいは8以上になる)には注意が
必要です。
133:デフォルトの名無しさん
21/06/05 22:08:38.41 Is+ZM/MZ.net
昔は論理演算やらこの辺の知識は知ってて当然みたいな感じだったのに
今ではそんなことは知らないという人も多いんだな
アセンブラレベルでは桁溢れするとキャリーフラグなりボローフラグなりが立つので分かるが
何かこういう話していると遠い昔のお話みたいな感じになっちゃうなw
後、BCDも知らない人が多そうだな
134:デフォルトの名無しさん
21/06/05 22:17:49.83 Rs3b1AUs.net
>>121
URLリンク(www.youtube.com)
135:デフォルトの名無しさん
21/06/05 23:15:52.24 L4Bl9jnp.net
知らないから質問する。 ここはそういうスレじゃないの?
136:デフォルトの名無しさん
21/06/06 02:23:54.33 68dWM5Fy.net
>>125-127
2進数での補数は全てのビットが0になって桁上りする数の事であってますか?
かなり噛み砕いて説明いただいたおかげで
簡単な減算は自分で出来るようになりました。ありがとうございます。
>>3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分に
なるので下4ビットだけ取り出す
桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
ここの動きがイメージ出来ないです。取り出すというのがよくわからないです
charに+126とか入れてるのと同じ原理になるのかな?理解しときたいです。難しい…
>>129
理解できました。続きがみたいです
137:
21/06/06 02:46:58.87 xlnMgrm3.net
>>131
BCD補正のハーフキャリーとかは、x86-64bit ≒ AMD64 では削除されちゃいましたし…
138:
21/06/06 03:10:28.86 xlnMgrm3.net
>>134
>>>129
>理解できました。続きがみたいです
ついてきてくれてありがとうございます!では続きを書きましょう。
変てこには、変てこの範囲(10進法で3桁)だけに限定されてしまいますが、その範囲なら「それなり」に動く足し算回路が装備されています
変てこで 1 + 2 を計算します。「001」は変てこの範囲内、「002」も変てこの範囲内、で、足し算を実行します。「001」+「002」 = 「003」!
変てこで 4 + 1 を計算します。「004」は変てこの範囲内、「001」も変てこの範囲内、で、足し算を実行します。「004」+「001」 = 「005」!
変てこの足し算回路はそれなりに動いているようですね!
変てこで 3 + (-1) = 3 - 1 を計算します。3 は変てこでは「003」、(-1) は変てこでは「999」、これを機械的に変てこの足し算回路に放り込むと、「003」+「999」 = 「1002」、変てこは10進法で3桁しか書けないので「002」
つまり、3 - 1 = 「003」+「999」=「002」!
変てこで 2 - 4 を計算します。2 = 「002」、 -4 = 「996」、2 - 4 = 「002」+「996」=「998」 = -2 !
変てこで -3 + 5 を計算します。-3 = 「997」、 5 = 「005」、-3 + 5 = 「997」+「005」=「002」 = 2 !
変てこで -1 - 2 を計算します。-1 = 「999」、 -2 = 「998」、-1 - 2 = 「999」+「998」=「997」 = -3 !
変てこの足し算回路にあんまり大きすぎたり小さすぎたりする数字を放り込むと答えは変になるような気はするのですけれども、
でも、それでも変てこの足し算回路は、ほとんど普通の足し算回路と同じ、というか繰り上がりを無視するけれども普通の足し算回路が使えて、
しかも負の数を放り込んでも「それなりに」動いている気がしませんか?使っているのは普通の足し算回路なのに!
続きは来週 to be continued
139:デフォルトの名無しさん
21/06/06 03:38:40.89 deO9fsXQ.net
2の補数ぐらい、基本情報処理資格の教科書に書いてあるだろ
初級者用の資格に、何年掛けるつもり?
140:デフォルトの名無しさん
21/06/06 07:06:11.74 hlMsLFKT.net
>>137
そう思うじゃん?
そもそも基本情報処理資格の教科書ってのねーんだよなぁ
あくまであれは参考書。旧2種のころからずっと。
でさ、その2の補数、すげーすげーーーー雑にざっくり書いてあるのな。
いや、数式は短く美しくってのは分かるけれどそれとはちげーよと。
どの本もクソだなぁと思ってさ。
後に基本情報はアセンブラ選択で取得して応用情報も立て続けに取ったけれど、
まぁ旧2種の時に取らないで正解だったなとは思うよ。今ではいい参考書とインターネットがあるからね。
141:デフォルトの名無しさん
21/06/06 07:19:24.55 bpZDov45.net
どこまで詳しく書けばクソじゃなくなるのかね
142:デフォルトの名無しさん
21/06/06 09:50:55.63 Bm4Wg/Px.net
負数を2の補数で表現するメリットは、符号付き整数と符号無し整数の加算が同じ方法で実現できることにある
例えば4ビットなら 8~15 を -8~-1 に置き換えるだけ
符号無し整数の加算表
URLリンク(imgur.com)
符号付き整数の加算表
URLリンク(imgur.com)
143:デフォルトの名無しさん
21/06/06 10:47:51.39 9mmqAG88.net
>>125
そんな判りにくい説明せんでも
3-5 を説明するのに 10進数を1桁で考えたときに
0,1,2,3,4,5,6,7,8,9 (A) を
0,1,2,3,4,-5,-4,-3,-2,-1 (B) に割り当てて
3-5 (B) は 3+(-5) (B) だが
-5 (B) の部分を順序だけ考えて 5 (A)
つまり 3+5=8 (A) に還元出来るので
出て来た 8 (A) をさらに実は -2 (B) であると読み取ってるだけだよ
2進数の引き算でも本質はこれ
144:デフォルトの名無しさん
21/06/06 14:04:14.80 deO9fsXQ.net
これだけでしょ?
1の補数は、全ビット反転
2の補数 = 1の補数 + 1
クイズ、資格に出そうな問題です
8進数の634 は、16進数で幾つか?
どのように考えて解いたかも、示せ
145:デフォルトの名無しさん
21/06/06 16:14:14.11 EZGLOGww.net
110,011,100
1,1001,1100
符号拡張無しなら 19c
符号拡張有りなら f9c
146:デフォルトの名無しさん
21/06/06 16:37:00.44 yq1OPwe7.net
今時はCPUの設計も自動化されているので
2の補数を使うのはCPUの自動設計のプログラムを
書く人ぐらいだなあ
147:デフォルトの名無しさん
21/06/06 21:57:17.31 LwUdRMIi.net
>>134
> 2進数での補数は全てのビットが0になって桁上りする数の事であってますか?
元の数と足して桁上りするという意味で2の補数ではあってます。
Wikiの次の定義が一番すっきりすると思います。
< b 進法において、自然数 a を表現するのに必要な最小の桁数を n としたとき、
< (bのn乗) - a :「b 進法における a に対する基数の補数(b の補数)」
< (bのn乗) - a - 1 :「b 進法における a に対する減基数の補数(b - 1 の補数)」
蛇足ですが、4ビットの場合で各ビットを b3,b2,b1,b0 としたとき、UINT は
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×8
です。2の補数は 最上位ビットに負の重みを与え
論理上の数値 = b0×1 + b1×2 + b2×4 + b3×(-8)
と考えます。b0+NOT b0 = 1 ですから 元の数とそのおのおののビットを反転した値を
足して1を加えれば 0 なることがわかります。
UINTでも2の補数も下位3ビットは同じです。なので下位3ビットは同じ方法で演算ができます。
2の補数では最上位ビットが符号ビットです。 正+正 / 正+負 / 負+負 の加算でそれぞれ
3ビット目からの桁上がりがない場合とある場合の計6とおりを考えれば(オーバフローが
ない限り)UINTの加算と同じ結果になることが確認できます。
148:142
21/06/07 12:31:33.61 pl6618+T.net
>>142
8進数 → 16進数は、
8進数 → 2進数 → 16進数と、一旦2進数へ変換してから、16進数へ変換する
0o634 → 110_011_100
これは区切り方を変えて、1_1001_1100 と同じ。つまり、0x19c
149:デフォルトの名無しさん
21/06/07 13:28:49.75 KkC2AFNL.net
>>134
>>125はあちこち微妙だけど
>3から5を引かずに、15から3引いて1足して5を足すと数値的には5ビット分になるので下4ビットだけ取り出す桁があふれたら-、あふれなかったら+の値ってなる(分からないねw)
の最後のところ、分からないといっている4ビット取り出して桁あふれ云々ってところは完全に間違っている
3-5のところで10010になるところまではまぁ間違っていないけど、説明の通り下4ビット取り出して、その後の説明の通り5ビット目の内容を入れた1010は4ビットで表される-2(1110)ではない
最後の部分は桁あふれ云々じゃなくて、出てきた値から単純にもう一度2進数の補数を作ればちゃんとした値になる
10010->1101(NOTを使って1の補数化)->1110(1追加して2の補数化)
同じ理屈で5-3をやってみればわかるけど、>>125の説明の通りやると出てくる値は1110で-2になってしまうので、ぱっと見-取ればあっているような気もするけど計算ではうまく言っていない
最後を2の補数処理にすれば1110->0001->0010で正しく4ビットで表す2になる
150:142
21/06/08 09:48:04.68 dOMi6vvz.net
1の補数は、全ビット反転
2の補数 = 1の補数 + 1
1の補数では、0~3が、-0~-3 になる。
0: 000、-0: 111
0・-0の2つがあって、ややこしい。
だから、負側を1下げた。
0~3が、-1~-4 になる。
2の補数 = 1の補数 + 1
3: 011、全ビット反転・-4: 100、それに1を足す・-3: 101。
011 + 101 = 000
3 + -3 = 0
3 + -4 = -1
だから、1を足さないと、0にならない
151:デフォルトの名無しさん
21/06/08 17:11:48.32 8abk1CkH.net
2進数で盛り上がってますね。
私も当時(中高生時代)とても苦労したなあ。
ただの加算減算なら指定数のビット幅を任意に揃えれば良いだけだったけど、補数演算じゃ最上位ビットを決めなければいけないのにその指定が指示されなくてサッパリだった。
今なら空気読んで指定数に干渉しない位置で補数ビット指定できるけれど、当時出来なかった。学習障害案件ですな(^^;
今の時代、まず2進数を扱う事って無くなったけど、知っていると圧倒的にコンパクトで快速データ構造が作れるから、やっぱ必須ですね。
152:デフォルトの名無しさん
21/06/08 18:03:26.50 rroj7r75.net
・なんで補数を使うか
・なんで1の補数でなく2の補数なのか
この2つに答えられれば理解できているだろう
153:デフォルトの名無しさん
21/06/09 16:09:11.53 Gt06K9sH.net
馬鹿が説明すると余計判りにくくなる
154:
21/06/10 22:40:22.57 CSATwpX+.net
>>149, 150
私は、補数概念は 2 進法以外であっても説明できなければならないと思うようになりました >>129,136
155:デフォルトの名無しさん
21/06/12 17:12:07.12 XQCPcV2p.net
減算はマイナス値の加算である。マイナス値は正の値の補数で表現する。ただそれだけ。
156:デフォルトの名無しさん
21/06/12 18:33:32.77 bLldo3g7.net
プログラミング超初心者の質問スレとはなんだろうか
157:デフォルトの名無しさん
21/06/12 19:23:38.54 TNpjfLIA.net
超初心者の質問に
優しく丁寧に教える趣旨のスレではない
158:
21/06/12 20:05:09.18 bG62sF4n.net
>>153
で、補数とはなんですか?それは n 進法に依存する概念ですか、それとも n 進法とは独立した概念ですか?
159:デフォルトの名無しさん
21/06/18 00:55:46.99 rMpkljNE.net
>>156
結局整数で考える限りは2進数に変換できる。
なので、どんな整数についても、2の補数も1の補数もある。
n進法は単に数値の表記の問題でしかないので、
そこに依存する「概念」ってのがそもそもないだろう。
160:デフォルトの名無しさん
21/07/04 20:08:20.69 DFBUOLaH.net
C++の入門本に載ってるようなコンソールに表示させるコードは覚えたから
簡単なアプリ作ってみたいのですが、"C++ アプリ"でググっても
ツールボックスで貼って作っていくようなやつや専門学校の案内しか出てこないのですが(やりたいのはこれじゃない…)
C++で1からアプリを作れるようになるにはWin32APIというのを覚えなくてはいけないのでしょうか?
161:デフォルトの名無しさん
21/07/04 20:30:07.06 Y0mUgNX8.net
どういう種類の「アプリ」を作りたいのかはっきりしてくれ
162:デフォルトの名無しさん
21/07/04 20:47:59.93 DFBUOLaH.net
Guiアプリ内で、ただ球が跳ねてるのとかヘビが動いてるのとか作りたいです
最終的にはURLリンク(www.youtube.com)みたいのを作りたいです
163:デフォルトの名無しさん
21/07/04 21:08:09.77 aHJdtdht.net
ゲームは、C# でUnity とか、
JavaScript でPhaser とか
C++ はツール・ライブラリ用。
画面を作ったりはしない
Linux では、Qt はあるけど、
Windows では、C# になる
164:デフォルトの名無しさん
21/07/04 21:28:17.94 DFBUOLaH.net
>>161 https://www.youtube.com/watch?v=LrEvoKI07Ww&t=507s でもC++で作ってる動画たくさんあるので出来る事はできるのではないですか? できればC++で作れるようになりたいのですが。 せっかく少し文法覚えたので。
166:デフォルトの名無しさん
21/07/04 21:33:19.84 hQ73PqG+.net
結局はC#で用意されてるようなものを
自前で作るだけって話だろ
167:デフォルトの名無しさん
21/07/04 22:49:46.61 DFBUOLaH.net
最終的な目標はC++でアプリ、簡単なゲーム作れるようになることなんですが
C#を今から始めてC#の方で色々作れるようになったらその知識はC++で生きますか?
168:161
21/07/04 22:54:42.87 aHJdtdht.net
>>162
それは、7年前の動画じゃん
ここ数年で、C++ で画面を作るような本が出たか?
169:デフォルトの名無しさん
21/07/04 22:59:36.21 cArVphVF.net
C++なら何でもいいなら
ラズパイとかでもええんかいな
170:デフォルトの名無しさん
21/07/04 22:59:50.06 GIk3CAEY.net
とりあえずID:aHJdtdhtは頭のおかしい人だから無視していいよ
171:デフォルトの名無しさん
21/07/05 02:35:32.08 k33LLnq0.net
C#やるしかない、が回答でしょうか?
172:
21/07/05 03:26:10.42 MF6GczCZ.net
>>157
それって変だと思いますよ
>>129, >>136 では 10 進法で考えましたが、じゃあ >>129,136 の例の 999 は -1 に対する補数ではありますが、1 の補数ともいえないし 2 の補数ともいえない
補数の概念は n 進法に依存するのでは?
もっとも今の私はちゃんと説明するなら整数論の合同、を使って説明する気がしますが、ただ、整数論なんて好きな人は限られますからねえ‥‥
173:デフォルトの名無しさん
21/07/05 08:41:07.01 yW7vm9zn.net
10の補数だな
知らないことを責めはしないが
自分で調べる位はせんと
174:158
21/07/05 11:06:36.25 4P9s6hFJ.net
すいません
http:ああwisdom.sakura.ne.jpあsystemあwinapiあwin32あindex.html
これを学習しても>>158 >>160のようなことは出来るようにならないですか?
175:デフォルトの名無しさん
21/07/05 11:14:40.55 c503ASju.net
>>158
君のレベルならこれ
ISBN 4899774451
ISBN 4899775067
あるいは
URLリンク(nono-programming.com)
URLリンク(dxlib.xsrv.jp)
URLリンク(dixq.net)
176:デフォルトの名無しさん
21/07/05 11:19:04.61 c503ASju.net
>>161
KENTA Ruby はしね
177:デフォルトの名無しさん
21/07/05 11:22:39.85 sSIakhI1.net
129は1000の補数じゃないかな
178:デフォルトの名無しさん
21/07/05 11:26:29.03 c503ASju.net
>>169
お前も黙ってろ
179:デフォルトの名無しさん
21/07/05 11:59:03.74 DJ8mSFAE.net
>>160
C++ ゲーム ライブラリ
でググればいくらでも出てくるが
DirectX, penGL/Vulkan, DXライブラリ、OpenSiv3D, SFML, openFrameworks,SDL
どれでもお好みのものを使ってね
180:
21/07/06 20:22:57.18 /lKUoH39.net
>>170
知ってていってるんですよ、そんなこともわからないのですか?
私がいいたいことは、補数概念は n 進法と密接に関連あるのでは?ということ
181:
21/07/06 20:23:13.71 /lKUoH39.net
>>175
やだね
182:デフォルトの名無しさん
21/07/06 23:48:06.12 xK9Ol7Aw.net
>>177
そんなことも知らんのか
183:デフォルトの名無しさん
21/07/07 16:58:01.30 z+//4KUJ.net
超初学者です。現状は、独学プログラマーという入門書を読み終えてPythonのプログラムを関数を調べながらですが何となく読めるようになりました
しかし何かを作ろうとしても全く手を動かせません
疑問なのですが
ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですがどういう時のどういう場合にどういった考え方で使うのか教えて頂きたいです
それぞれの使い分けというかそれぞれの使い方を教えて下さい
また、次に読む本についてURLリンク(i.imgur.com)こちらはどうですか?
184:デフォルトの名無しさん
21/07/07 18:18:07.45 AWE9BvFy.net
仕事しててクラス、関数、ループとかに慣れたいなら作業をVBAで出来ないかとかやってみればいいわ
古いくさい言語だけどそこら辺は実装されてるし、何よりVBEって言うIDEしか選択肢ないから環境に悩まない
他には、まずやりたいこと探した方がいいよ
モチベ続かんやろ
簡単なとこなら、適当に無料のWeb API(天気予報とか)見つけて表示したりファイルにしてみるとか
ちょっと頑張って、立てたサーバからそのデータをLINEに通知してみるとか、興味あるものこそがモチベになる
185:デフォルトの名無しさん
21/07/07 19:37:52.26 vV9ueWFY.net
文字列処理の練習しろ
文字列処理はすべての基本だ
186:デフォルトの名無しさん
21/07/07 21:15:08.84 bUHYGk47.net
Ruby で、ファイル操作・テキスト処理をやる。
each, map など、繰り返し(Enumerable)の所を読む
例えば、a.csv と言う、以下のようなCSV ファイルの、1列目を出力すると、
あ,いう
a,bc
require 'csv'
# CSV ファイルを、1行ずつ処理する
CSV.foreach( "a.csv" ) do | row |
puts row[ 0 ]
end
出力
あ
a
187:デフォルトの名無しさん
21/07/08 10:53:53.10 nEG9xKCJ.net
N!進数(階乗進数)の補数について語ってください
188:デフォルトの名無しさん
21/07/08 18:24:58.17 k+qVnEjt.net
>>180
疑問部分だけ
例えば「X=1/2*A*H」という式に「H」を計算する部分がある10行くらいの
コードがあって、「A」が2、4、6、8・・・という感じで値が定期的に変異する
場合には、対象となる10行くらいのコードをループで囲めばループ処理になる
でも、「A」が2、5、7、13、14というようにパターンのない変異の場合、計算式と
なる処理に変更はなくても、値をループでは変異させられないので「A」の値を
設定して10行の処理を書いてということを繰り返すしかなくなる
この同じ処理である10行を一つにまとめて呼び出せるようにしたのが関数
関数化していない状態で10回値が変異するコードを書くと110行とかかかっちゃう
けど、関数化していれば20行+10行+アルファですむ
なのでループ処理と関数は全然違うもの
さらにクラスは処理を行うための仕組みではなく、データ等の構造を定義するための
ものなのでループ処理とか関数とは全然関係ない別の概念
例えばさっきの式は三角形の面積を求める式だけど、三角形のクラス「Triange」を
作るとき、A(底辺)とH(高さ)とX(解)というプロパティを宣言して、Xの値を呼び出す
ときは計算結果を入れて返すってなっている場合定義したクラスのインスタンスを
取得して、AとBに値を入れてCを読み込むと計算結果が得られる
クラスはこの構造を定義するためのもので、当然のごとく処理も記述されるけど、
目的は一連の関係性のあるパラメータや関数(クラスではメソッドとか呼ぶ)を
まとめること
サンプルの簡単なコードとかだと違いがないように見えるのかもしれないけど、
アルゴリズムとかデータ構造とか勉強してからもう一度コードを見ると理解
できるかも
189:デフォルトの名無しさん
21/07/08 23:24:27.32 f1qLfxS8.net
むしろ
>ループ処理とクラス、関数は同じ事をするという点で同じだと思うのですが
と思った理由を知りたいわ
190:デフォルトの名無しさん
21/07/09 02:26:58.85 pOJ0VHTV.net
>>181
モチベについてよく分かります
現在は色々と目新しいので、へぇこういうの出来るんだーという面白さが学習の意欲を保っているのですが
学習を始めた理由はクラウドサービスにある例えばデータ収集等のバイトを受けたいからになります
レスありがとうございます!
ちょっと背伸びになるんですが調べながらその2つ取り掛かってみます
191:デフォルトの名無しさん
21/07/09 02:48:42.58 pOJ0VHTV.net
>>185
ご丁寧にありがとうございます!マジで助かります
クラスについて大変しっくりきました色々と作りながら扱い方を深めていこうと思います
自分は超初学者でして素っ頓狂な質問であれば失礼で申し訳ないのですが、色々と見ているとループ処理自体が特別な関数であるかのような感じ方をしてしまうのですが間違ってますか?
また、ループ処理はどんな発想で入れようと思うのですか?
192:デフォルトの名無しさん
21/07/09 03:09:34.30 pOJ0VHTV.net
>>183
ありがとうございます!
Rubyのリファレンスマニュアルを覗きましたが勉強不足でRubyが分からず正直何が何だか分かりませんでした。ブックマークしまして分かりそうな頃に参照します
他の言語であれば繰り返しにも種類があるという事ですか?
193:デフォルトの名無しさん
21/07/09 03:13:09.62 pOJ0VHTV.net
>>187
ごめんなさい
クラウドサービスではなく、クラウドソーシングサービスと誤りました
194:デフォルトの名無しさん
21/07/09 08:42:59.13 Q5IOaLlz.net
>>188
ある条件で操作を繰り返したいときがループ
古典的なfor文では、例えば1から100までひとつづつ
100回繰り返したい時にループを使う
while文ではある条件が満たされている間処理を繰り返す
195:デフォルトの名無しさん
21/07/09 14:38:41.37 pOJ0VHTV.net
>>191
例えばですが、>>185の三角形の面積の例であれば代入する値が決まっていればforの中に入れても結果は変わらないですが、ループ処理とはもっと複雑になった時に何が便利なんですか?
196:デフォルトの名無しさん
21/07/09 15:02:26.10 pOJ0VHTV.net
>>192
あとある値を起点に何かの処理を2回したい場合の話ですが、例えばループ処理を通した値をリストで出力していて後からその出力のある値を使いたい場合に
初めにループに入れたある値のインデックス値が分かっていれば、インデックス値を参照して出力された方のリストから値を取り出して関数というか引数にいれたりして結果に導くといったことが出来そうというのは間違ってますか?
この場合、関数の戻り値を関数に入れるのが良いのは分かりますがお答え頂けると嬉しいです
197:デフォルトの名無しさん
21/07/09 15:24:32.13 zwat9LTE.net
難しく考えすぎでは
例えば配列の内容をすべて足し算したいときに
内容を一個ずつ取り出してどんどん足していく
こういう時にループが有効
文字列の配列があったとして
その中に特定の文字列が含まれているものを抽出したいときに
ループで配列を一個ずつ見ていく
まずはこんなところでは?
198:183
21/07/09 21:26:29.08 TIX9j1Dy.net
>>189
Ruby・module Enumerable
URLリンク(docs.ruby-lang.org)
繰り返しを使って、どういう処理が出来るか?
これが全言語に共通している部分・デザインパターン
JavaScript のLo-dash などと同じ
ここを読んでおくと、
確か、こういう処理・デザインパターンは書いてあったとか、思い出せる
例えば、複数の配列(繰り返しオブジェクト)を同時に繰り返す、zip とか
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
こういうデザインパターンを覚える。
つまり、自分で作らない。車輪の再発明をしない
199:デフォルトの名無しさん
21/07/10 01:21:57.95 UexQQhng.net
>>195
Rubyの記号やPythonより書いてる事が多く、やっとPythonが少し分かるようになったばかりの自分には結構読むのが苦しいんですが何となく一読しました
車輪の再発明をしないってのをよく覚えておきます。
RubyのEnumerableモジュールのメソッドについて参考にするのが良いと知れて良かったです
URLリンク(qiita.com)
200:デフォルトの名無しさん
21/07/10 01:27:10.08 UexQQhng.net
こちらで質問をしなければ、知り得なかったと思うので大変助かります
本当にありがとうございます!
Pythonだとどうなるかまとめられた記事がありました
201:デフォルトの名無しさん
21/07/10 10:39:19.80 qdrVIv6G.net
pythonの勉強をしてます。
コマンドプロンプトからファイルを実行しようとするとVScodeが起動してファイルを開くようになってしまい、実行した結果を確認できなくなってしまいました。
治す方法教えてください。
以前
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れると
hellow worldと表示される
今
C:/Users/aki/Desktop/pythonrensyu/r2nen/test.pyをコマンドプロンプトに入れるとVScodeが開き、test.pyの編集画面が出る
以前に戻したいです
202:デフォルトの名無しさん
21/07/10 13:32:42.21 r0cN22jq.net
>>198
test.py の中身をここに書き込んでみてください
203:デフォルトの名無しさん
21/07/10 14:22:45.22 1RIzGkFx.net
>>199
中身は関係ないだろ・・・
204:デフォルトの名無しさん
21/07/10 14:23:40.60 1RIzGkFx.net
関連付けを変えれば良いだろうけれどもWindowsの関連付けは複雑だからなあ
205:デフォルトの名無しさん
21/07/10 14:25:35.50 1RIzGkFx.net
むかしはこうやってた
>assoc .py
.py=Python.File
>ftype Python.File
Python.File="C:\Windows\py.exe" "%L" %*
206:デフォルトの名無しさん
21/07/10 21:12:35.73 icE46eu/.net
普通は、ファイル名だけで実行できない。
「コマンド名または実行プログラム名 ファイル名」の形式が正しい
例えば、Ruby スクリプトファイル・version.rb があって、内容が、
puts RUBY_VERSION #=> 2.6.6
の時、
version.rb または、パス付きの./version.rb では、実行できない。
実行するには、
ruby version.rb または、ruby ./version.rb とする
そこで、Linux では以下のように、1行目にシバンを書いて、実行プログラムを指定できる。
#!/usr/bin/env ruby
puts RUBY_VERSION #=> 2.6.6
こうすると、パス付きの./version.rb で実行できるが、
パス無しのversion.rb では実行できない
環境によってはシバンを、#!/usr/bin/ruby とも書ける。
/usr/bin/ 以下に、Rubyを入れている場合
だから以前、ファイル名だけで実行できたとすると、シバンが書いてあったのだろう
207:デフォルトの名無しさん
21/08/27 03:15:01.58 ue9a70Za.net
D3Dプログラミングやりたくて
C++の入門書一冊終えて
次Win32API学ぼうとして書籍スレで聞いたら
Win32APIはC言語で書くものって言われたのですが
C++の場合はMFCってやつやればいいのでしょうか?
208:蟻人間
21/08/27 06:05:06.34 PcAf749w.net
>>204
レガシーが残っていればMFC、なければATL/WTLって感じ。
209:デフォルトの名無しさん
21/08/27 07:22:52.85 ue9a70Za.net
>>205
すいません
レガシーとはなんでしょうか?MFCレガシーで検索したけど出ませんでした。
それとC++のみの学習でC言語はやったこと無いのですがやるべきなんでしょうか。
210:デフォルトの名無しさん
21/08/27 11:47:33.35 kXLQNDcF.net
MFCは糞
GTKも糞
C++ならwxWidgetsなりQtなりがおすすめ
どうしても生Win32APIを使いたいならC++を使ってCのAPI(dll)を呼ぶだけで良い
211:デフォルトの名無しさん
21/08/27 11:49:47.34 TlHplTTf.net
ああD3Dやりたいだけか
それならDxLib使えω
212:デフォルトの名無しさん
21/08/27 12:57:43.89 /iQD8c41.net
ソフトウエア レガシー
で調べてみれば?
213:デフォルトの名無しさん
21/08/28 10:15:59.50 2amKhutT.net
ライブラリとAPIの違いがわかりません
214:デフォルトの名無しさん
21/08/28 10:19:39.97 KOyuFHkZ.net
>>207
>C++を使ってCのAPI(dll)を呼ぶだけで良い
API(DLL)
アプリケーションプログラミングインターフェース(ダイナミックリンクライブラリー)
何がどう違うんですか?
215:デフォルトの名無しさん
21/08/28 13:52:40.82 yz/2YzXk.net
>>210
ライブラリはプログラムをまとめたもの
APIはインターフェイス、これを呼んだらこの値を返すっていう取り決め
216:デフォルトの名無しさん
21/08/28 13:58:31.37 d3wynGDk.net
プログラミングなんてセンター試験レベルの数学の問題が出来れば、楽勝だよなwwwww
217:デフォルトの名無しさん
21/08/29 01:29:37.06 TPHdi4yb.net
N88BASICのことか
218:デフォルトの名無しさん
21/08/30 00:29:49.95 ZJYxoO1B.net
プログラミングって才能とかセンス的な物もあるんですか?
数学の知識もどのくらい必要なのかも知りたいです
219:デフォルトの名無しさん
21/08/30 09:31:10.30 3DuZZh5/.net
この問題はあれと同じかなと思える能力
数学の能力もある意味これだが
220:デフォルトの名無しさん
21/08/30 14:53:05.47 a7szkEqk.net
一言で言うと抽象化
221:デフォルトの名無しさん
21/08/30 17:09:17.90 jNLKEWwK.net
>>215
高度な計算を効率よくプログラムに落とし込むならば高等数学を理解している
方が有利だけど、プログラム組むだけならば加減乗除と二元一次方程式、
二次方程式あたりが理解できていれば十分だよ
あと高レベルで理解していなくてもよいけど、AND、OR、、NOT、XORを使った
論理演算(最悪組み合わせれば良いので2値で良い)は理解していないと
プログラムで重要な条件分岐が組めないかな
222:デフォルトの名無しさん
21/08/30 17:47:18.91 RiczHxxv.net
>>215
人間関係を考慮するなら客観性とか全体を見渡せる俯瞰史観
オブジェクト指向プログラミングなら>>217必須
223:デフォルトの名無しさん
21/08/30 18:34:53.45 1fzTwyyk.net
1+2+3+4+5+6+7+8+9+10
より
(1+10)+(2+9)+(3+8)+(4+7)+(5+6)
すなわち
11*5
の方が処理スピードは早い。
224:デフォルトの名無しさん
21/08/30 18:40:02.53 1fzTwyyk.net
10個のカードを並べるのを、
全ての場合を算出して、約3629万回計算できるかどうか?だと思う。
225:デフォルトの名無しさん
21/08/30 18:50:14.38 1fzTwyyk.net
エクセルで計算したら、>>221は約362.9万回になった。
失礼。
226:デフォルトの名無しさん
21/08/30 21:32:00.62 IfLgW1Xz.net
ちなみにgoogleの検索窓に
10!
と打ち込むと
3628800
と計算できるよ
227:デフォルトの名無しさん
21/08/30 22:02:35.23 20ObuZiA.net
>>210, >>211
API は別に作られたプログラムを使用(コール)するときのとりきめ。Windowsの場合、
画面の表示、ファイルのリードライトなど様々な機能がWin32 APIとして定義されている。
ライブラリはそういったを機能を実現するためのプログラム集。
通常のライブラリ(静的ライブラリは)、コンパイルの終わった作成プログラムとともに
リンカで結合されて1つの実行プログラムになる。
DLL(動的リンクイブラリ)は、リンカで結合されるのではなく作成プログラムとは別にメモリに
ロードされ、あらかじめ決められた手続きによって作成プログラムからコール(リンク)して使用する。
(といってもプログラム作成者はこれを意識することはなく言語自体がDLLを使う機能をサポートしている)。
Win32 API の機能のほとんどは DLLとして準備されている(Kernel32.dll/User32.dll/Gdi32.dll etc.)。
228:デフォルトの名無しさん
21/08/31 20:07:24.45 5EZjygd6.net
>>224
ありがとうございます
白物家電API(洗濯機dll,冷蔵庫dll,...,)
中身を単なる一括りにした言い回しなんですね
229:デフォルトの名無しさん
21/09/09 22:01:38.51 mMYrb9xD.net
Cの参考書3冊やってまぁ大雑把に初歩的なのは理解できたのですが
for文で約数、素数、公倍数を求めるコードを書けとかいう問題が本に出てきても
全く分からないのですがこういうのどうしたらスラスラ解けるようになりますか?
アルゴリズムのすごい簡単なのもわからないです
230:デフォルトの名無しさん
21/09/09 22:04:07.22 5B6QjFP1.net
なるよ
すぐなる
小さい課題を数こなしてるうちにすぐコツ掴むよ
231:デフォルトの名無しさん
21/09/09 23:17:34.07 f/JM052X.net
ノーヒントで最適なものとか最速なもの作れとか言われたら難しいだろうけど
そうじゃないなら遠回りでも解答にたどり着くことは出来るはず
それでも判らないなら数学からやり直すのが良い
232:デフォルトの名無しさん
21/09/11 14:46:24.89 3yMDZ0jk.net
>>76
> そう思っている人も多かったので添字が「1」から始まる言語も結構存在するw
N88 BASIC だと、0 オリジンか 1 オリジンかが、
OPTION BASE で選べたりしていた。
233:デフォルトの名無しさん
21/09/11 15:05:06.89 3yMDZ0jk.net
そもそも、
>>76
というのがおかしい。
>for(int i=0; i<10; i++)
というのは、i がスタックポインタで、
sizeof だけインクリメントするのが本来の
使用法なんで、整数が相手だったら += を使うのが
常識だろ?
半可通プログラマがいまどき通用しているのが
年寄りとしては腹立たしい。
どこの誰かを教えてくれたら、
足腰経たないくらいに叩きのめして、
小便垂らしながら土下座して命乞いするまで
いたぶってやりたいと思う。
234:デフォルトの名無しさん
21/09/11 15:22:30.16 3yMDZ0jk.net
>>185
三辺が自然数で与えられたときには、
オブジェクト Triangle の定義がややこしくなる。
そうなると、抽象クラスである Triangle のサブクラスとして、
いろいろと定義しなければいけなくなる。
そこは考えておいてほしいと思う。
235:デフォルトの名無しさん
21/09/11 23:35:04.15 EO9owr6G.net
>>230
馬鹿発見
236:デフォルトの名無しさん
21/09/12 12:27:55.32 eZoXy3gP.net
>>323
モノシラーズ発見。
C++ と --C はワンセットで、
「評価したあとにインクリメントするか」と
「評価する前にデクリメントするか」を区別するために
あるんだよ。
だから配列の添え字に使われた経緯があるんだが、
そのあたりから勉強しなおしてこい。
237:Mb
21/09/12 12:35:51.56 eZoXy3gP.net
>>233
ごめん。>>233 じゃなくて >>332 だった。
++i とか i-- とかって、見たことないよね?
で、「1 += i」とか、「1 -= i」とかも、
見たことないよね?
独りでカイてるんなら勝手だけど、
大っぴらに披露しちゃうと恥ずかしいと思うぞ。
238:デフォルトの名無しさん
21/09/12 19:48:02.34 LNgTWKUp.net
頭だけじゃなくて眼も悪いんだなお大事に
239:デフォルトの名無しさん
21/09/12 20:18:30.45 eZoXy3gP.net
>>235
目は近いし耳は遠いのだが、
口は達者だったりする。
> 頭だけじゃなくて眼も悪いんだなお大事に
なんかしら役に立つことを言ってくれ。
このままだと、無能を晒しているだけだと思うが。
240:デフォルトの名無しさん
21/09/12 20:28:50.28 eZoXy3gP.net
>>235
「ム板に書きこんでいるような奴は、
どうせ引きこもりのオタクだろう」とか
思っているのなら、認識を改めていただきたい。
それがどれだけ危険なことであるかは、
将来において業界に入ったときに思い知ることになる。
それから謝って済むとは思わないように。
241:デフォルトの名無しさん
21/09/12 22:09:26.43 UcZJH98c.net
n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
242:デフォルトの名無しさん
21/09/12 22:09:26.43 UcZJH98c.net
n時間後にエンターキーを押すプログラムってどう作るんだ?初心者にもわかりやすく誰か教えて
243:デフォルトの名無しさん
21/09/12 23:17:56.58 brZweLQ4.net
>>234
誰か翻訳してくれ
244:蟻人間
21/09/12 23:47:05.30 G4gOb8CM.net
>>238
Sleepしてkeybd_eventするだけ。
245:デフォルトの名無しさん
21/09/13 01:31:44.54 Ivb5fBfh.net
初心者に余計な事を吹き込まないように
246:デフォルトの名無しさん
21/09/13 02:40:30.37 KPjHhkIT.net
sleepでn時間後のタイミングをはかろうとするとはwww
「初心者が」余計な事を吹き込まないように
247:Mb
21/09/13 14:10:27.96 C4HWp6ZW.net
>>238
「ウォッチ・タイマー」という概念があるので、
そのあらりはマルチスレッドのリアルタイム OS について
学ぶといいと思う。
248:デフォルトの名無しさん
21/09/13 14:13:07.27 ZPyy5hlM.net
sleepの存在すら知らないような超初心者の質問に
sleepの存在だけは知ってる初心者が回答するスレなんだから諦めろ
249:デフォルトの名無しさん
21/09/13 14:18:24.14 vCBmlwtc.net
>>244
質問と全く関係ない
250:Mb
21/09/13 14:27:09.72 C4HWp6ZW.net
>>240
仮に変数 c の値が 3 だったとしよう。
d = c++;
だったとしたら、d ==3 になって、c == 4 になる。これが、
d = --c;
だとすると、d == 2 で c == 2 になる。
「評価順序」というものがあって、getchar() とかだと
get した順番が問題になるだろ? 後のほうの getchar() が
先に評価されちゃうと、"ch" が “hc” になっちゃうじゃないか。
「関数型言語」というのは、そういった「評価の順序」というのを
排除した言語ではある。
ただ、実用上は「どっちを先に評価してほしいか」というのは効率上
重要な課題ではあるので、けっきょく「順番」というものは
意識させられざるを得ないわけだが。
251:Mb
21/09/13 14:33:17.78 C4HWp6ZW.net
>>246
> 質問と全く関係ない
今後参考にしたいと思う。
ありがとう。
>>244
×>「ウォッチ・タイマー」という概念があるので、
〇>「ウォッチドッグ・タイマー」という概念があるので、
252:蟻人間
21/09/13 17:59:24.61 Ckhsmx+q.net
ここには、二百年間以上、C言語を研究した人は居ないみたいだね。
253:蟻人間
21/09/13 18:11:14.85 Ckhsmx+q.net
日本経済復活のためには、3歳未満でC/C++をマスターした新卒の即戦力が必要だ。そして15歳定年制で経営陣の若返りを図るべきだ。
254:デフォルトの名無しさん
21/09/13 19:08:16.14 gU71QIFX.net
>>247
それは分かるんだが
1 += i++
って何?
255:デフォルトの名無しさん
21/09/13 20:46:04.25 HQlniZ8x.net
Googleが1万5000台寄付してくれた
ラズベリーパイって何のプログラミング言語使うの?
256:Mb
21/09/13 21:29:17.91 C4HWp6ZW.net
>>251
それはどっかで間違えている。
> 1 += i++
は、コンパイラがエラーで撥ねる。
「右の値と左の値」という概念があって、
「=」の向かって左側はアドレスだから、
即値は書けないんだよ(まぁ、アドレスを直接書くというなら
通ってもいいかと思うが)。
だから、
「1 += i++」は、「アドレス1にある整数値に、i の内容を足して、
しかるのちに i をインクリメントする」という意味になると
思うが、
i がポインタでないとすると、sizeof() の解釈がややこしくなるのだよ。
標準言語になる前の C 言語だったら、通るコードかもしれない。
257:Mb
21/09/13 21:40:55.49 C4HWp6ZW.net
>>252
OS は Linux なので、GCC なら普通に通るんじゃねぇ?
FireFox が動いていたような気もするので、Java も通ると思う。
ただ、Java の仮想機械(JVM)を駆動する「Java」コマンドは
動くかもしれないが、Java のコンパイラである javac が
ちゃんと動くかどうかは分からないので、
ラズベリーパイが開発環境として使えるかどうかは
確認していない。
258:デフォルトの名無しさん
21/09/14 06:23:54.42 pTMW8GY7.net
>>252
いまはラズパイPICOが流行ってる
C/C++
Python
259:デフォルトの名無しさん
21/09/14 10:12:28.76 46IWFnzO.net
>>252
Raspberry Pi Pico は面白そうだな。
しかし組込み用とはいえコンピュータが550円(税込)とは ……
260:デフォルトの名無しさん
21/09/14 10:13:50.76 46IWFnzO.net
ごめん。
×>252
〇>>255
262:デフォルトの名無しさん
21/09/14 12:43:35.82 3nqpH1Qx.net
ラズベリーパイの開発言語は
Java
C/C++
Python
なんですね、皆さんありがとう
263:デフォルトの名無しさん
21/09/14 14:47:10.88 46IWFnzO.net
>>258
正確にいうと、
「unix」というオペレーティングシステムの利権に関して
ベル研究所と学閥の間で法的な争議があって、
宙ぶらりんな時代があったんだ。
いわゆる「C 言語のコンパイラ」の標準である
「GCC」というのは、「商売人が研究者の邪魔をするんじゃねぇ!」
というので、リチャード・ストールマンさんという人が立ち上げた
プロジェクトだったんだ。それを「GNU(本当な「ニュー」だが、
一般的には「ぐにゅう」と呼ばれている)」プロジェクトと呼ぶ。
そこに風穴を空けたのが Linux なんだ。
そんなわけで、フリーの OS としての Linux というのが普及して、
ラズパイも OS として Linux を積める、ということになっている。
OS メーカーであるマイクロソフトにとっては苦々しい結果だろうけれども、
かつて煮え湯を吞まされた TRON や OS/2 にとっては「ざまあみろ」だと
思う。
264:デフォルトの名無しさん
21/09/14 16:13:00.00 eQ96wDaC.net
LinuxはGNUだろ
風穴あけたのはBSD
265:Mb
21/09/14 17:47:12.86 46IWFnzO.net
>>260
BSD をベースに Linux が開発された点については
激しく同意はするけれども、GNU があったから Linux が
これだけ普及したという功績は認めていいと思う。
266:Mb
21/09/14 23:56:50.62 46IWFnzO.net
>>260
そういえば、「unix はベル研究所と AT/T の登録商標です」という
広告があった時代があったけれども、日本マランツというスピーカーで
有名な音響メーカーが先に商標をおさえていたので、
「unix はベル研究所と AT/T のオペレーティングシステムの名称です」
と引っこめたのがあるのを思い出した。
宇佐市で製造した電子部品に「made in USA」と表記したら、
アメリカから文句が来たのだが、「お前らはせいぜい建国二百年だろう!
こっちは『古事記』に名前が載ってるんだぞ!」と宇佐市長が
徹底抗戦の構えを見せたら、アメリカ製品は「made in U.S.A」とか
「made in United Stats ob American」と表記するようになったとか。
日本発の OS っていったら TRON なんだけどなぁ。「デジタル庁」とかいって
脳内パラダイスで浮かれてる場合じゃないと思うんだけどね。
267:デフォルトの名無しさん
21/09/15 02:01:12.25 RFAuOAsn.net
Harmful effects of culture
268:デフォルトの名無しさん
21/09/15 04:31:30.42 OWQxX3cD.net
>United Stats ob American
これはひどいw
269:デフォルトの名無しさん
21/09/15 12:35:46.92 U+DAWKzh.net
>>264
ツッコミをありがとう。正しくは
United States of America
だが、ヒスパニック系やらなんやらいろんな人がいるので
このあたりは割といいかげん。
日本を「Nipon」と綴るひともいたし、フランスの雑誌が
日本特集をやったら表紙が「本日」(たぶん縦書きにするときに
間違えたんだろう)だったこともある。
「Zilog」も「ザイログ」「ズィーログ」「ズィロッグ」とか
いろいろ発音されてた。
270:デフォルトの名無しさん
21/09/15 23:25:46.99 Hm4l5pZc.net
さっきC++始めたばっかなんやけど
#include <iostream>
int main()
{
std::cout << "AA\n";
std::cout << "BB";
}
と
#include <iostream>
int main()
{
std::cout << "AA\n";
std::cout << "BB\n";
}
って何が違うの
std::て書くの効率悪いね
271:デフォルトの名無しさん
21/09/16 00:13:18.80 LFEF5NC8.net
>>266
C++は関係なくて、「 \n 」は改行です。
272:デフォルトの名無しさん
21/09/16 09:16:50.86 I3VTO38j.net
NULL=ナルぽ
warning=うぉーにんぐ
OK=AllCorrect
273:デフォルトの名無しさん
21/09/16 13:36:18.44 Ay6YRu0b.net
>>267
AA
BB
と
AA
BB
てこと?
274:デフォルトの名無しさん
21/09/16 13:48:55.88 Q5AMtJ/i.net
>>266
どっちも間違い
#include <iostream>
int main()
{
std::cout << "AA" << std::endl;
std::cout << "BB" << std::endl;
}
std:: がめんどいときは
using namespace std;
を include のあとに描くとそれ以降省略可能
URLリンク(www.j-cast.com)
275:デフォルトの名無しさん
21/09/16 14:19:27.15 Ay6YRu0b.net
あれで実行しても出てくるよ>>270
276:デフォルトの名無しさん
21/09/16 14:37:21.06 ZFPtS/KP.net
>>270
嘘を教えるな
std::endlと"¥n"ではフラッシュするかどうかという違いがある
常に前者が良いという訳ではない
277:Mb
21/09/16 15:36:32.49 H4jRCgIr.net
厳格にいうと、
標準出力に吐いた時点でフラッシュされているのだが、
出力内容が「AA\n」+「BB」なのか
「AA\n」+「BB\n」なのかという違いがある。
Java で言ったら print() と pritln() みたいな違いだな。
「StromgBiffer に溜めておいて、一気に吐く」という
手もあるので、そこはいろいろ悩みながら勉強してくれ。
278:デフォルトの名無しさん
21/09/16 15:52:20.82 Ay6YRu0b.net
さんくす
279:Mb
21/09/20 13:07:52.64 ca2ASSgD.net
>>274
> 「StromgBiffer に溜めておいて、一気に吐く」という
×StromgBiffer
〇StringBuffer
なのだが、誰もツッコミを入れてくれない orz。
こっちのプロセスとあっちのプロセスが、
同じ作業領域に手を突っこんで操作されると
ややこしい話になるので、排他制御が行われて
スレッドフリーになっている。
そうなると、プロセス(スレッド)ごとの
待ち合わせをどうするか、みたいなことを
考えると面白いと思う。