2019年10月27日日曜日

進撃の巨人展FINAL

しばらく前に六本木ヒルズの森美術館で








何個ものプロジェクターで絵を繋げていました。
どうやっているのか。




これは私も同じこと思いました。



突然のファミキチ好きを公言。




近接対応のプロジェクター

2019年10月26日土曜日

銀座ソニーパーク




2019年10月20日日曜日

2019年10月19日土曜日

旧前田侯爵邸 洋館

駒場にある旧前田侯爵邸に行きました。




2019年10月13日日曜日

日本経済新聞出版社「基本情報技術者 午後・アルゴリズム編」福嶋宏訓

日本経済新聞出版社「基本情報技術者 午後・アルゴリズム編」福嶋宏訓で疑問点があるので書いておきます。2019年版です。

p26の状態遷移図の練習問題
 問題文には「70円きっぷの自動販売機に硬化が投入されたとき、状態Q4から状態Eへ遷移する事象はどれか。」とあります。
 解説に「Q0は、現在の金額が0円で、Q1~Q6は10円~60円です。したがって、Q0のところで、10円を入れるとQ1へ、50円を入れるとQ5へ、100円を入れるとEへ遷移します。」とあります。この場合Q4は40円のはずです。しかし、「Q4は40円なので、50円か100円を入れると70円以上になりEへ遷移します。」とは意味がよく分かりません。遷移図にはQ0からQ5とEに遷移するという矢印が書いてあります。
 「50円を入れるとQ5へ、100円を入れるとEへ遷移します。」ならQ4は関係なく50円はQ0→Q5→E、100円はQ0→Eになるのではないでしょうか。

2019/10/20追記
P49でループについて
 下から5行目「10万回入力するような場合、(1)は20万回、(2)は10万回の比較が行われます」がなぜそうなるか分かりません。

p54流れ図について
 「最高点ループ 数=1,1,5」とはなんですか?

p56練習問題(2)について
 これの解答はウ「0か100個の数値中の最大値」とありますが日本語がよく分かりません。

2019年10月12日土曜日

文春新書「発達障害」岩波明

文春新書「発達障害」岩波明を読んだのですが疑問点があるので書いておきます。

第7章の冒頭で”被告人の刑罰減免のために「発達障害」という病名が乱用されている実態について報告した”と書いてありますがそういう内容ではないのではないでしょうか。

”減免のため”ではなく診察してみたら精神疾患でそれが発達障害だったので結果として罪に問えないのではないのでしょうか?
 
[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]
発達障害 (文春新書) [ 岩波 明 ]
価格:902円(税込、送料無料) (2019/10/12時点)

2019年10月6日日曜日

北ソフト工房というサイトのjava問題について

javaの入門書を読み終えた(ことにした)のでオブジェクト指向についてネット上にある問題をやってみました。
北ソフト工房というサイトの問題で7-1~7-4と8-1~8-4をやったのでそれについて書きます。

Twitterに投稿してたら教えてくれる方がいて助かりました。

他にもオブジェクト指向についての問題をやってみたいのですがネット上で見つ見つけられませんでした。


7-1~7-4について
 DogクラスのSetName()でvoidだと何も返らないしそうならばreturnが必要ではないかと考えたのですが、これは不要で正解でした。
これは、何か(この場合、Name)を返す必要がなくNameはDogクラスで持っているから。そして、mainクラスから見に行くからというものでした。

疑問
 問題文でmainクラスからDogクラスに名前を指定するというのはなぜ分かるのでしょうか?

 問題8に入ってから気づいたのですが7はなぜメンバがprivateなのでしょうか?8はpublicになっています。8はクラスを継承して作るのでそれが関係しているのでしょうか?わかりません。


8-1~8-4いついて
 Animalクラスの変数にmainクラスからNameとAgeを指定しようと考えたのですがこれは間違いでした。
CatクラスはAnimalクラスを継承しているのでAnimalクラスで宣言されている変数はCatクラスにも存在するのでした。Animalクラスの変数にmainクラスからNameやAgeを指定しようとすると、Catクラス以外にもDogクラスやBirdクラスがAnimalクラスを継承してれば猫も犬も鳥も全て同じNameとAge(たま、3歳)になってしまうのでした。

 8-4でクラスの配列を作成します。解答は下記のようになっているのですがMyPets[0] = new Cat();の「new」は不要なのでは?コンパイルエラーになるし、と考えたのですがこれは8-3までのソースを消しているからでした。8-4ではnew Catを前もってやってないのでした。

  Animal[] MyPets = new Animal[4];

        MyPets[0] = new Cat();
        MyPets[1] = new Dog();
        MyPets[2] = new Cat();
        MyPets[3] = new Dog();

        for( Animal Pet : MyPets )
            Pet.Speak();
疑問
 8-3でオーバーライドが出てきますがEclipseで自動生成するとsuper.Speak();となります。解答ではSystem.out.println( "ニャー" );となっています。
確かに後者でよいのですが、そうするとsuperはどういうときに使うのでしょうか?分かりません。

全体的に
 ソースコードの記述は実務的にはキャメル式というのを用いるそうですが、そうなっていません。例えばSetNameとなっているのはキャメル式でsetNameです。変数の宣言の時点でNameではなくnameと書きます。人や業界によって違うのかもしれません。