「記事」カテゴリーアーカイブ

コード化の下準備

コメントのないプログラムコードを読み、そのプログラムが何を目的としているかを文書化するのは、できなくはありませんが、少々困難を伴います。プログラムコードは人にとって必ずしも理解し易いものではありません。

なぜプログラムコードはすんなりと理解できないのでしょうか。それは、人が理解するレベルとプログラムコードの間にギャップがあるからです。プログラムコードを直接書き下すのが困難な理由はここにあります。 続きを読む コード化の下準備

アドレッシング方式

フォンノイマン型コンピュータ(今日広く使われているコンピュータはすべてこのタイプ)は命令やデータを記憶するメイン・メモリをもっていますが、メイン・メモリのすべてのバイトは先頭から数えて何番目というアドレスが与えられています。CPUはこのアドレスを用いて、ダイレクトに命令やデータをアクセスします。このアクセスのことをアドレッシングと呼んでいます。 続きを読む アドレッシング方式

良いプログラムコードを読もう

プログラミング初心者の皆さんにお薦めしたいのは、良いプログラムを読むことです。実際に使われているプログラムには参考になることがたくさんあります。たとえば、

・ 言語機能の使い方
・ プログラミング技法(例 データの並べ替え)
・ プログラムの構築法(例 プログラムの分割、階層構造)
・ 制限への対処法(例 オーバーフロー)
・ 性能への配慮(例 深い入れ子の回避)
・ プログラムの読み易さ(例 コメント) 続きを読む 良いプログラムコードを読もう

典型的なアプリケーションの構造

アプリケーション・プログラムはスマホやパソコン、サーバ、コンピュータ内蔵の装置などで動作するように作られますが、典型的なアプリケーションはWebアプリケーションではないでしょうか。

Webアプリケーションは、一般に、プレゼンテーション層、アプリケーション層、データ層の3つの層からなります。

プレゼンテーション層はディスプレイを通して、人とアプリケーションのインターフェースを司どります。アプリケーション層はアプリケーションのロジックを司どります。データ層はアプリケーションが使用するデータの管理を司どります。 続きを読む 典型的なアプリケーションの構造

プログラミング言語の拡張可能性

1つのプログラミング言語で、プログラミングに必要なすべての機能をカバーできるわけではありません。

かつて、PL/I(ピー・エル・ワン、Programming Language One)という言語がありました。すべての機能をPL/Iでカバーしようと試みられましたが、失敗しました。プログラミングに必要な機能は次から次へと出現しますので、所詮無理だったのです。

今日では、殆どのプログラミング言語は拡張可能(extensible)なように設計されています。 続きを読む プログラミング言語の拡張可能性

プログラミング学習の本質

プログラミング学習で最も大切なことは、目的の要件をプログラミング言語による表現にまで落とし込むプロセスを学ぶことです。

目的のプログラムを作成するために、「大きなプログラムのプログラミング」で述べたwhatとhowをブレークダウンし、ドキュメントとしてまとめる必要があります。 続きを読む プログラミング学習の本質

1000までの素数を求める

1から1000までの間にあるすべての素数を求める問題を考えます。

素数の定義:素数とは1か自分自身でしか割り切れない1より大きい自然数である。

素数の定義から、2、3は素数です。4は2で割り切れるので素数ではありません。ここまでは直ぐに分かりますが、それに続く自然数1つひとつについて素数か否か調べることにします。 続きを読む 1000までの素数を求める

量子コンピュータって何?

プログラミング学習の閑話として、量子コンピュータの話題を取り上げます。

ムーアの法則の限界が見えてきた昨今ですが、量子コンピュータが解決策になるかもしれません。

ITCL研究会という研究会に参加しており、最近の量子コンピュータの状況をまとめましたので紹介します。

量子コンピュータって何? (← クリックすればダウンロードできます。)

大きなプログラムのプログラミング

プログラミングは、プログラミング言語を使って目的のプログラムを作成することです。小さなプログラムであれば、直にプログラミング言語を使ってプログラムを書き下しても差し支えありません。しかし、少し大きなプログラムになると、そのようなやり方では、プログラム作成は直ぐに行き詰ってしまいます。 続きを読む 大きなプログラムのプログラミング

うるう年の判定

西暦(グリゴリオ歴)では、うるう年を次のように決めています。

➀西暦年号が4で割り切れる
➁ただし、例外として、西暦年号が100で割り切れ、かつ400で割り切れない年は
平年とする

このように、うるう年の定義はアルゴリズムとして表現されています。

従って、うるう年の判定は素直に演算式で表わすことができ、次のようになります。 続きを読む うるう年の判定