ブログ「サイバー少年」

ブログ「サイバー少年」へようこそ!
小学六年生ごろからプログラミングを趣味にしている高校生のブログです。
勉強したことについての記事などを書いています。フリーソフトも制作、公開しています。
(当ブログについて詳しくは「ブログ概要紹介」を参照)

サイバー少年が作ったフリーソフトは「サイバー少年の作品展示場」へ

1月

覚えた技術
・VB.NETのStop文の危険性(EXEでの実行時、アプリケーションがフリーズする)を知った。
・ILとMSILの仕組みの概要を覚えた。
・マルチスレッド処理を覚えた。(排他処理はまだ覚えていない)
・IDEの「NetBeans」を少し触った。(Javaは覚えていない)
・C#でクラスの継承の用途を再認識した。

あったイベント
・「サイバー少年のオンライン駄作庫」開設。

コメント
今回は、排他処理やILなど、大まかな事は分かったけれど細かいところは分からないものが多いですね。NetBeansをインストールして少し触ってみましたが、一度「Hello, world!」を作っただけで、その後は触っていません。そもそもJavaが少しも分かりません。

tag:

浮動小数点数の2進数データを読み取れ!

私、浮動小数点数は理解しているのですが、
いざ「10110101を10進数の小数に直せ」なんて問題が出たら解くことができません。

大まかにしか分かっていないんですよね…。

2進数の小数にしてから10進数にするのか
10進数にしてから小数にするのか

そこらへんも知識が曖昧です。

浮動小数点数キライです。

tag:

基本情報技術者試験とやら

プログラマ類のIT技術者が受けたら強い試験に

基本情報技術者試験というものがあります。

国家資格です。

当ブログと相互リンクしている中学生プログラマの、
Raldyさんや刹那さんも、これの合格を目指して努力されているようですし、

最近、10歳の小学生プログラマの方も合格し、
最年少の合格記録を塗りかえたと話題になっています。


そこで、私も
基本情報技術者試験はどんなものなのか、ネット公開されている過去問を見てみたんですよ。


……あれは難しすぎますね。

まずANDがこの図、NOTがこの図というふうに回路図の説明が出てきました。

私は必要最低限であるAND、OR、NOTしか覚えていないため、
NANDやらNORやら意味不明です。

NANDNOT AND で、NORNOT OR です。


それでまぁ、回路やら計算回数やらウイルスやら、
いろいろと意味不明な問題を頂きました。

しかし、算術ビットシフトやカプセル化など、ほんの一部は解答できましたが…。

意味不明な問題は全て無視です(笑)


ちなみにマネジメントのところは問題を読んでもいません(笑)


本当に、ほとんどが意味不明な問題ですね。



しかし、相互リンクしている中学生の方々にしても、
10歳の小学生にしても、なんであんなに余裕かませるんでしょうね…。

Raldyさん なんてブログの記事で“順調に勉強している”感を、かもし出していましたよ。


レベルの高さにビックリするばかりです。

私も負けていられません。気合じゃ~!

tag:

論理回路ありがたや

コンピュータにとって、ANDやORといった論理回路が、部品の最小単位ですから、

加算回路 … 部品(論理回路)を集めて作った回路

論理回路 … これいじょう分解できない部品

みたいなイメージになってしまいます。

しかし、論理回路も“回路”なので、最小単位ではありません。
トランジスタやら何やらの半導体部品を集めて作っています。

例えばAND回路にはトランジスタが2つ入っていることが多いようです。

論理回路は原型だから、なんの工夫も無いと思いがちでしたが、

偉人達の英知を集結させて、半導体を接続させてようやく論理“回路”が完成したのです。

コンピュータの話ではバカにされることの多い論理回路ですが、複雑なつくりなんですね。
(複雑ではないかも知れない)

論理回路ありがたやです。

tag:

Cの「int / int = int」な仕様

C言語でも、C#でも通用する話なんですが、

除算するときは「3 / 2」などと書きますよね。

リテラルとリテラルの演算なんて、まず、やりませんが
まぁ見ていてください。

この「3 / 2」の結果は1になってしまうんです。

1というのは1.5をint型に変換したためです。

要するに「整数型 / 整数型」の結果は整数型になってしまうと言うことです。


これを回避するにはオペランドのリテラルを実数型にすれば良いのです。

片方だけでも構いません。
オペランドが実数型なら結果も実数型になります。

つまり、「3d / 2d」と書けば1.5になってくれます。


しかし、これは不便ですよね。

常識的に考えて「3 / 2」は1.5じゃないですか。

オペランドがリテラルなら、型文字でなんとかなるかも知れないですけど、
一般的にオペランドは変数です。

そのため、オペランドをintで格納していたら「int / int」で、
結果は整数型になってしまうんですよ。

いちいちキャストしないといけません。

(double) int / (double) int」みたいに。


オペランドがintでも、結果はdoubleにするほうが良いと思います。
普通そうするべきです。

そしたら、結果をintで取りたいときに困るという人がでるかも知れませんが、
そういうケースは少ないのでintにキャストしてください。


ところで、VBの除算記号には、
結果をdoubleで返す/記号と、結果をintで返す\記号があります。

この仕様が一番やりやすいです。

たまにCがVBに負けていることがあるんですよね。

tag:

YouTubeにHTML5到来!

今日、なにげなーくYouTubeを見ていたら衝撃的な事実が発覚しました。

動画がFlashではなく、HTML5になっていたのです!

所で、Flashとの差はほとんどなく、変更には全く気づきませんでした。

しかし、なにげなーく マウスを動かしていると、
動画の再生時間を表示している部分がHTMLのテキストになっていたんですよ。

JavaScript + Flashとかも考えましたが、やはりそこは「サイバー少年」です。

もしや、と思いすぐに調べて、HTML5だと判明しました。

ただ、「サイバー少年」なら、ちゃんとその情報をキャッチしとけ!という話ですけどね(笑)


さてさて、YouTube公式の情報によりますと、HTML5の動画はは開発途中の試用版だそうです。

そのため、一部Flashでないと再生できない動画もあるそうです。


今は試用版ですが、やはりYouTubeもHTML5に完全移行する気ですね。

FlashだのJavaだのSilverlightだの争っていましたが、
全てのベースであるHTMLの、鶴の一声で決まった感じです。


HTMLも、どんどんマルチメディア向けのタグや仕様が増えて、
「文書用フォーマット」とは、とても呼べない状態になってきましたね…(笑)

しかし、HTMLである以上、文書の拡張みたいなものですから、

新しく、マルチメディアなどの現代的ニーズに向いたフォーマットを、
一から創らないのかと思う私でございます。

tag:

新たな中学生プログラマ、Jade氏あらわる!

たくさんの中学生プログラマ達のブログがあり、当ブログとリンクさせて頂いていますが、

今日、新たな中学生プログラマのブログが開設されました!

ハンドルネームは“Jade”と言うようです。

ブログ「プログラマになりたい」から観覧できます。


ちなみに中学2年生の方です。
中学生プログラマの2年生率が高いですね。

Jadeさんの意向がまだ分からないので、リンク一覧には載せていませんが、

ぜひ相互リンクしたいなぁと考えています。


今後はJadeさんのブログ必見です!

tag:

Boolean型のメモリ節約構想

Boolean型って、データは1ビットでもメモリの都合上8ビット確保するため、結局メモリ使用量はByte型(char)と変わらないんですよね。

そこで思ったんですが、8ビットのところに8つのBoolean変数を、1ビットずつ格納すればいいんじゃないかと。

要するにビットフラグみたいなイメージです。

Boolean型の変数を8つ以上使うケースは多いと思うので、メモリ使用量が8分の1になります。
昨今のコンピュータにとって大した違いじゃありませんが…。

Byte型(char)の変数を宣言して、そういう処理を自作することも難しくはありませんが、一般的に浸透していないのは不思議です。

tag:

C言語にトライしてみた

今年の抱負は“C言語を覚える”なので、さっき触れ合い程度にC言語(VC++)でプログラムを書いてみました。

もちろんCLIじゃなくてネイティブのほうです。
C言語を書くの初めてですね…。

VS2012 Expressは最初からC言語(VC++)の開発が出来るのでいいですね。
VS2010の頃からちゃっかりVC++ Expressも入れていたんですけどね…。

さてさて、C言語は未経験の私も、プログラミングというものに関しては結構な経験者です。

なので基本的な仕組みやルールは簡単に分かりました。

#includeはC#にはありませんが、どういうものなのかは仕組みとして理解できます。


と言う訳で、まずprintfを実行する処理を書いてみました。

stringがなかったり、常識のようにポインタが使われていたりで、やはり勝手が違いますね。

今回は、型を気にせず、string感覚で"文字列"とやっていましたが
恐らく正体は char[] なんでしょうね。

そういうのも時間を掛けて覚えていきたいと思います。


お次は、"stdio.h"を#includeしてscanfを使用してみました。

AsaBonさんの記事のお世話になりました。


scanfも、Console.ReadLineとは全く勝手が違いますね。

型などの指定を書式付き文字列でやるなんてふざけるなと言いたくなります。

そして相変わらずのポインタですね…。
続きを読む

tag:

アクセスランキングを表示しました。

人間は一人で頑張るよりも、誰かと争ったほうが成長します。

ということで、当ブログのアクセス数が
“コンピュータ”ジャンルと“プログラミング”ジャンルで
何位なのかを表示するプラグインを設置しました。

最近は40位など好調なアクセス数ですから人前にさらせるのですが、
また、以前のように200位とかを表示しだしたら悲しいですね。

1位を目指そう!
そう言えば、昔、記事「HTMLはファイルサイズの無駄遣いだと思う。」を書いたときに奇跡的に1位になったんですよ。

その後、グラフが崖みたいに下がっていきましたが…。

みんなアクセスしてくれないかなぁ。

tag:

次のページ

当ブログをご利用(閲覧等)になる場合は必ず「当ブログの利用規定」をお守りください。